import { keyed } from "lit-html/directives/keyed.js"; import { BroadcastableDiffuseElement, defineElement, nothing, } from "~/common/element.js"; import { computed, signal, untracked } from "~/common/signal.js"; /** * @import {Actions, AudioUrl, AudioState, AudioStateReadOnly, LoadingState} from "@specs/components/engine/audio/types.d.ts" * @import {RenderArg} from "~/common/element.d.ts" * @import {SignalReader} from "~/common/signal.d.ts" */ //////////////////////////////////////////// // CONSTANTS //////////////////////////////////////////// /** * Mobile Safari caps the number of live media elements and behaves poorly * when fresh