New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@thednp/shorty

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@thednp/shorty - npm Package Compare versions

Comparing version 2.0.0-alpha9 to 2.0.0

.eslintrc.cjs

210

dist/shorty.d.ts

@@ -455,2 +455,7 @@ /**

/**
* A global namespace for `Enter` key.
* e.which = 13 equivalent
*/
export declare const keyNumpadEnter = "NumpadEnter";
/**
* A global namespace for `Escape` key.

@@ -737,7 +742,7 @@ * e.which = 27 equivalent

*/
export declare const on: (element: EventTarget, eventName: string, listener: EventListener, options?: AddEventListenerOptions) => void;
export declare const on: <T extends EventTarget, L = EventListener>(element: T, eventName: string, listener: L, options?: AddEventListenerOptions) => void;
/**
* Remove eventListener from an `EventTarget` object.
*/
export declare const off: (element: EventTarget, eventName: string, listener: EventListener, options?: AddEventListenerOptions) => void;
export declare const off: <T extends EventTarget, L = EventListener>(element: T, eventName: string, listener: L, options?: AddEventListenerOptions) => void;
/**

@@ -747,3 +752,3 @@ * Add an `eventListener` to an `EventTarget`

*/
export declare const one: (element: EventTarget, eventName: string, listener: EventListener, options?: AddEventListenerOptions) => void;
export declare const one: <T extends EventTarget, L = EventListener>(element: T, eventName: string, listener: L, options?: AddEventListenerOptions) => void;
/**

@@ -776,2 +781,3 @@ * A global namespace for `document.body`.

export declare const Data: {
data: Map<string, Map<HTMLElement, any>>;
/**

@@ -823,3 +829,3 @@ * Sets web components data.

*/
export declare const createElement: (param?: string | Partial<HTMLElement>) => HTMLElement | undefined;
export declare const createElement: <T extends HTMLElement>(param?: string | Partial<T> | undefined) => T | undefined;
/**

@@ -830,2 +836,4 @@ * Shortie for `document.createElementNS` method

* `id`, `className`, `textContent`, `style`, etc.
* Note: some elements resulted from this function call may not be compatible with
* some attributes.
*

@@ -838,3 +846,3 @@ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS

*/
export declare const createElementNS: (ns: string, param?: string | Partial<HTMLElement>) => HTMLElement | undefined;
export declare const createElementNS: <T extends HTMLElement>(ns: string, param?: string | Partial<T> | undefined) => T | undefined;
/**

@@ -973,2 +981,13 @@ * Shortcut for the `Element.dispatchEvent(Event)` method.

export declare const ObjectValues: <O extends Record<string, unknown>>(obj: O) => O[keyof O][];
/**
* Shortcut for `Object.fromEntries()` static method.
*
* @param entries a target entries object
* @returns a new Object created from the specified entries in array format [key, value][]
* @see https://github.com/devinrhode2/ObjectTyped/blob/master/src/index.ts
*/
export declare const ObjectFromEntries: <K extends string, V>(entries: [
K,
V
][]) => Record<K, V>;
export declare interface OriginalEvent extends CustomEvent<any> {

@@ -1354,3 +1373,3 @@ readonly type: string;

*/
export declare const isMedia: (element?: unknown) => element is HTMLCanvasElement | HTMLImageElement | SVGElement | HTMLVideoElement;
export declare const isMedia: (element?: unknown) => element is HTMLCanvasElement | HTMLImageElement | HTMLVideoElement | SVGElement;
/**

@@ -1508,2 +1527,181 @@ * Checks if an object is a `Node`.

export declare const matches: (target: Element, selector: string) => boolean;
/**
* Type definitions addapted from React 18.2
* Project: https://react.dev/
*/
export type NativeAnimationEvent = AnimationEvent;
export type NativeClipboardEvent = ClipboardEvent;
export type NativeCompositionEvent = CompositionEvent;
export type NativeDragEvent = DragEvent;
export type NativeFocusEvent = FocusEvent;
export type NativeKeyboardEvent = KeyboardEvent;
export type NativeMouseEvent = MouseEvent;
export type NativeTouchEvent = TouchEvent;
export type NativePointerEvent = PointerEvent;
export type NativeTransitionEvent = TransitionEvent;
export type NativeUIEvent = UIEvent;
export type NativeWheelEvent = WheelEvent;
export interface AbstractView {
styleMedia: StyleMedia;
document: Document;
}
//
// Event System
// ----------------------------------------------------------------------
// E = EventObject, C = e.currentTarget, T = e.target
export interface BaseEvent<E = Event, C = unknown, T = unknown> {
nativeEvent: E;
currentTarget: C | null;
target: T & EventTarget;
bubbles: boolean;
cancelable: boolean;
defaultPrevented: boolean;
eventPhase: number;
isTrusted: boolean;
preventDefault(): void;
isDefaultPrevented(): boolean;
stopPropagation(): void;
isPropagationStopped(): boolean;
persist(): void;
timeStamp: number;
type: string;
}
/**
* currentTarget - a reference to the element on which the event listener is registered.
*
* target - a reference to the element from which the event was originally dispatched.
* This might be a child element to the element on which the event listener is registered.
* If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11508#issuecomment-256045682
*/
export type NativeEvent<T = Element, E = Event> = BaseEvent<E, T, T>;
export interface ClipboardEvent<T = Element> extends NativeEvent<T, NativeClipboardEvent> {
clipboardData: DataTransfer;
}
export interface CompositionEvent<T = Element> extends NativeEvent<T, NativeCompositionEvent> {
data: string;
}
export interface DragEvent<T = Element> extends MouseEvent<T, NativeDragEvent> {
dataTransfer: DataTransfer;
}
export interface PointerEvent<T = Element> extends MouseEvent<T, NativePointerEvent> {
pointerId: number;
pressure: number;
tangentialPressure: number;
tiltX: number;
tiltY: number;
twist: number;
width: number;
height: number;
pointerType: "mouse" | "pen" | "touch";
isPrimary: boolean;
}
export interface FocusEvent<T = Element, R = Element> extends NativeEvent<T, NativeFocusEvent> {
relatedTarget: (EventTarget & R) | null;
target: EventTarget & T;
}
export type FormControl = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
export type FormEvent<T = FormControl> = NativeEvent<T>;
export interface ChangeEvent<T = FormControl> extends FormEvent<T> {
target: EventTarget & T;
}
export type ModifierKey = "Alt" | "AltGraph" | "CapsLock" | "Control" | "Fn" | "FnLock" | "Hyper" | "Meta" | "NumLock" | "ScrollLock" | "Shift" | "Super" | "Symbol" | "SymbolLock";
export interface KeyboardEvent<T = Element> extends UIEvent<T, NativeKeyboardEvent> {
altKey: boolean;
/** @deprecated */
charCode: number;
ctrlKey: boolean;
code: string;
/**
* See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
*/
getModifierState(key: ModifierKey): boolean;
/**
* See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values
*/
key: string;
/** @deprecated */
keyCode: number;
locale: string;
location: number;
metaKey: boolean;
repeat: boolean;
shiftKey: boolean;
/** @deprecated */
which: number;
}
export interface MouseEvent<T = Element, E = NativeMouseEvent> extends UIEvent<T, E> {
altKey: boolean;
button: number;
buttons: number;
clientX: number;
clientY: number;
ctrlKey: boolean;
/**
* See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
*/
getModifierState(key: ModifierKey): boolean;
metaKey: boolean;
movementX: number;
movementY: number;
pageX: number;
pageY: number;
relatedTarget: EventTarget | null;
screenX: number;
screenY: number;
shiftKey: boolean;
}
export interface TouchEvent<T = Element> extends UIEvent<T, NativeTouchEvent> {
altKey: boolean;
changedTouches: TouchList;
ctrlKey: boolean;
/**
* See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
*/
getModifierState(key: ModifierKey): boolean;
metaKey: boolean;
shiftKey: boolean;
targetTouches: TouchList;
touches: TouchList;
}
export interface UIEvent<T = Element, E = NativeUIEvent> extends NativeEvent<T, E> {
detail: number;
view: AbstractView;
}
export interface WheelEvent<T = Element> extends MouseEvent<T, NativeWheelEvent> {
deltaMode: number;
deltaX: number;
deltaY: number;
deltaZ: number;
}
export interface AnimationEvent<T = Element> extends NativeEvent<T, NativeAnimationEvent> {
animationName: string;
elapsedTime: number;
pseudoElement: string;
}
export interface TransitionEvent<T = Element> extends NativeEvent<T, NativeTransitionEvent> {
elapsedTime: number;
propertyName: string;
pseudoElement: string;
}
//
// Event Handler Types
// ----------------------------------------------------------------------
// (this: unknown & EventTarget, event: E): void;
export type EventHandler<T = Element, E = Event | NativeEvent<T>> = (event: E) => void;
export type NativeEventHandler<T = Element> = EventHandler<T, NativeEvent<T>>;
export type ClipboardEventHandler<T = Element> = EventHandler<T, ClipboardEvent<T>>;
export type CompositionEventHandler<T = Element> = EventHandler<T, CompositionEvent<T>>;
export type DragEventHandler<T = Element> = EventHandler<T, DragEvent<T>>;
export type FocusEventHandler<T = Element> = EventHandler<T, FocusEvent<T>>;
export type FormEventHandler<T = Element> = EventHandler<T, FormEvent<T>>;
export type ChangeEventHandler<T = Element> = EventHandler<T, ChangeEvent<T>>;
export type KeyboardEventHandler<T = Element> = EventHandler<T, KeyboardEvent<T>>;
export type MouseEventHandler<T = Element> = EventHandler<T, MouseEvent<T>>;
export type TouchEventHandler<T = Element> = EventHandler<T, TouchEvent<T>>;
export type PointerEventHandler<T = Element> = EventHandler<T, PointerEvent<T>>;
export type UIEventHandler<T = Element> = EventHandler<T, UIEvent<T>>;
export type WheelEventHandler<T = Element> = EventHandler<T, WheelEvent<T>>;
export type AnimationEventHandler<T = Element> = EventHandler<T, AnimationEvent<T>>;
export type TransitionEventHandler<T = Element> = EventHandler<T, TransitionEvent<T>>;
export type PossibleEventTarget = EventTarget & (Element | Document | Window);

@@ -1510,0 +1708,0 @@ export as namespace SHORTY;

2

dist/shorty.js

@@ -1,2 +0,2 @@

var SHORTY=function(t){"use strict";const dt="aria-checked",mt="aria-description",Et="aria-describedby",vt="aria-expanded",gt="aria-haspopup",ft="aria-hidden",bt="aria-label",yt="aria-labelledby",ht="aria-modal",At="aria-pressed",wt="aria-selected",St="aria-valuemin",kt="aria-valuemax",Dt="aria-valuenow",Tt="aria-valuetext",Q="abort",q="beforeunload",G="blur",K="change",J="contextmenu",z="DOMContentLoaded",Y="DOMMouseScroll",X="error",Z="focus",$="focusin",_="focusout",p="gesturechange",x="gestureend",ee="gesturestart",te="keydown",ne="keypress",oe="keyup",ae="load",se="click",ce="dblclick",ie="mousedown",re="mouseup",ue="hover",le="mouseenter",de="mouseleave",me="mousein",Ee="mouseout",ve="mouseover",ge="mousemove",fe="mousewheel",be="move",ye="orientationchange",he="pointercancel",Ae="pointerdown",we="pointerleave",Se="pointermove",ke="pointerup",De="readystatechange",Te="reset",Me="resize",Ne="select",Ce="selectend",Le="selectstart",Oe="scroll",Ie="submit",ze="touchstart",He="touchmove",Be="touchcancel",Ve="touchend",Pe="unload",Mt={DOMContentLoaded:z,DOMMouseScroll:Y,abort:Q,beforeunload:q,blur:G,change:K,click:se,contextmenu:J,dblclick:ce,error:X,focus:Z,focusin:$,focusout:_,gesturechange:p,gestureend:x,gesturestart:ee,hover:ue,keydown:te,keypress:ne,keyup:oe,load:ae,mousedown:ie,mousemove:ge,mousein:me,mouseout:Ee,mouseenter:le,mouseleave:de,mouseover:ve,mouseup:re,mousewheel:fe,move:be,orientationchange:ye,pointercancel:he,pointerdown:Ae,pointerleave:we,pointermove:Se,pointerup:ke,readystatechange:De,reset:Te,resize:Me,scroll:Oe,select:Ne,selectend:Ce,selectstart:Le,submit:Ie,touchcancel:Be,touchend:Ve,touchmove:He,touchstart:ze,unload:Pe},Nt="drag",Ct="dragstart",Lt="dragenter",Ot="dragleave",It="dragover",zt="dragend",Ht="loadstart",Bt={start:"mousedown",end:"mouseup",move:"mousemove",cancel:"mouseleave"},Vt={down:"mousedown",up:"mouseup"},Pt="onmouseleave"in document?["mouseenter","mouseleave"]:["mouseover","mouseout"],Ft={start:"touchstart",end:"touchend",move:"touchmove",cancel:"touchcancel"},Rt={in:"focusin",out:"focusout"},Wt={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"},Ut="Alt",jt="ArrowDown",Qt="ArrowUp",qt="ArrowLeft",Gt="ArrowRight",Kt="Backspace",Jt="CapsLock",Yt="Control",Xt="Delete",Zt="Enter",$t="Escape",_t="Insert",pt="Meta",xt="Pause",en="ScrollLock",tn="Shift",nn="Space",on="Tab",Fe="animationDuration",Re="animationDelay",H="animationName",N="animationend",We="transitionDuration",Ue="transitionDelay",C="transitionend",B="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",S=navigator.userAgentData,{userAgent:En}=navigator,k=En,je=/iPhone|iPad|iPod|Android/i;let V=!1;S?V=S.brands.some(e=>je.test(e.brand)):V=je.test(k);const vn=V,Qe=/(iPhone|iPod|iPad)/,gn=S?S.brands.some(e=>Qe.test(e.brand)):Qe.test(k),fn=k?k.includes("Firefox"):!1,{head:D}=document,bn=["webkitPerspective","perspective"].some(e=>e in D.style),qe=(e,n,o,a)=>{const s=a||!1;e.addEventListener(n,o,s)},Ge=(e,n,o,a)=>{const s=a||!1;e.removeEventListener(n,o,s)},Ke=(e,n,o,a)=>{const s=c=>{(c.target===e||c.currentTarget===e)&&(o.apply(e,[c]),Ge(e,n,s,a))};qe(e,n,s,a)},Je=()=>{},yn=(()=>{let e=!1;try{const n=Object.defineProperty({},"passive",{get:()=>(e=!0,e)});Ke(document,z,Je,n)}catch{}return e})(),hn=["webkitTransform","transform"].some(e=>e in D.style),An="ontouchstart"in window||"msMaxTouchPoints"in navigator,wn=["webkitAnimation","animation"].some(e=>e in D.style),Sn=["webkitTransition","transition"].some(e=>e in D.style),Ye=(e,n)=>e.getAttribute(n),kn=(e,n,o)=>n.getAttributeNS(e,o),Dn=(e,n)=>e.hasAttribute(n),Tn=(e,n,o)=>n.hasAttributeNS(e,o),P=(e,n,o)=>e.setAttribute(n,o),Mn=(e,n,o,a)=>n.setAttributeNS(e,o,a),Nn=(e,n)=>e.removeAttribute(n),Cn=(e,n,o)=>n.removeAttributeNS(e,o),Ln=(e,...n)=>{e.classList.add(...n)},On=(e,...n)=>{e.classList.remove(...n)},In=(e,n)=>e.classList.contains(n),{body:zn}=document,{documentElement:Hn}=document,Bn=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,T=new Map,L={set:(e,n,o)=>{if(!l(e))return;T.has(n)||T.set(n,new Map),T.get(n).set(e,o)},getAllFor:e=>T.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&&T.delete(n))}},Vn=(e,n)=>L.get(e,n),v=e=>typeof e=="string"||!1,F=e=>E(e)&&e.constructor.name==="Window"||!1,R=e=>u(e)&&e.nodeType===9||!1,m=e=>F(e)?e.document:R(e)?e:u(e)?e.ownerDocument:window.document,h=e=>Object.entries(e),Xe=e=>{if(!e)return;if(v(e))return m().createElement(e);const{tagName:n}=e,o=Xe(n);if(!o)return;const a={...e};return delete a.tagName,h(a).forEach(([s,c])=>{v(s)&&v(c)&&P(o,s,c)}),o},Ze=(e,n)=>{if(!e||!n)return;if(v(n))return m().createElementNS(e,n);const{tagName:o}=n,a=Ze(e,o);if(!a)return;const s={...n};return delete s.tagName,h(s).forEach(([c,r])=>{v(c)&&v(r)&&P(a,c,r)}),a},W=(e,n)=>e.dispatchEvent(n),Pn=(e,n,o)=>o.indexOf(e)===n,g=(e,n)=>{const o=getComputedStyle(e),a=n.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return o.getPropertyValue(a)},$e=e=>{const n=g(e,H),o=g(e,Re),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},_e=e=>{const n=g(e,H),o=g(e,Fe),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},Fn=(e,n)=>{let o=0;const a=new Event(N),s=_e(e),c=$e(e);if(s){const r=d=>{d.target===e&&(n.apply(e,[d]),e.removeEventListener(N,r),o=1)};e.addEventListener(N,r),setTimeout(()=>{o||W(e,a)},s+c+17)}else n.apply(e,[a])},pe=e=>{const n=g(e,B),o=g(e,Ue),a=o.includes("ms")?1:1e3,s=n&&n!=="none"?parseFloat(o)*a:0;return Number.isNaN(s)?0:s},xe=e=>{const n=g(e,B),o=g(e,We),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=xe(e),c=pe(e);if(s){const r=d=>{d.target===e&&(n.apply(e,[d]),e.removeEventListener(C,r),o=1)};e.addEventListener(C,r),setTimeout(()=>{o||W(e,a)},s+c+17)}else n.apply(e,[a])},Wn=e=>Float32Array.from(Array.from(e)),Un=e=>Float64Array.from(Array.from(e)),jn=(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,et=e=>e.toLowerCase(),Qn=(e,n,o,a)=>{const s={...o},c={...e.dataset},r={...n},d={},b="title";return h(c).forEach(([i,y])=>{const I=a&&typeof i=="string"&&i.includes(a)?i.replace(a,"").replace(/[A-Z]/g,Mo=>et(Mo)):i;d[I]=U(y)}),h(s).forEach(([i,y])=>{s[i]=U(y)}),h(n).forEach(([i,y])=>{i in s?r[i]=s[i]:i in d?r[i]=d[i]:r[i]=i===b?Ye(e,b):y}),r},j=(e,...n)=>Object.assign(e,...n),qn=(e,n)=>E(e)&&(Object.hasOwn(e,n)||n in e),Gn=e=>Object.keys(e),Kn=e=>Object.values(e),Jn=(e,n)=>{const o=new CustomEvent(e,{cancelable:!0,bubbles:!0});return E(n)&&j(o,n),o},Yn={passive:!0},Xn=e=>e.offsetHeight,Zn=(e,n)=>{h(n).forEach(([o,a])=>{if(a&&v(o)&&o.includes("--"))e.style.setProperty(o,a);else{const s={};s[o]=a,j(e.style,s)}})},O=e=>E(e)&&e.constructor.name==="Map"||!1,tt=e=>typeof e=="number"||!1,f=new Map,$n={set:(e,n,o,a)=>{!l(e)||(a&&a.length?(f.has(e)||f.set(e,new Map),f.get(e).set(a,setTimeout(n,o))):f.set(e,setTimeout(n,o)))},get:(e,n)=>{if(!l(e))return null;const o=f.get(e);return n&&o&&O(o)?o.get(n)||null:tt(o)?o:null},clear:(e,n)=>{if(!l(e))return;const o=f.get(e);n&&n.length&&O(o)?(clearTimeout(o.get(n)),o.delete(n),o.size===0&&f.delete(e)):(clearTimeout(o),f.delete(e))}},_n=e=>e.toUpperCase(),A=(e,n)=>{const{width:o,height:a,top:s,right:c,bottom:r,left:d}=e.getBoundingClientRect();let b=1,i=1;if(n&&l(e)){const{offsetWidth:y,offsetHeight:I}=e;b=y>0?Math.round(o)/y:1,i=I>0?Math.round(a)/I:1}return{width:o/b,height:a/i,top:s/i,right:c/b,bottom:r/i,left:d/b,x:d/b,y:s/i}},pn=e=>m(e).body,M=e=>m(e).documentElement,xn=e=>m(e).head,eo=e=>{const n=F(e),o=n?e.scrollX:e.scrollLeft,a=n?e.scrollY:e.scrollTop;return{x:o,y:a}},nt=e=>u(e)&&e.constructor.name==="ShadowRoot"||!1,to=e=>e.nodeName==="HTML"?e:l(e)&&e.assignedSlot||u(e)&&e.parentNode||nt(e)&&e.host||M(e),ot=e=>{if(!l(e))return!1;const{width:n,height:o}=A(e),{offsetWidth:a,offsetHeight:s}=e;return Math.round(n)!==a||Math.round(o)!==s},no=(e,n,o)=>{const a=l(n),s=A(e,a&&ot(n)),c={x:0,y:0};if(a){const r=A(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 at=0,st=0;const w=new Map,ct=(e,n)=>{let o=n?at:st;if(n){const a=ct(e),s=w.get(a)||new Map;w.has(a)||w.set(a,s),O(s)&&!s.has(n)?(s.set(n,o),at+=1):o=s.get(n)}else{const a=e.id||e;w.has(a)?o=w.get(a):(w.set(a,o),st+=1)}return o},oo=e=>{var n;return e?R(e)?e.defaultView:u(e)?(n=e==null?void 0:e.ownerDocument)==null?void 0:n.defaultView:e:window},it=e=>Array.isArray(e)||!1,ao=e=>u(e)&&e.nodeName==="CANVAS"||!1,rt=e=>l(e)&&!!e.shadowRoot||!1,so=e=>u(e)&&[1,2,3,4,5,6,7,8].some(n=>e.nodeType===n)||!1,co=e=>{if(!u(e))return!1;const{top:n,bottom:o}=A(e),{clientHeight:a}=M(e);return n<=a&&o>=0},io=e=>{if(!u(e))return!1;const{clientWidth:n,clientHeight:o}=M(e),{top:a,left:s,bottom:c,right:r}=A(e,!0);return a>=0&&s>=0&&c<=o&&r<=n},ro=e=>it(e)&&e.every(l)||!1,uo=e=>typeof e=="function"||!1,lo=e=>E(e)&&e.constructor.name==="HTMLCollection"||!1,mo=e=>l(e)&&e.tagName==="IMG"||!1,Eo=e=>{if(!v(e))return!1;try{JSON.parse(e)}catch{return!1}return!0},vo=e=>E(e)&&e.constructor.name==="WeakMap"||!1,go=e=>u(e)&&["SVG","Image","Video","Canvas"].some(n=>e.constructor.name.includes(n))||!1,fo=e=>E(e)&&e.constructor.name==="NodeList"||!1,bo=e=>M(e).dir==="rtl",yo=e=>u(e)&&e.constructor.name.includes("SVG")||!1,ho=e=>u(e)&&["TABLE","TD","TH"].includes(e.nodeName)||!1,ut=(e,n)=>e?e.closest(n)||ut(e.getRootNode().host,n):null,Ao=(e,n)=>l(e)?e:(u(n)?n:m()).querySelector(e),lt=(e,n)=>(u(n)?n:m()).getElementsByTagName(e),wo=e=>[...lt("*",e)].filter(rt),So=(e,n)=>m(n).getElementById(e)||null,ko=(e,n)=>(u(n)?n:m()).querySelectorAll(e),Do=(e,n)=>(n&&u(n)?n:m()).getElementsByClassName(e),To=(e,n)=>e.matches(n);return t.ArrayFrom=Bn,t.DOMContentLoadedEvent=z,t.DOMMouseScrollEvent=Y,t.Data=L,t.Float32ArrayFrom=Wn,t.Float64ArrayFrom=Un,t.ObjectAssign=j,t.ObjectEntries=h,t.ObjectHasOwn=qn,t.ObjectKeys=Gn,t.ObjectValues=Kn,t.Timer=$n,t.abortEvent=Q,t.addClass=Ln,t.addEventListener=an,t.animationDelay=Re,t.animationDuration=Fe,t.animationEndEvent=N,t.animationName=H,t.ariaChecked=dt,t.ariaDescribedBy=Et,t.ariaDescription=mt,t.ariaExpanded=vt,t.ariaHasPopup=gt,t.ariaHidden=ft,t.ariaLabel=bt,t.ariaLabelledBy=yt,t.ariaModal=ht,t.ariaPressed=At,t.ariaSelected=wt,t.ariaValueMax=kt,t.ariaValueMin=St,t.ariaValueNow=Dt,t.ariaValueText=Tt,t.beforeunloadEvent=q,t.bezierEasings=cn,t.blurEvent=G,t.changeEvent=K,t.closest=ut,t.contextmenuEvent=J,t.createCustomEvent=Jn,t.createElement=Xe,t.createElementNS=Ze,t.dispatchEvent=W,t.distinct=Pn,t.documentBody=zn,t.documentElement=Hn,t.documentHead=D,t.dragEvent=Nt,t.dragendEvent=zt,t.dragenterEvent=Lt,t.dragleaveEvent=Ot,t.dragoverEvent=It,t.dragstartEvent=Ct,t.emulateAnimationEnd=Fn,t.emulateTransitionEnd=Rn,t.errorEvent=X,t.focus=jn,t.focusEvent=Z,t.focusEvents=Rt,t.focusinEvent=$,t.focusoutEvent=_,t.gesturechangeEvent=p,t.gestureendEvent=x,t.gesturestartEvent=ee,t.getAttribute=Ye,t.getAttributeNS=kn,t.getBoundingClientRect=A,t.getCustomElements=wo,t.getDocument=m,t.getDocumentBody=pn,t.getDocumentElement=M,t.getDocumentHead=xn,t.getElementAnimationDelay=$e,t.getElementAnimationDuration=_e,t.getElementById=So,t.getElementStyle=g,t.getElementTransitionDelay=pe,t.getElementTransitionDuration=xe,t.getElementsByClassName=Do,t.getElementsByTagName=lt,t.getInstance=Vn,t.getNodeScroll=eo,t.getParentNode=to,t.getRectRelativeToOffsetParent=no,t.getUID=ct,t.getWindow=oo,t.hasAttribute=Dn,t.hasAttributeNS=Tn,t.hasClass=In,t.isApple=gn,t.isArray=it,t.isCanvas=ao,t.isCustomElement=rt,t.isDocument=R,t.isElement=so,t.isElementInScrollRange=co,t.isElementInViewport=io,t.isElementsArray=ro,t.isFirefox=fn,t.isFunction=uo,t.isHTMLCollection=lo,t.isHTMLElement=l,t.isHTMLImageElement=mo,t.isJSON=Eo,t.isMap=O,t.isMedia=go,t.isMobile=vn,t.isNode=u,t.isNodeList=fo,t.isNumber=tt,t.isObject=E,t.isRTL=bo,t.isSVGElement=yo,t.isScaledElement=ot,t.isShadowRoot=nt,t.isString=v,t.isTableElement=ho,t.isWeakMap=vo,t.isWindow=F,t.keyAlt=Ut,t.keyArrowDown=jt,t.keyArrowLeft=qt,t.keyArrowRight=Gt,t.keyArrowUp=Qt,t.keyBackspace=Kt,t.keyCapsLock=Jt,t.keyControl=Yt,t.keyDelete=Xt,t.keyEnter=Zt,t.keyEscape=$t,t.keyInsert=_t,t.keyMeta=pt,t.keyPause=xt,t.keyScrollLock=en,t.keyShift=tn,t.keySpace=nn,t.keyTab=on,t.keyboardEventKeys=Wt,t.keydownEvent=te,t.keypressEvent=ne,t.keyupEvent=oe,t.loadEvent=ae,t.loadstartEvent=Ht,t.matches=To,t.mouseClickEvents=Vt,t.mouseHoverEvents=Pt,t.mouseSwipeEvents=Bt,t.mouseclickEvent=se,t.mousedblclickEvent=ce,t.mousedownEvent=ie,t.mouseenterEvent=le,t.mousehoverEvent=ue,t.mouseinEvent=me,t.mouseleaveEvent=de,t.mousemoveEvent=ge,t.mouseoutEvent=Ee,t.mouseoverEvent=ve,t.mouseupEvent=re,t.mousewheelEvent=fe,t.moveEvent=be,t.nativeEvents=Mt,t.noop=Je,t.normalizeOptions=Qn,t.normalizeValue=U,t.off=Ge,t.offsetHeight=rn,t.offsetWidth=un,t.on=qe,t.one=Ke,t.orientationchangeEvent=ye,t.passiveHandler=Yn,t.pointercancelEvent=he,t.pointerdownEvent=Ae,t.pointerleaveEvent=we,t.pointermoveEvent=Se,t.pointerupEvent=ke,t.querySelector=Ao,t.querySelectorAll=ko,t.readystatechangeEvent=De,t.reflow=Xn,t.removeAttribute=Nn,t.removeAttributeNS=Cn,t.removeClass=On,t.removeEventListener=sn,t.resetEvent=Te,t.resizeEvent=Me,t.scrollEvent=Oe,t.scrollHeight=ln,t.scrollWidth=dn,t.selectEvent=Ne,t.selectendEvent=Ce,t.selectstartEvent=Le,t.setAttribute=P,t.setAttributeNS=Mn,t.setElementStyle=Zn,t.submitEvent=Ie,t.support3DTransform=bn,t.supportAnimation=wn,t.supportPassive=yn,t.supportTouch=An,t.supportTransform=hn,t.supportTransition=Sn,t.tabindex=mn,t.toLowerCase=et,t.toUpperCase=_n,t.touchEvents=Ft,t.touchcancelEvent=Be,t.touchendEvent=Ve,t.touchmoveEvent=He,t.touchstartEvent=ze,t.transitionDelay=Ue,t.transitionDuration=We,t.transitionEndEvent=C,t.transitionProperty=B,t.unloadEvent=Pe,t.userAgent=k,t.userAgentData=S,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
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.0";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}({});
//# sourceMappingURL=shorty.js.map
{
"name": "@thednp/shorty",
"version": "2.0.0alpha9",
"type": "module",
"version": "2.0.0",
"description": "TypeScript shorties for the web",
"source": "./src/index.ts",
"main": "./dist/shorty.js",
"types": "./dist/shorty.d.ts",
"module": "./dist/shorty.mjs",
"exports": {
".": {
"import": "./dist/shorty.mjs",
"types": "./dist/shorty.d.ts",
"require": "./dist/shorty.cjs",
"types": "./dist/shorty.d.ts"
"import": "./dist/shorty.mjs"
}
},
"files": [
"dist",
"src"
],
"scripts": {
"pre-test": "npm run clean-coverage",
"test": "npm run pre-test && npx cypress run",
"clean-coverage": "rimraf coverage .nyc_output",
"cypress": "npm run pre-test && npx cypress open",
"coverage:report": "nyc report --reporter=lcov --reporter=json --reporter=text --reporter=json-summary",
"format": "prettier --write \"src/**/*.ts\"",
"lint:ts": "eslint -c .eslintrc.cjs --ext .ts src",
"fix:ts": "eslint -c .eslintrc.cjs --ext .ts src --fix",
"build": "npm run lint:ts && vite build && npm run dts",
"dts": "dts-bundle-generator --config ./dts.config.ts"
},
"publishConfig": {

@@ -46,3 +28,3 @@ "access": "public",

],
"author": "dnp_theme",
"author": "thednp",
"license": "MIT",

@@ -54,22 +36,40 @@ "bugs": {

"devDependencies": {
"@bahmutov/cypress-esbuild-preprocessor": "^2.1.3",
"@cypress/code-coverage": "^3.10.0",
"@types/istanbul-lib-instrument": "^1.7.4",
"@typescript-eslint/eslint-plugin": "^5.35.1",
"@typescript-eslint/parser": "^5.35.1",
"cypress": "^12.4.1",
"dts-bundle-generator": "^7.2.0",
"eslint": "^8.29.0",
"eslint-plugin-jsdoc": "^39.3.6",
"@bahmutov/cypress-esbuild-preprocessor": "^2.2.0",
"@cypress/code-coverage": "^3.12.12",
"@types/istanbul-lib-instrument": "^1.7.7",
"@types/node": "^20.10.0",
"@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0",
"cypress": "^13.6.0",
"dts-bundle-generator": "^8.1.2",
"eslint": "^8.54.0",
"eslint-plugin-jsdoc": "^46.9.0",
"eslint-plugin-prefer-arrow": "^1.2.3",
"eslint-plugin-prettier": "^4.2.1",
"istanbul-lib-coverage": "^3.2.0",
"istanbul-lib-instrument": "^5.2.0",
"ncp": "^2.0.0",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-instrument": "^5.2.1",
"nyc": "^15.1.0",
"prettier": "^2.8.3",
"rimraf": "^3.0.2",
"typescript": "^4.9.4",
"vite": "^4.0.4"
"prettier": "^2.8.8",
"rimraf": "^5.0.5",
"typescript": "^5.3.2",
"vite": "^4.5.0"
},
"packageManager": "pnpm@8.6.12",
"engines": {
"node": ">=16",
"pnpm": ">=8.6.0"
},
"scripts": {
"pre-test": "pnpm clean-coverage",
"test": "pnpm pre-test && npx cypress run",
"clean-coverage": "rimraf coverage .nyc_output",
"cypress": "pnpm pre-test && npx cypress open",
"coverage:report": "nyc report --reporter=lcov --reporter=json --reporter=text --reporter=json-summary",
"format": "prettier --write \"src/**/*.ts\"",
"lint:ts": "eslint -c .eslintrc.cjs --ext .ts src",
"fix:ts": "eslint -c .eslintrc.cjs --ext .ts src --fix",
"check:ts": "tsc -noEmit",
"build": "pnpm check:ts && pnpm lint:ts && vite build && pnpm dts",
"dts": "dts-bundle-generator --config ./dts.config.ts"
}
}
}

@@ -8,7 +8,7 @@ # shorty

[![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hw/@thednp/shorty)](https://www.jsdelivr.com/package/npm/@thednp/shorty)
[![typescript version](https://img.shields.io/badge/typescript-4.9.4-brightgreen)](https://www.typescriptlang.org/)
[![eslint version](https://img.shields.io/badge/eslint-8.29.0-brightgreen)](https://github.com/eslint)
[![prettier version](https://img.shields.io/badge/prettier-2.8.3-brightgreen)](https://prettier.io/)
[![cypress version](https://img.shields.io/badge/cypress-12.4.1-brightgreen)](https://cypress.io/)
[![vite version](https://img.shields.io/badge/vite-4.0.4-brightgreen)](https://github.com/vitejs)
[![typescript version](https://img.shields.io/badge/typescript-5.3.2-brightgreen)](https://www.typescriptlang.org/)
[![eslint version](https://img.shields.io/badge/eslint-8.54.0-brightgreen)](https://github.com/eslint)
[![prettier version](https://img.shields.io/badge/prettier-2.8.8-brightgreen)](https://prettier.io/)
[![cypress version](https://img.shields.io/badge/cypress-13.6.0-brightgreen)](https://cypress.io/)
[![vite version](https://img.shields.io/badge/vite-4.5.0-brightgreen)](https://github.com/vitejs)

@@ -15,0 +15,0 @@

/**
* Remove eventListener from an `EventTarget` object.
*/
const off = (
element: EventTarget,
const off = <T extends EventTarget, L = EventListener>(
element: T,
eventName: string,
listener: EventListener,
listener: L,
options?: AddEventListenerOptions,
) => {
const ops = options || false;
element.removeEventListener(eventName, listener, ops);
element.removeEventListener(eventName, listener as EventListenerOrEventListenerObject, ops);
};
export default off;
/**
* Add eventListener to an `EventTarget` object.
*/
const on = (
element: EventTarget,
const on = <T extends EventTarget, L = EventListener>(
element: T,
eventName: string,
listener: EventListener,
listener: L,
options?: AddEventListenerOptions,
) => {
const ops = options || false;
element.addEventListener(eventName, listener, ops);
element.addEventListener(eventName, listener as EventListenerOrEventListenerObject, ops);
};
export default on;
import on from './on';
import off from './off';
import { NativeEventHandler } from '../interface/event';

@@ -8,13 +9,13 @@ /**

*/
const one = (
element: EventTarget,
const one = <T extends EventTarget, L = EventListener>(
element: T,
eventName: string,
listener: EventListener,
listener: L,
options?: AddEventListenerOptions,
) => {
/** Wrap the listener for easy on -> off */
const handlerWrapper = (e: Event): void => {
const handlerWrapper: NativeEventHandler<T> = e => {
/* istanbul ignore else */
if (e.target === element || e.currentTarget === element) {
listener.apply(element, [e]);
(listener as NativeEventHandler<T>).apply(element, [e]);
off(element, eventName, handlerWrapper, options);

@@ -21,0 +22,0 @@ }

@@ -99,2 +99,3 @@ // strings

import keyEnter from './strings/keyEnter';
import keyNumpadEnter from './strings/keyNumpadEnter';
import keyEscape from './strings/keyEscape';

@@ -189,2 +190,3 @@ import keyInsert from './strings/keyInsert';

import ObjectValues from './misc/ObjectValues';
import ObjectFromEntries from './misc/ObjectFromEntries';
import createCustomEvent from './misc/createCustomEvent';

@@ -254,2 +256,4 @@ import passiveHandler from './misc/passiveHandler';

import { version } from '../package.json';
export {

@@ -365,2 +369,3 @@ ariaChecked,

keyEnter,
keyNumpadEnter,
keyEscape,

@@ -460,2 +465,3 @@ keyInsert,

ObjectValues,
ObjectFromEntries,
getBoundingClientRect,

@@ -476,2 +482,5 @@ getDocument,

removeAttributeNS,
version,
};
export * from './interface/event.d';
import isString from '../is/isString';
import setAttribute from '../attr/setAttribute';
import getDocument from '../get/getDocument';
import ObjectEntries from './ObjectEntries';
import ObjectAssign from './ObjectAssign';

@@ -17,7 +16,7 @@ /**

*/
const createElement = (param?: string | Partial<HTMLElement>): HTMLElement | undefined => {
const createElement = <T extends HTMLElement>(param?: string | Partial<T>): T | undefined => {
if (!param) return undefined;
if (isString(param)) {
return getDocument().createElement(param);
return getDocument().createElement(param) as T;
}

@@ -33,10 +32,5 @@

ObjectEntries(attr).forEach(([key, value]) => {
if (isString(key as string) && isString(value as string)) {
setAttribute(newElement, key as string, value as string);
}
});
return newElement;
return ObjectAssign(newElement, attr) as unknown as T;
};
export default createElement;
import getDocument from '../get/getDocument';
import ObjectEntries from './ObjectEntries';
import setAttribute from '../attr/setAttribute';
import ObjectAssign from './ObjectAssign';
import isString from '../is/isString';

@@ -11,2 +10,4 @@

* `id`, `className`, `textContent`, `style`, etc.
* Note: some elements resulted from this function call may not be compatible with
* some attributes.
*

@@ -19,10 +20,10 @@ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS

*/
const createElementNS = (
const createElementNS = <T extends HTMLElement>(
ns: string,
param?: string | Partial<HTMLElement>,
): HTMLElement | undefined => {
param?: string | Partial<T>,
): T | undefined => {
if (!ns || !param) return undefined;
if (isString(param)) {
return getDocument().createElementNS(ns, param) as HTMLElement;
return getDocument().createElementNS(ns, param) as T;
}

@@ -38,11 +39,5 @@

ObjectEntries(attr).forEach(([key, value]) => {
if (isString(key as string) && isString(value as string)) {
setAttribute(newElement, key as string, value as string);
}
});
return newElement;
return ObjectAssign(newElement, attr) as unknown as T;
};
export default createElementNS;

@@ -11,2 +11,3 @@ import isHTMLElement from '../is/isHTMLElement';

const Data = {
data: componentData,
/**

@@ -13,0 +14,0 @@ * Sets web components data.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc