diff --git a/artifacts/artifacts.json b/artifacts/artifacts.json index 1742aa44..f9c0fbea 100644 --- a/artifacts/artifacts.json +++ b/artifacts/artifacts.json @@ -19,9 +19,9 @@ "createdAt": "2026-09-11T16:59:17.153Z", "version": "4.0.0-alpha.3" }, - "bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna": { - "cid": "bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna", - "createdAt": "2026-09-18T19:02:55.558Z", - "version": "4.x-nightly" + "bafybeiat2bwsvwxk47pt3ghu6ciyhfbijxljxakji2xh54qmvqqlvwnlnq": { + "cid": "bafybeiat2bwsvwxk47pt3ghu6ciyhfbijxljxakji2xh54qmvqqlvwnlnq", + "createdAt": "2026-09-20T14:39:45.816Z", + "version": "4.0.0-alpha.4" } } \ No newline at end of file diff --git a/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-2UDR2BM2.js.br b/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-2UDR2BM2.js.br deleted file mode 100644 index 192febf63fa2a7995b0f6d1f4b9f498951bd319a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1693 zcmb1+6J~f)U%%@A{Q2vWeTS~U()ieOfM5Jx&QMx zbUDi=Tm9t2o8QaZ7vC2CH($Ln!hWV@nt%La8@JAfUlQJ5eR=X;`Tma@r+sfJ{hTYizCJ&FTi?8Vd-Xz}+579O z3;)zwoKp61UhL&!z2^7Pa<$?}qm&1K6Ff|deTzYBU`lk z4_YmsJ+tWa{vhK|O<(e-h8h(6ep=C;EP32$?X-ykT74_MX9b*}TKLQ8`-H{^Ry(e) zTOH#eoZy+87-I2GiZjvsdhXTCXy*sQwJO|~4*3RY6f9lZ=DokWgU9u3$+FcRu2O$( zuiki|${N|(9yozRp*Y9vL9ati#e{zfh3?YJd1mF_WxiG>pEkxnoz>bV|FUZSQ`M<@ecEM>na7J{Bc^Evp0&~7T=uN= zUht!cM?8X?vf~3!J5A}_u#fHczWJ9Fm6xsEdf2wOq-cegihHp5<-V=G({zoLRi-zpSw~E3*>W`{>xq^7 z%cnYan{&+8DO~33efK}h(rEJ!7eD*+dgcdBq>79FeR2Qv{Ce4}+2?AstZ#KKTB?=L zQ+B2FmaNBm&Ajb%f&P6HfhR-^GKTS~vFQO2x2vU?If+}4?KUgXOe9yZIw{*piC z-21*JbD0D`nC#XyVK-yVt9kVv_ry-ve|c6v_h5|GES0VPe?*d(Fa`7-bJiC1NU-Q+ z6f3mykhnYd<4(8SgrLf^ToJ-8n-*}-IhyXtY&fxXn)k0M|8kALi%9zI=O}s4m^X)a z+a}(98-wMzcDwR;O`bO8jM>H9rM4?xy$Lh>8TW9a@F#*J4eFU=1ROnYa={GfN{G||Poji;^TI`U)AtJAHwTD$Jn zKI6H0Z0%Kkov$C#*NUDd;mN}tK{G2&WLuXl{BF8#(ea6%^{z|~;TP*W zSMd~27L%U!>gNlK8OQ%xtDbxuthBl-V5(@fSFiaCwPUhwleARwe}(Jb{dB;)bZ`>EJzv-FNlZx^) zw~OW|bPC1(H0NBb(N(It$gy9iI=gp*L zZiI@wt}^8ujibdb27{)WYwnK^VXhqm)M;(&DGlW*+*mbl9q{$({HNVIjX-9 zoFZsEF}ZUohuF!2%;eybbOqz{3Om-z=G_%}Z0B$<-g;ZN_v#eqjq@)_yRls=`Zi_L Vl^Nxt2V?Y)Py3U{l{!D45dix)GiU$+ diff --git a/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js b/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js deleted file mode 100644 index 4ee7fb99..00000000 --- a/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js +++ /dev/null @@ -1,28 +0,0 @@ -import{a as O}from"./chunk-76OIFD3C.js";import{c as k,e as I}from"./chunk-V7LFJSML.js";import{e as v}from"./chunk-HCA2HGAZ.js";import{j as $,o as m,p as w}from"./chunk-XILA3E7E.js";import{a as u,c as q}from"./chunk-75KFZLU6.js";var B={};q(B,{AudioEngineItem:()=>A,CLASS:()=>Y,NAME:()=>x,NAME_ITEM:()=>j,default:()=>J});var M=/iPhone|iPad|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,_=Symbol("routeAudio"),R=Symbol("unrouteAudio"),W=500,U=3e4,H=3e3,E=class extends k{static{u(this,"AudioEngine")}static NAME="diffuse/engine/audio";constructor(){super(),this.state=this.state.bind(this)}#t=new Map;#i=new Map;#a=new AbortController;#e=void 0;#n=void 0;#o=new Map;#s=m([]);#r=m(.75);items=this.#s.get;volume=this.#r.get;isPlaying=$(()=>{let t=this.items()?.[0];if(!t)return!1;let e=this.state(t.id);return e?e.isPlaying()||e.hasEnded()||e.duration()>0&&e.currentTime()===e.duration():!1});connectedCallback(){if(this.#a=new AbortController,this.hasAttribute("group")){let i=this.broadcast(this.identifier,{adjustVolume:{strategy:"replicate",fn:this.adjustVolume},pause:{strategy:"leaderOnly",fn:this.pause},play:{strategy:"leaderOnly",fn:this.play},seek:{strategy:"leaderOnly",fn:this.seek},supply:{strategy:"replicate",fn:this.supply},items:{strategy:"leaderOnly",fn:this.items}});if(!i)return;this.adjustVolume=i.adjustVolume,this.pause=i.pause,this.play=i.play,this.seek=i.seek,this.supply=i.supply,this.broadcastingStatus().then(async s=>{s.leader||(this.#s.value=await i.items())})}super.connectedCallback();let t=`${this.constructor.prototype.constructor.NAME}/${this.group}/volume`,e=localStorage.getItem(t);if(e!=null&&this.#r.set(parseFloat(e)),this.effect(()=>{this.#n&&(this.#n.gain.value=this.#r.value),Array.from(this.querySelectorAll("de-audio-item")).forEach(i=>{let s=i;if(s.hasAttribute("preload"))return;let a=s.querySelector("audio");a&&!this.#o.has(a)&&(a.volume=this.#r.value)}),localStorage.setItem(t,this.#r.value.toString())}),M){let i=u(()=>{document.hidden||this.items().forEach(s=>{if(s.isPreload)return;let a=this.#d(s.id);if(!a?.intendsToPlay)return;let l=a.audio;l.paused&&(l.readyState>=2?this.play({audioId:s.id}):(l.load(),l.addEventListener("canplay",()=>{a.intendsToPlay&&this.play({audioId:s.id})},{once:!0})))})},"onVisible");this.effect(()=>(document.addEventListener("visibilitychange",i),()=>document.removeEventListener("visibilitychange",i)))}this.broadcasted&&this.effect(async()=>{let i=await this.broadcastingStatus();w(()=>{i.leader&&i.initialLeader===!1&&(console.log("\u{1F9D9} Leadership acquired"),this.items().forEach(s=>{let a=this.#d(s.id);if(!a||(a.removeAttribute("initial-progress"),!a.audio))return;let l=a.$state.currentTime.value,n=u(()=>{this.seek({audioId:s.id,currentTime:l}),a.$state.isPlaying.value&&this.play({audioId:s.id})},"canPlay");a.audio.addEventListener("canplay",n,{once:!0}),a.audio.readyState===0?a.audio.load():n()}))})})}disconnectedCallback(){this.#a.abort();for(let t of this.#t.values())URL.revokeObjectURL(t);this.#t.clear();for(let t of this.#i.values())t.cancel().catch(()=>{});this.#i.clear(),this.querySelectorAll("de-audio-item").forEach(t=>{let e=t,i;try{i=e.audio}catch{return}i.pause(),i.removeAttribute("src"),e.querySelectorAll("source").forEach(s=>s.removeAttribute("src")),i.load()}),super.disconnectedCallback()}adjustVolume(t){t.audioId?this.#u(t.audioId,e=>{e.volume=t.volume}):this.#r.value=t.volume}pause({audioId:t}){this.#u(t,(e,i)=>{i.cancelMediaRetry(),e.pause(),i.intendsToPlay=!1,i.$state.isPlaying.set(!1)})}play({audioId:t,volume:e}){this.#h(),this.#u(t,(i,s)=>{let a=this.#o.has(i);if(i.volume=e??(a?1:this.volume()),i.muted=!1,i.error&&i.load(),!i.isConnected)return;let l=i.play()||Promise.resolve();s.intendsToPlay=!0,M&&document.hidden||s.$state.isPlaying.set(!0),l.catch(n=>{if(!i.isConnected||n?.name==="AbortError"||s.autoRetrying)return;console.error("Couldn't play audio automatically. Please resume playback manually.",n),i.error||(s.intendsToPlay=!1),s.$state.isPlaying.set(!1)})})}reload(t){this.#u(t.audioId,(e,i)=>{(e.readyState===0||e.error?.code===2)&&(e.load(),t.progress!==void 0&&i.setAttribute("initial-progress",JSON.stringify(t.progress)),t.play&&this.play({audioId:t.audioId,volume:e.volume}))})}seek({audioId:t,currentTime:e,percentage:i}){this.#u(t,(s,a)=>{e!=null?s.currentTime=e:i!=null&&!isNaN(s.duration)&&s.duration!==1/0&&(s.currentTime=i*s.duration),(a.intendsToPlay||a.$state.isPlaying.get())&&(a.intendsToPlay=!0,a.$state.loadingState.set("loading"),a.armLoadWatchdog())})}supply(t){let e=new Map(this.#s.value.map(r=>[r.id,r]));for(let r of t.audio)"stream"in r&&!e.has(r.id)&&!this.#i.has(r.id)&&(this.#i.set(r.id,r.stream),this.#l(r.id,r.stream,r.mimeType??"",r.seek,r.duration,this.#a.signal));let i=new Set(t.audio.map(r=>r.id));for(let[r,o]of this.#t)i.has(r)||(URL.revokeObjectURL(o),this.#t.delete(r));for(let r of this.#i.keys())i.has(r)||this.#i.delete(r);let s=t.audio.map(r=>{let o="stream"in r?this.#t.get(r.id):r.url;if(!o&&"stream"in r&&this.#i.has(r.id))throw new Error("Stream did not produce a media source url");return o=o??"",{id:r.id,isPreload:r.isPreload,mimeType:r.mimeType,progress:r.progress,track:r.track,url:o}}),a=s.some(r=>!e.has(r.id)),l=s.some(r=>e.get(r.id)?.isPreload!==r.isPreload),n=s.some(r=>e.get(r.id)?.url!==r.url);if((a||l||n)&&(this.#s.value=s),n&&!a)for(let r of s)e.has(r.id)&&e.get(r.id)?.url!==r.url&&this.#u(r.id,o=>{o.removeAttribute("src"),(o.readyState===0||o.error)&&o.load()});t.play&&this.play(t.play)}async#l(t,e,i,s,a,l){let n=globalThis,r=n.MediaSource??n.ManagedMediaSource;if(!r||!i||!r.isTypeSupported(i)){this.#i.delete(t),e.cancel().catch(()=>{}),Promise.resolve().then(()=>{this.#d(t)?.$state.loadingState.set({error:{code:4}})});return}let o=new r,p=URL.createObjectURL(o);if(this.#t.set(t,p),this.#i.delete(t),await Promise.resolve(),!this.#t.has(t)){URL.revokeObjectURL(p);return}let y=this.#d(t);if(!y){URL.revokeObjectURL(p),this.#t.delete(t);return}if(y.audio.src=p,await new Promise(d=>{let f=u(()=>{S(),d(void 0)},"onOpen"),g=u(()=>{S(),d(void 0)},"onAbort"),S=u(()=>{o.removeEventListener("sourceopen",f),l?.removeEventListener("abort",g)},"cleanup");o.addEventListener("sourceopen",f,{once:!0}),l?.addEventListener("abort",g,{once:!0})}),!this.#t.has(t)){URL.revokeObjectURL(p),this.#t.delete(t);return}let b=e.getReader(),L=!1,C=0,N=u(()=>{if(!s)return;let d=y.audio,f=d.currentTime;for(let g=0;g{})},"onSeeking");y.audio.addEventListener("seeking",N);try{a!==void 0&&(o.duration=a);let d=o.addSourceBuffer(i);for(;;){if(!this.#t.has(t)){await b.cancel();break}let f,g;try{({done:f,value:g}=await b.read())}catch{f=!0}if(!this.#t.has(t))break;if(L){L=!1,d.updating&&await T(d);let D=T(d);if(d.remove(0,1/0),!await D)throw new Error("SourceBuffer remove failed");if(!s)throw new Error("seekFn is undefined");b=(await s(C)).getReader();continue}if(f){o.readyState==="open"&&o.endOfStream();break}d.updating&&await T(d);let S=T(d);if(d.appendBuffer(g),!await S)throw new Error("SourceBuffer append failed")}}catch(d){console.error("[audio engine] Stream error:",d),o.readyState==="open"&&o.endOfStream("decode"),this.#t.get(t)===p&&y.$state.loadingState.set({error:{code:3}})}finally{y.audio.removeEventListener("seeking",N)}}render({html:t}){let e=this.items(),i=e,s=e.map(n=>n.id);this.querySelectorAll("de-audio-item").forEach(n=>{if(s.includes(n.id))return;let r=n.querySelector("audio");r&&(this[R](r),r.pause(),r.removeAttribute("src"),r.querySelectorAll("source").forEach(o=>o.removeAttribute("src")),r.load())});let a=this.group,l=i.map(n=>{let r=n.progress===void 0?"0":JSON.stringify(n.progress);return O(n.id,t` - - - - `)});return t` -
- ${l} -
- `}_state(t){return $(()=>{let e=this.#s.value,i=this.#d(t)?.state;return i?{...i}:void 0})}state(t){return this._state(t)()}#d(t){let e=this.querySelector(`de-audio-item[id="${t}"]:not([preload])`)??this.querySelector(`de-audio-item[id="${t}"]`);if(e)return e}#u(t,e){let i=this.#d(t);i&&e(i.audio,i)}get webAudio(){return this.#c(),{context:this.#e,input:this.#n,destination:this.#e.destination}}#c(){if(this.#e)return;let t=globalThis.AudioContext??globalThis.webkitAudioContext;if(!t)return;let e=new t,i=e.createGain();i.connect(e.destination),this.#e=e,this.#n=i,i.gain.value=this.#r.value;let s=u(()=>{e.state!=="running"&&e.resume().catch(()=>{})},"unlock");["touchstart","touchend","mousedown","keydown"].forEach(a=>{document.addEventListener(a,s,{passive:!0})}),e.addEventListener("statechange",()=>{e.state==="suspended"&&!document.hidden&&e.resume().catch(()=>{})}),document.addEventListener("visibilitychange",s)}[_](t){if(this.#o.has(t)||(this.#c(),!this.#e||!this.#n))return;let e;try{e=this.#e.createMediaElementSource(t)}catch{t.volume=this.#r.value,console.warn("Failed to route audio element through the Web Audio graph; falling back to element-level volume.",t);return}e.connect(this.#n),this.#o.set(t,e),t.volume=1}[R](t){let e=this.#o.get(t);e&&(e.disconnect(),this.#o.delete(t))}#h(){this.#e?.resume().catch(()=>{})}},J=E,A=class extends k{static{u(this,"AudioEngineItem")}static NAME="diffuse/engine/audio/item";static observedAttributes=["preload"];#t=void 0;#i=0;#a=void 0;#e=0;constructor(){super(),this.intendsToPlay=!1,this.autoRetrying=!1,this.$state={currentTime:m(0),duration:m(0),hasEnded:m(!1),isPlaying:m(!1),isPreload:m(this.hasAttribute("preload")),loadingState:m("initialisation"),progress:$(()=>{let t=this.$state.currentTime.value,e=this.$state.duration.value;return!e||isNaN(e)||e===1/0?0:t/e})}}attributeChangedCallback(t,e,i){super.attributeChangedCallback(t,e,i),t==="preload"&&(this.$state.isPreload.set(i!==null),i===null&&this.#s())}async connectedCallback(){let t=this.audio;if(t.addEventListener("canplay",this.canplayEvent),t.addEventListener("durationchange",this.durationchangeEvent),t.addEventListener("ended",this.endedEvent),t.addEventListener("error",this.errorEvent),t.addEventListener("pause",this.pauseEvent),t.addEventListener("play",this.playEvent),t.addEventListener("playing",this.playingEvent),t.addEventListener("suspend",this.suspendEvent),t.addEventListener("timeupdate",this.timeupdateEvent),t.addEventListener("progress",this.progressEvent),t.addEventListener("waiting",this.waitingEvent),this.hasAttribute("preload")||(this.$state.loadingState.set("loading"),this.#s()),this.hasAttribute("group")){let e=this.broadcast(this.identifier,{getCurrentTime:{strategy:"leaderOnly",fn:this.$state.currentTime.get},getDuration:{strategy:"leaderOnly",fn:this.$state.duration.get},getHasEnded:{strategy:"leaderOnly",fn:this.$state.hasEnded.get},getIsPlaying:{strategy:"leaderOnly",fn:this.$state.isPlaying.get},getIsPreload:{strategy:"leaderOnly",fn:this.$state.isPreload.get},getLoadingState:{strategy:"leaderOnly",fn:this.$state.loadingState.get},setCurrentTime:{strategy:"replicate",fn:this.$state.currentTime.set},setDuration:{strategy:"replicate",fn:this.$state.duration.set},setHasEnded:{strategy:"replicate",fn:this.$state.hasEnded.set},setIsPlaying:{strategy:"replicate",fn:this.$state.isPlaying.set},setIsPreload:{strategy:"replicate",fn:this.$state.isPreload.set},setLoadingState:{strategy:"replicate",fn:this.$state.loadingState.set}},{assumeLeadership:(await this.engine?.broadcastingStatus())?.leader});e&&(this.$state.currentTime.set=e.setCurrentTime,this.$state.duration.set=e.setDuration,this.$state.hasEnded.set=e.setHasEnded,this.$state.isPlaying.set=e.setIsPlaying,this.$state.isPreload.set=e.setIsPreload,this.$state.loadingState.set=e.setLoadingState,w(async()=>{this.$state.currentTime.value=await e.getCurrentTime(),this.$state.duration.value=await e.getDuration(),this.$state.hasEnded.value=await e.getHasEnded(),this.$state.isPlaying.value=await e.getIsPlaying(),this.$state.isPreload.value=await e.getIsPreload(),this.$state.loadingState.value=await e.getLoadingState()}))}super.connectedCallback(),this.engine?.[_](this.audio)}disconnectedCallback(){this.cancelMediaRetry(),this.#r(),super.disconnectedCallback()}get state(){return{id:this.id,mimeType:this.getAttribute("mime-type")??void 0,url:this.getAttribute("url")??"",currentTime:this.$state.currentTime.get,duration:this.$state.duration.get,hasEnded:this.$state.hasEnded.get,isPlaying:this.$state.isPlaying.get,isPreload:this.$state.isPreload.get,loadingState:this.$state.loadingState.get,progress:this.$state.progress}}get audio(){let t=this.querySelector("audio");if(t)return t;throw new Error("Cannot find child audio element")}get engine(){let t=this.closest("de-audio");return t||null}#n(){if(this.#t!==void 0||!this.isConnected)return;this.autoRetrying=!0;let t=Math.min(W*2**this.#i,U);this.#i+=1,this.#t=setTimeout(()=>{this.#t=void 0,this.#o()},t)}#o(){if(!this.isConnected)return;let t;try{t=this.audio}catch{return}t.error&&(!isNaN(t.duration)&&t.duration>0&&t.duration!==1/0&&this.setAttribute("initial-progress",JSON.stringify(t.currentTime/t.duration)),this.$state.loadingState.set("loading"),t.load(),this.#s(),this.engine?.play({audioId:this.id}))}cancelMediaRetry(){this.#t!==void 0&&(clearTimeout(this.#t),this.#t=void 0),this.#i=0,this.autoRetrying=!1}armLoadWatchdog(){this.#s()}canplayEvent(t){let e=t.target,i=h(e);if(i?.hasAttribute("initial-progress")&&e.duration&&!isNaN(e.duration)){let s=JSON.parse(i.getAttribute("initial-progress")??"0");s!==0&&!isNaN(e.duration)&&e.duration!==1/0&&(e.currentTime=e.duration*s),i.removeAttribute("initial-progress")}i&&(i.#e=0,i.#r()),P(t)}durationchangeEvent(t){let e=t.target;isNaN(e.duration)||h(e)?.$state.duration.set(e.duration)}endedEvent(t){let e=t.target;e.currentTime=0;let i=h(e);i&&(i.intendsToPlay=!1),i?.$state.hasEnded.set(!0)}errorEvent(t){let e=t.target,i=e.error?.code||0,s=h(e);s&&i!==1&&(s.$state.loadingState.set({error:{code:i}}),!s.hasAttribute("preload")&&(e.src.startsWith("blob:")||i!==2&&i!==4||s.#i===0&&!s.intendsToPlay&&!s.$state.isPlaying.get()||s.#n()))}pauseEvent(t){let e=t.target,i=h(e);i?.cancelMediaRetry(),i&&(i.#e=0,i.#r()),i?.$state.isPlaying.set(!1)}playEvent(t){let e=t.target,i=h(e);i?.$state.hasEnded.set(!1),i?.$state.isPlaying.set(!0),e.readyState>=2&&P(t)}playingEvent(t){let e=t.target,i=h(e);i&&(i.intendsToPlay=!1,i.autoRetrying=!1,i.#i=0,i.#e=0,i.#r()),i?.$state.isPlaying.set(!0),P(t)}suspendEvent(t){P(t)}timeupdateEvent(t){let e=t.target,i=h(e);i&&(!e.paused&&!e.seeking&&i.$state.loadingState.get()!=="loaded"&&i.$state.loadingState.set("loaded"),!(isNaN(e.duration)||e.duration===0)&&i.$state.currentTime.set(e.currentTime))}progressEvent(t){let e=h(t.target);e&&(e.#e=0,e.#s())}#s(){if(this.#a!==void 0||!this.isConnected)return;let t=Math.min(H*2**this.#e,U);this.#a=setTimeout(()=>{this.#a=void 0,this.#l()},t)}#r(){this.#a!==void 0&&(clearTimeout(this.#a),this.#a=void 0)}#l(){if(!this.isConnected)return;let t;try{t=this.audio}catch{return}if(!this.hasAttribute("preload")&&!t.src.startsWith("blob:")&&!document.hidden&&!(this.autoRetrying&&t.error)){if(!t.error&&t.readyState>=2){this.#e=0;return}if(!t.error){if(t.buffered.length>0&&t.buffered.end(t.buffered.length-1)>t.currentTime+5){this.#e=0;return}if(!this.intendsToPlay&&!this.$state.isPlaying.get()){this.#s();return}this.#e+=1,!isNaN(t.duration)&&t.duration>0&&t.duration!==1/0&&this.setAttribute("initial-progress",JSON.stringify(t.currentTime/t.duration)),this.$state.loadingState.set("loading"),t.load(),this.intendsToPlay&&this.engine?.play({audioId:this.id}),this.#s()}}}waitingEvent(t){V(t);let e=t.target;if(e.seeking)return;let i=h(e);if(!i||i.hasAttribute("preload")||(i.#s(),e.networkState!==HTMLMediaElement.NETWORK_IDLE))return;let s=!isNaN(e.duration)&&e.duration>0&&e.duration!==1/0?e.currentTime/e.duration:0;s>0&&i.setAttribute("initial-progress",JSON.stringify(s)),!(e.buffered.length>0)&&(e.load(),e.addEventListener("canplay",()=>{(i.$state.isPlaying.get()||i.intendsToPlay)&&i.engine?.play({audioId:i.id})},{once:!0}))}};function h(c){let t=c.closest("de-audio-item");return t||null}u(h,"engineItem");function P(c){let t=c.target;h(t)?.$state.loadingState.set("loaded")}u(P,"finishedLoading");function V(c){let t=c.target;if(t.readyState<4){let e=h(t);if(e?.hasAttribute("preload"))return;e?.$state.loadingState.set("loading")}}u(V,"initiateLoading");function T(c){return new Promise(t=>{let e=u(()=>{s(),t(!0)},"onEnd"),i=u(()=>{s(),t(!1)},"onError"),s=u(()=>{c.removeEventListener("updateend",e),c.removeEventListener("updateerror",i)},"cleanup");c.addEventListener("updateend",e),c.addEventListener("updateerror",i)})}u(T,"waitForUpdateEnd");var Y=E,x="de-audio",j="de-audio-item";I(x,E);I(j,A);export{J as a,A as b,Y as c,x as d,j as e,B as f}; - -//# sourceMappingURL=./chunk-5YCW3OMZ.js.map \ No newline at end of file diff --git a/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js.br b/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js.br deleted file mode 100644 index 77e8cb056e596590b712e89d78f6b18f4171d31a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5260 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 GUnT%6;br;& diff --git a/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js.map b/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js.map deleted file mode 100644 index a0a6696d..00000000 --- a/artifacts/bafybeia62g45prn3ldka2zec3ph4oxu5tcyfbaba73ttlmtextxmrf3tna/chunk-5YCW3OMZ.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["/components/engine/audio/element.js"],"sourcesContent":["import { keyed } from \"lit-html/directives/keyed.js\";\n\nimport {\n BroadcastableDiffuseElement,\n defineElement,\n nothing,\n} from \"~/common/element.js\";\nimport { computed, signal, untracked } from \"~/common/signal.js\";\n\n/**\n * @import {Actions, AudioUrl, AudioState, AudioStateReadOnly, LoadingState} from \"@specs/components/engine/audio/types.d.ts\"\n * @import {RenderArg} from \"~/common/element.d.ts\"\n * @import {SignalReader} from \"~/common/signal.d.ts\"\n */\n\n////////////////////////////////////////////\n// CONSTANTS\n////////////////////////////////////////////\n/**\n * Mobile Safari caps the number of live media elements and behaves poorly\n * when fresh