@lucaismyname/ginger 0.0.37 → 0.0.38
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/README.md +2 -2
- package/dist/client.cjs +1 -1
- package/dist/client.js +2 -2
- package/dist/components/current/Artwork.d.ts.map +1 -1
- package/dist/components/current/Chapters.d.ts.map +1 -1
- package/dist/components/current/Lyrics.d.ts.map +1 -1
- package/dist/components/current/LyricsSynced.d.ts.map +1 -1
- package/dist/components/current/Playback.d.ts +1 -1
- package/dist/components/current/Playback.d.ts.map +1 -1
- package/dist/components/current/QueueMeta.d.ts +1 -1
- package/dist/components/current/QueueMeta.d.ts.map +1 -1
- package/dist/components/current/Time.d.ts +2 -2
- package/dist/components/current/Time.d.ts.map +1 -1
- package/dist/components/current/Year.d.ts +1 -1
- package/dist/components/current/Year.d.ts.map +1 -1
- package/dist/components/playlist/GingerPlaylist.d.ts.map +1 -1
- package/dist/components/queue/QueueDisplay.d.ts.map +1 -1
- package/dist/context/GingerProvider.d.ts.map +1 -1
- package/dist/equalizer/index.cjs +1 -1
- package/dist/equalizer/index.cjs.map +1 -1
- package/dist/equalizer/index.js +27 -22
- package/dist/equalizer/index.js.map +1 -1
- package/dist/equalizer/useGingerEqualizer.d.ts.map +1 -1
- package/dist/experimental-gapless/index.cjs +1 -1
- package/dist/experimental-gapless/index.cjs.map +1 -1
- package/dist/experimental-gapless/index.d.ts +12 -7
- package/dist/experimental-gapless/index.d.ts.map +1 -1
- package/dist/experimental-gapless/index.js +48 -12
- package/dist/experimental-gapless/index.js.map +1 -1
- package/dist/experimental-gapless/probeGaplessCapability.d.ts +33 -0
- package/dist/experimental-gapless/probeGaplessCapability.d.ts.map +1 -0
- package/dist/experimental-gapless/probeGaplessCapability.test.d.ts +2 -0
- package/dist/experimental-gapless/probeGaplessCapability.test.d.ts.map +1 -0
- package/dist/ginger-Ca8910_n.js +2050 -0
- package/dist/ginger-Ca8910_n.js.map +1 -0
- package/dist/ginger-DrD8F4HX.cjs +2 -0
- package/dist/ginger-DrD8F4HX.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/media/useMediaSession.d.ts +2 -2
- package/dist/media/useMediaSession.d.ts.map +1 -1
- package/dist/remote/useGingerRemote.test.d.ts.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/testing/helpers.d.ts +2 -0
- package/dist/testing/helpers.d.ts.map +1 -1
- package/dist/testing/index.cjs +2 -2
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.js +16 -10
- package/dist/testing/index.js.map +1 -1
- package/dist/types.d.ts +20 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/{useGingerChapterProgress-BW6v65wN.js → useGingerChapterProgress-Dbwiwnko.js} +2 -2
- package/dist/useGingerChapterProgress-Dbwiwnko.js.map +1 -0
- package/dist/{useGingerChapterProgress-B2-J3dSP.cjs → useGingerChapterProgress-TeWWJ8Fd.cjs} +2 -2
- package/dist/useGingerChapterProgress-TeWWJ8Fd.cjs.map +1 -0
- package/package.json +2 -1
- package/dist/ginger-DlCkxDXs.js +0 -2223
- package/dist/ginger-DlCkxDXs.js.map +0 -1
- package/dist/ginger-jToP7EpI.cjs +0 -2
- package/dist/ginger-jToP7EpI.cjs.map +0 -1
- package/dist/useGingerChapterProgress-B2-J3dSP.cjs.map +0 -1
- package/dist/useGingerChapterProgress-BW6v65wN.js.map +0 -1
package/dist/testing/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Al=require("react/jsx-runtime"),Xi=require("react"),yt=require("react-dom"),Il=require("../ginger-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Al=require("react/jsx-runtime"),Xi=require("react"),yt=require("react-dom"),Il=require("../ginger-DrD8F4HX.cjs");function Pc(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const ur=Pc(Xi);function Tc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var wi={exports:{}},ne={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-dom-test-utils.production.min.js
|
|
4
4
|
*
|
|
@@ -92,5 +92,5 @@ Unable to find an `+(n===!1?"accessible ":"")+'element with the role "'+t+'"'+s+
|
|
|
92
92
|
`))}function gT(e){return e.reverse().map((t,r)=>["".padEnd(r),t.tagName,t.id&&`#${t.id}`,t.hasAttribute("data-testid")&&`(testId=${t.getAttribute("data-testid")})`,ET(t),e.length>1&&r===0&&" <-- This element declared `pointer-events: none`",e.length>1&&r===e.length-1&&" <-- Asserted pointer events here"].filter(Boolean).join("")).join(`
|
|
93
93
|
`)}function ET(e){var t;let r;if(e.hasAttribute("aria-label"))r=e.getAttribute("aria-label");else if(e.hasAttribute("aria-labelledby")){var n,a;r=(a=e.ownerDocument.getElementById(e.getAttribute("aria-labelledby")))===null||a===void 0||(n=a.textContent)===null||n===void 0?void 0:n.trim()}else if(L(e,["button","input","meter","output","progress","select","textarea"])&&(!((t=e.labels)===null||t===void 0)&&t.length))r=Array.from(e.labels).map(i=>{var l;return(l=i.textContent)===null||l===void 0?void 0:l.trim()}).join("|");else if(L(e,"button")){var o;r=(o=e.textContent)===null||o===void 0?void 0:o.trim()}return r=r==null?void 0:r.replace(/\n/g," "),Number(r==null?void 0:r.length)>30&&(r=`${r==null?void 0:r.substring(0,29)}…`),r?`(label=${r})`:""}function $s(e,t){return(e&t)>0}function ke(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class CT{init(t){const r=this.getTarget(t),[,n]=sr(null,r),a=this.getEventInit();return ir(t,r),t.dispatchUIEvent(r,"pointerover",a),n.forEach(o=>t.dispatchUIEvent(o,"pointerenter",a)),this}move(t,r){const n=this.position,a=this.getTarget(t);if(this.position=r,!Vd(n,r))return;const o=this.getTarget(t),i=this.getEventInit(-1),[l,s]=sr(a,o);return{leave:()=>{rn(t,a)&&a!==o&&(t.dispatchUIEvent(a,"pointerout",i),l.forEach(u=>t.dispatchUIEvent(u,"pointerleave",i)))},enter:()=>{ir(t,o),a!==o&&(t.dispatchUIEvent(o,"pointerover",i),s.forEach(u=>t.dispatchUIEvent(u,"pointerenter",i)))},move:()=>{t.dispatchUIEvent(o,"pointermove",i)}}}down(t,r=0){if(this.isDown)return;const n=this.getTarget(t);ir(t,n),this.isDown=!0,this.isPrevented=!t.dispatchUIEvent(n,"pointerdown",this.getEventInit(r))}up(t,r=0){if(!this.isDown)return;const n=this.getTarget(t);ir(t,n),this.isPrevented=!1,this.isDown=!1,t.dispatchUIEvent(n,"pointerup",this.getEventInit(r))}release(t){const r=this.getTarget(t),[n]=sr(r,null),a=this.getEventInit();rn(t,r)&&(t.dispatchUIEvent(r,"pointerout",a),n.forEach(o=>t.dispatchUIEvent(o,"pointerleave",a))),this.isCancelled=!0}getTarget(t){var r;return(r=this.position.target)!==null&&r!==void 0?r:t.config.document.body}getEventInit(t){return{...this.position.coords,pointerId:this.pointerId,pointerType:this.pointerType,isPrimary:this.isPrimary,button:Gi(t),buttons:this.buttons.getButtons()}}constructor({pointerId:t,pointerType:r,isPrimary:n},a){ke(this,"pointerId",void 0),ke(this,"pointerType",void 0),ke(this,"isPrimary",void 0),ke(this,"buttons",void 0),ke(this,"isMultitouch",!1),ke(this,"isCancelled",!1),ke(this,"isDown",!1),ke(this,"isPrevented",!1),ke(this,"position",{}),this.pointerId=t,this.pointerType=r,this.isPrimary=n,this.isMultitouch=!n,this.buttons=a}}function ze(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class wT{isKeyPressed(t){return this.devices.get(t.pointerType).isPressed(t)}async press(t,r,n){this.devices.get(r.pointerType).addPressed(r),this.buttons.down(r);const a=this.getPointerName(r),o=r.pointerType==="touch"?this.pointers.new(a,r.pointerType,this.buttons):this.pointers.get(a);o.position=n,o.pointerType!=="touch"&&(this.mouse.position=n),o.pointerType==="touch"&&o.init(t),o.down(t,r.button),o.pointerType!=="touch"&&this.mouse.down(t,r,o.isPrevented)}async move(t,r,n){const a=this.pointers.get(r),o=a.move(t,n),i=a.pointerType==="touch"?void 0:this.mouse.move(t,n,a.isPrevented);o==null||o.leave(),i==null||i.leave(),o==null||o.enter(),i==null||i.enter(),o==null||o.move(),i==null||i.move()}async release(t,r,n){const a=this.devices.get(r.pointerType);a.removePressed(r),this.buttons.up(r);const o=this.pointers.get(this.getPointerName(r)),i=o.isPrevented;if(o.position=n,o.pointerType!=="touch"&&(this.mouse.position=n),a.countPressed===0&&o.up(t,r.button),o.pointerType==="touch"&&o.release(t),o.pointerType==="touch"&&!o.isMultitouch){const l=this.mouse.move(t,n,i);l==null||l.leave(),l==null||l.enter(),l==null||l.move(),this.mouse.down(t,r,i)}if(!o.isMultitouch){const l=this.mouse.move(t,n,i);l==null||l.leave(),l==null||l.enter(),l==null||l.move(),this.mouse.up(t,r,i)}}getPointerName(t){return t.pointerType==="touch"?t.name:t.pointerType}getPreviousPosition(t){return this.pointers.has(t)?this.pointers.get(t).position:void 0}resetClickCount(){this.mouse.resetClickCount()}getMouseTarget(t){var r;return(r=this.mouse.position.target)!==null&&r!==void 0?r:t.config.document.body}setMousePosition(t){this.mouse.position=t,this.pointers.get("mouse").position=t}constructor(t){ze(this,"system",void 0),ze(this,"mouse",void 0),ze(this,"buttons",void 0),ze(this,"devices",new class{get(r){var n,a,o;return(o=(n=this.registry)[a=r])!==null&&o!==void 0?o:n[a]=new pT}constructor(){ze(this,"registry",{})}}),ze(this,"pointers",new class{new(r,n,a){const o=n!=="touch"||!Object.values(this.registry).some(i=>i.pointerType==="touch"&&!i.isCancelled);return o||Object.values(this.registry).forEach(i=>{i.pointerType===n&&!i.isCancelled&&(i.isMultitouch=!0)}),this.registry[r]=new CT({pointerId:this.nextId++,pointerType:n,isPrimary:o},a),this.registry[r]}get(r){if(!this.has(r))throw new Error(`Trying to access pointer "${r}" which does not exist.`);return this.registry[r]}has(r){return r in this.registry}constructor(){ze(this,"registry",{}),ze(this,"nextId",1)}}),this.system=t,this.buttons=new jd,this.mouse=new hT,this.pointers.new("mouse","mouse",this.buttons)}}function Ns(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class zd{getUIEventModifiers(){return{altKey:this.keyboard.modifiers.Alt,ctrlKey:this.keyboard.modifiers.Control,metaKey:this.keyboard.modifiers.Meta,shiftKey:this.keyboard.modifiers.Shift,modifierAltGraph:this.keyboard.modifiers.AltGraph,modifierCapsLock:this.keyboard.modifiers.CapsLock,modifierFn:this.keyboard.modifiers.Fn,modifierFnLock:this.keyboard.modifiers.FnLock,modifierNumLock:this.keyboard.modifiers.NumLock,modifierScrollLock:this.keyboard.modifiers.ScrollLock,modifierSymbol:this.keyboard.modifiers.Symbol,modifierSymbolLock:this.keyboard.modifiers.SymbolLock}}constructor(){Ns(this,"keyboard",new sT(this)),Ns(this,"pointer",new wT(this))}}async function _T(e){const t=[];return this.config.skipHover||t.push({target:e}),t.push({keys:"[MouseLeft]",target:e}),this.pointer(t)}async function RT(e){return this.pointer([{target:e},"[MouseLeft][MouseLeft]"])}async function PT(e){return this.pointer([{target:e},"[MouseLeft][MouseLeft][MouseLeft]"])}async function TT(e){return this.pointer({target:e})}async function xT(e){return ir(this,this.system.pointer.getMouseTarget(this)),this.pointer({target:e.ownerDocument.body})}async function qT({shift:e}={}){return this.keyboard(e===!0?"{Shift>}{Tab}{/Shift}":e===!1?"[/ShiftLeft][/ShiftRight]{Tab}":"{Tab}")}var ml=function(e){return e["{"]="}",e["["]="]",e}(ml||{});function Kd(e,t){let r=0;const n=e[r]in ml?e[r]:"";r+=n.length;const o=new RegExp(`^\\${n}{2}`).test(e)?"":n;return{type:o,...o===""?OT(e,r,t):ST(e,r,o,t)}}function OT(e,t,r){const n=e[t];return Gd(n,e,t,r),t+=n.length,{consumedLength:t,descriptor:n,releasePrevious:!1,releaseSelf:!0,repeat:1}}function ST(e,t,r,n){var a,o;const i=e[t]==="/"?"/":"";t+=i.length;const l=r==="{"&&e[t]==="\\";t+=Number(l);const s=l?e[t]:(a=e.slice(t).match(r==="{"?/^\w+|^[^}>/]/:/^\w+/))===null||a===void 0?void 0:a[0];Gd(s,e,t,n),t+=s.length;var u;const f=(u=(o=e.slice(t).match(/^>\d+/))===null||o===void 0?void 0:o[0])!==null&&u!==void 0?u:"";t+=f.length;const p=e[t]==="/"||!f&&e[t]===">"?e[t]:"";t+=p.length;const b=ml[r],R=e[t]===b?b:"";if(!R)throw new Error(Yd([!f&&"repeat modifier",!p&&"release modifier",`"${b}"`].filter(Boolean).join(" or "),e[t],e,n));return t+=R.length,{consumedLength:t,descriptor:s,releasePrevious:!!i,repeat:f?Math.max(Number(f.substr(1)),1):1,releaseSelf:MT(p,f)}}function Gd(e,t,r,n){if(!e)throw new Error(Yd("key descriptor",t[r],t,n))}function MT(e,t){if(e)return e==="/";if(t)return!1}function Yd(e,t,r,n){return`Expected ${e} but found "${t??""}" in "${r}"
|
|
94
94
|
See ${n==="pointer"?"https://testing-library.com/docs/user-event/pointer#pressing-a-button-or-touching-the-screen":"https://testing-library.com/docs/user-event/keyboard"}
|
|
95
|
-
for more information about how userEvent parses your input.`}function AT(e,t){const r=[];do{const{type:a,descriptor:o,consumedLength:i,releasePrevious:l,releaseSelf:s=!0,repeat:u}=Kd(t,"keyboard");var n;const f=(n=e.find(p=>{if(a==="["){var b;return((b=p.code)===null||b===void 0?void 0:b.toLowerCase())===o.toLowerCase()}else if(a==="{"){var R;return((R=p.key)===null||R===void 0?void 0:R.toLowerCase())===o.toLowerCase()}return p.key===o}))!==null&&n!==void 0?n:{key:"Unknown",code:"Unknown",[a==="["?"code":"key"]:o};r.push({keyDef:f,releasePrevious:l,releaseSelf:s,repeat:u}),t=t.slice(i)}while(t);return r}async function IT(e){const t=AT(this.config.keyboardMap,e);for(let r=0;r<t.length;r++)await jt(this.config),await kT(this,t[r])}async function kT(e,{keyDef:t,releasePrevious:r,releaseSelf:n,repeat:a}){const{system:o}=e;if(o.keyboard.isKeyPressed(t)&&await o.keyboard.keyup(e,t),!r){for(let i=1;i<=a;i++)await o.keyboard.keydown(e,t),i<a&&await jt(e.config);n&&await o.keyboard.keyup(e,t)}}async function $T(e){for(const t of e.system.keyboard.getPressedKeys())await e.system.keyboard.keyup(e,t)}function Xd(e){const t=Oe(e)?{"text/plain":NT(e)}:{"text/plain":String(e.ownerDocument.getSelection())},r=ul(Ee(e));for(const n in t)t[n]&&r.setData(n,t[n]);return r}function NT(e){const t=hr(e);return Se(e).substring(t.startOffset,t.endOffset)}async function DT(){const e=this.config.document;var t;const r=(t=e.activeElement)!==null&&t!==void 0?t:e.body,n=Xd(r);if(n.items.length!==0)return this.dispatchUIEvent(r,"copy",{clipboardData:n})&&this.config.writeToClipboard&&await wd(e,n),n}async function LT(){const e=this.config.document;var t;const r=(t=e.activeElement)!==null&&t!==void 0?t:e.body,n=Xd(r);if(n.items.length!==0)return this.dispatchUIEvent(r,"cut",{clipboardData:n})&&this.config.writeToClipboard&&await wd(r.ownerDocument,n),n}async function BT(e){const t=this.config.document;var r;const n=(r=t.activeElement)!==null&&r!==void 0?r:t.body;var a;const o=(a=typeof e=="string"?UT(t,e):e)!==null&&a!==void 0?a:await lP(t).catch(()=>{throw new Error("`userEvent.paste()` without `clipboardData` requires the `ClipboardAPI` to be available.")});this.dispatchUIEvent(n,"paste",{clipboardData:o})}function UT(e,t){const r=ul(Ee(e));return r.setData("text",t),r}function Ds(e,t){const r=[];do{const{descriptor:n,consumedLength:a,releasePrevious:o,releaseSelf:i=!0}=Kd(t,"pointer"),l=e.find(s=>s.name===n);l&&r.push({keyDef:l,releasePrevious:o,releaseSelf:i}),t=t.slice(a)}while(t);return r}async function FT(e){const{pointerMap:t}=this.config,r=[];(Array.isArray(e)?e:[e]).forEach(n=>{typeof n=="string"?r.push(...Ds(t,n)):"keys"in n?r.push(...Ds(t,n.keys).map(a=>({...n,...a}))):r.push(n)});for(let n=0;n<r.length;n++)await jt(this.config),await jT(this,r[n]);this.system.pointer.resetClickCount()}async function jT(e,t){var r,n;const a="pointerName"in t&&t.pointerName?t.pointerName:"keyDef"in t?e.system.pointer.getPointerName(t.keyDef):"mouse",o=e.system.pointer.getPreviousPosition(a);var i,l,s,u;const f={target:(i=t.target)!==null&&i!==void 0?i:HT(e,o),coords:(l=t.coords)!==null&&l!==void 0?l:o==null?void 0:o.coords,caret:{node:(s=t.node)!==null&&s!==void 0?s:Ls(t)||o==null||(r=o.caret)===null||r===void 0?void 0:r.node,offset:(u=t.offset)!==null&&u!==void 0?u:Ls(t)||o==null||(n=o.caret)===null||n===void 0?void 0:n.offset}};"keyDef"in t?(e.system.pointer.isKeyPressed(t.keyDef)&&(or(e,be.Trigger),await e.system.pointer.release(e,t.keyDef,f)),t.releasePrevious||(or(e,be.Trigger),await e.system.pointer.press(e,t.keyDef,f),t.releaseSelf&&(or(e,be.Trigger),await e.system.pointer.release(e,t.keyDef,f)))):(or(e,be.Trigger),await e.system.pointer.move(e,a,f))}function Ls(e){var t,r;return!!((r=(t=e.target)!==null&&t!==void 0?t:e.node)!==null&&r!==void 0?r:e.offset!==void 0)}function HT(e,t){if(!t)throw new Error("This pointer has no previous position. Provide a target property!");var r;return(r=t.target)!==null&&r!==void 0?r:e.config.document.body}async function VT(e){if(!Lt(e)||Be(e))throw new Error("clear()` is only supported on editable elements.");if(ot(e),e.ownerDocument.activeElement!==e)throw new Error("The element to be cleared could not be focused.");if($d(e),!BP(e))throw new Error("The element content to be cleared could not be selected.");Ft(this,e,"","deleteContentBackward")}async function WT(e,t){return Qd.call(this,!0,e,t)}async function zT(e,t){return Qd.call(this,!1,e,t)}async function Qd(e,t,r){if(!e&&!t.multiple)throw j().getElementError("Unable to deselect an option in a non-multiple select. Use selectOptions to change the selection instead.",t);const n=Array.isArray(r)?r:[r],a=Array.from(t.querySelectorAll('option, [role="option"]')),o=n.map(l=>{if(typeof l!="string"&&a.includes(l))return l;{const s=a.find(u=>u.value===l||u.innerHTML===l);if(s)return s;throw j().getElementError(`Value "${String(l)}" not found in options`,t)}}).filter(l=>!Be(l));if(Be(t)||!o.length)return;const i=l=>{l.selected=e,this.dispatchUIEvent(t,"input",{bubbles:!0,cancelable:!1,composed:!0}),this.dispatchUIEvent(t,"change")};if(L(t,"select"))if(t.multiple)for(const l of o){const s=this.config.pointerEventsCheck===0?!0:rn(this,l);s&&(this.dispatchUIEvent(l,"pointerover"),this.dispatchUIEvent(t,"pointerenter"),this.dispatchUIEvent(l,"mouseover"),this.dispatchUIEvent(t,"mouseenter"),this.dispatchUIEvent(l,"pointermove"),this.dispatchUIEvent(l,"mousemove"),this.dispatchUIEvent(l,"pointerdown"),this.dispatchUIEvent(l,"mousedown")),ot(t),s&&(this.dispatchUIEvent(l,"pointerup"),this.dispatchUIEvent(l,"mouseup")),i(l),s&&this.dispatchUIEvent(l,"click"),await jt(this.config)}else if(o.length===1){const l=this.config.pointerEventsCheck===0?!0:rn(this,t);l?await this.click(t):ot(t),i(o[0]),l&&(this.dispatchUIEvent(t,"pointerover"),this.dispatchUIEvent(t,"pointerenter"),this.dispatchUIEvent(t,"mouseover"),this.dispatchUIEvent(t,"mouseenter"),this.dispatchUIEvent(t,"pointerup"),this.dispatchUIEvent(t,"mouseup"),this.dispatchUIEvent(t,"click")),await jt(this.config)}else throw j().getElementError("Cannot select multiple options on a non-multiple select",t);else if(t.getAttribute("role")==="listbox")for(const l of o)await this.click(l),await this.unhover(l);else throw j().getElementError("Cannot select options on elements that are neither select nor listbox elements",t)}async function KT(e,t,{skipClick:r=this.config.skipClick,skipAutoClose:n=this.config.skipAutoClose,initialSelectionStart:a,initialSelectionEnd:o}={}){e.disabled||(r||await this.click(e),a!==void 0&&ar(e,a,o??a),await this.keyboard(t),n||await $T(this))}const Bs=Symbol("files and value properties are mocked");function Ci(e,t,r){r?Object.defineProperty(e,t,r):delete e[t]}function GT(e,t){var r;(r=e[Bs])===null||r===void 0||r.restore();const n=Object.getOwnPropertyDescriptor(e,"type"),a=Object.getOwnPropertyDescriptor(e,"value"),o=Object.getOwnPropertyDescriptor(e,"files");function i(){Ci(e,"type",n),Ci(e,"value",a),Ci(e,"files",o)}e[Bs]={restore:i},Object.defineProperties(e,{files:{configurable:!0,get:()=>t},value:{configurable:!0,get:()=>t.length?`C:\\fakepath\\${t[0].name}`:"",set(l){if(l==="")i();else{var s;a==null||(s=a.set)===null||s===void 0||s.call(e,l)}}},type:{configurable:!0,get:()=>"file",set(l){l!=="file"&&(i(),e.type=l)}}})}async function YT(e,t){const r=L(e,"label")?e.control:e;if(!r||!L(r,"input",{type:"file"}))throw new TypeError(`The ${r===e?"given":"associated"} ${r==null?void 0:r.tagName} element does not accept file uploads`);if(Be(e))return;const n=(Array.isArray(t)?t:[t]).filter(o=>!this.config.applyAccept||XT(o,r.accept)).slice(0,r.multiple?void 0:1),a=()=>{var o;n.length===((o=r.files)===null||o===void 0?void 0:o.length)&&n.every((i,l)=>{var s;return i===((s=r.files)===null||s===void 0?void 0:s.item(l))})||(GT(r,sl(Ee(e),n)),this.dispatchUIEvent(r,"input"),this.dispatchUIEvent(r,"change"))};r.addEventListener("fileDialog",a),await this.click(e),r.removeEventListener("fileDialog",a)}function Fr(e){return e.toLowerCase().replace(/(\.|\/)jpg\b/g,"$1jpeg")}function XT(e,t){if(!t)return!0;const r=["audio/*","image/*","video/*"];return Fr(t).trim().split(/\s*,\s*/).some(n=>n.startsWith(".")?Fr(e.name).endsWith(n):r.includes(n)?Fr(e.type).startsWith(n.replace("*","")):Fr(e.type)===n)}const Us={click:_T,dblClick:RT,tripleClick:PT,hover:TT,unhover:xT,tab:qT,keyboard:IT,copy:DT,cut:LT,paste:BT,pointer:FT,clear:VT,deselectOptions:zT,selectOptions:WT,type:KT,upload:YT};function QT(e){return j().asyncWrapper(e)}const Jd={applyAccept:!0,autoModify:!0,delay:0,document:globalThis.document,keyboardMap:uT,pointerMap:dT,pointerEventsCheck:Wr.EachApiCall,skipAutoClose:!1,skipClick:!1,skipHover:!1,writeToClipboard:!1,advanceTimers:()=>Promise.resolve()},JT={...Jd,writeToClipboard:!0};function Zd(e={},t=JT,r){const n=rx(e,r,t);return{...t,...e,document:n}}function ZT(e={}){const t=Zd(e);Fd(t.document),Ud(Ee(t.document).HTMLElement);var r;const n=(r=t.document.defaultView)!==null&&r!==void 0?r:globalThis.window;return aP(n),bl(t).api}function de({keyboardState:e,pointerState:t,...r}={},n){const a=Zd(r,Jd,n);Fd(a.document),Ud(Ee(a.document).HTMLElement);var o;const i=(o=t??e)!==null&&o!==void 0?o:new zd;return{api:bl(a,i).api,system:i}}function ex(e){return bl({...this.config,...e},this.system).api}function tx(e,t){function r(...n){return or(e,be.Call),QT(()=>t.apply(e,n).then(async a=>(await jt(e.config),a)))}return Object.defineProperty(r,"name",{get:()=>t.name}),r}function bl(e,t=new zd){const r={};return Object.assign(r,{config:e,dispatchEvent:Bd.bind(r),dispatchUIEvent:ZP.bind(r),system:t,levelRefs:{},...Us}),{instance:r,api:{...Object.fromEntries(Object.entries(Us).map(([n,a])=>[n,tx(r,a)])),setup:ex.bind(r)}}}function rx(e,t,r){var n,a;return(a=(n=e.document)!==null&&n!==void 0?n:t&&aT(t))!==null&&a!==void 0?a:r.document}function nx(e){return de().api.clear(e)}function ax(e,t={}){return de(t,e).api.click(e)}function ox(e={}){return de(e).api.copy()}function ix(e={}){return de(e).api.cut()}function lx(e,t={}){return de(t).api.dblClick(e)}function sx(e,t,r={}){return de(r).api.deselectOptions(e,t)}function ux(e,t={}){return de(t).api.hover(e)}async function dx(e,t={}){const{api:r,system:n}=de(t);return r.keyboard(e).then(()=>n)}async function cx(e,t={}){const{api:r,system:n}=de(t);return r.pointer(e).then(()=>n)}function fx(e,t){return de(t).api.paste(e)}function px(e,t,r={}){return de(r).api.selectOptions(e,t)}function mx(e,t={}){return de(t).api.tripleClick(e)}function bx(e,t,r={}){return de(r,e).api.type(e,t,r)}function vx(e,t={}){const{api:r,system:n}=de(t);return n.pointer.setMousePosition({target:e}),r.unhover(e)}function hx(e,t,r={}){return de(r).api.upload(e,t)}function yx(e={}){return de().api.tab(e)}const gx=Object.freeze(Object.defineProperty({__proto__:null,clear:nx,click:ax,copy:ox,cut:ix,dblClick:lx,deselectOptions:sx,hover:ux,keyboard:dx,paste:fx,pointer:cx,selectOptions:px,tab:yx,tripleClick:mx,type:bx,unhover:vx,upload:hx},Symbol.toStringTag,{value:"Module"})),Ex={...gx,setup:ZT};function Cx(e){return e.querySelector("audio")}function wx(){const e={},t={metadata:null,playbackState:"none",setActionHandler(n,a){e[n]=a??null}},r=typeof navigator<"u"?navigator.mediaSession:void 0;return Object.defineProperty(navigator,"mediaSession",{value:t,configurable:!0,writable:!0}),{mock:t,getHandler:n=>e[n]??null,restore:()=>{r!==void 0&&Object.defineProperty(navigator,"mediaSession",{value:r,configurable:!0,writable:!0})}}}function _x(){return Ex.setup()}function Rx(e,t){Object.defineProperty(e,"duration",{configurable:!0,value:t}),e.dispatchEvent(new Event("loadedmetadata"))}function Px(e,t,r){Object.defineProperty(e,"currentTime",{configurable:!0,value:t,writable:!0}),r!==void 0&&Object.defineProperty(e,"duration",{configurable:!0,value:r}),e.dispatchEvent(new Event("timeupdate"))}function Tx(e){e.dispatchEvent(new Event("ended"))}function xx(e,t){var r;if(t.currentIndex!==void 0&&e.currentIndex!==t.currentIndex)throw new Error(`Expected currentIndex ${t.currentIndex}, received ${e.currentIndex}.`);if(t.length!==void 0&&e.tracks.length!==t.length)throw new Error(`Expected queue length ${t.length}, received ${e.tracks.length}.`);if(t.currentId!==void 0){const n=(r=e.currentTrack)==null?void 0:r.id;if(n!==t.currentId)throw new Error(`Expected currentId ${t.currentId}, received ${n??"undefined"}.`)}}exports.emitEnded=Tx;exports.emitLoadedMetadata=Rx;exports.emitTimeUpdate=Px;exports.expectQueueState=xx;exports.installNavigatorMediaSession=wx;exports.queryAudio=Cx;exports.renderGinger=JR;exports.setupUser=_x;
|
|
95
|
+
for more information about how userEvent parses your input.`}function AT(e,t){const r=[];do{const{type:a,descriptor:o,consumedLength:i,releasePrevious:l,releaseSelf:s=!0,repeat:u}=Kd(t,"keyboard");var n;const f=(n=e.find(p=>{if(a==="["){var b;return((b=p.code)===null||b===void 0?void 0:b.toLowerCase())===o.toLowerCase()}else if(a==="{"){var R;return((R=p.key)===null||R===void 0?void 0:R.toLowerCase())===o.toLowerCase()}return p.key===o}))!==null&&n!==void 0?n:{key:"Unknown",code:"Unknown",[a==="["?"code":"key"]:o};r.push({keyDef:f,releasePrevious:l,releaseSelf:s,repeat:u}),t=t.slice(i)}while(t);return r}async function IT(e){const t=AT(this.config.keyboardMap,e);for(let r=0;r<t.length;r++)await jt(this.config),await kT(this,t[r])}async function kT(e,{keyDef:t,releasePrevious:r,releaseSelf:n,repeat:a}){const{system:o}=e;if(o.keyboard.isKeyPressed(t)&&await o.keyboard.keyup(e,t),!r){for(let i=1;i<=a;i++)await o.keyboard.keydown(e,t),i<a&&await jt(e.config);n&&await o.keyboard.keyup(e,t)}}async function $T(e){for(const t of e.system.keyboard.getPressedKeys())await e.system.keyboard.keyup(e,t)}function Xd(e){const t=Oe(e)?{"text/plain":NT(e)}:{"text/plain":String(e.ownerDocument.getSelection())},r=ul(Ee(e));for(const n in t)t[n]&&r.setData(n,t[n]);return r}function NT(e){const t=hr(e);return Se(e).substring(t.startOffset,t.endOffset)}async function DT(){const e=this.config.document;var t;const r=(t=e.activeElement)!==null&&t!==void 0?t:e.body,n=Xd(r);if(n.items.length!==0)return this.dispatchUIEvent(r,"copy",{clipboardData:n})&&this.config.writeToClipboard&&await wd(e,n),n}async function LT(){const e=this.config.document;var t;const r=(t=e.activeElement)!==null&&t!==void 0?t:e.body,n=Xd(r);if(n.items.length!==0)return this.dispatchUIEvent(r,"cut",{clipboardData:n})&&this.config.writeToClipboard&&await wd(r.ownerDocument,n),n}async function BT(e){const t=this.config.document;var r;const n=(r=t.activeElement)!==null&&r!==void 0?r:t.body;var a;const o=(a=typeof e=="string"?UT(t,e):e)!==null&&a!==void 0?a:await lP(t).catch(()=>{throw new Error("`userEvent.paste()` without `clipboardData` requires the `ClipboardAPI` to be available.")});this.dispatchUIEvent(n,"paste",{clipboardData:o})}function UT(e,t){const r=ul(Ee(e));return r.setData("text",t),r}function Ds(e,t){const r=[];do{const{descriptor:n,consumedLength:a,releasePrevious:o,releaseSelf:i=!0}=Kd(t,"pointer"),l=e.find(s=>s.name===n);l&&r.push({keyDef:l,releasePrevious:o,releaseSelf:i}),t=t.slice(a)}while(t);return r}async function FT(e){const{pointerMap:t}=this.config,r=[];(Array.isArray(e)?e:[e]).forEach(n=>{typeof n=="string"?r.push(...Ds(t,n)):"keys"in n?r.push(...Ds(t,n.keys).map(a=>({...n,...a}))):r.push(n)});for(let n=0;n<r.length;n++)await jt(this.config),await jT(this,r[n]);this.system.pointer.resetClickCount()}async function jT(e,t){var r,n;const a="pointerName"in t&&t.pointerName?t.pointerName:"keyDef"in t?e.system.pointer.getPointerName(t.keyDef):"mouse",o=e.system.pointer.getPreviousPosition(a);var i,l,s,u;const f={target:(i=t.target)!==null&&i!==void 0?i:HT(e,o),coords:(l=t.coords)!==null&&l!==void 0?l:o==null?void 0:o.coords,caret:{node:(s=t.node)!==null&&s!==void 0?s:Ls(t)||o==null||(r=o.caret)===null||r===void 0?void 0:r.node,offset:(u=t.offset)!==null&&u!==void 0?u:Ls(t)||o==null||(n=o.caret)===null||n===void 0?void 0:n.offset}};"keyDef"in t?(e.system.pointer.isKeyPressed(t.keyDef)&&(or(e,be.Trigger),await e.system.pointer.release(e,t.keyDef,f)),t.releasePrevious||(or(e,be.Trigger),await e.system.pointer.press(e,t.keyDef,f),t.releaseSelf&&(or(e,be.Trigger),await e.system.pointer.release(e,t.keyDef,f)))):(or(e,be.Trigger),await e.system.pointer.move(e,a,f))}function Ls(e){var t,r;return!!((r=(t=e.target)!==null&&t!==void 0?t:e.node)!==null&&r!==void 0?r:e.offset!==void 0)}function HT(e,t){if(!t)throw new Error("This pointer has no previous position. Provide a target property!");var r;return(r=t.target)!==null&&r!==void 0?r:e.config.document.body}async function VT(e){if(!Lt(e)||Be(e))throw new Error("clear()` is only supported on editable elements.");if(ot(e),e.ownerDocument.activeElement!==e)throw new Error("The element to be cleared could not be focused.");if($d(e),!BP(e))throw new Error("The element content to be cleared could not be selected.");Ft(this,e,"","deleteContentBackward")}async function WT(e,t){return Qd.call(this,!0,e,t)}async function zT(e,t){return Qd.call(this,!1,e,t)}async function Qd(e,t,r){if(!e&&!t.multiple)throw j().getElementError("Unable to deselect an option in a non-multiple select. Use selectOptions to change the selection instead.",t);const n=Array.isArray(r)?r:[r],a=Array.from(t.querySelectorAll('option, [role="option"]')),o=n.map(l=>{if(typeof l!="string"&&a.includes(l))return l;{const s=a.find(u=>u.value===l||u.innerHTML===l);if(s)return s;throw j().getElementError(`Value "${String(l)}" not found in options`,t)}}).filter(l=>!Be(l));if(Be(t)||!o.length)return;const i=l=>{l.selected=e,this.dispatchUIEvent(t,"input",{bubbles:!0,cancelable:!1,composed:!0}),this.dispatchUIEvent(t,"change")};if(L(t,"select"))if(t.multiple)for(const l of o){const s=this.config.pointerEventsCheck===0?!0:rn(this,l);s&&(this.dispatchUIEvent(l,"pointerover"),this.dispatchUIEvent(t,"pointerenter"),this.dispatchUIEvent(l,"mouseover"),this.dispatchUIEvent(t,"mouseenter"),this.dispatchUIEvent(l,"pointermove"),this.dispatchUIEvent(l,"mousemove"),this.dispatchUIEvent(l,"pointerdown"),this.dispatchUIEvent(l,"mousedown")),ot(t),s&&(this.dispatchUIEvent(l,"pointerup"),this.dispatchUIEvent(l,"mouseup")),i(l),s&&this.dispatchUIEvent(l,"click"),await jt(this.config)}else if(o.length===1){const l=this.config.pointerEventsCheck===0?!0:rn(this,t);l?await this.click(t):ot(t),i(o[0]),l&&(this.dispatchUIEvent(t,"pointerover"),this.dispatchUIEvent(t,"pointerenter"),this.dispatchUIEvent(t,"mouseover"),this.dispatchUIEvent(t,"mouseenter"),this.dispatchUIEvent(t,"pointerup"),this.dispatchUIEvent(t,"mouseup"),this.dispatchUIEvent(t,"click")),await jt(this.config)}else throw j().getElementError("Cannot select multiple options on a non-multiple select",t);else if(t.getAttribute("role")==="listbox")for(const l of o)await this.click(l),await this.unhover(l);else throw j().getElementError("Cannot select options on elements that are neither select nor listbox elements",t)}async function KT(e,t,{skipClick:r=this.config.skipClick,skipAutoClose:n=this.config.skipAutoClose,initialSelectionStart:a,initialSelectionEnd:o}={}){e.disabled||(r||await this.click(e),a!==void 0&&ar(e,a,o??a),await this.keyboard(t),n||await $T(this))}const Bs=Symbol("files and value properties are mocked");function Ci(e,t,r){r?Object.defineProperty(e,t,r):delete e[t]}function GT(e,t){var r;(r=e[Bs])===null||r===void 0||r.restore();const n=Object.getOwnPropertyDescriptor(e,"type"),a=Object.getOwnPropertyDescriptor(e,"value"),o=Object.getOwnPropertyDescriptor(e,"files");function i(){Ci(e,"type",n),Ci(e,"value",a),Ci(e,"files",o)}e[Bs]={restore:i},Object.defineProperties(e,{files:{configurable:!0,get:()=>t},value:{configurable:!0,get:()=>t.length?`C:\\fakepath\\${t[0].name}`:"",set(l){if(l==="")i();else{var s;a==null||(s=a.set)===null||s===void 0||s.call(e,l)}}},type:{configurable:!0,get:()=>"file",set(l){l!=="file"&&(i(),e.type=l)}}})}async function YT(e,t){const r=L(e,"label")?e.control:e;if(!r||!L(r,"input",{type:"file"}))throw new TypeError(`The ${r===e?"given":"associated"} ${r==null?void 0:r.tagName} element does not accept file uploads`);if(Be(e))return;const n=(Array.isArray(t)?t:[t]).filter(o=>!this.config.applyAccept||XT(o,r.accept)).slice(0,r.multiple?void 0:1),a=()=>{var o;n.length===((o=r.files)===null||o===void 0?void 0:o.length)&&n.every((i,l)=>{var s;return i===((s=r.files)===null||s===void 0?void 0:s.item(l))})||(GT(r,sl(Ee(e),n)),this.dispatchUIEvent(r,"input"),this.dispatchUIEvent(r,"change"))};r.addEventListener("fileDialog",a),await this.click(e),r.removeEventListener("fileDialog",a)}function Fr(e){return e.toLowerCase().replace(/(\.|\/)jpg\b/g,"$1jpeg")}function XT(e,t){if(!t)return!0;const r=["audio/*","image/*","video/*"];return Fr(t).trim().split(/\s*,\s*/).some(n=>n.startsWith(".")?Fr(e.name).endsWith(n):r.includes(n)?Fr(e.type).startsWith(n.replace("*","")):Fr(e.type)===n)}const Us={click:_T,dblClick:RT,tripleClick:PT,hover:TT,unhover:xT,tab:qT,keyboard:IT,copy:DT,cut:LT,paste:BT,pointer:FT,clear:VT,deselectOptions:zT,selectOptions:WT,type:KT,upload:YT};function QT(e){return j().asyncWrapper(e)}const Jd={applyAccept:!0,autoModify:!0,delay:0,document:globalThis.document,keyboardMap:uT,pointerMap:dT,pointerEventsCheck:Wr.EachApiCall,skipAutoClose:!1,skipClick:!1,skipHover:!1,writeToClipboard:!1,advanceTimers:()=>Promise.resolve()},JT={...Jd,writeToClipboard:!0};function Zd(e={},t=JT,r){const n=rx(e,r,t);return{...t,...e,document:n}}function ZT(e={}){const t=Zd(e);Fd(t.document),Ud(Ee(t.document).HTMLElement);var r;const n=(r=t.document.defaultView)!==null&&r!==void 0?r:globalThis.window;return aP(n),bl(t).api}function de({keyboardState:e,pointerState:t,...r}={},n){const a=Zd(r,Jd,n);Fd(a.document),Ud(Ee(a.document).HTMLElement);var o;const i=(o=t??e)!==null&&o!==void 0?o:new zd;return{api:bl(a,i).api,system:i}}function ex(e){return bl({...this.config,...e},this.system).api}function tx(e,t){function r(...n){return or(e,be.Call),QT(()=>t.apply(e,n).then(async a=>(await jt(e.config),a)))}return Object.defineProperty(r,"name",{get:()=>t.name}),r}function bl(e,t=new zd){const r={};return Object.assign(r,{config:e,dispatchEvent:Bd.bind(r),dispatchUIEvent:ZP.bind(r),system:t,levelRefs:{},...Us}),{instance:r,api:{...Object.fromEntries(Object.entries(Us).map(([n,a])=>[n,tx(r,a)])),setup:ex.bind(r)}}}function rx(e,t,r){var n,a;return(a=(n=e.document)!==null&&n!==void 0?n:t&&aT(t))!==null&&a!==void 0?a:r.document}function nx(e){return de().api.clear(e)}function ax(e,t={}){return de(t,e).api.click(e)}function ox(e={}){return de(e).api.copy()}function ix(e={}){return de(e).api.cut()}function lx(e,t={}){return de(t).api.dblClick(e)}function sx(e,t,r={}){return de(r).api.deselectOptions(e,t)}function ux(e,t={}){return de(t).api.hover(e)}async function dx(e,t={}){const{api:r,system:n}=de(t);return r.keyboard(e).then(()=>n)}async function cx(e,t={}){const{api:r,system:n}=de(t);return r.pointer(e).then(()=>n)}function fx(e,t){return de(t).api.paste(e)}function px(e,t,r={}){return de(r).api.selectOptions(e,t)}function mx(e,t={}){return de(t).api.tripleClick(e)}function bx(e,t,r={}){return de(r,e).api.type(e,t,r)}function vx(e,t={}){const{api:r,system:n}=de(t);return n.pointer.setMousePosition({target:e}),r.unhover(e)}function hx(e,t,r={}){return de(r).api.upload(e,t)}function yx(e={}){return de().api.tab(e)}const gx=Object.freeze(Object.defineProperty({__proto__:null,clear:nx,click:ax,copy:ox,cut:ix,dblClick:lx,deselectOptions:sx,hover:ux,keyboard:dx,paste:fx,pointer:cx,selectOptions:px,tab:yx,tripleClick:mx,type:bx,unhover:vx,upload:hx},Symbol.toStringTag,{value:"Module"})),Ex={...gx,setup:ZT};function Cx(e){return e.querySelector("audio")}function wx(){const e={};let t=null;const r={metadata:null,playbackState:"none",setActionHandler(a,o){e[a]=o??null},setPositionState(a){t=a}},n=typeof navigator<"u"?navigator.mediaSession:void 0;return Object.defineProperty(navigator,"mediaSession",{value:r,configurable:!0,writable:!0}),{mock:r,getHandler:a=>e[a]??null,getLastPositionState:()=>t,restore:()=>{n!==void 0&&Object.defineProperty(navigator,"mediaSession",{value:n,configurable:!0,writable:!0})}}}function _x(){return Ex.setup()}function Rx(e,t){Object.defineProperty(e,"duration",{configurable:!0,value:t}),e.dispatchEvent(new Event("loadedmetadata"))}function Px(e,t,r){Object.defineProperty(e,"currentTime",{configurable:!0,value:t,writable:!0}),r!==void 0&&Object.defineProperty(e,"duration",{configurable:!0,value:r}),e.dispatchEvent(new Event("timeupdate"))}function Tx(e){e.dispatchEvent(new Event("ended"))}function xx(e,t){var r;if(t.currentIndex!==void 0&&e.currentIndex!==t.currentIndex)throw new Error(`Expected currentIndex ${t.currentIndex}, received ${e.currentIndex}.`);if(t.length!==void 0&&e.tracks.length!==t.length)throw new Error(`Expected queue length ${t.length}, received ${e.tracks.length}.`);if(t.currentId!==void 0){const n=(r=e.currentTrack)==null?void 0:r.id;if(n!==t.currentId)throw new Error(`Expected currentId ${t.currentId}, received ${n??"undefined"}.`)}}exports.emitEnded=Tx;exports.emitLoadedMetadata=Rx;exports.emitTimeUpdate=Px;exports.expectQueueState=xx;exports.installNavigatorMediaSession=wx;exports.queryAudio=Cx;exports.renderGinger=JR;exports.setupUser=_x;
|
|
96
96
|
//# sourceMappingURL=index.cjs.map
|