@webority/ui-elements 0.76.0 → 0.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{WuiAutocomplete-CYpMjHs3.js → WuiAutocomplete-Cvoyr30K.js} +1 -1
- package/dist/WuiCarousel-DjQNKykv.js +1 -0
- package/dist/{WuiCodeBlock-BcLJhLBJ.js → WuiCodeBlock-8qgxTcyK.js} +1 -1
- package/dist/{WuiCommandPalette-CcmFOWNc.js → WuiCommandPalette-DMXm40wj.js} +1 -1
- package/dist/{WuiCommentThread-BHtcGLX0.js → WuiCommentThread-WL1GX7Jy.js} +1 -1
- package/dist/WuiConsentBanner-D6YE84__.js +1 -0
- package/dist/{WuiCountrySelect-DlmQ6qeN.js → WuiCountrySelect-Dac15o75.js} +1 -1
- package/dist/WuiDataTable-BVAsbW-S.js +1 -0
- package/dist/{WuiDatePicker-CpRYPtYz.js → WuiDatePicker-BUtDjbek.js} +1 -1
- package/dist/{WuiDateRange-h4lDtS-H.js → WuiDateRange-DCNf4MSb.js} +11 -11
- package/dist/{WuiInlineEdit-2XnVPzY-.js → WuiInlineEdit-DrQmhWZ6.js} +1 -1
- package/dist/{WuiLightbox-hluak_-q.js → WuiLightbox-DQ47WenM.js} +1 -1
- package/dist/{WuiMentionInput-BxYXpBRt.js → WuiMentionInput-BqcTKb8b.js} +1 -1
- package/dist/WuiMultiSelect-CAMJOfq1.js +25 -0
- package/dist/{WuiNotificationCenter-BLsM1WkE.js → WuiNotificationCenter-Dc7hD9w-.js} +1 -1
- package/dist/{WuiPhone-BfM_ttOi.js → WuiPhone-BhmKncvF.js} +2 -2
- package/dist/{WuiSelect-DJgzL9Z_.js → WuiSelect-DR4PYwAw.js} +2 -2
- package/dist/{WuiSlider-Br6V2amU.js → WuiSlider-CH4vFmtk.js} +2 -5
- package/dist/{WuiTagInput-DQ79rmjZ.js → WuiTagInput-BO7Fah7w.js} +1 -1
- package/dist/{WuiTimePicker-BIhwlHuA.js → WuiTimePicker-CaJrTq3m.js} +1 -1
- package/dist/{WuiTour-Bi_0ayiH.js → WuiTour-DOeTJa4V.js} +1 -1
- package/dist/WuiTree-amrUzT-J.js +1 -0
- package/dist/WuiWizardStep-1O75EzB2.js +1 -0
- package/dist/devWarn-DXdRWZs3.js +1 -0
- package/dist/elements/autocomplete.js +1 -1
- package/dist/elements/carousel.js +1 -1
- package/dist/elements/code-block.js +1 -1
- package/dist/elements/command-palette.js +1 -1
- package/dist/elements/comment-thread.js +1 -1
- package/dist/elements/consent-banner.js +1 -1
- package/dist/elements/country-select.js +1 -1
- package/dist/elements/data-table.js +1 -1
- package/dist/elements/date-range.js +1 -1
- package/dist/elements/datepicker.js +1 -1
- package/dist/elements/inline-edit.js +1 -1
- package/dist/elements/kanban.js +1 -1
- package/dist/elements/lightbox.js +1 -1
- package/dist/elements/mention-input.js +1 -1
- package/dist/elements/multiselect.js +1 -1
- package/dist/elements/notification-center.js +1 -1
- package/dist/elements/phone.js +1 -1
- package/dist/elements/select.js +1 -1
- package/dist/elements/slider.js +1 -1
- package/dist/elements/taginput.js +1 -1
- package/dist/elements/timepicker.js +1 -1
- package/dist/elements/tour.js +1 -1
- package/dist/elements/tree.js +1 -1
- package/dist/elements/wizard.js +1 -1
- package/dist/fileViewerImage-BWrW3zAb.js +3 -0
- package/dist/fileViewerMedia-CbvjcIc6.js +1 -0
- package/dist/{fileViewerPdf-CL451vuw.js → fileViewerPdf-qmMcAn1q.js} +12 -14
- package/dist/fileViewerUi-CSOkacnB.js +1 -0
- package/dist/helpers.js +1 -1
- package/dist/{iconGlyphs.g-CUm_mfze.js → iconGlyphs.g-Bk8AzmSO.js} +1 -1
- package/dist/kanban-yqsg7glT.js +1 -0
- package/dist/{optionLabel-BBaur8Bs.js → optionLabel-Bd3vP-XI.js} +1 -1
- package/dist/types/chatClient.d.ts +3 -3
- package/dist/ui-calendar.global.js +1 -1
- package/dist/ui-calendar.js +1 -1
- package/dist/ui-chart.global.js +2 -2
- package/dist/ui-chart.js +2 -2
- package/dist/ui-chat.global.js +2 -2
- package/dist/ui-chat.js +2 -2
- package/dist/ui-consent-banner.global.js +1 -1
- package/dist/ui-elements.global.js +54 -57
- package/dist/ui-elements.js +1 -1
- package/dist/ui-file-viewer.global.js +12 -17
- package/dist/ui-file-viewer.js +1 -1
- package/dist/ui-rich-text.global.js +56 -56
- package/dist/ui-rich-text.js +56 -56
- package/dist/ui-tour.global.js +1 -1
- package/dist/wuiHttp-27mq9Jpn.js +1 -0
- package/package.json +1 -1
- package/dist/WuiCarousel-C33Z8FBt.js +0 -1
- package/dist/WuiConsentBanner-jdTxzdJs.js +0 -1
- package/dist/WuiDataTable-Bqs6FW2t.js +0 -1
- package/dist/WuiMultiSelect-CBbY_sPD.js +0 -25
- package/dist/WuiTree-BSx5pKJo.js +0 -1
- package/dist/WuiWizardStep-DtA3nVPi.js +0 -1
- package/dist/fileViewerImage-Du71Tgbf.js +0 -6
- package/dist/fileViewerMedia-BWRNH-we.js +0 -1
- package/dist/fileViewerUi-DAWY2fNB.js +0 -1
- package/dist/kanban-C0RiKTUx.js +0 -1
- package/dist/wuiHttp-0pGmgUIV.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiMultiSelect-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiMultiSelect-CAMJOfq1.js";e(`wui-multiselect`,t);export{t as WuiMultiSelect};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiNotificationCenter-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiNotificationCenter-Dc7hD9w-.js";e(`wui-notification-center`,t);export{t as WuiNotificationCenter};
|
package/dist/elements/phone.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiPhone-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiPhone-BhmKncvF.js";e(`wui-phone`,t);export{t as WuiPhone};
|
package/dist/elements/select.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiSelect-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiSelect-DR4PYwAw.js";e(`wui-select`,t);export{t as WuiSelect};
|
package/dist/elements/slider.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiSlider-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiSlider-CH4vFmtk.js";e(`wui-slider`,t);export{t as WuiSlider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiTagInput-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiTagInput-BO7Fah7w.js";e(`wui-taginput`,t);export{t as WuiTagInput};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiTimePicker-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiTimePicker-CaJrTq3m.js";e(`wui-timepicker`,t);export{t as WuiTimePicker};
|
package/dist/elements/tour.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{n as t,t as n}from"../WuiTour-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{n as t,t as n}from"../WuiTour-DOeTJa4V.js";e(`wui-tour`,n);export{n as WuiTour,t as createLocalSeenStore};
|
package/dist/elements/tree.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiTree-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{t}from"../WuiTree-amrUzT-J.js";e(`wui-tree`,t);export{t as WuiTree};
|
package/dist/elements/wizard.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"../elementBase-BlsR4tqa.js";import{n as t,t as n}from"../WuiWizardStep-
|
|
1
|
+
import{n as e}from"../elementBase-BlsR4tqa.js";import{n as t,t as n}from"../WuiWizardStep-1O75EzB2.js";e(`wui-wizard-step`,n),e(`wui-wizard`,t);export{t as WuiWizard,n as WuiWizardStep};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as e,n as t,o as n,t as r}from"./fileViewerUi-CSOkacnB.js";var i=[.1,.25,.5,.75,1,1.5,2,3,4],a=[.25,.5,1,2,4],o=16,s=5,c=class{constructor(e,t){this.shell=e,this.source=t,this.zoom=`fit`,this.rotation=0,this.area={width:0,height:0},this.destroyed=!1}load(){let e=document.createElement(`img`);e.className=`wui-file-viewer-image`,e.alt=this.shell.name(),e.decoding=`async`,e.draggable=!1,e.addEventListener(`load`,()=>{this.destroyed||(this.natural={width:e.naturalWidth||300,height:e.naturalHeight||150},this._build(e),this.shell.loaded({kind:`image`,pages:1}))}),e.addEventListener(`error`,()=>{this.destroyed||this.shell.fail(Error(`The image could not be decoded.`))}),e.src=this.source.src,this.img=e}destroy(){this.destroyed=!0,this._resizeObserver?.disconnect(),this._onKeyDown&&this.shell.host.removeEventListener(`keydown`,this._onKeyDown),this._printFrame?.remove(),this.img?.removeAttribute(`src`)}_build(e){let{center:n,end:i,body:o,host:s}=this.shell;this.zoomOutButton=r(`zoom-out`,`Zoom out`),this.zoomOutButton.addEventListener(`click`,()=>this._stepZoom(-1)),this.zoomButton=document.createElement(`button`),this.zoomButton.type=`button`,this.zoomButton.className=`wui-file-viewer-zoom`,t(this.zoomButton,{label:`Zoom`,items:()=>[...a.map(e=>({key:String(e),label:`${Math.round(e*100)}%`,checked:this.zoom===e})),{key:`fit-divider`,divider:!0},{key:`fit`,label:`Fit`,checked:this.zoom===`fit`}],onPick:e=>this._setZoom(e===`fit`?`fit`:Number(e))}),this.zoomInButton=r(`zoom-in`,`Zoom in`),this.zoomInButton.addEventListener(`click`,()=>this._stepZoom(1));let c=r(`rotate-ccw`,`Rotate left`);c.addEventListener(`click`,()=>this._rotate(-90));let l=r(`rotate-cw`,`Rotate right`);l.addEventListener(`click`,()=>this._rotate(90));let u=document.createElement(`span`);u.className=`wui-file-viewer-divider wui-file-viewer-print`;let d=r(`printer`,`Print`,{className:`wui-file-viewer-print`});d.addEventListener(`click`,()=>this.print()),u.hidden=d.hidden=!this.shell.print(),n.append(this.zoomOutButton,this.zoomButton,this.zoomInButton),i.prepend(c,l,u,d),this.scroller=document.createElement(`div`),this.scroller.className=`wui-file-viewer-scroll wui-file-viewer-image-scroll wui-scroll`,this.scroller.tabIndex=0,this.scroller.setAttribute(`role`,`region`),this.scroller.setAttribute(`aria-label`,`Image`),this.stage=document.createElement(`div`),this.stage.className=`wui-file-viewer-image-stage`,this.stage.append(e),this.scroller.append(this.stage),o.replaceChildren(this.scroller),this.scroller.addEventListener(`pointerdown`,e=>this._panStart(e)),this.scroller.addEventListener(`pointermove`,e=>this._panMove(e));for(let e of[`pointerup`,`pointercancel`,`lostpointercapture`])this.scroller.addEventListener(e,()=>this._panEnd());this.scroller.addEventListener(`wheel`,e=>{if(!e.ctrlKey&&!e.metaKey)return;e.preventDefault();let t=performance.now();t-(this._lastWheelZoom??0)<120||(this._lastWheelZoom=t,this._stepZoom(e.deltaY<0?1:-1))},{passive:!1}),this._onKeyDown=e=>this._keyDown(e),s.addEventListener(`keydown`,this._onKeyDown),this._resizeObserver=new ResizeObserver(()=>{let e=this.scroller.clientWidth,t=this.scroller.clientHeight;e===this.area.width&&t===this.area.height||(this.area={width:e,height:t},this._layout())}),this._resizeObserver.observe(this.scroller),this.area={width:this.scroller.clientWidth,height:this.scroller.clientHeight},this._layout()}_turned(){let{width:e,height:t}=this.natural;return this.rotation%180==0?{width:e,height:t}:{width:t,height:e}}scale(){if(typeof this.zoom==`number`)return this.zoom;let{width:e,height:t}=this._turned(),n=Math.min((this.area.width-2*o)/e,(this.area.height-2*o)/t);return Math.max(n,.01)}_layout(){if(!this.stage)return;let t=this.scale(),n=this._turned();this.stage.style.width=`${Math.round(n.width*t)}px`,this.stage.style.height=`${Math.round(n.height*t)}px`,this.img.style.width=`${Math.round(this.natural.width*t)}px`,this.img.style.height=`${Math.round(this.natural.height*t)}px`,this.img.style.transform=`translate(-50%, -50%) rotate(${this.rotation}deg)`;let r=Math.round(t*100);this.zoomButton.innerHTML=`${r}%${e(`chevron-down`,{size:12})}`,this.zoomButton.setAttribute(`aria-label`,`Zoom, ${r}%`),this.zoomOutButton.disabled=this._zoomStep(-1)==null,this.zoomInButton.disabled=this._zoomStep(1)==null}_zoomStep(e){let t=this.scale();return e>0?i.find(e=>e>t+.001)??null:[...i].reverse().find(e=>e<t-.001)??null}_stepZoom(e){let t=this._zoomStep(e);t!=null&&this._setZoom(t)}_setZoom(e){let t=this.scroller,n=(t.scrollLeft+t.clientWidth/2)/Math.max(t.scrollWidth,1),r=(t.scrollTop+t.clientHeight/2)/Math.max(t.scrollHeight,1);this.zoom=e,this._layout(),t.scrollLeft=n*t.scrollWidth-t.clientWidth/2,t.scrollTop=r*t.scrollHeight-t.clientHeight/2}_rotate(e){this.rotation=(this.rotation+e+360)%360,this._setZoom(this.zoom)}_keyDown(e){if(!(e.defaultPrevented||e.altKey||!(e.ctrlKey||e.metaKey))){if(e.key===`+`||e.key===`=`)this._stepZoom(1);else if(e.key===`-`||e.key===`_`)this._stepZoom(-1);else if(e.key===`0`)this._setZoom(`fit`);else return;e.preventDefault()}}_panStart(e){let t=this.scroller;e.button!==0||t.scrollWidth<=t.clientWidth&&t.scrollHeight<=t.clientHeight||(this._pan={id:e.pointerId,x:e.clientX,y:e.clientY,left:t.scrollLeft,top:t.scrollTop,active:!1})}_panMove(e){let t=this._pan;if(!t)return;let n=e.clientX-t.x,r=e.clientY-t.y;if(!t.active){if(Math.abs(n)<s&&Math.abs(r)<s)return;t.active=!0,this.scroller.setPointerCapture(t.id),this.scroller.classList.add(`wui-file-viewer-panning`)}this.scroller.scrollLeft=t.left-n,this.scroller.scrollTop=t.top-r}_panEnd(){let e=this._pan;e?.active&&(this.scroller.hasPointerCapture(e.id)&&this.scroller.releasePointerCapture(e.id),this.scroller.classList.remove(`wui-file-viewer-panning`)),this._pan=null}print(){this._printFrame?.remove();let e=document.createElement(`iframe`);e.className=`wui-file-viewer-print-frame`,e.title=`Image for printing`,e.tabIndex=-1,e.setAttribute(`aria-hidden`,`true`);let t=this.rotation%180!=0,r=new URL(this.source.src,document.baseURI).href;e.srcdoc=`<!doctype html><html><head><title>${l(this.shell.name())}</title></head><body></body></html>`,e.addEventListener(`load`,async()=>{try{let n=e.contentDocument,i=new e.contentWindow.CSSStyleSheet;i.replaceSync(`@page { margin: 10mm; }
|
|
2
|
+
html, body { margin: 0; height: 100%; }
|
|
3
|
+
body { display: flex; align-items: center; justify-content: center; }`),n.adoptedStyleSheets=[i];let a=n.createElement(`img`);a.src=r,a.alt=``,a.style.setProperty(`max-width`,t?`100vh`:`100vw`),a.style.setProperty(`max-height`,t?`100vw`:`100vh`),a.style.setProperty(`transform`,`rotate(${this.rotation}deg)`),n.body.append(a),a.complete||await new Promise(e=>{a.addEventListener(`load`,e,{once:!0}),a.addEventListener(`error`,e,{once:!0})}),e.contentWindow.focus(),e.contentWindow.print()}catch(e){n(`[wui-file-viewer] print failed:`,e?.message),window.open(this.source.src,`_blank`,`noopener`)}},{once:!0}),this._printFrame=e,document.body.append(e)}},l=e=>String(e??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`);export{c as ImageView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,t as a}from"./fileViewerUi-CSOkacnB.js";var o=[.5,.75,1,1.25,1.5,2],s=5,c=.1;function l(e){if(!Number.isFinite(e)||e<0)return`0:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=String(t%60).padStart(2,`0`);return n?`${n}:${String(r).padStart(2,`0`)}:${i}`:`${r}:${i}`}var u=e=>e instanceof Element&&e.closest(`input, textarea, select, button, a, .dropdown-menu`),d=class{constructor(e,t){this.shell=e,this.source=t,this.destroyed=!1}load(){let{kind:e,src:t,captions:n}=this.source,r=document.createElement(e);if(r.className=`wui-file-viewer-${e}`,r.preload=`metadata`,r.playsInline=!0,e===`video`&&n){let e=document.createElement(`track`);e.kind=`captions`,e.label=`Captions`,e.srclang=`en`,e.src=n,r.append(e)}let i=this.shell.prefs;typeof i.volume==`number`&&(r.volume=Math.min(Math.max(i.volume,0),1)),r.muted=i.muted===!0,r.addEventListener(`loadedmetadata`,()=>{this.destroyed||(r.playbackRate=o.includes(i.speed)?i.speed:1,this._build(),this.shell.loaded({kind:e,pages:1}))},{once:!0}),r.addEventListener(`error`,()=>{this.destroyed||this.shell.fail(Error(`The file could not be played.`))}),r.src=t,this.media=r}destroy(){this.destroyed=!0,this._onKeyDown&&this.shell.host.removeEventListener(`keydown`,this._onKeyDown),this.media&&(this.media.pause(),this.media.removeAttribute(`src`),this.media.load())}_build(){let{body:t,host:r}=this.shell,i=this.media,s=this.source.kind,c=document.createElement(`div`);c.className=`wui-file-viewer-player wui-file-viewer-player-${s}`;let l=document.createElement(`div`);if(l.className=`wui-file-viewer-stage`,l.tabIndex=0,l.setAttribute(`role`,`group`),l.setAttribute(`aria-label`,s===`video`?`Video`:`Audio`),s===`audio`){let t=document.createElement(`div`);t.className=`wui-file-viewer-audio-art`,t.innerHTML=e(`music`,{size:40}),l.append(t,i)}else l.append(i),i.addEventListener(`click`,()=>this.togglePlay());let u=document.createElement(`div`);u.className=`wui-file-viewer-controls`,this.playButton=a(`play`,`Play`,{size:18}),this.playButton.addEventListener(`click`,()=>this.togglePlay()),this.timeNow=document.createElement(`span`),this.timeNow.className=`wui-file-viewer-time`,this.seek=document.createElement(`input`),this.seek.type=`range`,this.seek.className=`form-range wui-file-viewer-seek`,this.seek.min=`0`,this.seek.step=`any`,this.seek.setAttribute(`aria-label`,`Seek`),this.seek.addEventListener(`input`,()=>{i.currentTime=Number(this.seek.value)}),this.timeTotal=document.createElement(`span`),this.timeTotal.className=`wui-file-viewer-time`,this.muteButton=a(`volume-high`,`Mute`,{size:18}),this.muteButton.addEventListener(`click`,()=>this._setMuted(!i.muted)),this.volume=document.createElement(`input`),this.volume.type=`range`,this.volume.className=`form-range wui-file-viewer-volume`,this.volume.min=`0`,this.volume.max=`1`,this.volume.step=`0.05`,this.volume.setAttribute(`aria-label`,`Volume`),this.volume.addEventListener(`input`,()=>this._setVolume(Number(this.volume.value))),this.speedButton=document.createElement(`button`),this.speedButton.type=`button`,this.speedButton.className=`wui-file-viewer-zoom wui-file-viewer-speed`,n(this.speedButton,{label:`Playback speed`,items:()=>o.map(e=>({key:String(e),label:`${e}x`,checked:i.playbackRate===e})),onPick:e=>this._setSpeed(Number(e))}),u.append(this.playButton,this.timeNow,this.seek,this.timeTotal,this.muteButton,this.volume,this.speedButton),s===`video`&&this.source.captions&&(this.captionsButton=a(`subtitle`,`Show captions`,{size:18}),this.captionsButton.addEventListener(`click`,()=>this._setCaptions(!this._captionsOn())),u.append(this.captionsButton)),c.append(l,u),t.replaceChildren(c);for(let e of[`play`,`pause`,`ended`])i.addEventListener(e,()=>this._syncPlay());i.addEventListener(`timeupdate`,()=>this._syncTime()),i.addEventListener(`durationchange`,()=>this._syncTime()),i.addEventListener(`volumechange`,()=>this._syncVolume()),i.addEventListener(`ratechange`,()=>this._syncSpeed()),this._onKeyDown=e=>this._keyDown(e),r.addEventListener(`keydown`,this._onKeyDown),this._syncPlay(),this._syncTime(),this._syncVolume(),this._syncSpeed(),this._syncCaptions()}seekTo(e){let t=this.media.duration;this.media.currentTime=Math.min(Math.max(e,0),Number.isFinite(t)?t:1/0)}togglePlay(){this.media.paused||this.media.ended?this.media.play().catch(e=>{r(`[wui-file-viewer] play refused:`,e?.message)}):this.media.pause()}_setMuted(e){this.media.muted=e,!e&&this.media.volume===0&&(this.media.volume=.5),this.shell.savePrefs({muted:this.media.muted,volume:this.media.volume})}_setVolume(e){this.media.volume=Math.min(Math.max(e,0),1),this.media.muted=this.media.volume===0,this.shell.savePrefs({muted:this.media.muted,volume:this.media.volume})}_setSpeed(e){this.media.playbackRate=e,this.shell.savePrefs({speed:e})}_captionsOn(){return this.media.textTracks?.[0]?.mode===`showing`}_setCaptions(e){let t=this.media.textTracks?.[0];t&&(t.mode=e?`showing`:`hidden`),this._syncCaptions()}_syncPlay(){let e=!this.media.paused&&!this.media.ended;i(this.playButton,e?`pause`:`play`,18),t(this.playButton,e?`Pause`:`Play`),this.shell.host.classList.toggle(`wui-file-viewer-playing`,e)}_syncTime(){let e=this.media.currentTime,t=this.media.duration;this.timeNow.textContent=l(e),this.timeTotal.textContent=l(t),this.seek.max=String(Number.isFinite(t)?t:0),this.seek.value=String(e),this.seek.setAttribute(`aria-valuetext`,`${l(e)} of ${l(t)}`)}_syncVolume(){let e=this.media.muted||this.media.volume===0;i(this.muteButton,e?`volume-mute`:`volume-high`,18),t(this.muteButton,e?`Unmute`:`Mute`),this.volume.value=String(this.media.muted?0:this.media.volume)}_syncSpeed(){let e=`${this.media.playbackRate}x`;this.speedButton.textContent=e,this.speedButton.setAttribute(`aria-label`,`Playback speed, ${e}`)}_syncCaptions(){if(!this.captionsButton)return;let e=this._captionsOn();this.captionsButton.setAttribute(`aria-pressed`,String(e)),t(this.captionsButton,e?`Hide captions`:`Show captions`)}_keyDown(e){if(e.defaultPrevented||e.altKey||e.ctrlKey||e.metaKey||u(e.target))return;let t=this.media,n=e.key.toLowerCase();if(n===` `||n===`k`)this.togglePlay();else if(n===`arrowleft`)t.currentTime=Math.max(0,t.currentTime-s);else if(n===`arrowright`)t.currentTime=Math.min(t.duration||0,t.currentTime+s);else if(n===`arrowup`)this._setVolume(t.volume+c);else if(n===`arrowdown`)this._setVolume(t.volume-c);else if(n===`m`)this._setMuted(!t.muted);else if(n===`c`&&this.captionsButton)this._setCaptions(!this._captionsOn());else return;e.preventDefault()}};export{d as MediaView};
|