@thednp/shorty 2.0.3 → 2.0.5

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.
Files changed (61) hide show
  1. package/README.md +7 -5
  2. package/dist/shorty.cjs +17 -1
  3. package/dist/shorty.cjs.map +1 -1
  4. package/dist/shorty.d.ts +20 -8
  5. package/dist/shorty.js +17 -1
  6. package/dist/shorty.js.map +1 -1
  7. package/dist/shorty.mjs +423 -379
  8. package/dist/shorty.mjs.map +1 -1
  9. package/dts.config.ts +1 -7
  10. package/package.json +16 -16
  11. package/src/boolean/isApple.ts +1 -1
  12. package/src/boolean/isFirefox.ts +3 -1
  13. package/src/boolean/isMobile.ts +1 -1
  14. package/src/boolean/supportPassive.ts +1 -1
  15. package/src/event/one.ts +1 -1
  16. package/src/get/getRectRelativeToOffsetParent.ts +1 -1
  17. package/src/index.ts +6 -0
  18. package/src/misc/createCustomEvent.ts +5 -5
  19. package/src/misc/createElementNS.ts +1 -1
  20. package/src/misc/data.ts +2 -5
  21. package/src/misc/emulateAnimationEnd.ts +4 -3
  22. package/src/misc/emulateTransitionEnd.ts +3 -3
  23. package/src/misc/focusTrap.ts +64 -0
  24. package/src/misc/normalizeOptions.ts +2 -2
  25. package/src/misc/timer.ts +3 -3
  26. package/src/selectors/closest.ts +5 -2
  27. package/src/selectors/getCustomElements.ts +1 -2
  28. package/src/selectors/getElementById.ts +2 -2
  29. package/src/selectors/getElementsByClassName.ts +2 -7
  30. package/src/selectors/getElementsByTagName.ts +2 -5
  31. package/src/selectors/querySelector.ts +6 -3
  32. package/src/selectors/querySelectorAll.ts +4 -1
  33. package/src/strings/focusableSelector.ts +4 -0
  34. package/test/att.test.ts +43 -0
  35. package/test/boolean.test.ts +30 -0
  36. package/test/class.test.ts +26 -0
  37. package/test/event.test.ts +39 -0
  38. package/{cypress/test.html → test/fixtures/getExampleDom.ts} +21 -32
  39. package/test/fixtures/style.css +18 -0
  40. package/test/get.test.ts +150 -0
  41. package/{cypress/e2e/is.cy.ts → test/is.test.ts} +77 -70
  42. package/test/misc.test.ts +400 -0
  43. package/test/selectors.test.ts +90 -0
  44. package/tsconfig.json +6 -1
  45. package/{vite.config.ts → vite.config.mts} +3 -8
  46. package/vitest.config-ui.mts +21 -0
  47. package/vitest.config.mts +20 -0
  48. package/cypress/e2e/att.cy.ts +0 -46
  49. package/cypress/e2e/boolean.cy.ts +0 -44
  50. package/cypress/e2e/class.cy.ts +0 -28
  51. package/cypress/e2e/event.cy.ts +0 -51
  52. package/cypress/e2e/get.cy.ts +0 -168
  53. package/cypress/e2e/misc.cy.ts +0 -354
  54. package/cypress/e2e/selectors.cy.ts +0 -85
  55. package/cypress/plugins/esbuild-istanbul.ts +0 -50
  56. package/cypress/plugins/tsCompile.ts +0 -34
  57. package/cypress/support/commands.ts +0 -37
  58. package/cypress/support/e2e.ts +0 -21
  59. package/cypress/support/index.js +0 -22
  60. package/cypress.config.ts +0 -30
  61. /package/{cypress → test}/fixtures/custom-elem.js +0 -0
package/dist/shorty.d.ts CHANGED
@@ -353,6 +353,7 @@ export declare const focusinEvent = "focusin";
353
353
  * A global namespace for `focusout` event.
354
354
  */
355
355
  export declare const focusoutEvent = "focusout";
356
+ export declare const focusableSelector = "a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]";
356
357
  /**
357
358
  * A global namespace for `gesturechange` event.
358
359
  */
