@semcore/core 17.0.0-prerelease.20 → 17.0.0-prerelease.20-prerelease.20
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/lib/LastInteractionType.js +36 -22
- package/lib/LastInteractionType.js.map +1 -1
- package/lib/LastInteractionType.mjs +33 -19
- package/lib/LastInteractionType.mjs.map +1 -1
- package/lib/core-types/Component.js +41 -25
- package/lib/core-types/Component.js.map +1 -1
- package/lib/core-types/Component.mjs +38 -18
- package/lib/core-types/Component.mjs.map +1 -1
- package/lib/core-types/symbols.js +9 -9
- package/lib/core-types/symbols.js.map +1 -1
- package/lib/core-types/symbols.mjs +9 -9
- package/lib/core-types/symbols.mjs.map +1 -1
- package/lib/coreFactory.js +205 -143
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +164 -118
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/decorators/propsObserver.js +64 -36
- package/lib/decorators/propsObserver.js.map +1 -1
- package/lib/decorators/propsObserver.mjs +61 -33
- package/lib/decorators/propsObserver.mjs.map +1 -1
- package/lib/decorators/reactive.js +17 -17
- package/lib/decorators/reactive.js.map +1 -1
- package/lib/decorators/reactive.mjs +15 -15
- package/lib/decorators/reactive.mjs.map +1 -1
- package/lib/enhancement/Children.js +59 -51
- package/lib/enhancement/Children.js.map +1 -1
- package/lib/enhancement/Children.mjs +41 -47
- package/lib/enhancement/Children.mjs.map +1 -1
- package/lib/enhancement/Root.js +37 -36
- package/lib/enhancement/Root.js.map +1 -1
- package/lib/enhancement/Root.mjs +18 -28
- package/lib/enhancement/Root.mjs.map +1 -1
- package/lib/enhancement/dataName.js +8 -7
- package/lib/enhancement/dataName.js.map +1 -1
- package/lib/enhancement/dataName.mjs +5 -5
- package/lib/enhancement/dataName.mjs.map +1 -1
- package/lib/enhancement/enhance.js +9 -6
- package/lib/enhancement/enhance.js.map +1 -1
- package/lib/enhancement/enhance.mjs +7 -5
- package/lib/enhancement/enhance.mjs.map +1 -1
- package/lib/enhancement/functionDefaultProps.js +6 -6
- package/lib/enhancement/functionDefaultProps.js.map +1 -1
- package/lib/enhancement/functionDefaultProps.mjs +4 -4
- package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
- package/lib/enhancement/i18n.js +13 -13
- package/lib/enhancement/i18n.js.map +1 -1
- package/lib/enhancement/i18n.mjs +9 -10
- package/lib/enhancement/i18n.mjs.map +1 -1
- package/lib/enhancement/inheritedName.js +8 -7
- package/lib/enhancement/inheritedName.js.map +1 -1
- package/lib/enhancement/inheritedName.mjs +5 -5
- package/lib/enhancement/inheritedName.mjs.map +1 -1
- package/lib/enhancement/staticChildren.js +56 -47
- package/lib/enhancement/staticChildren.js.map +1 -1
- package/lib/enhancement/staticChildren.mjs +48 -43
- package/lib/enhancement/staticChildren.mjs.map +1 -1
- package/lib/enhancement/style.js +27 -29
- package/lib/enhancement/style.js.map +1 -1
- package/lib/enhancement/style.mjs +20 -26
- package/lib/enhancement/style.mjs.map +1 -1
- package/lib/enhancement/uncontrolledProps.js +65 -46
- package/lib/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/enhancement/uncontrolledProps.mjs +52 -43
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
- package/lib/esm/LastInteractionType.mjs +33 -19
- package/lib/esm/core-types/Component.mjs +38 -18
- package/lib/esm/core-types/symbols.mjs +9 -9
- package/lib/esm/coreFactory.mjs +164 -118
- package/lib/esm/enhancement/Children.mjs +41 -47
- package/lib/esm/enhancement/Root.mjs +18 -28
- package/lib/esm/enhancement/dataName.mjs +5 -5
- package/lib/esm/enhancement/enhance.mjs +7 -5
- package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
- package/lib/esm/enhancement/i18n.mjs +9 -10
- package/lib/esm/enhancement/inheritedName.mjs +5 -5
- package/lib/esm/enhancement/staticChildren.mjs +48 -43
- package/lib/esm/enhancement/style.mjs +20 -26
- package/lib/esm/enhancement/uncontrolledProps.mjs +52 -43
- package/lib/esm/register.mjs +20 -12
- package/lib/esm/styled/reshadow-core.mjs +111 -98
- package/lib/esm/styled/sstyled.mjs +41 -31
- package/lib/esm/utils/assignProps.mjs +36 -32
- package/lib/esm/utils/enhances/WithI18n.mjs +17 -15
- package/lib/esm/utils/enhances/i18nEnhance.mjs +61 -47
- package/lib/esm/utils/logger.mjs +21 -13
- package/lib/esm/utils/pick.mjs +4 -4
- package/lib/esm/utils/ref.mjs +43 -27
- package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/index.js +17 -17
- package/lib/register.js +24 -17
- package/lib/register.js.map +1 -1
- package/lib/register.mjs +20 -12
- package/lib/register.mjs.map +1 -1
- package/lib/styled/index.js +4 -4
- package/lib/styled/reshadow-core.js +104 -102
- package/lib/styled/reshadow-core.js.map +1 -1
- package/lib/styled/reshadow-core.mjs +111 -98
- package/lib/styled/reshadow-core.mjs.map +1 -1
- package/lib/styled/sstyled.js +53 -31
- package/lib/styled/sstyled.js.map +1 -1
- package/lib/styled/sstyled.mjs +41 -31
- package/lib/styled/sstyled.mjs.map +1 -1
- package/lib/theme/processor.js +222 -150
- package/lib/theme/processor.js.map +1 -1
- package/lib/theme/processor.mjs +221 -148
- package/lib/theme/processor.mjs.map +1 -1
- package/lib/theme/themes/dark.js +2 -2
- package/lib/theme/themes/dark.js.map +1 -1
- package/lib/theme/themes/default.js +2 -2
- package/lib/theme/themes/default.js.map +1 -1
- package/lib/theme/themes/highlights-dark.js +2 -2
- package/lib/theme/themes/highlights-dark.js.map +1 -1
- package/lib/theme/themes/highlights-light.js +2 -2
- package/lib/theme/themes/highlights-light.js.map +1 -1
- package/lib/theme/themes/light.js +2 -2
- package/lib/theme/themes/light.js.map +1 -1
- package/lib/theme/utils.js +215 -140
- package/lib/theme/utils.js.map +1 -1
- package/lib/theme/utils.mjs +214 -135
- package/lib/theme/utils.mjs.map +1 -1
- package/lib/utils/CSSinJS.js +10 -8
- package/lib/utils/CSSinJS.js.map +1 -1
- package/lib/utils/CSSinJS.mjs +7 -6
- package/lib/utils/CSSinJS.mjs.map +1 -1
- package/lib/utils/ThemeProvider.js +51 -44
- package/lib/utils/ThemeProvider.js.map +1 -1
- package/lib/utils/ThemeProvider.mjs +47 -36
- package/lib/utils/ThemeProvider.mjs.map +1 -1
- package/lib/utils/addonText.js +7 -4
- package/lib/utils/addonText.js.map +1 -1
- package/lib/utils/addonText.mjs +5 -2
- package/lib/utils/addonText.mjs.map +1 -1
- package/lib/utils/addonTextChildren.js +21 -15
- package/lib/utils/addonTextChildren.js.map +1 -1
- package/lib/utils/addonTextChildren.mjs +13 -7
- package/lib/utils/addonTextChildren.mjs.map +1 -1
- package/lib/utils/ariaProps.js +5 -7
- package/lib/utils/ariaProps.js.map +1 -1
- package/lib/utils/ariaProps.mjs +5 -7
- package/lib/utils/ariaProps.mjs.map +1 -1
- package/lib/utils/assignProps.js +37 -33
- package/lib/utils/assignProps.js.map +1 -1
- package/lib/utils/assignProps.mjs +36 -32
- package/lib/utils/assignProps.mjs.map +1 -1
- package/lib/utils/canUseDOM.js +1 -1
- package/lib/utils/capitalizeFirstLetter.js +1 -1
- package/lib/utils/color.js +95 -72
- package/lib/utils/color.js.map +1 -1
- package/lib/utils/color.mjs +94 -71
- package/lib/utils/color.mjs.map +1 -1
- package/lib/utils/compose.js +12 -3
- package/lib/utils/compose.js.map +1 -1
- package/lib/utils/compose.mjs +11 -2
- package/lib/utils/compose.mjs.map +1 -1
- package/lib/utils/createUUID.js +5 -5
- package/lib/utils/createUUID.js.map +1 -1
- package/lib/utils/createUUID.mjs +4 -4
- package/lib/utils/createUUID.mjs.map +1 -1
- package/lib/utils/cssToIntDefault.js +4 -3
- package/lib/utils/cssToIntDefault.js.map +1 -1
- package/lib/utils/cssToIntDefault.mjs +3 -2
- package/lib/utils/cssToIntDefault.mjs.map +1 -1
- package/lib/utils/enhances/WithCSS.js +8 -10
- package/lib/utils/enhances/WithCSS.js.map +1 -1
- package/lib/utils/enhances/WithCSS.mjs +6 -7
- package/lib/utils/enhances/WithCSS.mjs.map +1 -1
- package/lib/utils/enhances/WithI18n.js +19 -19
- package/lib/utils/enhances/WithI18n.js.map +1 -1
- package/lib/utils/enhances/WithI18n.mjs +17 -15
- package/lib/utils/enhances/WithI18n.mjs.map +1 -1
- package/lib/utils/enhances/a11yEnhance.js +39 -34
- package/lib/utils/enhances/a11yEnhance.js.map +1 -1
- package/lib/utils/enhances/a11yEnhance.mjs +36 -32
- package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.js +63 -55
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.mjs +58 -50
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
- package/lib/utils/enhances/contextEnhance.js +11 -12
- package/lib/utils/enhances/contextEnhance.js.map +1 -1
- package/lib/utils/enhances/contextEnhance.mjs +8 -9
- package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
- package/lib/utils/enhances/i18nEnhance.js +67 -51
- package/lib/utils/enhances/i18nEnhance.js.map +1 -1
- package/lib/utils/enhances/i18nEnhance.mjs +61 -47
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.js +10 -12
- package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.mjs +6 -8
- package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
- package/lib/utils/eventEmitter.js +57 -30
- package/lib/utils/eventEmitter.js.map +1 -1
- package/lib/utils/eventEmitter.mjs +55 -26
- package/lib/utils/eventEmitter.mjs.map +1 -1
- package/lib/utils/findComponent.js +42 -35
- package/lib/utils/findComponent.js.map +1 -1
- package/lib/utils/findComponent.mjs +33 -26
- package/lib/utils/findComponent.mjs.map +1 -1
- package/lib/utils/fire.js +13 -7
- package/lib/utils/fire.js.map +1 -1
- package/lib/utils/fire.mjs +11 -5
- package/lib/utils/fire.mjs.map +1 -1
- package/lib/utils/focus-lock/focusBorders.js +32 -28
- package/lib/utils/focus-lock/focusBorders.js.map +1 -1
- package/lib/utils/focus-lock/focusBorders.mjs +32 -26
- package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.js +6 -4
- package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.mjs +6 -3
- package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.js +6 -5
- package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.mjs +6 -4
- package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusable.js +12 -9
- package/lib/utils/focus-lock/isFocusable.js.map +1 -1
- package/lib/utils/focus-lock/isFocusable.mjs +11 -8
- package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
- package/lib/utils/focus-lock/setFocus.js +27 -21
- package/lib/utils/focus-lock/setFocus.js.map +1 -1
- package/lib/utils/focus-lock/setFocus.mjs +25 -19
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
- package/lib/utils/getAccessibleName.js +22 -10
- package/lib/utils/getAccessibleName.js.map +1 -1
- package/lib/utils/getAccessibleName.mjs +21 -10
- package/lib/utils/getAccessibleName.mjs.map +1 -1
- package/lib/utils/getDisplayName.js +1 -1
- package/lib/utils/getEventTarget.js +32 -13
- package/lib/utils/getEventTarget.js.map +1 -1
- package/lib/utils/getEventTarget.mjs +31 -12
- package/lib/utils/getEventTarget.mjs.map +1 -1
- package/lib/utils/getOriginChildren.js +4 -4
- package/lib/utils/getOriginChildren.js.map +1 -1
- package/lib/utils/getRandomInt.js +1 -1
- package/lib/utils/getValue.js +6 -4
- package/lib/utils/getValue.js.map +1 -1
- package/lib/utils/getValue.mjs +5 -3
- package/lib/utils/getValue.mjs.map +1 -1
- package/lib/utils/hasLabels.js +27 -16
- package/lib/utils/hasLabels.js.map +1 -1
- package/lib/utils/hasLabels.mjs +24 -14
- package/lib/utils/hasLabels.mjs.map +1 -1
- package/lib/utils/hasParent.js +2 -3
- package/lib/utils/hasParent.js.map +1 -1
- package/lib/utils/hasParent.mjs +3 -2
- package/lib/utils/hasParent.mjs.map +1 -1
- package/lib/utils/ifChildren.js +4 -6
- package/lib/utils/ifChildren.js.map +1 -1
- package/lib/utils/ifChildren.mjs +2 -4
- package/lib/utils/ifChildren.mjs.map +1 -1
- package/lib/utils/injectStyle.js +13 -11
- package/lib/utils/injectStyle.js.map +1 -1
- package/lib/utils/injectStyle.mjs +10 -9
- package/lib/utils/injectStyle.mjs.map +1 -1
- package/lib/utils/inputProps.js +5 -5
- package/lib/utils/inputProps.js.map +1 -1
- package/lib/utils/inputProps.mjs +4 -4
- package/lib/utils/inputProps.mjs.map +1 -1
- package/lib/utils/isInteractiveElement.js +9 -7
- package/lib/utils/isInteractiveElement.js.map +1 -1
- package/lib/utils/isInteractiveElement.mjs +9 -7
- package/lib/utils/isInteractiveElement.mjs.map +1 -1
- package/lib/utils/isNode.js +5 -4
- package/lib/utils/isNode.js.map +1 -1
- package/lib/utils/isNode.mjs +2 -1
- package/lib/utils/isNode.mjs.map +1 -1
- package/lib/utils/isPromise.js +1 -1
- package/lib/utils/isRetina.js +2 -7
- package/lib/utils/isRetina.js.map +1 -1
- package/lib/utils/isRetina.mjs +1 -6
- package/lib/utils/isRetina.mjs.map +1 -1
- package/lib/utils/logger.js +25 -18
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.mjs +21 -13
- package/lib/utils/logger.mjs.map +1 -1
- package/lib/utils/numericChecker.js +18 -11
- package/lib/utils/numericChecker.js.map +1 -1
- package/lib/utils/numericChecker.mjs +17 -10
- package/lib/utils/numericChecker.mjs.map +1 -1
- package/lib/utils/ownerDocument.js +2 -2
- package/lib/utils/ownerDocument.js.map +1 -1
- package/lib/utils/ownerDocument.mjs +1 -1
- package/lib/utils/ownerDocument.mjs.map +1 -1
- package/lib/utils/pick.js +5 -5
- package/lib/utils/pick.js.map +1 -1
- package/lib/utils/pick.mjs +4 -4
- package/lib/utils/pick.mjs.map +1 -1
- package/lib/utils/propsForElement.js +12 -10
- package/lib/utils/propsForElement.js.map +1 -1
- package/lib/utils/propsForElement.mjs +10 -8
- package/lib/utils/propsForElement.mjs.map +1 -1
- package/lib/utils/rafTrottle.js +14 -9
- package/lib/utils/rafTrottle.js.map +1 -1
- package/lib/utils/rafTrottle.mjs +12 -7
- package/lib/utils/rafTrottle.mjs.map +1 -1
- package/lib/utils/reactToText.js +8 -5
- package/lib/utils/reactToText.js.map +1 -1
- package/lib/utils/reactToText.mjs +6 -3
- package/lib/utils/reactToText.mjs.map +1 -1
- package/lib/utils/ref.js +47 -29
- package/lib/utils/ref.js.map +1 -1
- package/lib/utils/ref.mjs +43 -27
- package/lib/utils/ref.mjs.map +1 -1
- package/lib/utils/setRef.js +2 -2
- package/lib/utils/setRef.js.map +1 -1
- package/lib/utils/syncScroll.js +24 -24
- package/lib/utils/syncScroll.js.map +1 -1
- package/lib/utils/syncScroll.mjs +21 -21
- package/lib/utils/syncScroll.mjs.map +1 -1
- package/lib/utils/uncontroll.js +18 -8
- package/lib/utils/uncontroll.js.map +1 -1
- package/lib/utils/uncontroll.mjs +17 -8
- package/lib/utils/uncontroll.mjs.map +1 -1
- package/lib/utils/uniqueID.js +27 -22
- package/lib/utils/uniqueID.js.map +1 -1
- package/lib/utils/uniqueID.mjs +25 -18
- package/lib/utils/uniqueID.mjs.map +1 -1
- package/lib/utils/use/useColorResolver.js +21 -20
- package/lib/utils/use/useColorResolver.js.map +1 -1
- package/lib/utils/use/useColorResolver.mjs +18 -16
- package/lib/utils/use/useColorResolver.mjs.map +1 -1
- package/lib/utils/use/useEnhancedEffect.js +4 -4
- package/lib/utils/use/useEnhancedEffect.js.map +1 -1
- package/lib/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
- package/lib/utils/use/useEventCallback.js +10 -5
- package/lib/utils/use/useEventCallback.js.map +1 -1
- package/lib/utils/use/useEventCallback.mjs +8 -3
- package/lib/utils/use/useEventCallback.mjs.map +1 -1
- package/lib/utils/use/useEventListener.js +15 -11
- package/lib/utils/use/useEventListener.js.map +1 -1
- package/lib/utils/use/useEventListener.mjs +11 -7
- package/lib/utils/use/useEventListener.mjs.map +1 -1
- package/lib/utils/use/useFocusLock.js +94 -80
- package/lib/utils/use/useFocusLock.js.map +1 -1
- package/lib/utils/use/useFocusLock.mjs +88 -71
- package/lib/utils/use/useFocusLock.mjs.map +1 -1
- package/lib/utils/use/usePreventScroll.js +28 -26
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +23 -21
- package/lib/utils/use/usePreventScroll.mjs.map +1 -1
- package/lib/utils/use/useScrollBarWidth.js +14 -8
- package/lib/utils/use/useScrollBarWidth.js.map +1 -1
- package/lib/utils/use/useScrollBarWidth.mjs +13 -8
- package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
- package/lib/utils/useCssVariable.js +37 -32
- package/lib/utils/useCssVariable.js.map +1 -1
- package/lib/utils/useCssVariable.mjs +34 -27
- package/lib/utils/useCssVariable.mjs.map +1 -1
- package/lib/utils/zIndexStacking.js +24 -28
- package/lib/utils/zIndexStacking.js.map +1 -1
- package/lib/utils/zIndexStacking.mjs +22 -23
- package/lib/utils/zIndexStacking.mjs.map +1 -1
- package/package.json +1 -1
package/lib/utils/fire.mjs
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import getValue from "./getValue.mjs";
|
|
2
|
-
export default function fire(context, eventName
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export default function fire(context, eventName) {
|
|
3
|
+
var fn = getValue(context, "props.".concat(eventName));
|
|
4
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
5
|
+
args[_key - 2] = arguments[_key];
|
|
6
|
+
}
|
|
7
|
+
if (fn) return fn.call.apply(fn, [context].concat(args));
|
|
5
8
|
}
|
|
6
|
-
export function fireFn(fn
|
|
7
|
-
|
|
9
|
+
export function fireFn(fn) {
|
|
10
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
11
|
+
args[_key2 - 1] = arguments[_key2];
|
|
12
|
+
}
|
|
13
|
+
if (typeof fn === 'function') return fn.apply(void 0, args);
|
|
8
14
|
}
|
|
9
15
|
//# sourceMappingURL=fire.mjs.map
|
package/lib/utils/fire.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fire.mjs","names":["getValue","fire","context","eventName","args","
|
|
1
|
+
{"version":3,"file":"fire.mjs","names":["getValue","fire","context","eventName","fn","concat","_len","arguments","length","args","Array","_key","call","apply","fireFn","_len2","_key2"],"sources":["../../src/utils/fire.ts"],"sourcesContent":["import getValue from './getValue';\n\nexport default function fire<T extends {}>(context: T, eventName: string, ...args: any) {\n const fn = getValue(context, `props.${eventName}`);\n if (fn) return fn.call(context, ...args);\n}\n\nexport function fireFn(fn: (...args: any) => void, ...args: any[]) {\n if (typeof fn === 'function') return fn(...args);\n}\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAY;AAEjC,eAAe,SAASC,IAAIA,CAAeC,OAAU,EAAEC,SAAiB,EAAgB;EACtF,IAAMC,EAAE,GAAGJ,QAAQ,CAACE,OAAO,WAAAG,MAAA,CAAWF,SAAS,CAAE,CAAC;EAAC,SAAAG,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADwBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;EAAA;EAE/E,IAAIP,EAAE,EAAE,OAAOA,EAAE,CAACQ,IAAI,CAAAC,KAAA,CAAPT,EAAE,GAAMF,OAAO,EAAAG,MAAA,CAAKI,IAAI,EAAC;AAC1C;AAEA,OAAO,SAASK,MAAMA,CAACV,EAA0B,EAAkB;EAAA,SAAAW,KAAA,GAAAR,SAAA,CAAAC,MAAA,EAAbC,IAAI,OAAAC,KAAA,CAAAK,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJP,IAAI,CAAAO,KAAA,QAAAT,SAAA,CAAAS,KAAA;EAAA;EACxD,IAAI,OAAOZ,EAAE,KAAK,UAAU,EAAE,OAAOA,EAAE,CAAAS,KAAA,SAAIJ,IAAI,CAAC;AAClD","ignoreList":[]}
|
|
@@ -5,60 +5,64 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.removeFocusBorders = exports.addFocusBorders = exports.BEFORE_BORDER_ID = exports.AFTER_BORDER_ID = void 0;
|
|
7
7
|
var _getFocusableIn = require("./getFocusableIn");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
var focusBordersRefs = new Map();
|
|
9
|
+
var BEFORE_BORDER_ID = exports.BEFORE_BORDER_ID = '__intergalactic-focus-border-before';
|
|
10
|
+
var AFTER_BORDER_ID = exports.AFTER_BORDER_ID = '__intergalactic-focus-border-after';
|
|
11
|
+
var addFocusBorders = exports.addFocusBorders = function addFocusBorders(element) {
|
|
12
12
|
if (!focusBordersRefs.has(element) && !(element.previousSibling instanceof HTMLElement && element.previousSibling.dataset.id === BEFORE_BORDER_ID)) {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
var before = document.createElement('div');
|
|
14
|
+
var after = document.createElement('div');
|
|
15
15
|
focusBordersRefs.set(element, {
|
|
16
|
-
before,
|
|
17
|
-
after
|
|
16
|
+
before: before,
|
|
17
|
+
after: after
|
|
18
18
|
});
|
|
19
19
|
before.setAttribute('tabindex', '0');
|
|
20
20
|
before.style.position = 'fixed';
|
|
21
21
|
before.dataset.id = BEFORE_BORDER_ID;
|
|
22
|
-
before.addEventListener('focus', event
|
|
23
|
-
|
|
22
|
+
before.addEventListener('focus', function (event) {
|
|
23
|
+
var _focusBordersRefs$get, _focusBordersRefs$get2;
|
|
24
|
+
if (document.activeElement === ((_focusBordersRefs$get = focusBordersRefs.get(element)) === null || _focusBordersRefs$get === void 0 ? void 0 : _focusBordersRefs$get.before) && event.relatedTarget !== ((_focusBordersRefs$get2 = focusBordersRefs.get(element)) === null || _focusBordersRefs$get2 === void 0 ? void 0 : _focusBordersRefs$get2.after) &&
|
|
24
25
|
// prevent loop
|
|
25
26
|
event.relatedTarget // prevent initial focus
|
|
26
27
|
) {
|
|
27
|
-
|
|
28
|
+
var focusable = (0, _getFocusableIn.getFocusableIn)(element);
|
|
28
29
|
if (event.relatedTarget === focusable[0]) {
|
|
29
|
-
|
|
30
|
+
var _focusable;
|
|
31
|
+
(_focusable = focusable[focusable.length - 1]) === null || _focusable === void 0 || _focusable.focus();
|
|
30
32
|
} else {
|
|
31
|
-
|
|
33
|
+
var _focusable$;
|
|
34
|
+
(_focusable$ = focusable[0]) === null || _focusable$ === void 0 || _focusable$.focus();
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
});
|
|
35
38
|
after.setAttribute('tabindex', '0');
|
|
36
39
|
after.style.position = 'fixed';
|
|
37
40
|
after.dataset.id = AFTER_BORDER_ID;
|
|
38
|
-
after.addEventListener('focus', event
|
|
39
|
-
|
|
41
|
+
after.addEventListener('focus', function (event) {
|
|
42
|
+
var _focusBordersRefs$get3, _focusBordersRefs$get4;
|
|
43
|
+
if (document.activeElement === ((_focusBordersRefs$get3 = focusBordersRefs.get(element)) === null || _focusBordersRefs$get3 === void 0 ? void 0 : _focusBordersRefs$get3.after) && event.relatedTarget !== ((_focusBordersRefs$get4 = focusBordersRefs.get(element)) === null || _focusBordersRefs$get4 === void 0 ? void 0 : _focusBordersRefs$get4.before) &&
|
|
40
44
|
// prevent loop
|
|
41
45
|
event.relatedTarget // prevent initial focus
|
|
42
46
|
) {
|
|
43
|
-
|
|
47
|
+
var focusable = (0, _getFocusableIn.getFocusableIn)(element);
|
|
44
48
|
if (event.relatedTarget === focusable[focusable.length - 1]) {
|
|
45
|
-
|
|
49
|
+
var _focusable$2;
|
|
50
|
+
(_focusable$2 = focusable[0]) === null || _focusable$2 === void 0 || _focusable$2.focus();
|
|
46
51
|
} else {
|
|
47
|
-
|
|
52
|
+
var _focusable2;
|
|
53
|
+
(_focusable2 = focusable[focusable.length - 1]) === null || _focusable2 === void 0 || _focusable2.focus();
|
|
48
54
|
}
|
|
49
55
|
}
|
|
50
56
|
});
|
|
51
|
-
|
|
52
|
-
elementParent
|
|
53
|
-
elementParent
|
|
57
|
+
var elementParent = element.parentElement;
|
|
58
|
+
elementParent === null || elementParent === void 0 || elementParent.insertBefore(before, element);
|
|
59
|
+
elementParent === null || elementParent === void 0 || elementParent.append(after);
|
|
54
60
|
}
|
|
55
61
|
};
|
|
56
|
-
exports.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
focusRefs
|
|
60
|
-
|
|
61
|
-
focusBordersRefs.delete(element);
|
|
62
|
+
var removeFocusBorders = exports.removeFocusBorders = function removeFocusBorders(element) {
|
|
63
|
+
var focusRefs = focusBordersRefs.get(element);
|
|
64
|
+
focusRefs === null || focusRefs === void 0 || focusRefs.before.remove();
|
|
65
|
+
focusRefs === null || focusRefs === void 0 || focusRefs.after.remove();
|
|
66
|
+
focusBordersRefs["delete"](element);
|
|
62
67
|
};
|
|
63
|
-
exports.removeFocusBorders = removeFocusBorders;
|
|
64
68
|
//# sourceMappingURL=focusBorders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusBorders.js","names":["_getFocusableIn","require","focusBordersRefs","Map","BEFORE_BORDER_ID","exports","AFTER_BORDER_ID","addFocusBorders","element","has","previousSibling","HTMLElement","dataset","id","before","document","createElement","after","set","setAttribute","style","position","addEventListener","event","activeElement","get","relatedTarget","focusable","getFocusableIn","length","focus","elementParent","parentElement","insertBefore","append","removeFocusBorders","focusRefs","remove"
|
|
1
|
+
{"version":3,"file":"focusBorders.js","names":["_getFocusableIn","require","focusBordersRefs","Map","BEFORE_BORDER_ID","exports","AFTER_BORDER_ID","addFocusBorders","element","has","previousSibling","HTMLElement","dataset","id","before","document","createElement","after","set","setAttribute","style","position","addEventListener","event","_focusBordersRefs$get","_focusBordersRefs$get2","activeElement","get","relatedTarget","focusable","getFocusableIn","_focusable","length","focus","_focusable$","_focusBordersRefs$get3","_focusBordersRefs$get4","_focusable$2","_focusable2","elementParent","parentElement","insertBefore","append","removeFocusBorders","focusRefs","remove"],"sources":["../../../src/utils/focus-lock/focusBorders.ts"],"sourcesContent":["import { getFocusableIn } from './getFocusableIn';\n\nconst focusBordersRefs = new Map<HTMLElement, { before: HTMLElement; after: HTMLElement }>();\n\nexport const BEFORE_BORDER_ID = '__intergalactic-focus-border-before';\nexport const AFTER_BORDER_ID = '__intergalactic-focus-border-after';\n\nexport const addFocusBorders = (element: HTMLElement) => {\n if (\n !focusBordersRefs.has(element) &&\n !(\n element.previousSibling instanceof HTMLElement &&\n element.previousSibling.dataset.id === BEFORE_BORDER_ID\n )\n ) {\n const before = document.createElement('div');\n const after = document.createElement('div');\n\n focusBordersRefs.set(element, { before, after });\n\n before.setAttribute('tabindex', '0');\n before.style.position = 'fixed';\n before.dataset.id = BEFORE_BORDER_ID;\n before.addEventListener('focus', (event) => {\n if (\n document.activeElement === focusBordersRefs.get(element)?.before &&\n event.relatedTarget !== focusBordersRefs.get(element)?.after && // prevent loop\n event.relatedTarget // prevent initial focus\n ) {\n const focusable = getFocusableIn(element);\n\n if (event.relatedTarget === focusable[0]) {\n focusable[focusable.length - 1]?.focus();\n } else {\n focusable[0]?.focus();\n }\n }\n });\n\n after.setAttribute('tabindex', '0');\n after.style.position = 'fixed';\n after.dataset.id = AFTER_BORDER_ID;\n after.addEventListener('focus', (event) => {\n if (\n document.activeElement === focusBordersRefs.get(element)?.after &&\n event.relatedTarget !== focusBordersRefs.get(element)?.before && // prevent loop\n event.relatedTarget // prevent initial focus\n ) {\n const focusable = getFocusableIn(element);\n\n if (event.relatedTarget === focusable[focusable.length - 1]) {\n focusable[0]?.focus();\n } else {\n focusable[focusable.length - 1]?.focus();\n }\n }\n });\n\n const elementParent = element.parentElement;\n\n elementParent?.insertBefore(before, element);\n elementParent?.append(after);\n }\n};\nexport const removeFocusBorders = (element: HTMLElement) => {\n const focusRefs = focusBordersRefs.get(element);\n focusRefs?.before.remove();\n focusRefs?.after.remove();\n focusBordersRefs.delete(element);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,56 +1,62 @@
|
|
|
1
1
|
import { getFocusableIn } from "./getFocusableIn.mjs";
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
2
|
+
var focusBordersRefs = new Map();
|
|
3
|
+
export var BEFORE_BORDER_ID = '__intergalactic-focus-border-before';
|
|
4
|
+
export var AFTER_BORDER_ID = '__intergalactic-focus-border-after';
|
|
5
|
+
export var addFocusBorders = function addFocusBorders(element) {
|
|
6
6
|
if (!focusBordersRefs.has(element) && !(element.previousSibling instanceof HTMLElement && element.previousSibling.dataset.id === BEFORE_BORDER_ID)) {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var before = document.createElement('div');
|
|
8
|
+
var after = document.createElement('div');
|
|
9
9
|
focusBordersRefs.set(element, {
|
|
10
|
-
before,
|
|
11
|
-
after
|
|
10
|
+
before: before,
|
|
11
|
+
after: after
|
|
12
12
|
});
|
|
13
13
|
before.setAttribute('tabindex', '0');
|
|
14
14
|
before.style.position = 'fixed';
|
|
15
15
|
before.dataset.id = BEFORE_BORDER_ID;
|
|
16
|
-
before.addEventListener('focus', event
|
|
17
|
-
|
|
16
|
+
before.addEventListener('focus', function (event) {
|
|
17
|
+
var _focusBordersRefs$get, _focusBordersRefs$get2;
|
|
18
|
+
if (document.activeElement === ((_focusBordersRefs$get = focusBordersRefs.get(element)) === null || _focusBordersRefs$get === void 0 ? void 0 : _focusBordersRefs$get.before) && event.relatedTarget !== ((_focusBordersRefs$get2 = focusBordersRefs.get(element)) === null || _focusBordersRefs$get2 === void 0 ? void 0 : _focusBordersRefs$get2.after) &&
|
|
18
19
|
// prevent loop
|
|
19
20
|
event.relatedTarget // prevent initial focus
|
|
20
21
|
) {
|
|
21
|
-
|
|
22
|
+
var focusable = getFocusableIn(element);
|
|
22
23
|
if (event.relatedTarget === focusable[0]) {
|
|
23
|
-
|
|
24
|
+
var _focusable;
|
|
25
|
+
(_focusable = focusable[focusable.length - 1]) === null || _focusable === void 0 || _focusable.focus();
|
|
24
26
|
} else {
|
|
25
|
-
|
|
27
|
+
var _focusable$;
|
|
28
|
+
(_focusable$ = focusable[0]) === null || _focusable$ === void 0 || _focusable$.focus();
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
});
|
|
29
32
|
after.setAttribute('tabindex', '0');
|
|
30
33
|
after.style.position = 'fixed';
|
|
31
34
|
after.dataset.id = AFTER_BORDER_ID;
|
|
32
|
-
after.addEventListener('focus', event
|
|
33
|
-
|
|
35
|
+
after.addEventListener('focus', function (event) {
|
|
36
|
+
var _focusBordersRefs$get3, _focusBordersRefs$get4;
|
|
37
|
+
if (document.activeElement === ((_focusBordersRefs$get3 = focusBordersRefs.get(element)) === null || _focusBordersRefs$get3 === void 0 ? void 0 : _focusBordersRefs$get3.after) && event.relatedTarget !== ((_focusBordersRefs$get4 = focusBordersRefs.get(element)) === null || _focusBordersRefs$get4 === void 0 ? void 0 : _focusBordersRefs$get4.before) &&
|
|
34
38
|
// prevent loop
|
|
35
39
|
event.relatedTarget // prevent initial focus
|
|
36
40
|
) {
|
|
37
|
-
|
|
41
|
+
var focusable = getFocusableIn(element);
|
|
38
42
|
if (event.relatedTarget === focusable[focusable.length - 1]) {
|
|
39
|
-
|
|
43
|
+
var _focusable$2;
|
|
44
|
+
(_focusable$2 = focusable[0]) === null || _focusable$2 === void 0 || _focusable$2.focus();
|
|
40
45
|
} else {
|
|
41
|
-
|
|
46
|
+
var _focusable2;
|
|
47
|
+
(_focusable2 = focusable[focusable.length - 1]) === null || _focusable2 === void 0 || _focusable2.focus();
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
});
|
|
45
|
-
|
|
46
|
-
elementParent
|
|
47
|
-
elementParent
|
|
51
|
+
var elementParent = element.parentElement;
|
|
52
|
+
elementParent === null || elementParent === void 0 || elementParent.insertBefore(before, element);
|
|
53
|
+
elementParent === null || elementParent === void 0 || elementParent.append(after);
|
|
48
54
|
}
|
|
49
55
|
};
|
|
50
|
-
export
|
|
51
|
-
|
|
52
|
-
focusRefs
|
|
53
|
-
focusRefs
|
|
54
|
-
focusBordersRefs
|
|
56
|
+
export var removeFocusBorders = function removeFocusBorders(element) {
|
|
57
|
+
var focusRefs = focusBordersRefs.get(element);
|
|
58
|
+
focusRefs === null || focusRefs === void 0 || focusRefs.before.remove();
|
|
59
|
+
focusRefs === null || focusRefs === void 0 || focusRefs.after.remove();
|
|
60
|
+
focusBordersRefs["delete"](element);
|
|
55
61
|
};
|
|
56
62
|
//# sourceMappingURL=focusBorders.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusBorders.mjs","names":["getFocusableIn","focusBordersRefs","Map","BEFORE_BORDER_ID","AFTER_BORDER_ID","addFocusBorders","element","has","previousSibling","HTMLElement","dataset","id","before","document","createElement","after","set","setAttribute","style","position","addEventListener","event","activeElement","get","relatedTarget","focusable","length","focus","elementParent","parentElement","insertBefore","append","removeFocusBorders","focusRefs","remove"
|
|
1
|
+
{"version":3,"file":"focusBorders.mjs","names":["getFocusableIn","focusBordersRefs","Map","BEFORE_BORDER_ID","AFTER_BORDER_ID","addFocusBorders","element","has","previousSibling","HTMLElement","dataset","id","before","document","createElement","after","set","setAttribute","style","position","addEventListener","event","_focusBordersRefs$get","_focusBordersRefs$get2","activeElement","get","relatedTarget","focusable","_focusable","length","focus","_focusable$","_focusBordersRefs$get3","_focusBordersRefs$get4","_focusable$2","_focusable2","elementParent","parentElement","insertBefore","append","removeFocusBorders","focusRefs","remove"],"sources":["../../../src/utils/focus-lock/focusBorders.ts"],"sourcesContent":["import { getFocusableIn } from './getFocusableIn';\n\nconst focusBordersRefs = new Map<HTMLElement, { before: HTMLElement; after: HTMLElement }>();\n\nexport const BEFORE_BORDER_ID = '__intergalactic-focus-border-before';\nexport const AFTER_BORDER_ID = '__intergalactic-focus-border-after';\n\nexport const addFocusBorders = (element: HTMLElement) => {\n if (\n !focusBordersRefs.has(element) &&\n !(\n element.previousSibling instanceof HTMLElement &&\n element.previousSibling.dataset.id === BEFORE_BORDER_ID\n )\n ) {\n const before = document.createElement('div');\n const after = document.createElement('div');\n\n focusBordersRefs.set(element, { before, after });\n\n before.setAttribute('tabindex', '0');\n before.style.position = 'fixed';\n before.dataset.id = BEFORE_BORDER_ID;\n before.addEventListener('focus', (event) => {\n if (\n document.activeElement === focusBordersRefs.get(element)?.before &&\n event.relatedTarget !== focusBordersRefs.get(element)?.after && // prevent loop\n event.relatedTarget // prevent initial focus\n ) {\n const focusable = getFocusableIn(element);\n\n if (event.relatedTarget === focusable[0]) {\n focusable[focusable.length - 1]?.focus();\n } else {\n focusable[0]?.focus();\n }\n }\n });\n\n after.setAttribute('tabindex', '0');\n after.style.position = 'fixed';\n after.dataset.id = AFTER_BORDER_ID;\n after.addEventListener('focus', (event) => {\n if (\n document.activeElement === focusBordersRefs.get(element)?.after &&\n event.relatedTarget !== focusBordersRefs.get(element)?.before && // prevent loop\n event.relatedTarget // prevent initial focus\n ) {\n const focusable = getFocusableIn(element);\n\n if (event.relatedTarget === focusable[focusable.length - 1]) {\n focusable[0]?.focus();\n } else {\n focusable[focusable.length - 1]?.focus();\n }\n }\n });\n\n const elementParent = element.parentElement;\n\n elementParent?.insertBefore(before, element);\n elementParent?.append(after);\n }\n};\nexport const removeFocusBorders = (element: HTMLElement) => {\n const focusRefs = focusBordersRefs.get(element);\n focusRefs?.before.remove();\n focusRefs?.after.remove();\n focusBordersRefs.delete(element);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,9 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getFocusableIn = void 0;
|
|
7
7
|
var _isFocusable = require("./isFocusable");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
var getFocusableIn = exports.getFocusableIn = function getFocusableIn(node) {
|
|
9
|
+
var _node$ownerDocument;
|
|
10
|
+
var treeWalker = node === null || node === void 0 || (_node$ownerDocument = node.ownerDocument) === null || _node$ownerDocument === void 0 ? void 0 : _node$ownerDocument.createTreeWalker(node, NodeFilter.SHOW_ELEMENT, function (node) {
|
|
11
|
+
return 'ownerSVGElement' in node && node.ownerSVGElement ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;
|
|
12
|
+
});
|
|
13
|
+
var result = [];
|
|
11
14
|
if (!treeWalker) return result;
|
|
12
15
|
if ((0, _isFocusable.isFocusable)(treeWalker.currentNode)) {
|
|
13
16
|
result.push(treeWalker.currentNode);
|
|
@@ -19,5 +22,4 @@ const getFocusableIn = node => {
|
|
|
19
22
|
}
|
|
20
23
|
return result;
|
|
21
24
|
};
|
|
22
|
-
exports.getFocusableIn = getFocusableIn;
|
|
23
25
|
//# sourceMappingURL=getFocusableIn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFocusableIn.js","names":["_isFocusable","require","getFocusableIn","node","treeWalker","ownerDocument","createTreeWalker","NodeFilter","SHOW_ELEMENT","ownerSVGElement","FILTER_REJECT","FILTER_ACCEPT","result","isFocusable","currentNode","push","nextNode"
|
|
1
|
+
{"version":3,"file":"getFocusableIn.js","names":["_isFocusable","require","getFocusableIn","exports","node","_node$ownerDocument","treeWalker","ownerDocument","createTreeWalker","NodeFilter","SHOW_ELEMENT","ownerSVGElement","FILTER_REJECT","FILTER_ACCEPT","result","isFocusable","currentNode","push","nextNode"],"sources":["../../../src/utils/focus-lock/getFocusableIn.ts"],"sourcesContent":["import { isFocusable } from './isFocusable';\n\nexport const getFocusableIn = (node: HTMLElement) => {\n const treeWalker = node?.ownerDocument?.createTreeWalker(node, NodeFilter.SHOW_ELEMENT, (node) =>\n 'ownerSVGElement' in node && node.ownerSVGElement\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT,\n );\n\n const result: HTMLElement[] = [];\n\n if (!treeWalker) return result;\n if (isFocusable(treeWalker.currentNode)) {\n result.push(treeWalker.currentNode as HTMLElement);\n }\n while (treeWalker.nextNode() !== null) {\n if (isFocusable(treeWalker.currentNode)) {\n result.push(treeWalker.currentNode as HTMLElement);\n }\n }\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CAAIE,IAAiB,EAAK;EAAA,IAAAC,mBAAA;EACnD,IAAMC,UAAU,GAAGF,IAAI,aAAJA,IAAI,gBAAAC,mBAAA,GAAJD,IAAI,CAAEG,aAAa,cAAAF,mBAAA,uBAAnBA,mBAAA,CAAqBG,gBAAgB,CAACJ,IAAI,EAAEK,UAAU,CAACC,YAAY,EAAE,UAACN,IAAI;IAAA,OAC3F,iBAAiB,IAAIA,IAAI,IAAIA,IAAI,CAACO,eAAe,GAC7CF,UAAU,CAACG,aAAa,GACxBH,UAAU,CAACI,aAAa;EAAA,CAC9B,CAAC;EAED,IAAMC,MAAqB,GAAG,EAAE;EAEhC,IAAI,CAACR,UAAU,EAAE,OAAOQ,MAAM;EAC9B,IAAI,IAAAC,wBAAW,EAACT,UAAU,CAACU,WAAW,CAAC,EAAE;IACvCF,MAAM,CAACG,IAAI,CAACX,UAAU,CAACU,WAA0B,CAAC;EACpD;EACA,OAAOV,UAAU,CAACY,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE;IACrC,IAAI,IAAAH,wBAAW,EAACT,UAAU,CAACU,WAAW,CAAC,EAAE;MACvCF,MAAM,CAACG,IAAI,CAACX,UAAU,CAACU,WAA0B,CAAC;IACpD;EACF;EAEA,OAAOF,MAAM;AACf,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { isFocusable } from "./isFocusable.mjs";
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export var getFocusableIn = function getFocusableIn(node) {
|
|
3
|
+
var _node$ownerDocument;
|
|
4
|
+
var treeWalker = node === null || node === void 0 || (_node$ownerDocument = node.ownerDocument) === null || _node$ownerDocument === void 0 ? void 0 : _node$ownerDocument.createTreeWalker(node, NodeFilter.SHOW_ELEMENT, function (node) {
|
|
5
|
+
return 'ownerSVGElement' in node && node.ownerSVGElement ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;
|
|
6
|
+
});
|
|
7
|
+
var result = [];
|
|
5
8
|
if (!treeWalker) return result;
|
|
6
9
|
if (isFocusable(treeWalker.currentNode)) {
|
|
7
10
|
result.push(treeWalker.currentNode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFocusableIn.mjs","names":["isFocusable","getFocusableIn","node","treeWalker","ownerDocument","createTreeWalker","NodeFilter","SHOW_ELEMENT","ownerSVGElement","FILTER_REJECT","FILTER_ACCEPT","result","currentNode","push","nextNode"],"sources":["../../../src/utils/focus-lock/getFocusableIn.ts"],"sourcesContent":["import { isFocusable } from './isFocusable';\n\nexport const getFocusableIn = (node: HTMLElement) => {\n const treeWalker = node?.ownerDocument?.createTreeWalker(node, NodeFilter.SHOW_ELEMENT, (node) =>\n 'ownerSVGElement' in node && node.ownerSVGElement\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT,\n );\n\n const result: HTMLElement[] = [];\n\n if (!treeWalker) return result;\n if (isFocusable(treeWalker.currentNode)) {\n result.push(treeWalker.currentNode as HTMLElement);\n }\n while (treeWalker.nextNode() !== null) {\n if (isFocusable(treeWalker.currentNode)) {\n result.push(treeWalker.currentNode as HTMLElement);\n }\n }\n\n return result;\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mBAAe;AAE3C,OAAO,
|
|
1
|
+
{"version":3,"file":"getFocusableIn.mjs","names":["isFocusable","getFocusableIn","node","_node$ownerDocument","treeWalker","ownerDocument","createTreeWalker","NodeFilter","SHOW_ELEMENT","ownerSVGElement","FILTER_REJECT","FILTER_ACCEPT","result","currentNode","push","nextNode"],"sources":["../../../src/utils/focus-lock/getFocusableIn.ts"],"sourcesContent":["import { isFocusable } from './isFocusable';\n\nexport const getFocusableIn = (node: HTMLElement) => {\n const treeWalker = node?.ownerDocument?.createTreeWalker(node, NodeFilter.SHOW_ELEMENT, (node) =>\n 'ownerSVGElement' in node && node.ownerSVGElement\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT,\n );\n\n const result: HTMLElement[] = [];\n\n if (!treeWalker) return result;\n if (isFocusable(treeWalker.currentNode)) {\n result.push(treeWalker.currentNode as HTMLElement);\n }\n while (treeWalker.nextNode() !== null) {\n if (isFocusable(treeWalker.currentNode)) {\n result.push(treeWalker.currentNode as HTMLElement);\n }\n }\n\n return result;\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mBAAe;AAE3C,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAiB,EAAK;EAAA,IAAAC,mBAAA;EACnD,IAAMC,UAAU,GAAGF,IAAI,aAAJA,IAAI,gBAAAC,mBAAA,GAAJD,IAAI,CAAEG,aAAa,cAAAF,mBAAA,uBAAnBA,mBAAA,CAAqBG,gBAAgB,CAACJ,IAAI,EAAEK,UAAU,CAACC,YAAY,EAAE,UAACN,IAAI;IAAA,OAC3F,iBAAiB,IAAIA,IAAI,IAAIA,IAAI,CAACO,eAAe,GAC7CF,UAAU,CAACG,aAAa,GACxBH,UAAU,CAACI,aAAa;EAAA,CAC9B,CAAC;EAED,IAAMC,MAAqB,GAAG,EAAE;EAEhC,IAAI,CAACR,UAAU,EAAE,OAAOQ,MAAM;EAC9B,IAAIZ,WAAW,CAACI,UAAU,CAACS,WAAW,CAAC,EAAE;IACvCD,MAAM,CAACE,IAAI,CAACV,UAAU,CAACS,WAA0B,CAAC;EACpD;EACA,OAAOT,UAAU,CAACW,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE;IACrC,IAAIf,WAAW,CAACI,UAAU,CAACS,WAAW,CAAC,EAAE;MACvCD,MAAM,CAACE,IAAI,CAACV,UAAU,CAACS,WAA0B,CAAC;IACpD;EACF;EAEA,OAAOD,MAAM;AACf,CAAC","ignoreList":[]}
|
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.isFocusInside = void 0;
|
|
7
7
|
var _hasParent = require("../hasParent");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return nodes.some(
|
|
8
|
+
var isFocusInside = exports.isFocusInside = function isFocusInside(topNode, actualActiveElement) {
|
|
9
|
+
var activeElement = actualActiveElement || document.activeElement;
|
|
10
|
+
var nodes = Array.isArray(topNode) ? topNode : [topNode];
|
|
11
|
+
return nodes.some(function (node) {
|
|
12
|
+
return (0, _hasParent.hasParent)(activeElement, node);
|
|
13
|
+
});
|
|
12
14
|
};
|
|
13
|
-
exports.isFocusInside = isFocusInside;
|
|
14
15
|
//# sourceMappingURL=isFocusInside.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isFocusInside.js","names":["_hasParent","require","isFocusInside","topNode","actualActiveElement","activeElement","document","nodes","Array","isArray","some","node","hasParent"
|
|
1
|
+
{"version":3,"file":"isFocusInside.js","names":["_hasParent","require","isFocusInside","exports","topNode","actualActiveElement","activeElement","document","nodes","Array","isArray","some","node","hasParent"],"sources":["../../../src/utils/focus-lock/isFocusInside.ts"],"sourcesContent":["import { hasParent } from '../hasParent';\n\nexport const isFocusInside = (\n topNode: HTMLElement | HTMLElement[],\n actualActiveElement?: HTMLElement,\n): boolean => {\n const activeElement = actualActiveElement || document.activeElement;\n const nodes = Array.isArray(topNode) ? topNode : [topNode];\n return nodes.some((node) => hasParent(activeElement, node));\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEO,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CACxBE,OAAoC,EACpCC,mBAAiC,EACrB;EACZ,IAAMC,aAAa,GAAGD,mBAAmB,IAAIE,QAAQ,CAACD,aAAa;EACnE,IAAME,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EAC1D,OAAOI,KAAK,CAACG,IAAI,CAAC,UAACC,IAAI;IAAA,OAAK,IAAAC,oBAAS,EAACP,aAAa,EAAEM,IAAI,CAAC;EAAA,EAAC;AAC7D,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { hasParent } from "../hasParent.mjs";
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return nodes.some(
|
|
2
|
+
export var isFocusInside = function isFocusInside(topNode, actualActiveElement) {
|
|
3
|
+
var activeElement = actualActiveElement || document.activeElement;
|
|
4
|
+
var nodes = Array.isArray(topNode) ? topNode : [topNode];
|
|
5
|
+
return nodes.some(function (node) {
|
|
6
|
+
return hasParent(activeElement, node);
|
|
7
|
+
});
|
|
6
8
|
};
|
|
7
9
|
//# sourceMappingURL=isFocusInside.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isFocusInside.mjs","names":["hasParent","isFocusInside","topNode","actualActiveElement","activeElement","document","nodes","Array","isArray","some","node"],"sources":["../../../src/utils/focus-lock/isFocusInside.ts"],"sourcesContent":["import { hasParent } from '../hasParent';\n\nexport const isFocusInside = (\n topNode: HTMLElement | HTMLElement[],\n actualActiveElement?: HTMLElement,\n): boolean => {\n const activeElement = actualActiveElement || document.activeElement;\n const nodes = Array.isArray(topNode) ? topNode : [topNode];\n return nodes.some((node) => hasParent(activeElement, node));\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,kBAAc;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"isFocusInside.mjs","names":["hasParent","isFocusInside","topNode","actualActiveElement","activeElement","document","nodes","Array","isArray","some","node"],"sources":["../../../src/utils/focus-lock/isFocusInside.ts"],"sourcesContent":["import { hasParent } from '../hasParent';\n\nexport const isFocusInside = (\n topNode: HTMLElement | HTMLElement[],\n actualActiveElement?: HTMLElement,\n): boolean => {\n const activeElement = actualActiveElement || document.activeElement;\n const nodes = Array.isArray(topNode) ? topNode : [topNode];\n return nodes.some((node) => hasParent(activeElement, node));\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,kBAAc;AAExC,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,OAAoC,EACpCC,mBAAiC,EACrB;EACZ,IAAMC,aAAa,GAAGD,mBAAmB,IAAIE,QAAQ,CAACD,aAAa;EACnE,IAAME,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EAC1D,OAAOI,KAAK,CAACG,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKV,SAAS,CAACI,aAAa,EAAEM,IAAI,CAAC;EAAA,EAAC;AAC7D,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.isFocusable = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
7
9
|
var _focusBorders = require("./focusBorders");
|
|
8
|
-
|
|
10
|
+
var focusable = [['BUTTON'], ['SELECT'], ['TEXTAREA'], ['INPUT'], ['A', {
|
|
9
11
|
has: 'href'
|
|
10
12
|
}], ['AREA', {
|
|
11
13
|
has: 'href'
|
|
@@ -20,28 +22,29 @@ const focusable = [['BUTTON'], ['SELECT'], ['TEXTAREA'], ['INPUT'], ['A', {
|
|
|
20
22
|
}], [{
|
|
21
23
|
has: 'autofocus'
|
|
22
24
|
}]];
|
|
23
|
-
|
|
25
|
+
var isFocusable = exports.isFocusable = function isFocusable(node) {
|
|
26
|
+
var _node$ownerDocument$d;
|
|
24
27
|
if (!node) return false;
|
|
25
28
|
if (!node.ownerDocument) return false;
|
|
26
|
-
if (!node.ownerDocument.defaultView
|
|
29
|
+
if (!((_node$ownerDocument$d = node.ownerDocument.defaultView) !== null && _node$ownerDocument$d !== void 0 && _node$ownerDocument$d.HTMLElement)) return false;
|
|
27
30
|
if (!(node instanceof node.ownerDocument.defaultView.HTMLElement || node instanceof node.ownerDocument.defaultView.SVGElement)) return false;
|
|
28
31
|
if (node.hasAttribute('disabled')) return false;
|
|
29
32
|
if (node.getAttribute('tabindex') === '-1') return false;
|
|
30
33
|
if (node.getAttribute('hidden') !== null) return false;
|
|
31
34
|
if (node.getAttribute('data-id') === _focusBorders.BEFORE_BORDER_ID || node.getAttribute('data-id') === _focusBorders.AFTER_BORDER_ID) return false;
|
|
32
|
-
|
|
33
|
-
for (
|
|
34
|
-
|
|
35
|
+
var tagName = node.tagName;
|
|
36
|
+
for (var _i = 0, _focusable = focusable; _i < _focusable.length; _i++) {
|
|
37
|
+
var params = _focusable[_i];
|
|
38
|
+
if (params.every(function (param) {
|
|
35
39
|
if (typeof param === 'string' && param === tagName) return true;
|
|
36
|
-
if (
|
|
40
|
+
if ((0, _typeof2["default"])(param) === 'object' && param.has && node.hasAttribute(param.has)) return true;
|
|
37
41
|
return false;
|
|
38
42
|
})) {
|
|
39
|
-
|
|
43
|
+
var style = getComputedStyle(node);
|
|
40
44
|
if (style.display === 'none' || style.visibility === 'hidden') return false;
|
|
41
45
|
return true;
|
|
42
46
|
}
|
|
43
47
|
}
|
|
44
48
|
return false;
|
|
45
49
|
};
|
|
46
|
-
exports.isFocusable = isFocusable;
|
|
47
50
|
//# sourceMappingURL=isFocusable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isFocusable.js","names":["_focusBorders","require","focusable","has","isFocusable","node","ownerDocument","defaultView","HTMLElement","SVGElement","hasAttribute","getAttribute","BEFORE_BORDER_ID","AFTER_BORDER_ID","tagName","params","every","param","style","getComputedStyle","display","visibility"
|
|
1
|
+
{"version":3,"file":"isFocusable.js","names":["_focusBorders","require","focusable","has","isFocusable","exports","node","_node$ownerDocument$d","ownerDocument","defaultView","HTMLElement","SVGElement","hasAttribute","getAttribute","BEFORE_BORDER_ID","AFTER_BORDER_ID","tagName","_i","_focusable","length","params","every","param","_typeof2","style","getComputedStyle","display","visibility"],"sources":["../../../src/utils/focus-lock/isFocusable.ts"],"sourcesContent":["import { AFTER_BORDER_ID, BEFORE_BORDER_ID } from './focusBorders';\n\nconst focusable = [\n ['BUTTON'],\n ['SELECT'],\n ['TEXTAREA'],\n ['INPUT'],\n ['A', { has: 'href' }],\n ['AREA', { has: 'href' }],\n ['SUMMARY'],\n ['IFRAME'],\n ['OBJECT'],\n ['EMBED'],\n ['AUDIO', { has: 'controls' }],\n ['VIDEO', { has: 'controls' }],\n [{ has: 'tabindex' }],\n [{ has: 'contenteditable' }],\n [{ has: 'autofocus' }],\n];\n\nexport const isFocusable = (node: Node) => {\n if (!node) return false;\n if (!node.ownerDocument) return false;\n if (!node.ownerDocument.defaultView?.HTMLElement) return false;\n if (\n !(\n node instanceof node.ownerDocument.defaultView.HTMLElement ||\n node instanceof node.ownerDocument.defaultView.SVGElement\n )\n )\n return false;\n if (node.hasAttribute('disabled')) return false;\n if (node.getAttribute('tabindex') === '-1') return false;\n if (node.getAttribute('hidden') !== null) return false;\n if (\n node.getAttribute('data-id') === BEFORE_BORDER_ID ||\n node.getAttribute('data-id') === AFTER_BORDER_ID\n )\n return false;\n const tagName = node.tagName;\n for (const params of focusable) {\n if (\n params.every((param) => {\n if (typeof param === 'string' && param === tagName) return true;\n if (typeof param === 'object' && param.has && node.hasAttribute(param.has)) return true;\n return false;\n })\n ) {\n const style = getComputedStyle(node);\n if (style.display === 'none' || style.visibility === 'hidden') return false;\n\n return true;\n }\n }\n return false;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,IAAMC,SAAS,GAAG,CAChB,CAAC,QAAQ,CAAC,EACV,CAAC,QAAQ,CAAC,EACV,CAAC,UAAU,CAAC,EACZ,CAAC,OAAO,CAAC,EACT,CAAC,GAAG,EAAE;EAAEC,GAAG,EAAE;AAAO,CAAC,CAAC,EACtB,CAAC,MAAM,EAAE;EAAEA,GAAG,EAAE;AAAO,CAAC,CAAC,EACzB,CAAC,SAAS,CAAC,EACX,CAAC,QAAQ,CAAC,EACV,CAAC,QAAQ,CAAC,EACV,CAAC,OAAO,CAAC,EACT,CAAC,OAAO,EAAE;EAAEA,GAAG,EAAE;AAAW,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAE;EAAEA,GAAG,EAAE;AAAW,CAAC,CAAC,EAC9B,CAAC;EAAEA,GAAG,EAAE;AAAW,CAAC,CAAC,EACrB,CAAC;EAAEA,GAAG,EAAE;AAAkB,CAAC,CAAC,EAC5B,CAAC;EAAEA,GAAG,EAAE;AAAY,CAAC,CAAC,CACvB;AAEM,IAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAdA,WAAWA,CAAIE,IAAU,EAAK;EAAA,IAAAC,qBAAA;EACzC,IAAI,CAACD,IAAI,EAAE,OAAO,KAAK;EACvB,IAAI,CAACA,IAAI,CAACE,aAAa,EAAE,OAAO,KAAK;EACrC,IAAI,GAAAD,qBAAA,GAACD,IAAI,CAACE,aAAa,CAACC,WAAW,cAAAF,qBAAA,eAA9BA,qBAAA,CAAgCG,WAAW,GAAE,OAAO,KAAK;EAC9D,IACE,EACEJ,IAAI,YAAYA,IAAI,CAACE,aAAa,CAACC,WAAW,CAACC,WAAW,IAC1DJ,IAAI,YAAYA,IAAI,CAACE,aAAa,CAACC,WAAW,CAACE,UAAU,CAC1D,EAED,OAAO,KAAK;EACd,IAAIL,IAAI,CAACM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;EAC/C,IAAIN,IAAI,CAACO,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,OAAO,KAAK;EACxD,IAAIP,IAAI,CAACO,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,OAAO,KAAK;EACtD,IACEP,IAAI,CAACO,YAAY,CAAC,SAAS,CAAC,KAAKC,8BAAgB,IACjDR,IAAI,CAACO,YAAY,CAAC,SAAS,CAAC,KAAKE,6BAAe,EAEhD,OAAO,KAAK;EACd,IAAMC,OAAO,GAAGV,IAAI,CAACU,OAAO;EAC5B,SAAAC,EAAA,MAAAC,UAAA,GAAqBhB,SAAS,EAAAe,EAAA,GAAAC,UAAA,CAAAC,MAAA,EAAAF,EAAA,IAAE;IAA3B,IAAMG,MAAM,GAAAF,UAAA,CAAAD,EAAA;IACf,IACEG,MAAM,CAACC,KAAK,CAAC,UAACC,KAAK,EAAK;MACtB,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAKN,OAAO,EAAE,OAAO,IAAI;MAC/D,IAAI,IAAAO,QAAA,aAAOD,KAAK,MAAK,QAAQ,IAAIA,KAAK,CAACnB,GAAG,IAAIG,IAAI,CAACM,YAAY,CAACU,KAAK,CAACnB,GAAG,CAAC,EAAE,OAAO,IAAI;MACvF,OAAO,KAAK;IACd,CAAC,CAAC,EACF;MACA,IAAMqB,KAAK,GAAGC,gBAAgB,CAACnB,IAAI,CAAC;MACpC,IAAIkB,KAAK,CAACE,OAAO,KAAK,MAAM,IAAIF,KAAK,CAACG,UAAU,KAAK,QAAQ,EAAE,OAAO,KAAK;MAE3E,OAAO,IAAI;IACb;EACF;EACA,OAAO,KAAK;AACd,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
1
2
|
import { AFTER_BORDER_ID, BEFORE_BORDER_ID } from "./focusBorders.mjs";
|
|
2
|
-
|
|
3
|
+
var focusable = [['BUTTON'], ['SELECT'], ['TEXTAREA'], ['INPUT'], ['A', {
|
|
3
4
|
has: 'href'
|
|
4
5
|
}], ['AREA', {
|
|
5
6
|
has: 'href'
|
|
@@ -14,23 +15,25 @@ const focusable = [['BUTTON'], ['SELECT'], ['TEXTAREA'], ['INPUT'], ['A', {
|
|
|
14
15
|
}], [{
|
|
15
16
|
has: 'autofocus'
|
|
16
17
|
}]];
|
|
17
|
-
export
|
|
18
|
+
export var isFocusable = function isFocusable(node) {
|
|
19
|
+
var _node$ownerDocument$d;
|
|
18
20
|
if (!node) return false;
|
|
19
21
|
if (!node.ownerDocument) return false;
|
|
20
|
-
if (!node.ownerDocument.defaultView
|
|
22
|
+
if (!((_node$ownerDocument$d = node.ownerDocument.defaultView) !== null && _node$ownerDocument$d !== void 0 && _node$ownerDocument$d.HTMLElement)) return false;
|
|
21
23
|
if (!(node instanceof node.ownerDocument.defaultView.HTMLElement || node instanceof node.ownerDocument.defaultView.SVGElement)) return false;
|
|
22
24
|
if (node.hasAttribute('disabled')) return false;
|
|
23
25
|
if (node.getAttribute('tabindex') === '-1') return false;
|
|
24
26
|
if (node.getAttribute('hidden') !== null) return false;
|
|
25
27
|
if (node.getAttribute('data-id') === BEFORE_BORDER_ID || node.getAttribute('data-id') === AFTER_BORDER_ID) return false;
|
|
26
|
-
|
|
27
|
-
for (
|
|
28
|
-
|
|
28
|
+
var tagName = node.tagName;
|
|
29
|
+
for (var _i = 0, _focusable = focusable; _i < _focusable.length; _i++) {
|
|
30
|
+
var params = _focusable[_i];
|
|
31
|
+
if (params.every(function (param) {
|
|
29
32
|
if (typeof param === 'string' && param === tagName) return true;
|
|
30
|
-
if (
|
|
33
|
+
if (_typeof(param) === 'object' && param.has && node.hasAttribute(param.has)) return true;
|
|
31
34
|
return false;
|
|
32
35
|
})) {
|
|
33
|
-
|
|
36
|
+
var style = getComputedStyle(node);
|
|
34
37
|
if (style.display === 'none' || style.visibility === 'hidden') return false;
|
|
35
38
|
return true;
|
|
36
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isFocusable.mjs","names":["AFTER_BORDER_ID","BEFORE_BORDER_ID","focusable","has","isFocusable","node","ownerDocument","defaultView","HTMLElement","SVGElement","hasAttribute","getAttribute","tagName","params","every","param","style","getComputedStyle","display","visibility"],"sources":["../../../src/utils/focus-lock/isFocusable.ts"],"sourcesContent":["import { AFTER_BORDER_ID, BEFORE_BORDER_ID } from './focusBorders';\n\nconst focusable = [\n ['BUTTON'],\n ['SELECT'],\n ['TEXTAREA'],\n ['INPUT'],\n ['A', { has: 'href' }],\n ['AREA', { has: 'href' }],\n ['SUMMARY'],\n ['IFRAME'],\n ['OBJECT'],\n ['EMBED'],\n ['AUDIO', { has: 'controls' }],\n ['VIDEO', { has: 'controls' }],\n [{ has: 'tabindex' }],\n [{ has: 'contenteditable' }],\n [{ has: 'autofocus' }],\n];\n\nexport const isFocusable = (node: Node) => {\n if (!node) return false;\n if (!node.ownerDocument) return false;\n if (!node.ownerDocument.defaultView?.HTMLElement) return false;\n if (\n !(\n node instanceof node.ownerDocument.defaultView.HTMLElement ||\n node instanceof node.ownerDocument.defaultView.SVGElement\n )\n )\n return false;\n if (node.hasAttribute('disabled')) return false;\n if (node.getAttribute('tabindex') === '-1') return false;\n if (node.getAttribute('hidden') !== null) return false;\n if (\n node.getAttribute('data-id') === BEFORE_BORDER_ID ||\n node.getAttribute('data-id') === AFTER_BORDER_ID\n )\n return false;\n const tagName = node.tagName;\n for (const params of focusable) {\n if (\n params.every((param) => {\n if (typeof param === 'string' && param === tagName) return true;\n if (typeof param === 'object' && param.has && node.hasAttribute(param.has)) return true;\n return false;\n })\n ) {\n const style = getComputedStyle(node);\n if (style.display === 'none' || style.visibility === 'hidden') return false;\n\n return true;\n }\n }\n return false;\n};\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,gBAAgB,QAAQ,oBAAgB;AAElE,
|
|
1
|
+
{"version":3,"file":"isFocusable.mjs","names":["AFTER_BORDER_ID","BEFORE_BORDER_ID","focusable","has","isFocusable","node","_node$ownerDocument$d","ownerDocument","defaultView","HTMLElement","SVGElement","hasAttribute","getAttribute","tagName","_i","_focusable","length","params","every","param","_typeof","style","getComputedStyle","display","visibility"],"sources":["../../../src/utils/focus-lock/isFocusable.ts"],"sourcesContent":["import { AFTER_BORDER_ID, BEFORE_BORDER_ID } from './focusBorders';\n\nconst focusable = [\n ['BUTTON'],\n ['SELECT'],\n ['TEXTAREA'],\n ['INPUT'],\n ['A', { has: 'href' }],\n ['AREA', { has: 'href' }],\n ['SUMMARY'],\n ['IFRAME'],\n ['OBJECT'],\n ['EMBED'],\n ['AUDIO', { has: 'controls' }],\n ['VIDEO', { has: 'controls' }],\n [{ has: 'tabindex' }],\n [{ has: 'contenteditable' }],\n [{ has: 'autofocus' }],\n];\n\nexport const isFocusable = (node: Node) => {\n if (!node) return false;\n if (!node.ownerDocument) return false;\n if (!node.ownerDocument.defaultView?.HTMLElement) return false;\n if (\n !(\n node instanceof node.ownerDocument.defaultView.HTMLElement ||\n node instanceof node.ownerDocument.defaultView.SVGElement\n )\n )\n return false;\n if (node.hasAttribute('disabled')) return false;\n if (node.getAttribute('tabindex') === '-1') return false;\n if (node.getAttribute('hidden') !== null) return false;\n if (\n node.getAttribute('data-id') === BEFORE_BORDER_ID ||\n node.getAttribute('data-id') === AFTER_BORDER_ID\n )\n return false;\n const tagName = node.tagName;\n for (const params of focusable) {\n if (\n params.every((param) => {\n if (typeof param === 'string' && param === tagName) return true;\n if (typeof param === 'object' && param.has && node.hasAttribute(param.has)) return true;\n return false;\n })\n ) {\n const style = getComputedStyle(node);\n if (style.display === 'none' || style.visibility === 'hidden') return false;\n\n return true;\n }\n }\n return false;\n};\n"],"mappings":";AAAA,SAASA,eAAe,EAAEC,gBAAgB,QAAQ,oBAAgB;AAElE,IAAMC,SAAS,GAAG,CAChB,CAAC,QAAQ,CAAC,EACV,CAAC,QAAQ,CAAC,EACV,CAAC,UAAU,CAAC,EACZ,CAAC,OAAO,CAAC,EACT,CAAC,GAAG,EAAE;EAAEC,GAAG,EAAE;AAAO,CAAC,CAAC,EACtB,CAAC,MAAM,EAAE;EAAEA,GAAG,EAAE;AAAO,CAAC,CAAC,EACzB,CAAC,SAAS,CAAC,EACX,CAAC,QAAQ,CAAC,EACV,CAAC,QAAQ,CAAC,EACV,CAAC,OAAO,CAAC,EACT,CAAC,OAAO,EAAE;EAAEA,GAAG,EAAE;AAAW,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAE;EAAEA,GAAG,EAAE;AAAW,CAAC,CAAC,EAC9B,CAAC;EAAEA,GAAG,EAAE;AAAW,CAAC,CAAC,EACrB,CAAC;EAAEA,GAAG,EAAE;AAAkB,CAAC,CAAC,EAC5B,CAAC;EAAEA,GAAG,EAAE;AAAY,CAAC,CAAC,CACvB;AAED,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAAU,EAAK;EAAA,IAAAC,qBAAA;EACzC,IAAI,CAACD,IAAI,EAAE,OAAO,KAAK;EACvB,IAAI,CAACA,IAAI,CAACE,aAAa,EAAE,OAAO,KAAK;EACrC,IAAI,GAAAD,qBAAA,GAACD,IAAI,CAACE,aAAa,CAACC,WAAW,cAAAF,qBAAA,eAA9BA,qBAAA,CAAgCG,WAAW,GAAE,OAAO,KAAK;EAC9D,IACE,EACEJ,IAAI,YAAYA,IAAI,CAACE,aAAa,CAACC,WAAW,CAACC,WAAW,IAC1DJ,IAAI,YAAYA,IAAI,CAACE,aAAa,CAACC,WAAW,CAACE,UAAU,CAC1D,EAED,OAAO,KAAK;EACd,IAAIL,IAAI,CAACM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;EAC/C,IAAIN,IAAI,CAACO,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,OAAO,KAAK;EACxD,IAAIP,IAAI,CAACO,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,OAAO,KAAK;EACtD,IACEP,IAAI,CAACO,YAAY,CAAC,SAAS,CAAC,KAAKX,gBAAgB,IACjDI,IAAI,CAACO,YAAY,CAAC,SAAS,CAAC,KAAKZ,eAAe,EAEhD,OAAO,KAAK;EACd,IAAMa,OAAO,GAAGR,IAAI,CAACQ,OAAO;EAC5B,SAAAC,EAAA,MAAAC,UAAA,GAAqBb,SAAS,EAAAY,EAAA,GAAAC,UAAA,CAAAC,MAAA,EAAAF,EAAA,IAAE;IAA3B,IAAMG,MAAM,GAAAF,UAAA,CAAAD,EAAA;IACf,IACEG,MAAM,CAACC,KAAK,CAAC,UAACC,KAAK,EAAK;MACtB,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAKN,OAAO,EAAE,OAAO,IAAI;MAC/D,IAAIO,OAAA,CAAOD,KAAK,MAAK,QAAQ,IAAIA,KAAK,CAAChB,GAAG,IAAIE,IAAI,CAACM,YAAY,CAACQ,KAAK,CAAChB,GAAG,CAAC,EAAE,OAAO,IAAI;MACvF,OAAO,KAAK;IACd,CAAC,CAAC,EACF;MACA,IAAMkB,KAAK,GAAGC,gBAAgB,CAACjB,IAAI,CAAC;MACpC,IAAIgB,KAAK,CAACE,OAAO,KAAK,MAAM,IAAIF,KAAK,CAACG,UAAU,KAAK,QAAQ,EAAE,OAAO,KAAK;MAE3E,OAAO,IAAI;IACb;EACF;EACA,OAAO,KAAK;AACd,CAAC","ignoreList":[]}
|