@thednp/shorty 2.0.7 → 2.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -27
- package/dist/shorty.cjs +1 -1
- package/dist/shorty.cjs.map +1 -1
- package/dist/shorty.d.ts +235 -138
- package/dist/shorty.js +1 -1
- package/dist/shorty.js.map +1 -1
- package/dist/shorty.mjs +536 -600
- package/dist/shorty.mjs.map +1 -1
- package/package.json +10 -9
- package/.eslintrc.cjs +0 -224
- package/.lgtm.yml +0 -8
- package/.prettierrc.json +0 -15
- package/src/attr/getAttribute.ts +0 -11
- package/src/attr/getAttributeNS.ts +0 -12
- package/src/attr/hasAttribute.ts +0 -11
- package/src/attr/hasAttributeNS.ts +0 -15
- package/src/attr/removeAttribute.ts +0 -10
- package/src/attr/removeAttributeNS.ts +0 -14
- package/src/attr/setAttribute.ts +0 -11
- package/src/attr/setAttributeNS.ts +0 -16
- package/src/blocks/documentBody.ts +0 -5
- package/src/blocks/documentElement.ts +0 -5
- package/src/blocks/documentHead.ts +0 -5
- package/src/boolean/isApple.ts +0 -15
- package/src/boolean/isFirefox.ts +0 -9
- package/src/boolean/isMobile.ts +0 -14
- package/src/boolean/support3DTransform.ts +0 -7
- package/src/boolean/supportAnimation.ts +0 -7
- package/src/boolean/supportPassive.ts +0 -29
- package/src/boolean/supportTouch.ts +0 -9
- package/src/boolean/supportTransform.ts +0 -7
- package/src/boolean/supportTransition.ts +0 -7
- package/src/class/addClass.ts +0 -11
- package/src/class/hasClass.ts +0 -11
- package/src/class/removeClass.ts +0 -11
- package/src/event/off.ts +0 -18
- package/src/event/on.ts +0 -18
- package/src/event/one.ts +0 -26
- package/src/get/getBoundingClientRect.ts +0 -44
- package/src/get/getDocument.ts +0 -24
- package/src/get/getDocumentBody.ts +0 -13
- package/src/get/getDocumentElement.ts +0 -13
- package/src/get/getDocumentHead.ts +0 -14
- package/src/get/getElementAnimationDelay.ts +0 -25
- package/src/get/getElementAnimationDuration.ts +0 -25
- package/src/get/getElementStyle.ts +0 -25
- package/src/get/getElementTransitionDelay.ts +0 -25
- package/src/get/getElementTransitionDuration.ts +0 -25
- package/src/get/getNodeScroll.ts +0 -22
- package/src/get/getParentNode.ts +0 -28
- package/src/get/getRectRelativeToOffsetParent.ts +0 -43
- package/src/get/getUID.ts +0 -42
- package/src/get/getWindow.ts +0 -23
- package/src/index.ts +0 -571
- package/src/interface/boundingClientRect.d.ts +0 -10
- package/src/interface/css4Declaration.d.ts +0 -4
- package/src/interface/customElement.d.ts +0 -8
- package/src/interface/event.d.ts +0 -255
- package/src/interface/fn.ts +0 -1
- package/src/interface/navigatorUA.d.ts +0 -15
- package/src/interface/offsetRect.d.ts +0 -6
- package/src/interface/originalEvent.d.ts +0 -4
- package/src/is/isArray.ts +0 -10
- package/src/is/isCanvas.ts +0 -13
- package/src/is/isCustomElement.ts +0 -15
- package/src/is/isDocument.ts +0 -14
- package/src/is/isElement.ts +0 -28
- package/src/is/isElementInScrollRange.ts +0 -20
- package/src/is/isElementInViewport.ts +0 -21
- package/src/is/isElementsArray.ts +0 -13
- package/src/is/isFunction.ts +0 -12
- package/src/is/isHTMLCollection.ts +0 -12
- package/src/is/isHTMLElement.ts +0 -13
- package/src/is/isHTMLImageElement.ts +0 -12
- package/src/is/isJSON.ts +0 -20
- package/src/is/isMap.ts +0 -11
- package/src/is/isMedia.ts +0 -26
- package/src/is/isNode.ts +0 -19
- package/src/is/isNodeList.ts +0 -13
- package/src/is/isNumber.ts +0 -10
- package/src/is/isObject.ts +0 -10
- package/src/is/isRTL.ts +0 -11
- package/src/is/isSVGElement.ts +0 -13
- package/src/is/isScaledElement.ts +0 -20
- package/src/is/isShadowRoot.ts +0 -12
- package/src/is/isString.ts +0 -10
- package/src/is/isTableElement.ts +0 -17
- package/src/is/isWeakMap.ts +0 -11
- package/src/is/isWindow.ts +0 -13
- package/src/misc/ArrayFrom.ts +0 -11
- package/src/misc/Float32ArrayFrom.ts +0 -11
- package/src/misc/Float64ArrayFrom.ts +0 -11
- package/src/misc/ObjectAssign.ts +0 -54
- package/src/misc/ObjectEntries.ts +0 -11
- package/src/misc/ObjectFromEntries.ts +0 -11
- package/src/misc/ObjectHasOwn.ts +0 -18
- package/src/misc/ObjectKeys.ts +0 -11
- package/src/misc/ObjectValues.ts +0 -12
- package/src/misc/createCustomEvent.ts +0 -31
- package/src/misc/createElement.ts +0 -36
- package/src/misc/createElementNS.ts +0 -40
- package/src/misc/data.ts +0 -80
- package/src/misc/dispatchEvent.ts +0 -10
- package/src/misc/distinct.ts +0 -19
- package/src/misc/emulateAnimationEnd.ts +0 -43
- package/src/misc/emulateTransitionEnd.ts +0 -42
- package/src/misc/focus.ts +0 -10
- package/src/misc/focusTrap.ts +0 -67
- package/src/misc/getInstance.ts +0 -9
- package/src/misc/noop.ts +0 -6
- package/src/misc/normalizeOptions.ts +0 -58
- package/src/misc/normalizeValue.ts +0 -32
- package/src/misc/passiveHandler.ts +0 -6
- package/src/misc/reflow.ts +0 -9
- package/src/misc/setElementStyle.ts +0 -26
- package/src/misc/timer.ts +0 -91
- package/src/misc/toLowerCase.ts +0 -9
- package/src/misc/toUpperCase.ts +0 -9
- package/src/selectors/closest.ts +0 -23
- package/src/selectors/getCustomElements.ts +0 -19
- package/src/selectors/getElementById.ts +0 -16
- package/src/selectors/getElementsByClassName.ts +0 -22
- package/src/selectors/getElementsByTagName.ts +0 -22
- package/src/selectors/matches.ts +0 -11
- package/src/selectors/querySelector.ts +0 -25
- package/src/selectors/querySelectorAll.ts +0 -19
- package/src/strings/DOMContentLoadedEvent.ts +0 -5
- package/src/strings/DOMMouseScrollEvent.ts +0 -5
- package/src/strings/abortEvent.ts +0 -5
- package/src/strings/addEventListener.ts +0 -5
- package/src/strings/animationDelay.ts +0 -5
- package/src/strings/animationDuration.ts +0 -5
- package/src/strings/animationEndEvent.ts +0 -5
- package/src/strings/animationName.ts +0 -5
- package/src/strings/ariaChecked.ts +0 -5
- package/src/strings/ariaDescribedBy.ts +0 -5
- package/src/strings/ariaDescription.ts +0 -5
- package/src/strings/ariaExpanded.ts +0 -5
- package/src/strings/ariaHasPopup.ts +0 -5
- package/src/strings/ariaHidden.ts +0 -5
- package/src/strings/ariaLabel.ts +0 -5
- package/src/strings/ariaLabelledBy.ts +0 -5
- package/src/strings/ariaModal.ts +0 -5
- package/src/strings/ariaPressed.ts +0 -5
- package/src/strings/ariaSelected.ts +0 -5
- package/src/strings/ariaValueMax.ts +0 -5
- package/src/strings/ariaValueMin.ts +0 -5
- package/src/strings/ariaValueNow.ts +0 -5
- package/src/strings/ariaValueText.ts +0 -5
- package/src/strings/beforeunloadEvent.ts +0 -5
- package/src/strings/bezierEasings.ts +0 -32
- package/src/strings/blurEvent.ts +0 -5
- package/src/strings/changeEvent.ts +0 -5
- package/src/strings/contextmenuEvent.ts +0 -5
- package/src/strings/dragEvent.ts +0 -5
- package/src/strings/dragendEvent.ts +0 -5
- package/src/strings/dragenterEvent.ts +0 -5
- package/src/strings/dragleaveEvent.ts +0 -5
- package/src/strings/dragoverEvent.ts +0 -5
- package/src/strings/dragstartEvent.ts +0 -5
- package/src/strings/errorEvent.ts +0 -5
- package/src/strings/focusEvent.ts +0 -5
- package/src/strings/focusEvents.ts +0 -5
- package/src/strings/focusableSelector.ts +0 -4
- package/src/strings/focusinEvent.ts +0 -5
- package/src/strings/focusoutEvent.ts +0 -5
- package/src/strings/gesturechangeEvent.ts +0 -5
- package/src/strings/gestureendEvent.ts +0 -5
- package/src/strings/gesturestartEvent.ts +0 -5
- package/src/strings/keyAlt.ts +0 -7
- package/src/strings/keyArrowDown.ts +0 -7
- package/src/strings/keyArrowLeft.ts +0 -7
- package/src/strings/keyArrowRight.ts +0 -7
- package/src/strings/keyArrowUp.ts +0 -7
- package/src/strings/keyBackspace.ts +0 -7
- package/src/strings/keyCapsLock.ts +0 -7
- package/src/strings/keyControl.ts +0 -7
- package/src/strings/keyDelete.ts +0 -7
- package/src/strings/keyEnter.ts +0 -7
- package/src/strings/keyEscape.ts +0 -7
- package/src/strings/keyInsert.ts +0 -7
- package/src/strings/keyMeta.ts +0 -7
- package/src/strings/keyNumpadEnter.ts +0 -7
- package/src/strings/keyPause.ts +0 -7
- package/src/strings/keyScrollLock.ts +0 -7
- package/src/strings/keyShift.ts +0 -7
- package/src/strings/keySpace.ts +0 -7
- package/src/strings/keyTab.ts +0 -7
- package/src/strings/keyboardEventKeys.ts +0 -26
- package/src/strings/keydownEvent.ts +0 -5
- package/src/strings/keypressEvent.ts +0 -5
- package/src/strings/keyupEvent.ts +0 -5
- package/src/strings/loadEvent.ts +0 -5
- package/src/strings/loadstartEvent.ts +0 -5
- package/src/strings/mouseClickEvents.ts +0 -5
- package/src/strings/mouseHoverEvents.ts +0 -7
- package/src/strings/mouseSwipeEvents.ts +0 -10
- package/src/strings/mouseclickEvent.ts +0 -5
- package/src/strings/mousedblclickEvent.ts +0 -5
- package/src/strings/mousedownEvent.ts +0 -5
- package/src/strings/mouseenterEvent.ts +0 -5
- package/src/strings/mousehoverEvent.ts +0 -5
- package/src/strings/mouseinEvent.ts +0 -5
- package/src/strings/mouseleaveEvent.ts +0 -5
- package/src/strings/mousemoveEvent.ts +0 -5
- package/src/strings/mouseoutEvent.ts +0 -5
- package/src/strings/mouseoverEvent.ts +0 -5
- package/src/strings/mouseupEvent.ts +0 -5
- package/src/strings/mousewheelEvent.ts +0 -5
- package/src/strings/moveEvent.ts +0 -5
- package/src/strings/nativeEvents.ts +0 -108
- package/src/strings/offsetHeight.ts +0 -5
- package/src/strings/offsetWidth.ts +0 -5
- package/src/strings/orientationchangeEvent.ts +0 -5
- package/src/strings/pointercancelEvent.ts +0 -5
- package/src/strings/pointerdownEvent.ts +0 -5
- package/src/strings/pointerleaveEvent.ts +0 -5
- package/src/strings/pointermoveEvent.ts +0 -5
- package/src/strings/pointerupEvent.ts +0 -5
- package/src/strings/readystatechangeEvent.ts +0 -5
- package/src/strings/removeEventListener.ts +0 -5
- package/src/strings/resetEvent.ts +0 -5
- package/src/strings/resizeEvent.ts +0 -5
- package/src/strings/scrollEvent.ts +0 -5
- package/src/strings/scrollHeight.ts +0 -5
- package/src/strings/scrollWidth.ts +0 -5
- package/src/strings/selectEvent.ts +0 -5
- package/src/strings/selectendEvent.ts +0 -5
- package/src/strings/selectstartEvent.ts +0 -5
- package/src/strings/submitEvent.ts +0 -5
- package/src/strings/tabindex.ts +0 -5
- package/src/strings/touchEvents.ts +0 -10
- package/src/strings/touchcancelEvent.ts +0 -5
- package/src/strings/touchendEvent.ts +0 -5
- package/src/strings/touchmoveEvent.ts +0 -5
- package/src/strings/touchstartEvent.ts +0 -5
- package/src/strings/transitionDelay.ts +0 -5
- package/src/strings/transitionDuration.ts +0 -5
- package/src/strings/transitionEndEvent.ts +0 -5
- package/src/strings/transitionProperty.ts +0 -5
- package/src/strings/unloadEvent.ts +0 -5
- package/src/strings/userAgent.ts +0 -7
- package/src/strings/userAgentData.ts +0 -8
- package/test/att.test.ts +0 -43
- package/test/boolean.test.ts +0 -30
- package/test/class.test.ts +0 -26
- package/test/event.test.ts +0 -39
- package/test/fixtures/custom-elem.js +0 -18
- package/test/fixtures/getExampleDom.ts +0 -52
- package/test/fixtures/style.css +0 -18
- package/test/get.test.ts +0 -150
- package/test/is.test.ts +0 -240
- package/test/misc.test.ts +0 -400
- package/test/selectors.test.ts +0 -90
- package/tsconfig.json +0 -36
- package/vite.config.mts +0 -45
- package/vitest.config-ui.mts +0 -26
- package/vitest.config.mts +0 -25
package/src/interface/event.d.ts
DELETED
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type definitions addapted from React 18.2
|
|
3
|
-
* Project: https://react.dev/
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
type NativeAnimationEvent = AnimationEvent;
|
|
7
|
-
type NativeClipboardEvent = ClipboardEvent;
|
|
8
|
-
type NativeCompositionEvent = CompositionEvent;
|
|
9
|
-
type NativeDragEvent = DragEvent;
|
|
10
|
-
type NativeFocusEvent = FocusEvent;
|
|
11
|
-
type NativeKeyboardEvent = KeyboardEvent;
|
|
12
|
-
type NativeMouseEvent = MouseEvent;
|
|
13
|
-
type NativeTouchEvent = TouchEvent;
|
|
14
|
-
type NativePointerEvent = PointerEvent;
|
|
15
|
-
type NativeTransitionEvent = TransitionEvent;
|
|
16
|
-
type NativeUIEvent = UIEvent;
|
|
17
|
-
type NativeWheelEvent = WheelEvent;
|
|
18
|
-
|
|
19
|
-
interface AbstractView {
|
|
20
|
-
styleMedia: StyleMedia;
|
|
21
|
-
document: Document;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
//
|
|
25
|
-
// Event System
|
|
26
|
-
// ----------------------------------------------------------------------
|
|
27
|
-
// E = EventObject, C = e.currentTarget, T = e.target
|
|
28
|
-
interface BaseEvent<E = Event, C = unknown, T = unknown> {
|
|
29
|
-
nativeEvent: E;
|
|
30
|
-
currentTarget: C | null;
|
|
31
|
-
target: T & EventTarget;
|
|
32
|
-
bubbles: boolean;
|
|
33
|
-
cancelable: boolean;
|
|
34
|
-
defaultPrevented: boolean;
|
|
35
|
-
eventPhase: number;
|
|
36
|
-
isTrusted: boolean;
|
|
37
|
-
preventDefault(): void;
|
|
38
|
-
isDefaultPrevented(): boolean;
|
|
39
|
-
stopPropagation(): void;
|
|
40
|
-
isPropagationStopped(): boolean;
|
|
41
|
-
persist(): void;
|
|
42
|
-
timeStamp: number;
|
|
43
|
-
type: string;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* currentTarget - a reference to the element on which the event listener is registered.
|
|
48
|
-
*
|
|
49
|
-
* target - a reference to the element from which the event was originally dispatched.
|
|
50
|
-
* This might be a child element to the element on which the event listener is registered.
|
|
51
|
-
* If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11508#issuecomment-256045682
|
|
52
|
-
*/
|
|
53
|
-
type NativeEvent<T = Element, E = Event> = BaseEvent<E, T, T>;
|
|
54
|
-
|
|
55
|
-
interface ClipboardEvent<T = Element>
|
|
56
|
-
extends NativeEvent<T, NativeClipboardEvent> {
|
|
57
|
-
clipboardData: DataTransfer;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
interface CompositionEvent<T = Element>
|
|
61
|
-
extends NativeEvent<T, NativeCompositionEvent> {
|
|
62
|
-
data: string;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
interface DragEvent<T = Element> extends MouseEvent<T, NativeDragEvent> {
|
|
66
|
-
dataTransfer: DataTransfer;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
interface PointerEvent<T = Element> extends MouseEvent<T, NativePointerEvent> {
|
|
70
|
-
pointerId: number;
|
|
71
|
-
pressure: number;
|
|
72
|
-
tangentialPressure: number;
|
|
73
|
-
tiltX: number;
|
|
74
|
-
tiltY: number;
|
|
75
|
-
twist: number;
|
|
76
|
-
width: number;
|
|
77
|
-
height: number;
|
|
78
|
-
pointerType: "mouse" | "pen" | "touch";
|
|
79
|
-
isPrimary: boolean;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
interface FocusEvent<T = Element, R = Element>
|
|
83
|
-
extends NativeEvent<T, NativeFocusEvent> {
|
|
84
|
-
relatedTarget: (EventTarget & R) | null;
|
|
85
|
-
target: EventTarget & T;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
type FormControl = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
|
|
89
|
-
type FormEvent<T = FormControl> = NativeEvent<T>;
|
|
90
|
-
|
|
91
|
-
interface ChangeEvent<T = FormControl> extends FormEvent<T> {
|
|
92
|
-
target: EventTarget & T;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
type ModifierKey =
|
|
96
|
-
| "Alt"
|
|
97
|
-
| "AltGraph"
|
|
98
|
-
| "CapsLock"
|
|
99
|
-
| "Control"
|
|
100
|
-
| "Fn"
|
|
101
|
-
| "FnLock"
|
|
102
|
-
| "Hyper"
|
|
103
|
-
| "Meta"
|
|
104
|
-
| "NumLock"
|
|
105
|
-
| "ScrollLock"
|
|
106
|
-
| "Shift"
|
|
107
|
-
| "Super"
|
|
108
|
-
| "Symbol"
|
|
109
|
-
| "SymbolLock";
|
|
110
|
-
|
|
111
|
-
interface KeyboardEvent<T = Element> extends UIEvent<T, NativeKeyboardEvent> {
|
|
112
|
-
altKey: boolean;
|
|
113
|
-
/** @deprecated */
|
|
114
|
-
charCode: number;
|
|
115
|
-
ctrlKey: boolean;
|
|
116
|
-
code: string;
|
|
117
|
-
/**
|
|
118
|
-
* 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.
|
|
119
|
-
*/
|
|
120
|
-
getModifierState(key: ModifierKey): boolean;
|
|
121
|
-
/**
|
|
122
|
-
* See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values
|
|
123
|
-
*/
|
|
124
|
-
key: string;
|
|
125
|
-
/** @deprecated */
|
|
126
|
-
keyCode: number;
|
|
127
|
-
locale: string;
|
|
128
|
-
location: number;
|
|
129
|
-
metaKey: boolean;
|
|
130
|
-
repeat: boolean;
|
|
131
|
-
shiftKey: boolean;
|
|
132
|
-
/** @deprecated */
|
|
133
|
-
which: number;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
interface MouseEvent<T = Element, E = NativeMouseEvent> extends UIEvent<T, E> {
|
|
137
|
-
altKey: boolean;
|
|
138
|
-
button: number;
|
|
139
|
-
buttons: number;
|
|
140
|
-
clientX: number;
|
|
141
|
-
clientY: number;
|
|
142
|
-
ctrlKey: boolean;
|
|
143
|
-
/**
|
|
144
|
-
* 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.
|
|
145
|
-
*/
|
|
146
|
-
getModifierState(key: ModifierKey): boolean;
|
|
147
|
-
metaKey: boolean;
|
|
148
|
-
movementX: number;
|
|
149
|
-
movementY: number;
|
|
150
|
-
pageX: number;
|
|
151
|
-
pageY: number;
|
|
152
|
-
relatedTarget: EventTarget | null;
|
|
153
|
-
screenX: number;
|
|
154
|
-
screenY: number;
|
|
155
|
-
shiftKey: boolean;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
interface TouchEvent<T = Element> extends UIEvent<T, NativeTouchEvent> {
|
|
159
|
-
altKey: boolean;
|
|
160
|
-
changedTouches: TouchList;
|
|
161
|
-
ctrlKey: boolean;
|
|
162
|
-
/**
|
|
163
|
-
* 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.
|
|
164
|
-
*/
|
|
165
|
-
getModifierState(key: ModifierKey): boolean;
|
|
166
|
-
metaKey: boolean;
|
|
167
|
-
shiftKey: boolean;
|
|
168
|
-
targetTouches: TouchList;
|
|
169
|
-
touches: TouchList;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
interface UIEvent<T = Element, E = NativeUIEvent> extends NativeEvent<T, E> {
|
|
173
|
-
detail: number;
|
|
174
|
-
view: AbstractView;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
interface WheelEvent<T = Element> extends MouseEvent<T, NativeWheelEvent> {
|
|
178
|
-
deltaMode: number;
|
|
179
|
-
deltaX: number;
|
|
180
|
-
deltaY: number;
|
|
181
|
-
deltaZ: number;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
interface AnimationEvent<T = Element>
|
|
185
|
-
extends NativeEvent<T, NativeAnimationEvent> {
|
|
186
|
-
animationName: string;
|
|
187
|
-
elapsedTime: number;
|
|
188
|
-
pseudoElement: string;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
interface TransitionEvent<T = Element>
|
|
192
|
-
extends NativeEvent<T, NativeTransitionEvent> {
|
|
193
|
-
elapsedTime: number;
|
|
194
|
-
propertyName: string;
|
|
195
|
-
pseudoElement: string;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
//
|
|
199
|
-
// Event Handler Types
|
|
200
|
-
// ----------------------------------------------------------------------
|
|
201
|
-
// (this: unknown & EventTarget, event: E): void;
|
|
202
|
-
type EventHandler<T = Element, E = Event | NativeEvent<T>> = (event: E) => void;
|
|
203
|
-
type NativeEventHandler<T = Element> = EventHandler<T, NativeEvent<T>>;
|
|
204
|
-
type ClipboardEventHandler<T = Element> = EventHandler<T, ClipboardEvent<T>>;
|
|
205
|
-
type CompositionEventHandler<T = Element> = EventHandler<
|
|
206
|
-
T,
|
|
207
|
-
CompositionEvent<T>
|
|
208
|
-
>;
|
|
209
|
-
type DragEventHandler<T = Element> = EventHandler<T, DragEvent<T>>;
|
|
210
|
-
type FocusEventHandler<T = Element> = EventHandler<T, FocusEvent<T>>;
|
|
211
|
-
type FormEventHandler<T = Element> = EventHandler<T, FormEvent<T>>;
|
|
212
|
-
type ChangeEventHandler<T = Element> = EventHandler<T, ChangeEvent<T>>;
|
|
213
|
-
type KeyboardEventHandler<T = Element> = EventHandler<T, KeyboardEvent<T>>;
|
|
214
|
-
type MouseEventHandler<T = Element> = EventHandler<T, MouseEvent<T>>;
|
|
215
|
-
type TouchEventHandler<T = Element> = EventHandler<T, TouchEvent<T>>;
|
|
216
|
-
type PointerEventHandler<T = Element> = EventHandler<T, PointerEvent<T>>;
|
|
217
|
-
type UIEventHandler<T = Element> = EventHandler<T, UIEvent<T>>;
|
|
218
|
-
type WheelEventHandler<T = Element> = EventHandler<T, WheelEvent<T>>;
|
|
219
|
-
type AnimationEventHandler<T = Element> = EventHandler<T, AnimationEvent<T>>;
|
|
220
|
-
type TransitionEventHandler<T = Element> = EventHandler<T, TransitionEvent<T>>;
|
|
221
|
-
type PossibleEventTarget = EventTarget & (Element | Document | Window);
|
|
222
|
-
|
|
223
|
-
export {
|
|
224
|
-
AnimationEvent,
|
|
225
|
-
AnimationEventHandler,
|
|
226
|
-
ChangeEvent,
|
|
227
|
-
ChangeEventHandler,
|
|
228
|
-
ClipboardEvent,
|
|
229
|
-
ClipboardEventHandler,
|
|
230
|
-
CompositionEvent,
|
|
231
|
-
CompositionEventHandler,
|
|
232
|
-
DragEvent,
|
|
233
|
-
DragEventHandler,
|
|
234
|
-
FocusEvent,
|
|
235
|
-
FocusEventHandler,
|
|
236
|
-
FormEvent,
|
|
237
|
-
FormEventHandler,
|
|
238
|
-
KeyboardEvent,
|
|
239
|
-
KeyboardEventHandler,
|
|
240
|
-
MouseEvent,
|
|
241
|
-
MouseEventHandler,
|
|
242
|
-
NativeEvent,
|
|
243
|
-
NativeEventHandler,
|
|
244
|
-
PointerEvent,
|
|
245
|
-
PointerEventHandler,
|
|
246
|
-
PossibleEventTarget,
|
|
247
|
-
TouchEvent,
|
|
248
|
-
TouchEventHandler,
|
|
249
|
-
TransitionEvent,
|
|
250
|
-
TransitionEventHandler,
|
|
251
|
-
UIEvent,
|
|
252
|
-
UIEventHandler,
|
|
253
|
-
WheelEvent,
|
|
254
|
-
WheelEventHandler,
|
|
255
|
-
};
|
package/src/interface/fn.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type Fn = (...args: unknown[]) => unknown;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// https://github.com/lukewarlow/user-agent-data-types/blob/master/index.d.ts
|
|
2
|
-
export declare interface NavigatorUABrand {
|
|
3
|
-
readonly brand: string;
|
|
4
|
-
readonly version: string;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export declare interface NavigatorUAData {
|
|
8
|
-
readonly brands: NavigatorUABrand[];
|
|
9
|
-
readonly mobile: boolean;
|
|
10
|
-
readonly platform: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export declare interface NavigatorUA extends Navigator {
|
|
14
|
-
readonly userAgentData: NavigatorUAData;
|
|
15
|
-
}
|
package/src/is/isArray.ts
DELETED
package/src/is/isCanvas.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import isNode from "./isNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an element is an `HTMLCanvasElement` or `<canvas>`.
|
|
5
|
-
*
|
|
6
|
-
* @param element the target element
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
const isCanvas = (element?: unknown): element is HTMLCanvasElement =>
|
|
11
|
-
(isNode(element) && element.nodeName === "CANVAS") || false;
|
|
12
|
-
|
|
13
|
-
export default isCanvas;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import isHTMLElement from "./isHTMLElement";
|
|
2
|
-
import type { CustomElement } from "../interface/customElement";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Checks if an object is a `CustomElement`.
|
|
6
|
-
*
|
|
7
|
-
* @param element the target object
|
|
8
|
-
* @returns the query result
|
|
9
|
-
*/
|
|
10
|
-
const isCustomElement = <T extends CustomElement>(
|
|
11
|
-
element?: unknown,
|
|
12
|
-
): element is T =>
|
|
13
|
-
(isHTMLElement(element) && !!(element as T).shadowRoot) || false;
|
|
14
|
-
|
|
15
|
-
export default isCustomElement;
|
package/src/is/isDocument.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import isNode from "./isNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an object is a `Document`.
|
|
5
|
-
*
|
|
6
|
-
* @see https://dom.spec.whatwg.org/#node
|
|
7
|
-
*
|
|
8
|
-
* @param obj the target object
|
|
9
|
-
* @returns the query result
|
|
10
|
-
*/
|
|
11
|
-
const isDocument = (obj?: unknown): obj is Document =>
|
|
12
|
-
(isNode(obj) && obj.nodeType === 9) || false;
|
|
13
|
-
|
|
14
|
-
export default isDocument;
|
package/src/is/isElement.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import isNode from "./isNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an object is an `Element`.
|
|
5
|
-
*
|
|
6
|
-
* @see https://dom.spec.whatwg.org/#node
|
|
7
|
-
*
|
|
8
|
-
* ```
|
|
9
|
-
* ELEMENT_NODE = 1;
|
|
10
|
-
* ATTRIBUTE_NODE = 2;
|
|
11
|
-
* TEXT_NODE = 3;
|
|
12
|
-
* CDATA_SECTION_NODE = 4;
|
|
13
|
-
* ENTITY_REFERENCE_NODE = 5; // legacy
|
|
14
|
-
* ENTITY_NODE = 6; // legacy
|
|
15
|
-
* PROCESSING_INSTRUCTION_NODE = 7;
|
|
16
|
-
* COMMENT_NODE = 8;
|
|
17
|
-
* DOCUMENT_NODE = 9;
|
|
18
|
-
* DOCUMENT_TYPE_NODE = 10;
|
|
19
|
-
* DOCUMENT_FRAGMENT_NODE = 11;
|
|
20
|
-
* ```
|
|
21
|
-
* @param element the target object
|
|
22
|
-
* @returns the query result
|
|
23
|
-
*/
|
|
24
|
-
const isElement = (element?: unknown): element is Element =>
|
|
25
|
-
(isNode(element) &&
|
|
26
|
-
[1, 2, 3, 4, 5, 6, 7, 8].some((x) => element.nodeType === x)) || false;
|
|
27
|
-
|
|
28
|
-
export default isElement;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import getBoundingClientRect from "../get/getBoundingClientRect";
|
|
2
|
-
import getDocumentElement from "../get/getDocumentElement";
|
|
3
|
-
import isNode from "./isNode";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Utility to determine if an `HTMLElement`
|
|
7
|
-
* is partially visible in viewport.
|
|
8
|
-
*
|
|
9
|
-
* @param element target
|
|
10
|
-
* @return the query result
|
|
11
|
-
*/
|
|
12
|
-
const isElementInScrollRange = (element?: HTMLElement): boolean => {
|
|
13
|
-
if (!isNode(element)) return false;
|
|
14
|
-
|
|
15
|
-
const { top, bottom } = getBoundingClientRect(element);
|
|
16
|
-
const { clientHeight } = getDocumentElement(element);
|
|
17
|
-
return top <= clientHeight && bottom >= 0;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default isElementInScrollRange;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import getBoundingClientRect from "../get/getBoundingClientRect";
|
|
2
|
-
import getDocumentElement from "../get/getDocumentElement";
|
|
3
|
-
import isNode from "./isNode";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Utility to determine if an `HTMLElement`
|
|
7
|
-
* is fully visible in the viewport.
|
|
8
|
-
*
|
|
9
|
-
* @param element target
|
|
10
|
-
* @return the query result
|
|
11
|
-
*/
|
|
12
|
-
const isElementInViewport = (element?: HTMLElement): boolean => {
|
|
13
|
-
if (!isNode(element)) return false;
|
|
14
|
-
|
|
15
|
-
const { clientWidth, clientHeight } = getDocumentElement(element);
|
|
16
|
-
const { top, left, bottom, right } = getBoundingClientRect(element, true);
|
|
17
|
-
|
|
18
|
-
return top >= 0 && left >= 0 && bottom <= clientHeight &&
|
|
19
|
-
right <= clientWidth;
|
|
20
|
-
};
|
|
21
|
-
export default isElementInViewport;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import isHTMLElement from "./isHTMLElement";
|
|
2
|
-
import isArray from "./isArray";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Checks if an object is an `Array` in which all items are `Element`.
|
|
6
|
-
*
|
|
7
|
-
* @param obj the target object
|
|
8
|
-
* @returns the query result
|
|
9
|
-
*/
|
|
10
|
-
const isElementsArray = (obj?: unknown): obj is HTMLElement[] =>
|
|
11
|
-
(isArray(obj) && obj.every(isHTMLElement)) || false;
|
|
12
|
-
|
|
13
|
-
export default isElementsArray;
|
package/src/is/isFunction.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Fn } from "../interface/fn";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an object is a `Function`.
|
|
5
|
-
*
|
|
6
|
-
* @param fn the target object
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
const isFunction = (fn?: unknown): fn is Fn =>
|
|
10
|
-
typeof fn === "function" || false;
|
|
11
|
-
|
|
12
|
-
export default isFunction;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import isObject from "./isObject";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an object is an `HTMLCollection`.
|
|
5
|
-
*
|
|
6
|
-
* @param obj the target object
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
const isHTMLCollection = (obj?: unknown): obj is HTMLCollection =>
|
|
10
|
-
(isObject(obj) && obj.constructor.name === "HTMLCollection") || false;
|
|
11
|
-
|
|
12
|
-
export default isHTMLCollection;
|
package/src/is/isHTMLElement.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import isNode from "./isNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an element is an `HTMLElement`.
|
|
5
|
-
*
|
|
6
|
-
* @see https://dom.spec.whatwg.org/#node
|
|
7
|
-
*
|
|
8
|
-
* @param element the target object
|
|
9
|
-
* @returns the query result
|
|
10
|
-
*/
|
|
11
|
-
const isHTMLElement = (element?: unknown): element is HTMLElement =>
|
|
12
|
-
(isNode(element) && element.nodeType === 1) || false;
|
|
13
|
-
export default isHTMLElement;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import isHTMLElement from "./isHTMLElement";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Check if a target element is an `<img>`.
|
|
5
|
-
*
|
|
6
|
-
* @param element the target element
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
const isHTMLImageElement = (element?: unknown): element is HTMLImageElement =>
|
|
10
|
-
(isHTMLElement(element) && element.tagName === "IMG") || false;
|
|
11
|
-
|
|
12
|
-
export default isHTMLImageElement;
|
package/src/is/isJSON.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import isString from "./isString";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if a string is a `JSON` string.
|
|
5
|
-
*
|
|
6
|
-
* @param str the target string
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
const isJSON = (str?: string): boolean => {
|
|
10
|
-
if (!isString(str)) return false;
|
|
11
|
-
|
|
12
|
-
try {
|
|
13
|
-
JSON.parse(str);
|
|
14
|
-
} catch (_e) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return true;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default isJSON;
|
package/src/is/isMap.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import isObject from "./isObject";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an element is a `Map`.
|
|
5
|
-
*
|
|
6
|
-
* @param obj the target object
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
const isMap = (obj?: unknown): obj is Map<unknown, unknown> =>
|
|
10
|
-
(isObject(obj) && obj.constructor.name === "Map") || false;
|
|
11
|
-
export default isMap;
|
package/src/is/isMedia.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import isNode from "./isNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an element is an `<svg>` (or any type of SVG element),
|
|
5
|
-
* `<img>`, `<video>` or `<canvas>`.
|
|
6
|
-
*
|
|
7
|
-
* *Tooltip* / *Popover* works different with media elements.
|
|
8
|
-
*
|
|
9
|
-
* @param element the target element
|
|
10
|
-
* @returns the query result
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
const isMedia = (
|
|
14
|
-
element?: unknown,
|
|
15
|
-
): element is
|
|
16
|
-
| SVGElement
|
|
17
|
-
| HTMLImageElement
|
|
18
|
-
| HTMLVideoElement
|
|
19
|
-
| HTMLCanvasElement =>
|
|
20
|
-
(isNode(element) &&
|
|
21
|
-
["SVG", "Image", "Video", "Canvas"].some((s) =>
|
|
22
|
-
element.constructor.name.includes(s)
|
|
23
|
-
)) ||
|
|
24
|
-
false;
|
|
25
|
-
|
|
26
|
-
export default isMedia;
|
package/src/is/isNode.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import isObject from "./isObject";
|
|
2
|
-
|
|
3
|
-
type NodeObject = object & { nodeType: number };
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Checks if an object is a `Node`.
|
|
7
|
-
*
|
|
8
|
-
* @param node the target object
|
|
9
|
-
* @returns the query result
|
|
10
|
-
*/
|
|
11
|
-
const isNode = (node?: unknown): node is Node =>
|
|
12
|
-
(isObject(node) &&
|
|
13
|
-
typeof (node as NodeObject).nodeType === "number" &&
|
|
14
|
-
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((x) =>
|
|
15
|
-
(node as NodeObject).nodeType === x
|
|
16
|
-
)) ||
|
|
17
|
-
false;
|
|
18
|
-
|
|
19
|
-
export default isNode;
|
package/src/is/isNodeList.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import isObject from "./isObject";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if an object is a `NodeList`.
|
|
5
|
-
* => equivalent to `object instanceof NodeList`
|
|
6
|
-
*
|
|
7
|
-
* @param obj the target object
|
|
8
|
-
* @returns the query result
|
|
9
|
-
*/
|
|
10
|
-
const isNodeList = (obj?: unknown): obj is NodeList =>
|
|
11
|
-
(isObject(obj) && obj.constructor.name === "NodeList") || false;
|
|
12
|
-
|
|
13
|
-
export default isNodeList;
|
package/src/is/isNumber.ts
DELETED
package/src/is/isObject.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks if a value is an `Object`.
|
|
3
|
-
*
|
|
4
|
-
* @param obj the target object
|
|
5
|
-
* @returns the query result
|
|
6
|
-
*/
|
|
7
|
-
const isObject = (obj?: unknown): obj is object =>
|
|
8
|
-
(obj !== null && obj !== undefined && typeof obj === "object") || false;
|
|
9
|
-
|
|
10
|
-
export default isObject;
|
package/src/is/isRTL.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import getDocumentElement from "../get/getDocumentElement";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if a page is Right To Left.
|
|
5
|
-
*
|
|
6
|
-
* @param node the target
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
const isRTL = (node?: Node): boolean => getDocumentElement(node).dir === "rtl";
|
|
10
|
-
|
|
11
|
-
export default isRTL;
|
package/src/is/isSVGElement.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import isNode from "./isNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Check if an element is an `<svg>` or any other SVG element,
|
|
5
|
-
* an equivalent to `SOMETHING instanceof SVGElement`.
|
|
6
|
-
*
|
|
7
|
-
* @param element the target element
|
|
8
|
-
* @returns the query result
|
|
9
|
-
*/
|
|
10
|
-
const isSVGElement = (element?: unknown): element is SVGElement =>
|
|
11
|
-
(isNode(element) && element.constructor.name.includes("SVG")) || false;
|
|
12
|
-
|
|
13
|
-
export default isSVGElement;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import isHTMLElement from "./isHTMLElement";
|
|
2
|
-
import getBoundingClientRect from "../get/getBoundingClientRect";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Checks if a target `HTMLElement` is affected by scale.
|
|
6
|
-
*
|
|
7
|
-
* @see https://github.com/floating-ui/floating-ui
|
|
8
|
-
*
|
|
9
|
-
* @param element target
|
|
10
|
-
* @returns the query result
|
|
11
|
-
*/
|
|
12
|
-
const isScaledElement = (element?: HTMLElement): boolean => {
|
|
13
|
-
if (!isHTMLElement(element)) return false;
|
|
14
|
-
const { width, height } = getBoundingClientRect(element);
|
|
15
|
-
const { offsetWidth, offsetHeight } = element;
|
|
16
|
-
return Math.round(width) !== offsetWidth ||
|
|
17
|
-
Math.round(height) !== offsetHeight;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default isScaledElement;
|
package/src/is/isShadowRoot.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import isNode from "./isNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Check if target is a `ShadowRoot`.
|
|
5
|
-
*
|
|
6
|
-
* @param element target
|
|
7
|
-
* @returns the query result
|
|
8
|
-
*/
|
|
9
|
-
const isShadowRoot = (element?: unknown): element is ShadowRoot =>
|
|
10
|
-
(isNode(element) && element.constructor.name === "ShadowRoot") || false;
|
|
11
|
-
|
|
12
|
-
export default isShadowRoot;
|
package/src/is/isString.ts
DELETED