@@ -837,7 +838,7 @@ export declare const createElement: <T extends HTMLElement>(param?: string | Par
837
838
  * @param param `tagName` or object
838
839
  * @return a new `HTMLElement`
839
840
  */
840
- export declare const createElementNS: <T extends HTMLElement>(ns: string, param?: string | Partial<T>) => T | undefined;
841
+ export declare const createElementNS: <T extends Element = HTMLElement>(ns: string, param?: string | Partial<T>) => T | undefined;
841
842
  /**
842
843
  * Shortcut for the `Element.dispatchEvent(Event)` method.
843
844
  *
@@ -993,7 +994,7 @@ export declare interface OriginalEvent extends CustomEvent<any> {
993
994
  * @param config Event.options | Event.properties
994
995
  * @returns a new namespaced event
995
996
  */
996
- export declare const createCustomEvent: <T extends OriginalEvent>(eventType: string, config?: CustomEventInit<any>) => T;
997
+ export declare const createCustomEvent: <O extends unknown & Record<string, unknown>, T extends OriginalEvent>(eventType: string, config?: O) => T;
997
998
  /**
998
999
  * A global namespace for most scroll event listeners.
999
1000
  */
@@ -1060,6 +1061,17 @@ export declare const toLowerCase: (source: string) => string;
1060
1061
  * @returns uppercase output string
1061
1062
  */
1062
1063
  export declare const toUpperCase: (source: string) => string;
1064
+ export type FocusableElement = HTMLAnchorElement | HTMLButtonElement | HTMLInputElement | HTMLTextAreaElement | HTMLDataListElement | HTMLDetailsElement | HTMLSelectElement;
1065
+ /**
1066
+ * Utility to check if a designated element is affected by focus trap;
1067
+ * @param target
1068
+ */
1069
+ export declare const hasFocusTrap: (target: HTMLElement) => boolean;
1070
+ /**
1071
+ * Utility to toggle focus trap inside a designated target element;
1072
+ * @param target
1073
+ */
1074
+ export declare const toggleFocusTrap: (target: HTMLElement) => void;
1063
1075
  export declare interface BoundingClientRect {
1064
1076
  width: number;
1065
1077
  height: number;
@@ -1451,7 +1463,7 @@ export declare const isWindow: (obj?: unknown) => obj is Window;
1451
1463
  * @param selector the selector name
1452
1464
  * @return the query result
1453
1465
  */
1454
- export declare const closest: (element: HTMLElement, selector: string) => HTMLElement | null;
1466
+ export declare const closest: <T extends Element = HTMLElement>(element: T, selector: string) => HTMLElement | null;
1455
1467
  /**
1456
1468
  * Utility to check if target is typeof `HTMLElement`, `Element`, `Node`
1457
1469
  * or find one that matches a selector.
@@ -1460,7 +1472,7 @@ export declare const closest: (element: HTMLElement, selector: string) => HTMLEl
1460
1472
  * @param parent optional node to look into
1461
1473
  * @return the `HTMLElement` or `querySelector` result
1462
1474
  */
1463
- export declare const querySelector: (selector: HTMLElement | string, parent?: ParentNode) => HTMLElement | null;
1475
+ export declare const querySelector: <T extends HTMLElement>(selector: HTMLElement | string, parent?: ParentNode) => T | null;
1464
1476
  /**
1465
1477
  * Returns an `Array` of `Node` elements that are registered as
1466
1478
  * `CustomElement`.
@@ -1480,7 +1492,7 @@ export declare const getCustomElements: (parent?: ParentNode) => CustomElement[]
1480
1492
  * @param context an element in it's document or document
1481
1493
  * @returns the requested element
1482
1494
  */
1483
- export declare const getElementById: (id: string, context?: Node) => HTMLElement | null;
1495
+ export declare const getElementById: <T extends HTMLElement>(id: string, context?: Node) => T;
1484
1496
  /**
1485
1497
  * A shortcut for `(document|Element).querySelectorAll`.
1486
1498
  *
@@ -1488,7 +1500,7 @@ export declare const getElementById: (id: string, context?: Node) => HTMLElement
1488
1500
  * @param parent optional node to look into
1489
1501
  * @return the query result
1490
1502
  */
1491
- export declare const querySelectorAll: (selector: string, parent?: ParentNode) => NodeListOf<HTMLElement>;
1503
+ export declare const querySelectorAll: <T extends HTMLElement>(selector: string, parent?: ParentNode) => NodeListOf<T>;
1492
1504
  /**
1493
1505
  * Shortcut for `HTMLElement.getElementsByTagName` method. Some `Node` elements
1494
1506
  * like `ShadowRoot` do not support `getElementsByTagName`.
@@ -1497,7 +1509,7 @@ export declare const querySelectorAll: (selector: string, parent?: ParentNode) =
1497
1509
  * @param parent optional Element to look into
1498
1510
  * @return the 'HTMLCollection'
1499
1511
  */
1500
- export declare const getElementsByTagName: (selector: string, parent?: ParentNode) => HTMLCollectionOf<HTMLElement>;
1512
+ export declare const getElementsByTagName: <T extends HTMLElement>(selector: string, parent?: ParentNode) => HTMLCollectionOf<T>;
1501
1513
  /**
1502
1514
  * Shortcut for `HTMLElement.getElementsByClassName` method. Some `Node` elements
1503
1515
  * like `ShadowRoot` do not support `getElementsByClassName`.
@@ -1506,7 +1518,7 @@ export declare const getElementsByTagName: (selector: string, parent?: ParentNod
1506
1518
  * @param parent optional Element to look into
1507
1519
  * @return the 'HTMLCollection'
1508
1520
  */
1509
- export declare const getElementsByClassName: (selector: string, parent?: ParentNode) => HTMLCollectionOf<HTMLElement>;
1521
+ export declare const getElementsByClassName: <T extends HTMLElement>(selector: string, parent?: ParentNode) => HTMLCollectionOf<T>;
1510
1522
  /**
1511
1523
  * Check if element matches a CSS selector.
1512
1524
  *
package/dist/shorty.js CHANGED
@@ -1,2 +1,18 @@
1
- var SHORTY=function(t){"use strict";const lt="aria-checked",dt="aria-description",mt="aria-describedby",Et="aria-expanded",vt="aria-haspopup",gt="aria-hidden",ft="aria-label",bt="aria-labelledby",yt="aria-modal",ht="aria-pressed",At="aria-selected",wt="aria-valuemin",kt="aria-valuemax",St="aria-valuenow",Dt="aria-valuetext",j="abort",Q="beforeunload",q="blur",G="change",K="contextmenu",H="DOMContentLoaded",J="DOMMouseScroll",Y="error",X="focus",Z="focusin",$="focusout",_="gesturechange",p="gestureend",x="gesturestart",ee="keydown",te="keypress",ne="keyup",oe="load",ae="click",se="dblclick",ce="mousedown",ie="mouseup",re="hover",ue="mouseenter",le="mouseleave",de="mousein",me="mouseout",Ee="mouseover",ve="mousemove",ge="mousewheel",fe="move",be="orientationchange",ye="pointercancel",he="pointerdown",Ae="pointerleave",we="pointermove",ke="pointerup",Se="readystatechange",De="reset",Ne="resize",Te="select",Me="selectend",Ce="selectstart",Oe="scroll",Le="submit",Ie="touchstart",ze="touchmove",He="touchcancel",Be="touchend",Ve="unload",Nt={DOMContentLoaded:H,DOMMouseScroll:J,abort:j,beforeunload:Q,blur:q,change:G,click:ae,contextmenu:K,dblclick:se,error:Y,focus:X,focusin:Z,focusout:$,gesturechange:_,gestureend:p,gesturestart:x,hover:re,keydown:ee,keypress:te,keyup:ne,load:oe,mousedown:ce,mousemove:ve,mousein:de,mouseout:me,mouseenter:ue,mouseleave:le,mouseover:Ee,mouseup:ie,mousewheel:ge,move:fe,orientationchange:be,pointercancel:ye,pointerdown:he,pointerleave:Ae,pointermove:we,pointerup:ke,readystatechange:Se,reset:De,resize:Ne,scroll:Oe,select:Te,selectend:Me,selectstart:Ce,submit:Le,touchcancel:He,touchend:Be,touchmove:ze,touchstart:Ie,unload:Ve},Tt="drag",Mt="dragstart",Ct="dragenter",Ot="dragleave",Lt="dragover",It="dragend",zt="loadstart",Ht={start:"mousedown",end:"mouseup",move:"mousemove",cancel:"mouseleave"},Bt={down:"mousedown",up:"mouseup"},Vt="onmouseleave"in document?["mouseenter","mouseleave"]:["mouseover","mouseout"],Pt={start:"touchstart",end:"touchend",move:"touchmove",cancel:"touchcancel"},Ft={in:"focusin",out:"focusout"},Rt={Backspace:"Backspace",Tab:"Tab",Enter:"Enter",Shift:"Shift",Control:"Control",Alt:"Alt",Pause:"Pause",CapsLock:"CapsLock",Escape:"Escape",Scape:"Space",ArrowLeft:"ArrowLeft",ArrowUp:"ArrowUp",ArrowRight:"ArrowRight",ArrowDown:"ArrowDown",Insert:"Insert",Delete:"Delete",Meta:"Meta",ContextMenu:"ContextMenu",ScrollLock:"ScrollLock"},Wt="Alt",Ut="ArrowDown",jt="ArrowUp",Qt="ArrowLeft",qt="ArrowRight",Gt="Backspace",Kt="CapsLock",Jt="Control",Yt="Delete",Xt="Enter",Zt="NumpadEnter",$t="Escape",_t="Insert",pt="Meta",xt="Pause",en="ScrollLock",tn="Shift",nn="Space",on="Tab",Pe="animationDuration",Fe="animationDelay",B="animationName",C="animationend",Re="transitionDuration",We="transitionDelay",O="transitionend",V="transitionProperty",an="addEventListener",sn="removeEventListener",cn={linear:"linear",easingSinusoidalIn:"cubic-bezier(0.47,0,0.745,0.715)",easingSinusoidalOut:"cubic-bezier(0.39,0.575,0.565,1)",easingSinusoidalInOut:"cubic-bezier(0.445,0.05,0.55,0.95)",easingQuadraticIn:"cubic-bezier(0.550,0.085,0.680,0.530)",easingQuadraticOut:"cubic-bezier(0.250,0.460,0.450,0.940)",easingQuadraticInOut:"cubic-bezier(0.455,0.030,0.515,0.955)",easingCubicIn:"cubic-bezier(0.55,0.055,0.675,0.19)",easingCubicOut:"cubic-bezier(0.215,0.61,0.355,1)",easingCubicInOut:"cubic-bezier(0.645,0.045,0.355,1)",easingQuarticIn:"cubic-bezier(0.895,0.03,0.685,0.22)",easingQuarticOut:"cubic-bezier(0.165,0.84,0.44,1)",easingQuarticInOut:"cubic-bezier(0.77,0,0.175,1)",easingQuinticIn:"cubic-bezier(0.755,0.05,0.855,0.06)",easingQuinticOut:"cubic-bezier(0.23,1,0.32,1)",easingQuinticInOut:"cubic-bezier(0.86,0,0.07,1)",easingExponentialIn:"cubic-bezier(0.95,0.05,0.795,0.035)",easingExponentialOut:"cubic-bezier(0.19,1,0.22,1)",easingExponentialInOut:"cubic-bezier(1,0,0,1)",easingCircularIn:"cubic-bezier(0.6,0.04,0.98,0.335)",easingCircularOut:"cubic-bezier(0.075,0.82,0.165,1)",easingCircularInOut:"cubic-bezier(0.785,0.135,0.15,0.86)",easingBackIn:"cubic-bezier(0.6,-0.28,0.735,0.045)",easingBackOut:"cubic-bezier(0.175,0.885,0.32,1.275)",easingBackInOut:"cubic-bezier(0.68,-0.55,0.265,1.55)"},rn="offsetHeight",un="offsetWidth",ln="scrollHeight",dn="scrollWidth",mn="tabindex",w=navigator.userAgentData,{userAgent:En}=navigator,k=En,Ue=/iPhone|iPad|iPod|Android/i;let P=!1;w?P=w.brands.some(e=>Ue.test(e.brand)):P=Ue.test(k);const vn=P,je=/(iPhone|iPod|iPad)/,gn=w?w.brands.some(e=>je.test(e.brand)):je.test(k),fn=k?k.includes("Firefox"):!1,{head:S}=document,bn=["webkitPerspective","perspective"].some(e=>e in S.style),Qe=(e,n,o,a)=>{const s=a||!1;e.addEventListener(n,o,s)},qe=(e,n,o,a)=>{const s=a||!1;e.removeEventListener(n,o,s)},Ge=(e,n,o,a)=>{const s=r=>{(r.target===e||r.currentTarget===e)&&(o.apply(e,[r]),qe(e,n,s,a))};Qe(e,n,s,a)},Ke=()=>{},yn=(()=>{let e=!1;try{const n=Object.defineProperty({},"passive",{get:()=>(e=!0,e)});Ge(document,H,Ke,n)}catch{}return e})(),hn=["webkitTransform","transform"].some(e=>e in S.style),An="ontouchstart"in window||"msMaxTouchPoints"in navigator,wn=["webkitAnimation","animation"].some(e=>e in S.style),kn=["webkitTransition","transition"].some(e=>e in S.style),Je=(e,n)=>e.getAttribute(n),Sn=(e,n,o)=>n.getAttributeNS(e,o),Dn=(e,n)=>e.hasAttribute(n),Nn=(e,n,o)=>n.hasAttributeNS(e,o),Tn=(e,n,o)=>e.setAttribute(n,o),Mn=(e,n,o,a)=>n.setAttributeNS(e,o,a),Cn=(e,n)=>e.removeAttribute(n),On=(e,n,o)=>n.removeAttributeNS(e,o),Ln=(e,...n)=>{e.classList.add(...n)},In=(e,...n)=>{e.classList.remove(...n)},zn=(e,n)=>e.classList.contains(n),{body:Hn}=document,{documentElement:Bn}=document,Vn=e=>Array.from(e),E=e=>e!=null&&typeof e=="object"||!1,i=e=>E(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(n=>e.nodeType===n)||!1,l=e=>i(e)&&e.nodeType===1||!1,y=new Map,L={data:y,set:(e,n,o)=>{if(!l(e))return;y.has(n)||y.set(n,new Map),y.get(n).set(e,o)},getAllFor:e=>y.get(e)||null,get:(e,n)=>{if(!l(e)||!n)return null;const o=L.getAllFor(n);return e&&o&&o.get(e)||null},remove:(e,n)=>{const o=L.getAllFor(n);!o||!l(e)||(o.delete(e),o.size===0&&y.delete(n))}},Pn=(e,n)=>L.get(e,n),D=e=>typeof e=="string"||!1,F=e=>E(e)&&e.constructor.name==="Window"||!1,R=e=>i(e)&&e.nodeType===9||!1,m=e=>F(e)?e.document:R(e)?e:i(e)?e.ownerDocument:window.document,N=(e,...n)=>Object.assign(e,...n),Ye=e=>{if(!e)return;if(D(e))return m().createElement(e);const{tagName:n}=e,o=Ye(n);if(!o)return;const a={...e};return delete a.tagName,N(o,a)},Xe=(e,n)=>{if(!e||!n)return;if(D(n))return m().createElementNS(e,n);const{tagName:o}=n,a=Xe(e,o);if(!a)return;const s={...n};return delete s.tagName,N(a,s)},W=(e,n)=>e.dispatchEvent(n),Fn=(e,n,o)=>o.indexOf(e)===n,v=(e,n)=>{const o=getComputedStyle(e),a=n.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return o.getPropertyValue(a)},Ze=e=>{const n=v(e,B),o=v(e,Fe),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},$e=e=>{const n=v(e,B),o=v(e,Pe),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},Rn=(e,n)=>{let o=0;const a=new Event(C),s=$e(e),r=Ze(e);if(s){const u=d=>{d.target===e&&(n.apply(e,[d]),e.removeEventListener(C,u),o=1)};e.addEventListener(C,u),setTimeout(()=>{o||W(e,a)},s+r+17)}else n.apply(e,[a])},_e=e=>{const n=v(e,V),o=v(e,We),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},pe=e=>{const n=v(e,V),o=v(e,Re),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},Wn=(e,n)=>{let o=0;const a=new Event(O),s=pe(e),r=_e(e);if(s){const u=d=>{d.target===e&&(n.apply(e,[d]),e.removeEventListener(O,u),o=1)};e.addEventListener(O,u),setTimeout(()=>{o||W(e,a)},s+r+17)}else n.apply(e,[a])},Un=e=>Float32Array.from(Array.from(e)),jn=e=>Float64Array.from(Array.from(e)),Qn=(e,n)=>e.focus(n),U=e=>["true",!0].includes(e)?!0:["false",!1].includes(e)?!1:["null","",null,void 0].includes(e)?null:e!==""&&!Number.isNaN(+e)?+e:e,T=e=>Object.entries(e),xe=e=>e.toLowerCase(),qn=(e,n,o,a)=>{const s={...o},r={...e.dataset},u={...n},d={},f="title";return T(r).forEach(([c,b])=>{const z=a&&typeof c=="string"&&c.includes(a)?c.replace(a,"").replace(/[A-Z]/g,Oo=>xe(Oo)):c;d[z]=U(b)}),T(s).forEach(([c,b])=>{s[c]=U(b)}),T(n).forEach(([c,b])=>{c in s?u[c]=s[c]:c in d?u[c]=d[c]:u[c]=c===f?Je(e,f):b}),u},Gn=(e,n)=>E(e)&&(Object.hasOwn(e,n)||n in e),Kn=e=>Object.keys(e),Jn=e=>Object.values(e),Yn=e=>Object.fromEntries(e),Xn=(e,n)=>{const o=new CustomEvent(e,{cancelable:!0,bubbles:!0});return E(n)&&N(o,n),o},Zn={passive:!0},$n=e=>e.offsetHeight,_n=(e,n)=>{T(n).forEach(([o,a])=>{if(a&&D(o)&&o.includes("--"))e.style.setProperty(o,a);else{const s={};s[o]=a,N(e.style,s)}})},I=e=>E(e)&&e.constructor.name==="Map"||!1,et=e=>typeof e=="number"||!1,g=new Map,pn={set:(e,n,o,a)=>{l(e)&&(a&&a.length?(g.has(e)||g.set(e,new Map),g.get(e).set(a,setTimeout(n,o))):g.set(e,setTimeout(n,o)))},get:(e,n)=>{if(!l(e))return null;const o=g.get(e);return n&&o&&I(o)?o.get(n)||null:et(o)?o:null},clear:(e,n)=>{if(!l(e))return;const o=g.get(e);n&&n.length&&I(o)?(clearTimeout(o.get(n)),o.delete(n),o.size===0&&g.delete(e)):(clearTimeout(o),g.delete(e))}},xn=e=>e.toUpperCase(),h=(e,n)=>{const{width:o,height:a,top:s,right:r,bottom:u,left:d}=e.getBoundingClientRect();let f=1,c=1;if(n&&l(e)){const{offsetWidth:b,offsetHeight:z}=e;f=b>0?Math.round(o)/b:1,c=z>0?Math.round(a)/z:1}return{width:o/f,height:a/c,top:s/c,right:r/f,bottom:u/c,left:d/f,x:d/f,y:s/c}},eo=e=>m(e).body,M=e=>m(e).documentElement,to=e=>m(e).head,no=e=>{const n=F(e),o=n?e.scrollX:e.scrollLeft,a=n?e.scrollY:e.scrollTop;return{x:o,y:a}},tt=e=>i(e)&&e.constructor.name==="ShadowRoot"||!1,oo=e=>e.nodeName==="HTML"?e:l(e)&&e.assignedSlot||i(e)&&e.parentNode||tt(e)&&e.host||M(e),nt=e=>{if(!l(e))return!1;const{width:n,height:o}=h(e),{offsetWidth:a,offsetHeight:s}=e;return Math.round(n)!==a||Math.round(o)!==s},ao=(e,n,o)=>{const a=l(n),s=h(e,a&&nt(n)),r={x:0,y:0};if(a){const u=h(n,!0);r.x=u.x+n.clientLeft,r.y=u.y+n.clientTop}return{x:s.left+o.x-r.x,y:s.top+o.y-r.y,width:s.width,height:s.height}};let ot=0,at=0;const A=new Map,st=(e,n)=>{let o=n?ot:at;if(n){const a=st(e),s=A.get(a)||new Map;A.has(a)||A.set(a,s),I(s)&&!s.has(n)?(s.set(n,o),ot+=1):o=s.get(n)}else{const a=e.id||e;A.has(a)?o=A.get(a):(A.set(a,o),at+=1)}return o},so=e=>{var n;return e?R(e)?e.defaultView:i(e)?(n=e==null?void 0:e.ownerDocument)==null?void 0:n.defaultView:e:window},ct=e=>Array.isArray(e)||!1,co=e=>i(e)&&e.nodeName==="CANVAS"||!1,it=e=>l(e)&&!!e.shadowRoot||!1,io=e=>i(e)&&[1,2,3,4,5,6,7,8].some(n=>e.nodeType===n)||!1,ro=e=>{if(!i(e))return!1;const{top:n,bottom:o}=h(e),{clientHeight:a}=M(e);return n<=a&&o>=0},uo=e=>{if(!i(e))return!1;const{clientWidth:n,clientHeight:o}=M(e),{top:a,left:s,bottom:r,right:u}=h(e,!0);return a>=0&&s>=0&&r<=o&&u<=n},lo=e=>ct(e)&&e.every(l)||!1,mo=e=>typeof e=="function"||!1,Eo=e=>E(e)&&e.constructor.name==="HTMLCollection"||!1,vo=e=>l(e)&&e.tagName==="IMG"||!1,go=e=>{if(!D(e))return!1;try{JSON.parse(e)}catch{return!1}return!0},fo=e=>E(e)&&e.constructor.name==="WeakMap"||!1,bo=e=>i(e)&&["SVG","Image","Video","Canvas"].some(n=>e.constructor.name.includes(n))||!1,yo=e=>E(e)&&e.constructor.name==="NodeList"||!1,ho=e=>M(e).dir==="rtl",Ao=e=>i(e)&&e.constructor.name.includes("SVG")||!1,wo=e=>i(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,rt=(e,n)=>e?e.closest(n)||rt(e.getRootNode().host,n):null,ko=(e,n)=>l(e)?e:(i(n)?n:m()).querySelector(e),ut=(e,n)=>(i(n)?n:m()).getElementsByTagName(e),So=e=>[...ut("*",e)].filter(it),Do=(e,n)=>m(n).getElementById(e)||null,No=(e,n)=>(i(n)?n:m()).querySelectorAll(e),To=(e,n)=>(n&&i(n)?n:m()).getElementsByClassName(e),Mo=(e,n)=>e.matches(n),Co="2.0.3";return t.ArrayFrom=Vn,t.DOMContentLoadedEvent=H,t.DOMMouseScrollEvent=J,t.Data=L,t.Float32ArrayFrom=Un,t.Float64ArrayFrom=jn,t.ObjectAssign=N,t.ObjectEntries=T,t.ObjectFromEntries=Yn,t.ObjectHasOwn=Gn,t.ObjectKeys=Kn,t.ObjectValues=Jn,t.Timer=pn,t.abortEvent=j,t.addClass=Ln,t.addEventListener=an,t.animationDelay=Fe,t.animationDuration=Pe,t.animationEndEvent=C,t.animationName=B,t.ariaChecked=lt,t.ariaDescribedBy=mt,t.ariaDescription=dt,t.ariaExpanded=Et,t.ariaHasPopup=vt,t.ariaHidden=gt,t.ariaLabel=ft,t.ariaLabelledBy=bt,t.ariaModal=yt,t.ariaPressed=ht,t.ariaSelected=At,t.ariaValueMax=kt,t.ariaValueMin=wt,t.ariaValueNow=St,t.ariaValueText=Dt,t.beforeunloadEvent=Q,t.bezierEasings=cn,t.blurEvent=q,t.changeEvent=G,t.closest=rt,t.contextmenuEvent=K,t.createCustomEvent=Xn,t.createElement=Ye,t.createElementNS=Xe,t.dispatchEvent=W,t.distinct=Fn,t.documentBody=Hn,t.documentElement=Bn,t.documentHead=S,t.dragEvent=Tt,t.dragendEvent=It,t.dragenterEvent=Ct,t.dragleaveEvent=Ot,t.dragoverEvent=Lt,t.dragstartEvent=Mt,t.emulateAnimationEnd=Rn,t.emulateTransitionEnd=Wn,t.errorEvent=Y,t.focus=Qn,t.focusEvent=X,t.focusEvents=Ft,t.focusinEvent=Z,t.focusoutEvent=$,t.gesturechangeEvent=_,t.gestureendEvent=p,t.gesturestartEvent=x,t.getAttribute=Je,t.getAttributeNS=Sn,t.getBoundingClientRect=h,t.getCustomElements=So,t.getDocument=m,t.getDocumentBody=eo,t.getDocumentElement=M,t.getDocumentHead=to,t.getElementAnimationDelay=Ze,t.getElementAnimationDuration=$e,t.getElementById=Do,t.getElementStyle=v,t.getElementTransitionDelay=_e,t.getElementTransitionDuration=pe,t.getElementsByClassName=To,t.getElementsByTagName=ut,t.getInstance=Pn,t.getNodeScroll=no,t.getParentNode=oo,t.getRectRelativeToOffsetParent=ao,t.getUID=st,t.getWindow=so,t.hasAttribute=Dn,t.hasAttributeNS=Nn,t.hasClass=zn,t.isApple=gn,t.isArray=ct,t.isCanvas=co,t.isCustomElement=it,t.isDocument=R,t.isElement=io,t.isElementInScrollRange=ro,t.isElementInViewport=uo,t.isElementsArray=lo,t.isFirefox=fn,t.isFunction=mo,t.isHTMLCollection=Eo,t.isHTMLElement=l,t.isHTMLImageElement=vo,t.isJSON=go,t.isMap=I,t.isMedia=bo,t.isMobile=vn,t.isNode=i,t.isNodeList=yo,t.isNumber=et,t.isObject=E,t.isRTL=ho,t.isSVGElement=Ao,t.isScaledElement=nt,t.isShadowRoot=tt,t.isString=D,t.isTableElement=wo,t.isWeakMap=fo,t.isWindow=F,t.keyAlt=Wt,t.keyArrowDown=Ut,t.keyArrowLeft=Qt,t.keyArrowRight=qt,t.keyArrowUp=jt,t.keyBackspace=Gt,t.keyCapsLock=Kt,t.keyControl=Jt,t.keyDelete=Yt,t.keyEnter=Xt,t.keyEscape=$t,t.keyInsert=_t,t.keyMeta=pt,t.keyNumpadEnter=Zt,t.keyPause=xt,t.keyScrollLock=en,t.keyShift=tn,t.keySpace=nn,t.keyTab=on,t.keyboardEventKeys=Rt,t.keydownEvent=ee,t.keypressEvent=te,t.keyupEvent=ne,t.loadEvent=oe,t.loadstartEvent=zt,t.matches=Mo,t.mouseClickEvents=Bt,t.mouseHoverEvents=Vt,t.mouseSwipeEvents=Ht,t.mouseclickEvent=ae,t.mousedblclickEvent=se,t.mousedownEvent=ce,t.mouseenterEvent=ue,t.mousehoverEvent=re,t.mouseinEvent=de,t.mouseleaveEvent=le,t.mousemoveEvent=ve,t.mouseoutEvent=me,t.mouseoverEvent=Ee,t.mouseupEvent=ie,t.mousewheelEvent=ge,t.moveEvent=fe,t.nativeEvents=Nt,t.noop=Ke,t.normalizeOptions=qn,t.normalizeValue=U,t.off=qe,t.offsetHeight=rn,t.offsetWidth=un,t.on=Qe,t.one=Ge,t.orientationchangeEvent=be,t.passiveHandler=Zn,t.pointercancelEvent=ye,t.pointerdownEvent=he,t.pointerleaveEvent=Ae,t.pointermoveEvent=we,t.pointerupEvent=ke,t.querySelector=ko,t.querySelectorAll=No,t.readystatechangeEvent=Se,t.reflow=$n,t.removeAttribute=Cn,t.removeAttributeNS=On,t.removeClass=In,t.removeEventListener=sn,t.resetEvent=De,t.resizeEvent=Ne,t.scrollEvent=Oe,t.scrollHeight=ln,t.scrollWidth=dn,t.selectEvent=Te,t.selectendEvent=Me,t.selectstartEvent=Ce,t.setAttribute=Tn,t.setAttributeNS=Mn,t.setElementStyle=_n,t.submitEvent=Le,t.support3DTransform=bn,t.supportAnimation=wn,t.supportPassive=yn,t.supportTouch=An,t.supportTransform=hn,t.supportTransition=kn,t.tabindex=mn,t.toLowerCase=xe,t.toUpperCase=xn,t.touchEvents=Pt,t.touchcancelEvent=He,t.touchendEvent=Be,t.touchmoveEvent=ze,t.touchstartEvent=Ie,t.transitionDelay=We,t.transitionDuration=Re,t.transitionEndEvent=O,t.transitionProperty=V,t.unloadEvent=Ve,t.userAgent=k,t.userAgentData=w,t.version=Co,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
1
+ var SHORTY=function(t){"use strict";const ft="aria-checked",bt="aria-description",yt="aria-describedby",ht="aria-expanded",At="aria-haspopup",G="aria-hidden",wt="aria-label",kt="aria-labelledby",St="aria-modal",Tt="aria-pressed",Dt="aria-selected",Nt="aria-valuemin",Mt="aria-valuemax",Ct="aria-valuenow",Ot="aria-valuetext",p="abort",J="beforeunload",Y="blur",X="change",Z="contextmenu",H="DOMContentLoaded",$="DOMMouseScroll",_="error",x="focus",ee="focusin",te="focusout",ne="gesturechange",oe="gestureend",ae="gesturestart",se="keydown",ce="keypress",ie="keyup",re="load",ue="click",le="dblclick",de="mousedown",me="mouseup",Ee="hover",ve="mouseenter",ge="mouseleave",fe="mousein",be="mouseout",ye="mouseover",he="mousemove",Ae="mousewheel",we="move",ke="orientationchange",Se="pointercancel",Te="pointerdown",De="pointerleave",Ne="pointermove",Me="pointerup",Ce="readystatechange",Oe="reset",Le="resize",Ie="select",ze="selectend",He="selectstart",Fe="scroll",Be="submit",Ve="touchstart",Pe="touchmove",Re="touchcancel",We="touchend",Ue="unload",Lt={DOMContentLoaded:H,DOMMouseScroll:$,abort:p,beforeunload:J,blur:Y,change:X,click:ue,contextmenu:Z,dblclick:le,error:_,focus:x,focusin:ee,focusout:te,gesturechange:ne,gestureend:oe,gesturestart:ae,hover:Ee,keydown:se,keypress:ce,keyup:ie,load:re,mousedown:de,mousemove:he,mousein:fe,mouseout:be,mouseenter:ve,mouseleave:ge,mouseover:ye,mouseup:me,mousewheel:Ae,move:we,orientationchange:ke,pointercancel:Se,pointerdown:Te,pointerleave:De,pointermove:Ne,pointerup:Me,readystatechange:Ce,reset:Oe,resize:Le,scroll:Fe,select:Ie,selectend:ze,selectstart:He,submit:Be,touchcancel:Re,touchend:We,touchmove:Pe,touchstart:Ve,unload:Ue},It="drag",zt="dragstart",Ht="dragenter",Ft="dragleave",Bt="dragover",Vt="dragend",Pt="loadstart",Rt={start:"mousedown",end:"mouseup",move:"mousemove",cancel:"mouseleave"},Wt={down:"mousedown",up:"mouseup"},Ut="onmouseleave"in document?["mouseenter","mouseleave"]:["mouseover","mouseout"],jt={start:"touchstart",end:"touchend",move:"touchmove",cancel:"touchcancel"},Qt={in:"focusin",out:"focusout"},je='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]',qt={Backspace:"Backspace",Tab:"Tab",Enter:"Enter",Shift:"Shift",Control:"Control",Alt:"Alt",Pause:"Pause",CapsLock:"CapsLock",Escape:"Escape",Scape:"Space",ArrowLeft:"ArrowLeft",ArrowUp:"ArrowUp",ArrowRight:"ArrowRight",ArrowDown:"ArrowDown",Insert:"Insert",Delete:"Delete",Meta:"Meta",ContextMenu:"ContextMenu",ScrollLock:"ScrollLock"},Kt="Alt",Gt="ArrowDown",pt="ArrowUp",Jt="ArrowLeft",Yt="ArrowRight",Xt="Backspace",Zt="CapsLock",$t="Control",_t="Delete",xt="Enter",en="NumpadEnter",tn="Escape",nn="Insert",on="Meta",an="Pause",sn="ScrollLock",cn="Shift",rn="Space",un="Tab",Qe="animationDuration",qe="animationDelay",F="animationName",C="animationend",Ke="transitionDuration",Ge="transitionDelay",O="transitionend",B="transitionProperty",ln="addEventListener",dn="removeEventListener",mn={linear:"linear",easingSinusoidalIn:"cubic-bezier(0.47,0,0.745,0.715)",easingSinusoidalOut:"cubic-bezier(0.39,0.575,0.565,1)",easingSinusoidalInOut:"cubic-bezier(0.445,0.05,0.55,0.95)",easingQuadraticIn:"cubic-bezier(0.550,0.085,0.680,0.530)",easingQuadraticOut:"cubic-bezier(0.250,0.460,0.450,0.940)",easingQuadraticInOut:"cubic-bezier(0.455,0.030,0.515,0.955)",easingCubicIn:"cubic-bezier(0.55,0.055,0.675,0.19)",easingCubicOut:"cubic-bezier(0.215,0.61,0.355,1)",easingCubicInOut:"cubic-bezier(0.645,0.045,0.355,1)",easingQuarticIn:"cubic-bezier(0.895,0.03,0.685,0.22)",easingQuarticOut:"cubic-bezier(0.165,0.84,0.44,1)",easingQuarticInOut:"cubic-bezier(0.77,0,0.175,1)",easingQuinticIn:"cubic-bezier(0.755,0.05,0.855,0.06)",easingQuinticOut:"cubic-bezier(0.23,1,0.32,1)",easingQuinticInOut:"cubic-bezier(0.86,0,0.07,1)",easingExponentialIn:"cubic-bezier(0.95,0.05,0.795,0.035)",easingExponentialOut:"cubic-bezier(0.19,1,0.22,1)",easingExponentialInOut:"cubic-bezier(1,0,0,1)",easingCircularIn:"cubic-bezier(0.6,0.04,0.98,0.335)",easingCircularOut:"cubic-bezier(0.075,0.82,0.165,1)",easingCircularInOut:"cubic-bezier(0.785,0.135,0.15,0.86)",easingBackIn:"cubic-bezier(0.6,-0.28,0.735,0.045)",easingBackOut:"cubic-bezier(0.175,0.885,0.32,1.275)",easingBackInOut:"cubic-bezier(0.68,-0.55,0.265,1.55)"},En="offsetHeight",vn="offsetWidth",gn="scrollHeight",fn="scrollWidth",bn="tabindex",w=navigator.userAgentData,{userAgent:yn}=navigator,k=yn,pe=/iPhone|iPad|iPod|Android/i;let V=!1;// istanbul ignore else @preserve
2
+ w?V=w.brands.some(e=>pe.test(e.brand)):V=pe.test(k);const hn=V,Je=/(iPhone|iPod|iPad)/,An=w?w.brands.some(e=>Je.test(e.brand)):Je.test(k),wn=k?k.includes("Firefox"):!1,{head:S}=document,kn=["webkitPerspective","perspective"].some(e=>e in S.style),P=(e,n,o,a)=>{const s=a||!1;e.addEventListener(n,o,s)},R=(e,n,o,a)=>{const s=a||!1;e.removeEventListener(n,o,s)},Ye=(e,n,o,a)=>{const s=c=>{/* istanbul ignore else @preserve */(c.target===e||c.currentTarget===e)&&(o.apply(e,[c]),R(e,n,s,a))};P(e,n,s,a)},Xe=()=>{},Sn=(()=>{let e=!1;try{const n=Object.defineProperty({},"passive",{get:()=>(e=!0,e)});// istanbul ignore next @preserve
3
+ Ye(document,H,Xe,n)}catch{}return e})(),Tn=["webkitTransform","transform"].some(e=>e in S.style),Dn="ontouchstart"in window||"msMaxTouchPoints"in navigator,Nn=["webkitAnimation","animation"].some(e=>e in S.style),Mn=["webkitTransition","transition"].some(e=>e in S.style),W=(e,n)=>e.getAttribute(n),Cn=(e,n,o)=>n.getAttributeNS(e,o),Ze=(e,n)=>e.hasAttribute(n),On=(e,n,o)=>n.hasAttributeNS(e,o),Ln=(e,n,o)=>e.setAttribute(n,o),In=(e,n,o,a)=>n.setAttributeNS(e,o,a),zn=(e,n)=>e.removeAttribute(n),Hn=(e,n,o)=>n.removeAttributeNS(e,o),Fn=(e,...n)=>{e.classList.add(...n)},Bn=(e,...n)=>{e.classList.remove(...n)},Vn=(e,n)=>e.classList.contains(n),{body:Pn}=document,{documentElement:Rn}=document,Wn=e=>Array.from(e),E=e=>e!=null&&typeof e=="object"||!1,u=e=>E(e)&&typeof e.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(n=>e.nodeType===n)||!1,l=e=>u(e)&&e.nodeType===1||!1,y=new Map,L={data:y,set:(e,n,o)=>{if(!l(e))return;// istanbul ignore else @preserve
4
+ y.has(n)||y.set(n,new Map),y.get(n).set(e,o)},getAllFor:e=>y.get(e)||null,get:(e,n)=>{if(!l(e)||!n)return null;const o=L.getAllFor(n);return e&&o&&o.get(e)||null},remove:(e,n)=>{const o=L.getAllFor(n);if(!o||!l(e))return;o.delete(e);// istanbul ignore else @preserve
5
+ o.size===0&&y.delete(n)}},Un=(e,n)=>L.get(e,n),T=e=>typeof e=="string"||!1,U=e=>E(e)&&e.constructor.name==="Window"||!1,j=e=>u(e)&&e.nodeType===9||!1,m=e=>U(e)?e.document:j(e)?e:u(e)?e.ownerDocument:window.document,D=(e,...n)=>Object.assign(e,...n),$e=e=>{if(!e)return;if(T(e))return m().createElement(e);const{tagName:n}=e,o=$e(n);if(!o)return;const a={...e};return delete a.tagName,D(o,a)},_e=(e,n)=>{if(!e||!n)return;if(T(n))return m().createElementNS(e,n);const{tagName:o}=n,a=_e(e,o);if(!a)return;const s={...n};return delete s.tagName,D(a,s)},Q=(e,n)=>e.dispatchEvent(n),jn=(e,n,o)=>o.indexOf(e)===n,v=(e,n)=>{const o=getComputedStyle(e),a=n.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return o.getPropertyValue(a)},xe=e=>{const n=v(e,F),o=v(e,qe),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},et=e=>{const n=v(e,F),o=v(e,Qe),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},Qn=(e,n)=>{let o=0;const a=new Event(C),s=et(e),c=xe(e);if(s){const r=d=>{// istanbul ignore else @preserve
6
+ d.target===e&&(n.apply(e,[d]),e.removeEventListener(C,r),o=1)};e.addEventListener(C,r),setTimeout(()=>{// istanbul ignore next @preserve
7
+ o||Q(e,a)},s+c+17)}else{// istanbul ignore next @preserve
8
+ n.apply(e,[a])}},tt=e=>{const n=v(e,B),o=v(e,Ge),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},nt=e=>{const n=v(e,B),o=v(e,Ke),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},qn=(e,n)=>{let o=0;const a=new Event(O),s=nt(e),c=tt(e);if(s){const r=d=>{// istanbul ignore else @preserve
9
+ d.target===e&&(n.apply(e,[d]),e.removeEventListener(O,r),o=1)};e.addEventListener(O,r),setTimeout(()=>{// istanbul ignore next @preserve
10
+ o||Q(e,a)},s+c+17)}else n.apply(e,[a])},Kn=e=>Float32Array.from(Array.from(e)),Gn=e=>Float64Array.from(Array.from(e)),pn=(e,n)=>e.focus(n),q=e=>["true",!0].includes(e)?!0:["false",!1].includes(e)?!1:["null","",null,void 0].includes(e)?null:e!==""&&!Number.isNaN(+e)?+e:e,N=e=>Object.entries(e),ot=e=>e.toLowerCase(),Jn=(e,n,o,a)=>{const s={...o},c={...e.dataset},r={...n},d={},f="title";return N(c).forEach(([i,b])=>{const z=a&&typeof i=="string"&&i.includes(a)?i.replace(a,"").replace(/[A-Z]/g,Fo=>ot(Fo)):i;d[z]=q(b)}),N(s).forEach(([i,b])=>{s[i]=q(b)}),N(n).forEach(([i,b])=>{// istanbul ignore else @preserve
11
+ i in s?r[i]=s[i]:i in d?r[i]=d[i]:r[i]=i===f?W(e,f):b}),r},Yn=(e,n)=>E(e)&&(Object.hasOwn(e,n)||n in e),Xn=e=>Object.keys(e),Zn=e=>Object.values(e),$n=e=>Object.fromEntries(e),_n=(e,n)=>{const o=new CustomEvent(e,{cancelable:!0,bubbles:!0});// istanbul ignore else @preserve
12
+ return E(n)&&D(o,n),o},xn={passive:!0},eo=e=>e.offsetHeight,to=(e,n)=>{N(n).forEach(([o,a])=>{if(a&&T(o)&&o.includes("--"))e.style.setProperty(o,a);else{const s={};s[o]=a,D(e.style,s)}})},I=e=>E(e)&&e.constructor.name==="Map"||!1,at=e=>typeof e=="number"||!1,g=new Map,no={set:(e,n,o,a)=>{if(!l(e))return;// istanbul ignore else @preserve
13
+ if(a&&a.length){// istanbul ignore else @preserve
14
+ g.has(e)||g.set(e,new Map),g.get(e).set(a,setTimeout(n,o))}else g.set(e,setTimeout(n,o))},get:(e,n)=>{if(!l(e))return null;const o=g.get(e);return n&&o&&I(o)?o.get(n)||null:at(o)?o:null},clear:(e,n)=>{if(!l(e))return;const o=g.get(e);if(n&&n.length&&I(o)){clearTimeout(o.get(n)),o.delete(n);// istanbul ignore else @preserve
15
+ o.size===0&&g.delete(e)}else clearTimeout(o),g.delete(e)}},oo=e=>e.toUpperCase(),st=(e,n)=>(u(n)?n:m()).querySelectorAll(e),K=new Map;function ao(e){const{shiftKey:n,code:o}=e,a=m(this),s=[...st(je,this)].filter(d=>!Ze(d,"disabled")&&!W(d,G));if(!s.length)return;const c=s[0],r=s[s.length-1];// istanbul ignore else @preserve
16
+ o==="Tab"&&(n&&a.activeElement===c?(r.focus(),e.preventDefault()):!n&&a.activeElement===r&&(c.focus(),e.preventDefault()))}const ct=e=>K.has(e)===!0,so=e=>{const n=ct(e);(n?R:P)(e,"keydown",ao),n?K.delete(e):K.set(e,!0)},h=(e,n)=>{const{width:o,height:a,top:s,right:c,bottom:r,left:d}=e.getBoundingClientRect();let f=1,i=1;if(n&&l(e)){const{offsetWidth:b,offsetHeight:z}=e;f=b>0?Math.round(o)/b:1,i=z>0?Math.round(a)/z:1}return{width:o/f,height:a/i,top:s/i,right:c/f,bottom:r/i,left:d/f,x:d/f,y:s/i}},co=e=>m(e).body,M=e=>m(e).documentElement,io=e=>m(e).head,ro=e=>{const n=U(e),o=n?e.scrollX:e.scrollLeft,a=n?e.scrollY:e.scrollTop;return{x:o,y:a}},it=e=>u(e)&&e.constructor.name==="ShadowRoot"||!1,uo=e=>e.nodeName==="HTML"?e:l(e)&&e.assignedSlot||u(e)&&e.parentNode||it(e)&&e.host||M(e),rt=e=>{if(!l(e))return!1;const{width:n,height:o}=h(e),{offsetWidth:a,offsetHeight:s}=e;return Math.round(n)!==a||Math.round(o)!==s},lo=(e,n,o)=>{const a=l(n),s=h(e,a&&rt(n)),c={x:0,y:0};// istanbul ignore else @preserve
17
+ if(a){const r=h(n,!0);c.x=r.x+n.clientLeft,c.y=r.y+n.clientTop}return{x:s.left+o.x-c.x,y:s.top+o.y-c.y,width:s.width,height:s.height}};let ut=0,lt=0;const A=new Map,dt=(e,n)=>{let o=n?ut:lt;if(n){const a=dt(e),s=A.get(a)||new Map;A.has(a)||A.set(a,s),I(s)&&!s.has(n)?(s.set(n,o),ut+=1):o=s.get(n)}else{const a=e.id||e;A.has(a)?o=A.get(a):(A.set(a,o),lt+=1)}return o},mo=e=>{var n;return e?j(e)?e.defaultView:u(e)?(n=e==null?void 0:e.ownerDocument)==null?void 0:n.defaultView:e:window},mt=e=>Array.isArray(e)||!1,Eo=e=>u(e)&&e.nodeName==="CANVAS"||!1,Et=e=>l(e)&&!!e.shadowRoot||!1,vo=e=>u(e)&&[1,2,3,4,5,6,7,8].some(n=>e.nodeType===n)||!1,go=e=>{if(!u(e))return!1;const{top:n,bottom:o}=h(e),{clientHeight:a}=M(e);return n<=a&&o>=0},fo=e=>{if(!u(e))return!1;const{clientWidth:n,clientHeight:o}=M(e),{top:a,left:s,bottom:c,right:r}=h(e,!0);return a>=0&&s>=0&&c<=o&&r<=n},bo=e=>mt(e)&&e.every(l)||!1,yo=e=>typeof e=="function"||!1,ho=e=>E(e)&&e.constructor.name==="HTMLCollection"||!1,Ao=e=>l(e)&&e.tagName==="IMG"||!1,wo=e=>{if(!T(e))return!1;try{JSON.parse(e)}catch{return!1}return!0},ko=e=>E(e)&&e.constructor.name==="WeakMap"||!1,So=e=>u(e)&&["SVG","Image","Video","Canvas"].some(n=>e.constructor.name.includes(n))||!1,To=e=>E(e)&&e.constructor.name==="NodeList"||!1,Do=e=>M(e).dir==="rtl",No=e=>u(e)&&e.constructor.name.includes("SVG")||!1,Mo=e=>u(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,vt=(e,n)=>e?e.closest(n)||vt(e.getRootNode().host,n):null,Co=(e,n)=>l(e)?e:(u(n)?n:m()).querySelector(e),gt=(e,n)=>(u(n)?n:m()).getElementsByTagName(e),Oo=e=>[...gt("*",e)].filter(Et),Lo=(e,n)=>m(n).getElementById(e)||null,Io=(e,n)=>(n&&u(n)?n:m()).getElementsByClassName(e),zo=(e,n)=>e.matches(n),Ho="2.0.5";return t.ArrayFrom=Wn,t.DOMContentLoadedEvent=H,t.DOMMouseScrollEvent=$,t.Data=L,t.Float32ArrayFrom=Kn,t.Float64ArrayFrom=Gn,t.ObjectAssign=D,t.ObjectEntries=N,t.ObjectFromEntries=$n,t.ObjectHasOwn=Yn,t.ObjectKeys=Xn,t.ObjectValues=Zn,t.Timer=no,t.abortEvent=p,t.addClass=Fn,t.addEventListener=ln,t.animationDelay=qe,t.animationDuration=Qe,t.animationEndEvent=C,t.animationName=F,t.ariaChecked=ft,t.ariaDescribedBy=yt,t.ariaDescription=bt,t.ariaExpanded=ht,t.ariaHasPopup=At,t.ariaHidden=G,t.ariaLabel=wt,t.ariaLabelledBy=kt,t.ariaModal=St,t.ariaPressed=Tt,t.ariaSelected=Dt,t.ariaValueMax=Mt,t.ariaValueMin=Nt,t.ariaValueNow=Ct,t.ariaValueText=Ot,t.beforeunloadEvent=J,t.bezierEasings=mn,t.blurEvent=Y,t.changeEvent=X,t.closest=vt,t.contextmenuEvent=Z,t.createCustomEvent=_n,t.createElement=$e,t.createElementNS=_e,t.dispatchEvent=Q,t.distinct=jn,t.documentBody=Pn,t.documentElement=Rn,t.documentHead=S,t.dragEvent=It,t.dragendEvent=Vt,t.dragenterEvent=Ht,t.dragleaveEvent=Ft,t.dragoverEvent=Bt,t.dragstartEvent=zt,t.emulateAnimationEnd=Qn,t.emulateTransitionEnd=qn,t.errorEvent=_,t.focus=pn,t.focusEvent=x,t.focusEvents=Qt,t.focusableSelector=je,t.focusinEvent=ee,t.focusoutEvent=te,t.gesturechangeEvent=ne,t.gestureendEvent=oe,t.gesturestartEvent=ae,t.getAttribute=W,t.getAttributeNS=Cn,t.getBoundingClientRect=h,t.getCustomElements=Oo,t.getDocument=m,t.getDocumentBody=co,t.getDocumentElement=M,t.getDocumentHead=io,t.getElementAnimationDelay=xe,t.getElementAnimationDuration=et,t.getElementById=Lo,t.getElementStyle=v,t.getElementTransitionDelay=tt,t.getElementTransitionDuration=nt,t.getElementsByClassName=Io,t.getElementsByTagName=gt,t.getInstance=Un,t.getNodeScroll=ro,t.getParentNode=uo,t.getRectRelativeToOffsetParent=lo,t.getUID=dt,t.getWindow=mo,t.hasAttribute=Ze,t.hasAttributeNS=On,t.hasClass=Vn,t.hasFocusTrap=ct,t.isApple=An,t.isArray=mt,t.isCanvas=Eo,t.isCustomElement=Et,t.isDocument=j,t.isElement=vo,t.isElementInScrollRange=go,t.isElementInViewport=fo,t.isElementsArray=bo,t.isFirefox=wn,t.isFunction=yo,t.isHTMLCollection=ho,t.isHTMLElement=l,t.isHTMLImageElement=Ao,t.isJSON=wo,t.isMap=I,t.isMedia=So,t.isMobile=hn,t.isNode=u,t.isNodeList=To,t.isNumber=at,t.isObject=E,t.isRTL=Do,t.isSVGElement=No,t.isScaledElement=rt,t.isShadowRoot=it,t.isString=T,t.isTableElement=Mo,t.isWeakMap=ko,t.isWindow=U,t.keyAlt=Kt,t.keyArrowDown=Gt,t.keyArrowLeft=Jt,t.keyArrowRight=Yt,t.keyArrowUp=pt,t.keyBackspace=Xt,t.keyCapsLock=Zt,t.keyControl=$t,t.keyDelete=_t,t.keyEnter=xt,t.keyEscape=tn,t.keyInsert=nn,t.keyMeta=on,t.keyNumpadEnter=en,t.keyPause=an,t.keyScrollLock=sn,t.keyShift=cn,t.keySpace=rn,t.keyTab=un,t.keyboardEventKeys=qt,t.keydownEvent=se,t.keypressEvent=ce,t.keyupEvent=ie,t.loadEvent=re,t.loadstartEvent=Pt,t.matches=zo,t.mouseClickEvents=Wt,t.mouseHoverEvents=Ut,t.mouseSwipeEvents=Rt,t.mouseclickEvent=ue,t.mousedblclickEvent=le,t.mousedownEvent=de,t.mouseenterEvent=ve,t.mousehoverEvent=Ee,t.mouseinEvent=fe,t.mouseleaveEvent=ge,t.mousemoveEvent=he,t.mouseoutEvent=be,t.mouseoverEvent=ye,t.mouseupEvent=me,t.mousewheelEvent=Ae,t.moveEvent=we,t.nativeEvents=Lt,t.noop=Xe,t.normalizeOptions=Jn,t.normalizeValue=q,t.off=R,t.offsetHeight=En,t.offsetWidth=vn,t.on=P,t.one=Ye,t.orientationchangeEvent=ke,t.passiveHandler=xn,t.pointercancelEvent=Se,t.pointerdownEvent=Te,t.pointerleaveEvent=De,t.pointermoveEvent=Ne,t.pointerupEvent=Me,t.querySelector=Co,t.querySelectorAll=st,t.readystatechangeEvent=Ce,t.reflow=eo,t.removeAttribute=zn,t.removeAttributeNS=Hn,t.removeClass=Bn,t.removeEventListener=dn,t.resetEvent=Oe,t.resizeEvent=Le,t.scrollEvent=Fe,t.scrollHeight=gn,t.scrollWidth=fn,t.selectEvent=Ie,t.selectendEvent=ze,t.selectstartEvent=He,t.setAttribute=Ln,t.setAttributeNS=In,t.setElementStyle=to,t.submitEvent=Be,t.support3DTransform=kn,t.supportAnimation=Nn,t.supportPassive=Sn,t.supportTouch=Dn,t.supportTransform=Tn,t.supportTransition=Mn,t.tabindex=bn,t.toLowerCase=ot,t.toUpperCase=oo,t.toggleFocusTrap=so,t.touchEvents=jt,t.touchcancelEvent=Re,t.touchendEvent=We,t.touchmoveEvent=Pe,t.touchstartEvent=Ve,t.transitionDelay=Ge,t.transitionDuration=Ke,t.transitionEndEvent=O,t.transitionProperty=B,t.unloadEvent=Ue,t.userAgent=k,t.userAgentData=w,t.version=Ho,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
2
18
  //# sourceMappingURL=shorty.js.map