@semcore/core 16.0.0-prerelease.7 → 16.0.0
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/CHANGELOG.md +23 -1
- package/lib/{LastInteractionType.cjs → LastInteractionType.js} +1 -1
- package/lib/LastInteractionType.js.map +1 -0
- package/lib/LastInteractionType.mjs.map +1 -0
- package/lib/core-types/Component.d.ts +2 -2
- package/lib/core-types/{Component.cjs → Component.js} +1 -1
- package/lib/core-types/Component.js.map +1 -0
- package/lib/core-types/Component.mjs.map +1 -0
- package/lib/core-types/UnknownProperties.js +2 -0
- package/lib/core-types/UnknownProperties.js.map +1 -0
- package/lib/core-types/UnknownProperties.mjs +2 -0
- package/lib/core-types/{UnknownProperties.cjs.map → UnknownProperties.mjs.map} +1 -1
- package/lib/core-types/reshadow.d.js +2 -0
- package/lib/core-types/reshadow.d.js.map +1 -0
- package/lib/core-types/reshadow.d.mjs +2 -0
- package/lib/core-types/{reshadow.d.cjs.map → reshadow.d.mjs.map} +1 -1
- package/lib/core-types/{symbols.cjs → symbols.js} +1 -1
- package/lib/core-types/symbols.js.map +1 -0
- package/lib/core-types/symbols.mjs.map +1 -0
- package/lib/{coreFactory.cjs → coreFactory.js} +1 -1
- package/lib/coreFactory.js.map +1 -0
- package/lib/coreFactory.mjs +1 -1
- package/lib/coreFactory.mjs.map +1 -0
- package/lib/enhancement/{Children.cjs → Children.js} +1 -1
- package/lib/enhancement/Children.js.map +1 -0
- package/lib/enhancement/Children.mjs +1 -1
- package/lib/enhancement/Children.mjs.map +1 -0
- package/lib/enhancement/{Root.cjs → Root.js} +1 -1
- package/lib/enhancement/Root.js.map +1 -0
- package/lib/enhancement/Root.mjs +1 -5
- package/lib/enhancement/Root.mjs.map +1 -0
- package/lib/enhancement/{bindHandler.cjs → bindHandler.js} +1 -1
- package/lib/enhancement/bindHandler.js.map +1 -0
- package/lib/enhancement/bindHandler.mjs.map +1 -0
- package/lib/enhancement/{dataName.cjs → dataName.js} +1 -1
- package/lib/enhancement/dataName.js.map +1 -0
- package/lib/enhancement/dataName.mjs.map +1 -0
- package/lib/enhancement/{enhance.cjs → enhance.js} +1 -1
- package/lib/enhancement/enhance.js.map +1 -0
- package/lib/enhancement/enhance.mjs.map +1 -0
- package/lib/enhancement/{functionDefaultProps.cjs → functionDefaultProps.js} +1 -1
- package/lib/enhancement/functionDefaultProps.js.map +1 -0
- package/lib/enhancement/functionDefaultProps.mjs.map +1 -0
- package/lib/enhancement/{hoistProps.cjs → hoistProps.js} +1 -1
- package/lib/enhancement/hoistProps.js.map +1 -0
- package/lib/enhancement/hoistProps.mjs.map +1 -0
- package/lib/enhancement/{i18n.cjs → i18n.js} +1 -1
- package/lib/enhancement/i18n.js.map +1 -0
- package/lib/enhancement/i18n.mjs.map +1 -0
- package/lib/enhancement/{inheritedName.cjs → inheritedName.js} +1 -1
- package/lib/enhancement/inheritedName.js.map +1 -0
- package/lib/enhancement/inheritedName.mjs.map +1 -0
- package/lib/enhancement/{staticChildren.cjs → staticChildren.js} +1 -1
- package/lib/enhancement/staticChildren.js.map +1 -0
- package/lib/enhancement/staticChildren.mjs.map +1 -0
- package/lib/enhancement/{style.cjs → style.js} +1 -1
- package/lib/enhancement/style.js.map +1 -0
- package/lib/enhancement/style.mjs +2 -3
- package/lib/enhancement/style.mjs.map +1 -0
- package/lib/enhancement/{uncontrolledProps.cjs → uncontrolledProps.js} +1 -1
- package/lib/enhancement/uncontrolledProps.js.map +1 -0
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -0
- package/lib/esm/coreFactory.mjs +1 -1
- package/lib/esm/enhancement/Children.mjs +1 -1
- package/lib/esm/enhancement/Root.mjs +1 -5
- package/lib/esm/enhancement/style.mjs +2 -3
- package/lib/esm/index.mjs +1 -0
- package/lib/esm/styled/index.mjs +8 -0
- package/lib/esm/styled/reshadow-core.mjs +219 -3
- package/lib/esm/utils/assignProps.mjs +10 -0
- package/lib/esm/utils/createHoc.mjs +44 -0
- package/lib/esm/utils/enhances/WithI18n.mjs +30 -6
- package/lib/esm/utils/enhances/i18nEnhance.mjs +91 -0
- package/lib/esm/utils/getDisplayName.mjs +6 -0
- package/lib/esm/utils/ref.mjs +46 -2
- package/lib/{index.cjs → index.js} +1 -1
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +1 -0
- package/lib/index.mjs.map +1 -0
- package/lib/{register.cjs → register.js} +1 -1
- package/lib/register.js.map +1 -0
- package/lib/register.mjs.map +1 -0
- package/lib/styled/{index.cjs → index.js} +1 -1
- package/lib/styled/index.js.map +1 -0
- package/lib/styled/index.mjs +8 -0
- package/lib/styled/index.mjs.map +1 -0
- package/lib/styled/{reshadow-core.cjs → reshadow-core.js} +1 -1
- package/lib/styled/reshadow-core.js.map +1 -0
- package/lib/styled/reshadow-core.mjs +219 -3
- package/lib/styled/reshadow-core.mjs.map +1 -0
- package/lib/styled/{sstyled.cjs → sstyled.js} +1 -1
- package/lib/styled/sstyled.js.map +1 -0
- package/lib/styled/sstyled.mjs.map +1 -0
- package/lib/theme/dark.json +2 -2
- package/lib/theme/light.json +3 -3
- package/lib/theme/{processor.cjs → processor.js} +1 -1
- package/lib/theme/processor.js.map +1 -0
- package/lib/theme/processor.mjs +307 -0
- package/lib/theme/processor.mjs.map +1 -0
- package/lib/theme/themes/auto.css +5 -5
- package/lib/theme/themes/dark.css +2 -2
- package/lib/theme/themes/dark.d.ts +1 -1
- package/lib/theme/themes/{dark.cjs → dark.js} +2 -2
- package/lib/theme/themes/dark.js.map +1 -0
- package/lib/theme/themes/dark.mjs +378 -0
- package/lib/theme/themes/dark.mjs.map +1 -0
- package/lib/theme/themes/default.css +3 -3
- package/lib/theme/themes/default.d.ts +1 -1
- package/lib/theme/themes/{light.cjs → default.js} +3 -3
- package/lib/theme/themes/default.js.map +1 -0
- package/lib/theme/themes/default.mjs +387 -0
- package/lib/theme/themes/default.mjs.map +1 -0
- package/lib/theme/themes/light.css +3 -3
- package/lib/theme/themes/light.d.ts +1 -1
- package/lib/theme/themes/{default.cjs → light.js} +3 -3
- package/lib/theme/themes/light.js.map +1 -0
- package/lib/theme/themes/light.mjs +387 -0
- package/lib/theme/themes/light.mjs.map +1 -0
- package/lib/theme/{utils.cjs → utils.js} +1 -1
- package/lib/theme/utils.js.map +1 -0
- package/lib/theme/utils.mjs +286 -0
- package/lib/theme/utils.mjs.map +1 -0
- package/lib/utils/{CSSinJS.cjs → CSSinJS.js} +1 -1
- package/lib/utils/CSSinJS.js.map +1 -0
- package/lib/utils/CSSinJS.mjs +28 -0
- package/lib/utils/CSSinJS.mjs.map +1 -0
- package/lib/utils/{ScreenReaderOnly.cjs → ScreenReaderOnly.js} +1 -1
- package/lib/utils/ScreenReaderOnly.js.map +1 -0
- package/lib/utils/ScreenReaderOnly.mjs +24 -0
- package/lib/utils/ScreenReaderOnly.mjs.map +1 -0
- package/lib/utils/{ThemeProvider.cjs → ThemeProvider.js} +1 -1
- package/lib/utils/ThemeProvider.js.map +1 -0
- package/lib/utils/ThemeProvider.mjs +71 -0
- package/lib/utils/ThemeProvider.mjs.map +1 -0
- package/lib/utils/{addonText.cjs → addonText.js} +1 -1
- package/lib/utils/addonText.js.map +1 -0
- package/lib/utils/addonText.mjs +11 -0
- package/lib/utils/addonText.mjs.map +1 -0
- package/lib/utils/{addonTextChildren.cjs → addonTextChildren.js} +1 -1
- package/lib/utils/addonTextChildren.js.map +1 -0
- package/lib/utils/addonTextChildren.mjs +37 -0
- package/lib/utils/addonTextChildren.mjs.map +1 -0
- package/lib/utils/{ariaProps.cjs → ariaProps.js} +1 -1
- package/lib/utils/ariaProps.js.map +1 -0
- package/lib/utils/ariaProps.mjs +16 -0
- package/lib/utils/{ariaProps.cjs.map → ariaProps.mjs.map} +1 -1
- package/lib/utils/{assignProps.cjs → assignProps.js} +1 -1
- package/lib/utils/assignProps.js.map +1 -0
- package/lib/utils/assignProps.mjs +10 -0
- package/lib/utils/assignProps.mjs.map +1 -0
- package/lib/utils/{canUseDOM.cjs → canUseDOM.js} +1 -1
- package/lib/utils/canUseDOM.js.map +1 -0
- package/lib/utils/canUseDOM.mjs.map +1 -0
- package/lib/utils/{capitalizeFirstLetter.cjs → capitalizeFirstLetter.js} +1 -1
- package/lib/utils/capitalizeFirstLetter.js.map +1 -0
- package/lib/utils/{capitalizeFirstLetter.cjs.map → capitalizeFirstLetter.mjs.map} +1 -1
- package/lib/utils/{color.cjs → color.js} +1 -1
- package/lib/utils/color.js.map +1 -0
- package/lib/utils/color.mjs +196 -0
- package/lib/utils/color.mjs.map +1 -0
- package/lib/utils/{compose.cjs → compose.js} +1 -1
- package/lib/utils/compose.js.map +1 -0
- package/lib/utils/compose.mjs +15 -0
- package/lib/utils/compose.mjs.map +1 -0
- package/lib/utils/{createHoc.cjs → createHoc.js} +1 -1
- package/lib/utils/createHoc.js.map +1 -0
- package/lib/utils/createHoc.mjs +44 -0
- package/lib/utils/createHoc.mjs.map +1 -0
- package/lib/utils/{createUUID.cjs → createUUID.js} +1 -1
- package/lib/utils/createUUID.js.map +1 -0
- package/lib/utils/createUUID.mjs +9 -0
- package/lib/utils/createUUID.mjs.map +1 -0
- package/lib/utils/{cssToIntDefault.cjs → cssToIntDefault.js} +1 -1
- package/lib/utils/cssToIntDefault.js.map +1 -0
- package/lib/utils/cssToIntDefault.mjs +16 -0
- package/lib/utils/{cssToIntDefault.cjs.map → cssToIntDefault.mjs.map} +1 -1
- package/lib/utils/enhances/{WithAutoFocus.cjs → WithAutoFocus.js} +1 -1
- package/lib/utils/enhances/WithAutoFocus.js.map +1 -0
- package/lib/utils/enhances/WithAutoFocus.mjs +67 -0
- package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -0
- package/lib/utils/enhances/{WithCSS.cjs → WithCSS.js} +1 -1
- package/lib/utils/enhances/WithCSS.js.map +1 -0
- package/lib/utils/enhances/WithCSS.mjs +79 -0
- package/lib/utils/enhances/WithCSS.mjs.map +1 -0
- package/lib/utils/enhances/{WithI18n.cjs → WithI18n.js} +1 -1
- package/lib/utils/enhances/WithI18n.js.map +1 -0
- package/lib/utils/enhances/WithI18n.mjs +30 -6
- package/lib/utils/enhances/WithI18n.mjs.map +1 -0
- package/lib/utils/enhances/{WithKeyboardFocus.cjs → WithKeyboardFocus.js} +1 -1
- package/lib/utils/enhances/WithKeyboardFocus.js.map +1 -0
- package/lib/utils/enhances/WithKeyboardFocus.mjs +84 -0
- package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -0
- package/lib/utils/enhances/{WithRef.cjs → WithRef.js} +1 -1
- package/lib/utils/enhances/WithRef.js.map +1 -0
- package/lib/utils/enhances/WithRef.mjs +18 -0
- package/lib/utils/enhances/WithRef.mjs.map +1 -0
- package/lib/utils/enhances/{a11yEnhance.cjs → a11yEnhance.js} +1 -1
- package/lib/utils/enhances/a11yEnhance.js.map +1 -0
- package/lib/utils/enhances/a11yEnhance.mjs +66 -0
- package/lib/utils/enhances/a11yEnhance.mjs.map +1 -0
- package/lib/utils/enhances/{animatedSizeEnhance.cjs → animatedSizeEnhance.js} +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -0
- package/lib/utils/enhances/animatedSizeEnhance.mjs +90 -0
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -0
- package/lib/utils/enhances/{autoFocusEnhance.cjs → autoFocusEnhance.js} +1 -1
- package/lib/utils/enhances/autoFocusEnhance.js.map +1 -0
- package/lib/utils/enhances/autoFocusEnhance.mjs +38 -0
- package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -0
- package/lib/utils/enhances/{contextEnhance.cjs → contextEnhance.js} +1 -1
- package/lib/utils/enhances/contextEnhance.js.map +1 -0
- package/lib/utils/enhances/contextEnhance.mjs +14 -0
- package/lib/utils/enhances/contextEnhance.mjs.map +1 -0
- package/lib/utils/enhances/{i18nEnhance.cjs → i18nEnhance.js} +1 -1
- package/lib/utils/enhances/i18nEnhance.js.map +1 -0
- package/lib/utils/enhances/i18nEnhance.mjs +91 -0
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -0
- package/lib/utils/enhances/{keyboardFocusEnhance.cjs → keyboardFocusEnhance.js} +1 -1
- package/lib/utils/enhances/keyboardFocusEnhance.js.map +1 -0
- package/lib/utils/enhances/keyboardFocusEnhance.mjs +57 -0
- package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -0
- package/lib/utils/enhances/{resolveColorEnhance.cjs → resolveColorEnhance.js} +1 -1
- package/lib/utils/enhances/resolveColorEnhance.js.map +1 -0
- package/lib/utils/enhances/resolveColorEnhance.mjs +17 -0
- package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -0
- package/lib/utils/{eventEmitter.cjs → eventEmitter.js} +1 -1
- package/lib/utils/eventEmitter.js.map +1 -0
- package/lib/utils/eventEmitter.mjs +34 -0
- package/lib/utils/eventEmitter.mjs.map +1 -0
- package/lib/utils/findComponent.d.ts +2 -2
- package/lib/utils/{findComponent.cjs → findComponent.js} +1 -1
- package/lib/utils/findComponent.js.map +1 -0
- package/lib/utils/findComponent.mjs +95 -0
- package/lib/utils/findComponent.mjs.map +1 -0
- package/lib/utils/{fire.cjs → fire.js} +1 -1
- package/lib/utils/fire.js.map +1 -0
- package/lib/utils/fire.mjs +15 -0
- package/lib/utils/fire.mjs.map +1 -0
- package/lib/utils/focus-lock/{focusBorders.cjs → focusBorders.js} +1 -1
- package/lib/utils/focus-lock/focusBorders.js.map +1 -0
- package/lib/utils/focus-lock/focusBorders.mjs +62 -0
- package/lib/utils/focus-lock/focusBorders.mjs.map +1 -0
- package/lib/utils/focus-lock/{getFocusableIn.cjs → getFocusableIn.js} +1 -1
- package/lib/utils/focus-lock/getFocusableIn.js.map +1 -0
- package/lib/utils/focus-lock/getFocusableIn.mjs +19 -0
- package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -0
- package/lib/utils/focus-lock/{isFocusInside.cjs → isFocusInside.js} +1 -1
- package/lib/utils/focus-lock/isFocusInside.js.map +1 -0
- package/lib/utils/focus-lock/isFocusInside.mjs +9 -0
- package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -0
- package/lib/utils/focus-lock/{isFocusable.cjs → isFocusable.js} +1 -1
- package/lib/utils/focus-lock/isFocusable.js.map +1 -0
- package/lib/utils/focus-lock/isFocusable.mjs +43 -0
- package/lib/utils/focus-lock/isFocusable.mjs.map +1 -0
- package/lib/utils/focus-lock/{setFocus.cjs → setFocus.js} +1 -1
- package/lib/utils/focus-lock/setFocus.js.map +1 -0
- package/lib/utils/focus-lock/setFocus.mjs +55 -0
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -0
- package/lib/utils/{getAccessibleName.cjs → getAccessibleName.js} +1 -1
- package/lib/utils/getAccessibleName.js.map +1 -0
- package/lib/utils/getAccessibleName.mjs +49 -0
- package/lib/utils/getAccessibleName.mjs.map +1 -0
- package/lib/utils/{getDisplayName.cjs → getDisplayName.js} +1 -1
- package/lib/utils/getDisplayName.js.map +1 -0
- package/lib/utils/getDisplayName.mjs +6 -0
- package/lib/utils/{getDisplayName.cjs.map → getDisplayName.mjs.map} +1 -1
- package/lib/utils/{getEventTarget.cjs → getEventTarget.js} +1 -1
- package/lib/utils/getEventTarget.js.map +1 -0
- package/lib/utils/getEventTarget.mjs +45 -0
- package/lib/utils/getEventTarget.mjs.map +1 -0
- package/lib/utils/{getOriginChildren.cjs → getOriginChildren.js} +1 -1
- package/lib/utils/getOriginChildren.js.map +1 -0
- package/lib/utils/getOriginChildren.mjs +10 -0
- package/lib/utils/getOriginChildren.mjs.map +1 -0
- package/lib/utils/{getRandomInt.cjs → getRandomInt.js} +1 -1
- package/lib/utils/getRandomInt.js.map +1 -0
- package/lib/utils/getRandomInt.mjs +5 -0
- package/lib/utils/getRandomInt.mjs.map +1 -0
- package/lib/utils/{getValue.cjs → getValue.js} +1 -1
- package/lib/utils/getValue.js.map +1 -0
- package/lib/utils/getValue.mjs +10 -0
- package/lib/utils/{getValue.cjs.map → getValue.mjs.map} +1 -1
- package/lib/utils/{hasLabels.cjs → hasLabels.js} +1 -1
- package/lib/utils/hasLabels.js.map +1 -0
- package/lib/utils/hasLabels.mjs +39 -0
- package/lib/utils/hasLabels.mjs.map +1 -0
- package/lib/utils/{hasParent.cjs → hasParent.js} +1 -1
- package/lib/utils/hasParent.js.map +1 -0
- package/lib/utils/hasParent.mjs +7 -0
- package/lib/utils/hasParent.mjs.map +1 -0
- package/lib/utils/{if.cjs → if.js} +1 -1
- package/lib/utils/if.js.map +1 -0
- package/lib/utils/if.mjs +9 -0
- package/lib/utils/if.mjs.map +1 -0
- package/lib/utils/{ifChildren.cjs → ifChildren.js} +1 -1
- package/lib/utils/ifChildren.js.map +1 -0
- package/lib/utils/ifChildren.mjs +10 -0
- package/lib/utils/ifChildren.mjs.map +1 -0
- package/lib/utils/{injectStyle.cjs → injectStyle.js} +1 -1
- package/lib/utils/injectStyle.js.map +1 -0
- package/lib/utils/injectStyle.mjs +41 -0
- package/lib/utils/injectStyle.mjs.map +1 -0
- package/lib/utils/{inputProps.cjs → inputProps.js} +1 -1
- package/lib/utils/inputProps.js.map +1 -0
- package/lib/utils/inputProps.mjs +14 -0
- package/lib/utils/inputProps.mjs.map +1 -0
- package/lib/utils/isInteractiveElement.d.ts +1 -0
- package/lib/utils/isInteractiveElement.js +34 -0
- package/lib/utils/isInteractiveElement.js.map +1 -0
- package/lib/utils/isInteractiveElement.mjs +28 -0
- package/lib/utils/isInteractiveElement.mjs.map +1 -0
- package/lib/utils/{isNode.cjs → isNode.js} +1 -1
- package/lib/utils/isNode.js.map +1 -0
- package/lib/utils/isNode.mjs +21 -0
- package/lib/utils/isNode.mjs.map +1 -0
- package/lib/utils/{isPromise.cjs → isPromise.js} +1 -1
- package/lib/utils/isPromise.js.map +1 -0
- package/lib/utils/isPromise.mjs +4 -0
- package/lib/utils/isPromise.mjs.map +1 -0
- package/lib/utils/{isRetina.cjs → isRetina.js} +1 -1
- package/lib/utils/isRetina.js.map +1 -0
- package/lib/utils/isRetina.mjs +9 -0
- package/lib/utils/{isRetina.cjs.map → isRetina.mjs.map} +1 -1
- package/lib/utils/{logger.cjs → logger.js} +1 -1
- package/lib/utils/logger.js.map +1 -0
- package/lib/utils/logger.mjs.map +1 -0
- package/lib/utils/{numericChecker.cjs → numericChecker.js} +1 -1
- package/lib/utils/numericChecker.js.map +1 -0
- package/lib/utils/numericChecker.mjs +27 -0
- package/lib/utils/numericChecker.mjs.map +1 -0
- package/lib/utils/{ownerDocument.cjs → ownerDocument.js} +1 -1
- package/lib/utils/ownerDocument.js.map +1 -0
- package/lib/utils/ownerDocument.mjs +4 -0
- package/lib/utils/{ownerDocument.cjs.map → ownerDocument.mjs.map} +1 -1
- package/lib/utils/{pick.cjs → pick.js} +1 -1
- package/lib/utils/pick.js.map +1 -0
- package/lib/utils/pick.mjs.map +1 -0
- package/lib/utils/{propsForElement.cjs → propsForElement.js} +1 -1
- package/lib/utils/propsForElement.js.map +1 -0
- package/lib/utils/propsForElement.mjs +50 -0
- package/lib/utils/propsForElement.mjs.map +1 -0
- package/lib/utils/{rafTrottle.cjs → rafTrottle.js} +1 -1
- package/lib/utils/rafTrottle.js.map +1 -0
- package/lib/utils/rafTrottle.mjs +26 -0
- package/lib/utils/rafTrottle.mjs.map +1 -0
- package/lib/utils/{reactToText.cjs → reactToText.js} +1 -1
- package/lib/utils/reactToText.js.map +1 -0
- package/lib/utils/reactToText.mjs +26 -0
- package/lib/utils/reactToText.mjs.map +1 -0
- package/lib/utils/ref.d.ts +4 -2
- package/lib/utils/{ref.cjs → ref.js} +3 -2
- package/lib/utils/ref.js.map +1 -0
- package/lib/utils/ref.mjs +46 -2
- package/lib/utils/ref.mjs.map +1 -0
- package/lib/utils/{setRef.cjs → setRef.js} +1 -1
- package/lib/utils/setRef.js.map +1 -0
- package/lib/utils/setRef.mjs +3 -0
- package/lib/utils/setRef.mjs.map +1 -0
- package/lib/utils/{syncScroll.cjs → syncScroll.js} +1 -1
- package/lib/utils/syncScroll.js.map +1 -0
- package/lib/utils/syncScroll.mjs +54 -0
- package/lib/utils/syncScroll.mjs.map +1 -0
- package/lib/utils/{uncontroll.cjs → uncontroll.js} +1 -1
- package/lib/utils/uncontroll.js.map +1 -0
- package/lib/utils/uncontroll.mjs +38 -0
- package/lib/utils/uncontroll.mjs.map +1 -0
- package/lib/utils/{uniqueID.cjs → uniqueID.js} +1 -1
- package/lib/utils/uniqueID.js.map +1 -0
- package/lib/utils/uniqueID.mjs +33 -0
- package/lib/utils/uniqueID.mjs.map +1 -0
- package/lib/utils/use/{useColorResolver.cjs → useColorResolver.js} +1 -1
- package/lib/utils/use/useColorResolver.js.map +1 -0
- package/lib/utils/use/useColorResolver.mjs +200 -0
- package/lib/utils/use/useColorResolver.mjs.map +1 -0
- package/lib/utils/use/{useCss.cjs → useCss.js} +1 -1
- package/lib/utils/use/useCss.js.map +1 -0
- package/lib/utils/use/useCss.mjs +12 -0
- package/lib/utils/use/useCss.mjs.map +1 -0
- package/lib/utils/use/{useEnhancedEffect.cjs → useEnhancedEffect.js} +1 -1
- package/lib/utils/use/useEnhancedEffect.js.map +1 -0
- package/lib/utils/use/useEnhancedEffect.mjs.map +1 -0
- package/lib/utils/use/{useEventCallback.cjs → useEventCallback.js} +1 -1
- package/lib/utils/use/useEventCallback.js.map +1 -0
- package/lib/utils/use/useEventCallback.mjs +19 -0
- package/lib/utils/use/useEventCallback.mjs.map +1 -0
- package/lib/utils/use/{useEventListener.cjs → useEventListener.js} +2 -2
- package/lib/utils/use/useEventListener.js.map +1 -0
- package/lib/utils/use/useEventListener.mjs +25 -0
- package/lib/utils/use/useEventListener.mjs.map +1 -0
- package/lib/utils/use/{useFocusLock.cjs → useFocusLock.js} +1 -1
- package/lib/utils/use/useFocusLock.js.map +1 -0
- package/lib/utils/use/useFocusLock.mjs +266 -0
- package/lib/utils/use/useFocusLock.mjs.map +1 -0
- package/lib/utils/use/{usePreventScroll.cjs → usePreventScroll.js} +1 -1
- package/lib/utils/use/usePreventScroll.js.map +1 -0
- package/lib/utils/use/usePreventScroll.mjs +70 -0
- package/lib/utils/use/usePreventScroll.mjs.map +1 -0
- package/lib/utils/{useCssVariable.cjs → useCssVariable.js} +1 -1
- package/lib/utils/useCssVariable.js.map +1 -0
- package/lib/utils/useCssVariable.mjs +46 -0
- package/lib/utils/useCssVariable.mjs.map +1 -0
- package/lib/utils/{zIndexStacking.cjs → zIndexStacking.js} +1 -1
- package/lib/utils/zIndexStacking.js.map +1 -0
- package/lib/utils/zIndexStacking.mjs +38 -0
- package/lib/utils/zIndexStacking.mjs.map +1 -0
- package/package.json +40 -15
- package/vite.config.ts +1 -0
- package/lib/LastInteractionType.cjs.map +0 -1
- package/lib/core-types/Component.cjs.map +0 -1
- package/lib/core-types/UnknownProperties.cjs +0 -2
- package/lib/core-types/reshadow.d.cjs +0 -2
- package/lib/core-types/symbols.cjs.map +0 -1
- package/lib/coreFactory.cjs.map +0 -1
- package/lib/enhancement/Children.cjs.map +0 -1
- package/lib/enhancement/Root.cjs.map +0 -1
- package/lib/enhancement/bindHandler.cjs.map +0 -1
- package/lib/enhancement/dataName.cjs.map +0 -1
- package/lib/enhancement/enhance.cjs.map +0 -1
- package/lib/enhancement/functionDefaultProps.cjs.map +0 -1
- package/lib/enhancement/hoistProps.cjs.map +0 -1
- package/lib/enhancement/i18n.cjs.map +0 -1
- package/lib/enhancement/inheritedName.cjs.map +0 -1
- package/lib/enhancement/staticChildren.cjs.map +0 -1
- package/lib/enhancement/style.cjs.map +0 -1
- package/lib/enhancement/uncontrolledProps.cjs.map +0 -1
- package/lib/index.cjs.map +0 -1
- package/lib/register.cjs.map +0 -1
- package/lib/styled/index.cjs.map +0 -1
- package/lib/styled/reshadow-core.cjs.map +0 -1
- package/lib/styled/sstyled.cjs.map +0 -1
- package/lib/theme/processor.cjs.map +0 -1
- package/lib/theme/themes/dark.cjs.map +0 -1
- package/lib/theme/themes/default.cjs.map +0 -1
- package/lib/theme/themes/light.cjs.map +0 -1
- package/lib/theme/utils.cjs.map +0 -1
- package/lib/utils/CSSinJS.cjs.map +0 -1
- package/lib/utils/ScreenReaderOnly.cjs.map +0 -1
- package/lib/utils/ThemeProvider.cjs.map +0 -1
- package/lib/utils/addonText.cjs.map +0 -1
- package/lib/utils/addonTextChildren.cjs.map +0 -1
- package/lib/utils/assignProps.cjs.map +0 -1
- package/lib/utils/canUseDOM.cjs.map +0 -1
- package/lib/utils/color.cjs.map +0 -1
- package/lib/utils/compose.cjs.map +0 -1
- package/lib/utils/createHoc.cjs.map +0 -1
- package/lib/utils/createUUID.cjs.map +0 -1
- package/lib/utils/enhances/WithAutoFocus.cjs.map +0 -1
- package/lib/utils/enhances/WithCSS.cjs.map +0 -1
- package/lib/utils/enhances/WithI18n.cjs.map +0 -1
- package/lib/utils/enhances/WithKeyboardFocus.cjs.map +0 -1
- package/lib/utils/enhances/WithRef.cjs.map +0 -1
- package/lib/utils/enhances/a11yEnhance.cjs.map +0 -1
- package/lib/utils/enhances/animatedSizeEnhance.cjs.map +0 -1
- package/lib/utils/enhances/autoFocusEnhance.cjs.map +0 -1
- package/lib/utils/enhances/contextEnhance.cjs.map +0 -1
- package/lib/utils/enhances/i18nEnhance.cjs.map +0 -1
- package/lib/utils/enhances/keyboardFocusEnhance.cjs.map +0 -1
- package/lib/utils/enhances/resolveColorEnhance.cjs.map +0 -1
- package/lib/utils/eventEmitter.cjs.map +0 -1
- package/lib/utils/findComponent.cjs.map +0 -1
- package/lib/utils/fire.cjs.map +0 -1
- package/lib/utils/focus-lock/focusBorders.cjs.map +0 -1
- package/lib/utils/focus-lock/getFocusableIn.cjs.map +0 -1
- package/lib/utils/focus-lock/isFocusInside.cjs.map +0 -1
- package/lib/utils/focus-lock/isFocusable.cjs.map +0 -1
- package/lib/utils/focus-lock/setFocus.cjs.map +0 -1
- package/lib/utils/getAccessibleName.cjs.map +0 -1
- package/lib/utils/getEventTarget.cjs.map +0 -1
- package/lib/utils/getOriginChildren.cjs.map +0 -1
- package/lib/utils/getRandomInt.cjs.map +0 -1
- package/lib/utils/hasLabels.cjs.map +0 -1
- package/lib/utils/hasParent.cjs.map +0 -1
- package/lib/utils/if.cjs.map +0 -1
- package/lib/utils/ifChildren.cjs.map +0 -1
- package/lib/utils/injectStyle.cjs.map +0 -1
- package/lib/utils/inputProps.cjs.map +0 -1
- package/lib/utils/isNode.cjs.map +0 -1
- package/lib/utils/isPromise.cjs.map +0 -1
- package/lib/utils/logger.cjs.map +0 -1
- package/lib/utils/numericChecker.cjs.map +0 -1
- package/lib/utils/pick.cjs.map +0 -1
- package/lib/utils/propsForElement.cjs.map +0 -1
- package/lib/utils/rafTrottle.cjs.map +0 -1
- package/lib/utils/reactToText.cjs.map +0 -1
- package/lib/utils/ref.cjs.map +0 -1
- package/lib/utils/setRef.cjs.map +0 -1
- package/lib/utils/syncScroll.cjs.map +0 -1
- package/lib/utils/uncontroll.cjs.map +0 -1
- package/lib/utils/uniqueID.cjs.map +0 -1
- package/lib/utils/use/useColorResolver.cjs.map +0 -1
- package/lib/utils/use/useCss.cjs.map +0 -1
- package/lib/utils/use/useEnhancedEffect.cjs.map +0 -1
- package/lib/utils/use/useEventCallback.cjs.map +0 -1
- package/lib/utils/use/useEventListener.cjs.map +0 -1
- package/lib/utils/use/useFocusLock.cjs.map +0 -1
- package/lib/utils/use/usePreventScroll.cjs.map +0 -1
- package/lib/utils/useCssVariable.cjs.map +0 -1
- package/lib/utils/zIndexStacking.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18nEnhance.mjs","names":["React","useI18n","useAsyncI18nMessages","primaryContainer","locale","fallbackContainer","_store$locale","container","useMemo","_loop","_locale","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$Promise$all","_yield$Promise$all2","primary","fallback","wrap","_callee$","_context","prev","next","Promise","all","sent","_slicedToArray","abrupt","_objectSpread","stop","_primaryContainer$_lo","_fallbackContainer$_l","initStore","store","_typeof","_React$useState","useState","_React$useState2","setStore","lastLoadedLocaleRef","useRef","current","fallbackMessages","Object","values","loadingLocaleRef","useEffect","asyncMessages","then","module","messages","_defineProperty","console","error","props","i18n","getI18nText"],"sources":["../../../src/utils/enhances/i18nEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport { LocaleKeys, useI18n } from './WithI18n';\nimport { UnknownProperties } from '../../core-types/UnknownProperties';\n\n/** @deprecated */\nexport interface IWithI18nEnhanceProps extends WithI18nEnhanceProps, UnknownProperties {}\nexport type WithI18nEnhanceProps = {\n /* Function for getting the required field from the translation dictionary */\n getI18nText?: (key?: string, variables?: {}) => any;\n /* Object with translations */\n i18n?: {\n [locale: string]: {\n [key: string]: string;\n };\n };\n /* Locale for translations */\n locale?: LocaleKeys;\n};\n\ntype Messages = { [messageId: string]: string };\ntype MessagesContainer = { [locale: string]: Messages | (() => Promise<Messages>) };\ntype MessagesStore = { [locale: string]: Messages };\nexport const useAsyncI18nMessages = (\n primaryContainer: MessagesContainer,\n locale: string,\n fallbackContainer?: MessagesContainer,\n) => {\n const container = React.useMemo(() => {\n if (!fallbackContainer) return primaryContainer;\n if (!primaryContainer) return fallbackContainer;\n if (primaryContainer === fallbackContainer) return primaryContainer;\n const container: MessagesContainer = {};\n for (const locale in primaryContainer) {\n if (\n typeof primaryContainer[locale] === 'function' ||\n typeof fallbackContainer[locale] === 'function'\n ) {\n container[locale] = async () => {\n const [primary, fallback] = await Promise.all([\n primaryContainer[locale],\n fallbackContainer[locale],\n ]);\n return { ...primary, ...fallback };\n };\n } else {\n container[locale] = {\n ...(primaryContainer[locale] ?? {}),\n ...(fallbackContainer[locale] ?? {}),\n };\n }\n }\n return container;\n }, [primaryContainer, fallbackContainer]);\n const initStore = React.useMemo(() => {\n const store: MessagesStore = {};\n for (const locale in container) {\n if (typeof container[locale] === 'object') {\n store[locale] = container[locale] as Messages;\n }\n }\n return store;\n }, [container]);\n const [store, setStore] = React.useState(initStore);\n const lastLoadedLocaleRef = React.useRef<string | null>(null);\n if (store[locale]) lastLoadedLocaleRef.current = locale;\n const fallbackMessages = React.useMemo(() => Object.values(store)[0], [store]);\n\n const loadingLocaleRef = React.useRef<string | null>(null);\n React.useEffect(() => {\n loadingLocaleRef.current = locale;\n const asyncMessages = container[locale];\n if (typeof asyncMessages === 'function') {\n asyncMessages()\n .then((module) => {\n if (loadingLocaleRef.current !== locale) return;\n let messages = module;\n if ('default' in module && typeof module.default === 'object') messages = module.default;\n setStore((store) => ({\n ...store,\n [locale]: messages,\n }));\n })\n\n .catch(console.error);\n }\n }, [container, locale]);\n\n return store[locale] ?? fallbackMessages;\n};\nexport default (container?: MessagesContainer) => {\n return (props: any): { getI18nText: ReturnType<typeof useI18n> } => {\n const { i18n, locale } = props;\n const getI18nText = useI18n(i18n, locale, container);\n\n return { ...props, getI18nText };\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboardFocusEnhance.js","names":["_react","_interopRequireDefault","require","_assignProps","_LastInteractionType","enforcedKeyboardFocusEnhanceContext","React","createContext","exports","keyboardFocusEnhance","makeFocusable","arguments","length","undefined","props","_props$tabIndex","autoFocus","disabled","loading","tabIndex","_React$useState","useState","_React$useState2","_slicedToArray2","keyboardFocused","setKeyboardFocused","ref","useRef","handleFocus","useCallback","event","isTrusted","lastInteraction","isKeyboard","handlerBlur","useEffect","timer","setTimeout","_ref$current","current","focus","clearTimeout","enforcedKeyboardFocus","useContext","assignProps","onFocus","onBlur","_default"],"sources":["../../../src/utils/enhances/keyboardFocusEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport assignProps from '../assignProps';\nimport { UnknownProperties } from '../../core-types/UnknownProperties';\nimport { lastInteraction } from '../../LastInteractionType';\n\n/** @deprecated */\nexport interface IKeyboardFocusProps extends KeyboardFocusProps, UnknownProperties {}\nexport type KeyboardFocusProps = {\n /* Property responsible for displaying \"keyboard\" focus */\n keyboardFocused?: boolean;\n /**\n * Makes component to catch browser focus on component mount\n * @default false\n */\n autoFocus?: boolean;\n};\n\nexport const enforcedKeyboardFocusEnhanceContext = React.createContext(false);\n\nexport type KeyboardFocusEnhanceHook = (props: {\n tabIndex?: number;\n disabled?: boolean;\n loading?: boolean;\n autoFocus?: boolean;\n}) => {\n tabIndex: number;\n keyboardFocused: boolean;\n onFocus: (e: React.FocusEvent) => void;\n onBlur: () => void;\n};\n\nconst keyboardFocusEnhance = (makeFocusable = true): KeyboardFocusEnhanceHook => {\n return (props) => {\n const { autoFocus } = props;\n const disabled = props.disabled || props.loading;\n const tabIndex = props.tabIndex ?? (makeFocusable ? 0 : undefined);\n const [keyboardFocused, setKeyboardFocused] = React.useState(false);\n const ref = React.useRef<HTMLElement>(null);\n\n const handleFocus = React.useCallback((event: React.FocusEvent) => {\n if (event.isTrusted === true) {\n if (!lastInteraction.isKeyboard()) return;\n }\n setKeyboardFocused(true);\n }, []);\n const handlerBlur = React.useCallback(() => setKeyboardFocused(false), []);\n React.useEffect(() => {\n if (typeof autoFocus !== 'number' && !autoFocus) return;\n const timer = setTimeout(() => {\n ref.current?.focus();\n setKeyboardFocused(true);\n }, 0);\n return () => {\n clearTimeout(timer);\n };\n }, [autoFocus]);\n React.useEffect(() => {\n if (disabled) {\n setKeyboardFocused(false);\n }\n }, [disabled]);\n\n const enforcedKeyboardFocus = React.useContext(enforcedKeyboardFocusEnhanceContext);\n\n return assignProps(props, {\n tabIndex: disabled ? -1 : tabIndex,\n keyboardFocused: (keyboardFocused || enforcedKeyboardFocus) && !disabled,\n onFocus: handleFocus,\n onBlur: handlerBlur,\n ref,\n });\n };\n};\n\nexport default keyboardFocusEnhance;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AAcO,IAAMG,mCAAmC,gBAAGC,iBAAK,CAACC,aAAa,CAAC,KAAK,CAAC;AAACC,OAAA,CAAAH,mCAAA,GAAAA,mCAAA;AAc9E,IAAMI,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAuD;EAAA,IAAnDC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAChD,OAAO,UAACG,KAAK,EAAK;IAAA,IAAAC,eAAA;IAChB,IAAQC,SAAS,GAAKF,KAAK,CAAnBE,SAAS;IACjB,IAAMC,QAAQ,GAAGH,KAAK,CAACG,QAAQ,IAAIH,KAAK,CAACI,OAAO;IAChD,IAAMC,QAAQ,IAAAJ,eAAA,GAAGD,KAAK,CAACK,QAAQ,cAAAJ,eAAA,cAAAA,eAAA,GAAKL,aAAa,GAAG,CAAC,GAAGG,SAAU;IAClE,IAAAO,eAAA,GAA8Cd,iBAAK,CAACe,QAAQ,CAAC,KAAK,CAAC;MAAAC,gBAAA,OAAAC,eAAA,aAAAH,eAAA;MAA5DI,eAAe,GAAAF,gBAAA;MAAEG,kBAAkB,GAAAH,gBAAA;IAC1C,IAAMI,GAAG,GAAGpB,iBAAK,CAACqB,MAAM,CAAc,IAAI,CAAC;IAE3C,IAAMC,WAAW,GAAGtB,iBAAK,CAACuB,WAAW,CAAC,UAACC,KAAuB,EAAK;MACjE,IAAIA,KAAK,CAACC,SAAS,KAAK,IAAI,EAAE;QAC5B,IAAI,CAACC,oCAAe,CAACC,UAAU,EAAE,EAAE;MACrC;MACAR,kBAAkB,CAAC,IAAI,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC;IACN,IAAMS,WAAW,GAAG5B,iBAAK,CAACuB,WAAW,CAAC;MAAA,OAAMJ,kBAAkB,CAAC,KAAK,CAAC;IAAA,GAAE,EAAE,CAAC;IAC1EnB,iBAAK,CAAC6B,SAAS,CAAC,YAAM;MACpB,IAAI,OAAOnB,SAAS,KAAK,QAAQ,IAAI,CAACA,SAAS,EAAE;MACjD,IAAMoB,KAAK,GAAGC,UAAU,CAAC,YAAM;QAAA,IAAAC,YAAA;QAC7B,CAAAA,YAAA,GAAAZ,GAAG,CAACa,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,KAAK,EAAE;QACpBf,kBAAkB,CAAC,IAAI,CAAC;MAC1B,CAAC,EAAE,CAAC,CAAC;MACL,OAAO,YAAM;QACXgB,YAAY,CAACL,KAAK,CAAC;MACrB,CAAC;IACH,CAAC,EAAE,CAACpB,SAAS,CAAC,CAAC;IACfV,iBAAK,CAAC6B,SAAS,CAAC,YAAM;MACpB,IAAIlB,QAAQ,EAAE;QACZQ,kBAAkB,CAAC,KAAK,CAAC;MAC3B;IACF,CAAC,EAAE,CAACR,QAAQ,CAAC,CAAC;IAEd,IAAMyB,qBAAqB,GAAGpC,iBAAK,CAACqC,UAAU,CAACtC,mCAAmC,CAAC;IAEnF,OAAO,IAAAuC,uBAAW,EAAC9B,KAAK,EAAE;MACxBK,QAAQ,EAAEF,QAAQ,GAAG,CAAC,CAAC,GAAGE,QAAQ;MAClCK,eAAe,EAAE,CAACA,eAAe,IAAIkB,qBAAqB,KAAK,CAACzB,QAAQ;MACxE4B,OAAO,EAAEjB,WAAW;MACpBkB,MAAM,EAAEZ,WAAW;MACnBR,GAAG,EAAHA;IACF,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAAC,IAAAqB,QAAA,GAEatC,oBAAoB;AAAAD,OAAA,cAAAuC,QAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import assignProps from "../assignProps.mjs";
|
|
4
|
+
import { lastInteraction } from "../../LastInteractionType.mjs";
|
|
5
|
+
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
|
|
8
|
+
export var enforcedKeyboardFocusEnhanceContext = /*#__PURE__*/React.createContext(false);
|
|
9
|
+
var keyboardFocusEnhance = function keyboardFocusEnhance() {
|
|
10
|
+
var makeFocusable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
11
|
+
return function (props) {
|
|
12
|
+
var _props$tabIndex;
|
|
13
|
+
var autoFocus = props.autoFocus;
|
|
14
|
+
var disabled = props.disabled || props.loading;
|
|
15
|
+
var tabIndex = (_props$tabIndex = props.tabIndex) !== null && _props$tabIndex !== void 0 ? _props$tabIndex : makeFocusable ? 0 : undefined;
|
|
16
|
+
var _React$useState = React.useState(false),
|
|
17
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
18
|
+
keyboardFocused = _React$useState2[0],
|
|
19
|
+
setKeyboardFocused = _React$useState2[1];
|
|
20
|
+
var ref = React.useRef(null);
|
|
21
|
+
var handleFocus = React.useCallback(function (event) {
|
|
22
|
+
if (event.isTrusted === true) {
|
|
23
|
+
if (!lastInteraction.isKeyboard()) return;
|
|
24
|
+
}
|
|
25
|
+
setKeyboardFocused(true);
|
|
26
|
+
}, []);
|
|
27
|
+
var handlerBlur = React.useCallback(function () {
|
|
28
|
+
return setKeyboardFocused(false);
|
|
29
|
+
}, []);
|
|
30
|
+
React.useEffect(function () {
|
|
31
|
+
if (typeof autoFocus !== 'number' && !autoFocus) return;
|
|
32
|
+
var timer = setTimeout(function () {
|
|
33
|
+
var _ref$current;
|
|
34
|
+
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
35
|
+
setKeyboardFocused(true);
|
|
36
|
+
}, 0);
|
|
37
|
+
return function () {
|
|
38
|
+
clearTimeout(timer);
|
|
39
|
+
};
|
|
40
|
+
}, [autoFocus]);
|
|
41
|
+
React.useEffect(function () {
|
|
42
|
+
if (disabled) {
|
|
43
|
+
setKeyboardFocused(false);
|
|
44
|
+
}
|
|
45
|
+
}, [disabled]);
|
|
46
|
+
var enforcedKeyboardFocus = React.useContext(enforcedKeyboardFocusEnhanceContext);
|
|
47
|
+
return assignProps(props, {
|
|
48
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
49
|
+
keyboardFocused: (keyboardFocused || enforcedKeyboardFocus) && !disabled,
|
|
50
|
+
onFocus: handleFocus,
|
|
51
|
+
onBlur: handlerBlur,
|
|
52
|
+
ref: ref
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export default keyboardFocusEnhance;
|
|
57
|
+
//# sourceMappingURL=keyboardFocusEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboardFocusEnhance.mjs","names":["React","assignProps","lastInteraction","enforcedKeyboardFocusEnhanceContext","createContext","keyboardFocusEnhance","makeFocusable","arguments","length","undefined","props","_props$tabIndex","autoFocus","disabled","loading","tabIndex","_React$useState","useState","_React$useState2","_slicedToArray","keyboardFocused","setKeyboardFocused","ref","useRef","handleFocus","useCallback","event","isTrusted","isKeyboard","handlerBlur","useEffect","timer","setTimeout","_ref$current","current","focus","clearTimeout","enforcedKeyboardFocus","useContext","onFocus","onBlur"],"sources":["../../../src/utils/enhances/keyboardFocusEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport assignProps from '../assignProps';\nimport { UnknownProperties } from '../../core-types/UnknownProperties';\nimport { lastInteraction } from '../../LastInteractionType';\n\n/** @deprecated */\nexport interface IKeyboardFocusProps extends KeyboardFocusProps, UnknownProperties {}\nexport type KeyboardFocusProps = {\n /* Property responsible for displaying \"keyboard\" focus */\n keyboardFocused?: boolean;\n /**\n * Makes component to catch browser focus on component mount\n * @default false\n */\n autoFocus?: boolean;\n};\n\nexport const enforcedKeyboardFocusEnhanceContext = React.createContext(false);\n\nexport type KeyboardFocusEnhanceHook = (props: {\n tabIndex?: number;\n disabled?: boolean;\n loading?: boolean;\n autoFocus?: boolean;\n}) => {\n tabIndex: number;\n keyboardFocused: boolean;\n onFocus: (e: React.FocusEvent) => void;\n onBlur: () => void;\n};\n\nconst keyboardFocusEnhance = (makeFocusable = true): KeyboardFocusEnhanceHook => {\n return (props) => {\n const { autoFocus } = props;\n const disabled = props.disabled || props.loading;\n const tabIndex = props.tabIndex ?? (makeFocusable ? 0 : undefined);\n const [keyboardFocused, setKeyboardFocused] = React.useState(false);\n const ref = React.useRef<HTMLElement>(null);\n\n const handleFocus = React.useCallback((event: React.FocusEvent) => {\n if (event.isTrusted === true) {\n if (!lastInteraction.isKeyboard()) return;\n }\n setKeyboardFocused(true);\n }, []);\n const handlerBlur = React.useCallback(() => setKeyboardFocused(false), []);\n React.useEffect(() => {\n if (typeof autoFocus !== 'number' && !autoFocus) return;\n const timer = setTimeout(() => {\n ref.current?.focus();\n setKeyboardFocused(true);\n }, 0);\n return () => {\n clearTimeout(timer);\n };\n }, [autoFocus]);\n React.useEffect(() => {\n if (disabled) {\n setKeyboardFocused(false);\n }\n }, [disabled]);\n\n const enforcedKeyboardFocus = React.useContext(enforcedKeyboardFocusEnhanceContext);\n\n return assignProps(props, {\n tabIndex: disabled ? -1 : tabIndex,\n keyboardFocused: (keyboardFocused || enforcedKeyboardFocus) && !disabled,\n onFocus: handleFocus,\n onBlur: handlerBlur,\n ref,\n });\n };\n};\n\nexport default keyboardFocusEnhance;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,oBAAgB;AAExC,SAASC,eAAe,QAAQ,+BAA2B;;AAE3D;;AAYA,OAAO,IAAMC,mCAAmC,gBAAGH,KAAK,CAACI,aAAa,CAAC,KAAK,CAAC;AAc7E,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAuD;EAAA,IAAnDC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAChD,OAAO,UAACG,KAAK,EAAK;IAAA,IAAAC,eAAA;IAChB,IAAQC,SAAS,GAAKF,KAAK,CAAnBE,SAAS;IACjB,IAAMC,QAAQ,GAAGH,KAAK,CAACG,QAAQ,IAAIH,KAAK,CAACI,OAAO;IAChD,IAAMC,QAAQ,IAAAJ,eAAA,GAAGD,KAAK,CAACK,QAAQ,cAAAJ,eAAA,cAAAA,eAAA,GAAKL,aAAa,GAAG,CAAC,GAAGG,SAAU;IAClE,IAAAO,eAAA,GAA8ChB,KAAK,CAACiB,QAAQ,CAAC,KAAK,CAAC;MAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;MAA5DI,eAAe,GAAAF,gBAAA;MAAEG,kBAAkB,GAAAH,gBAAA;IAC1C,IAAMI,GAAG,GAAGtB,KAAK,CAACuB,MAAM,CAAc,IAAI,CAAC;IAE3C,IAAMC,WAAW,GAAGxB,KAAK,CAACyB,WAAW,CAAC,UAACC,KAAuB,EAAK;MACjE,IAAIA,KAAK,CAACC,SAAS,KAAK,IAAI,EAAE;QAC5B,IAAI,CAACzB,eAAe,CAAC0B,UAAU,EAAE,EAAE;MACrC;MACAP,kBAAkB,CAAC,IAAI,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC;IACN,IAAMQ,WAAW,GAAG7B,KAAK,CAACyB,WAAW,CAAC;MAAA,OAAMJ,kBAAkB,CAAC,KAAK,CAAC;IAAA,GAAE,EAAE,CAAC;IAC1ErB,KAAK,CAAC8B,SAAS,CAAC,YAAM;MACpB,IAAI,OAAOlB,SAAS,KAAK,QAAQ,IAAI,CAACA,SAAS,EAAE;MACjD,IAAMmB,KAAK,GAAGC,UAAU,CAAC,YAAM;QAAA,IAAAC,YAAA;QAC7B,CAAAA,YAAA,GAAAX,GAAG,CAACY,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,KAAK,EAAE;QACpBd,kBAAkB,CAAC,IAAI,CAAC;MAC1B,CAAC,EAAE,CAAC,CAAC;MACL,OAAO,YAAM;QACXe,YAAY,CAACL,KAAK,CAAC;MACrB,CAAC;IACH,CAAC,EAAE,CAACnB,SAAS,CAAC,CAAC;IACfZ,KAAK,CAAC8B,SAAS,CAAC,YAAM;MACpB,IAAIjB,QAAQ,EAAE;QACZQ,kBAAkB,CAAC,KAAK,CAAC;MAC3B;IACF,CAAC,EAAE,CAACR,QAAQ,CAAC,CAAC;IAEd,IAAMwB,qBAAqB,GAAGrC,KAAK,CAACsC,UAAU,CAACnC,mCAAmC,CAAC;IAEnF,OAAOF,WAAW,CAACS,KAAK,EAAE;MACxBK,QAAQ,EAAEF,QAAQ,GAAG,CAAC,CAAC,GAAGE,QAAQ;MAClCK,eAAe,EAAE,CAACA,eAAe,IAAIiB,qBAAqB,KAAK,CAACxB,QAAQ;MACxE0B,OAAO,EAAEf,WAAW;MACpBgB,MAAM,EAAEX,WAAW;MACnBP,GAAG,EAAHA;IACF,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAED,eAAejB,oBAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveColorEnhance.js","names":["_react","_interopRequireDefault","require","_useColorResolver","_ref","_assignProps","resolveColorEnhance","props","ref","internalRef","React","useRef","resolveColor","useColorResolver","assignProps","useForkRef","_default","exports"],"sources":["../../../src/utils/enhances/resolveColorEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport { useColorResolver } from '../use/useColorResolver';\nimport { useForkRef } from '../ref';\nimport assignProps from '../assignProps';\n\nconst resolveColorEnhance = () => {\n return (props: any) => {\n const { ref } = props;\n const internalRef = React.useRef<HTMLElement>();\n const resolveColor = useColorResolver();\n\n return assignProps(props, {\n ref: useForkRef(ref, internalRef),\n resolveColor,\n });\n };\n};\n\nexport default resolveColorEnhance;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EAChC,OAAO,UAACC,KAAU,EAAK;IACrB,IAAQC,GAAG,GAAKD,KAAK,CAAbC,GAAG;IACX,IAAMC,WAAW,GAAGC,iBAAK,CAACC,MAAM,EAAe;IAC/C,IAAMC,YAAY,GAAG,IAAAC,kCAAgB,GAAE;IAEvC,OAAO,IAAAC,uBAAW,EAACP,KAAK,EAAE;MACxBC,GAAG,EAAE,IAAAO,eAAU,EAACP,GAAG,EAAEC,WAAW,CAAC;MACjCG,YAAY,EAAZA;IACF,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAAC,IAAAI,QAAA,GAEaV,mBAAmB;AAAAW,OAAA,cAAAD,QAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useColorResolver } from "../use/useColorResolver.mjs";
|
|
3
|
+
import { useForkRef } from "../ref.mjs";
|
|
4
|
+
import assignProps from "../assignProps.mjs";
|
|
5
|
+
var resolveColorEnhance = function resolveColorEnhance() {
|
|
6
|
+
return function (props) {
|
|
7
|
+
var ref = props.ref;
|
|
8
|
+
var internalRef = React.useRef();
|
|
9
|
+
var resolveColor = useColorResolver();
|
|
10
|
+
return assignProps(props, {
|
|
11
|
+
ref: useForkRef(ref, internalRef),
|
|
12
|
+
resolveColor: resolveColor
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default resolveColorEnhance;
|
|
17
|
+
//# sourceMappingURL=resolveColorEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveColorEnhance.mjs","names":["React","useColorResolver","useForkRef","assignProps","resolveColorEnhance","props","ref","internalRef","useRef","resolveColor"],"sources":["../../../src/utils/enhances/resolveColorEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport { useColorResolver } from '../use/useColorResolver';\nimport { useForkRef } from '../ref';\nimport assignProps from '../assignProps';\n\nconst resolveColorEnhance = () => {\n return (props: any) => {\n const { ref } = props;\n const internalRef = React.useRef<HTMLElement>();\n const resolveColor = useColorResolver();\n\n return assignProps(props, {\n ref: useForkRef(ref, internalRef),\n resolveColor,\n });\n };\n};\n\nexport default resolveColorEnhance;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,6BAAyB;AAC1D,SAASC,UAAU,QAAQ,YAAQ;AACnC,OAAOC,WAAW,MAAM,oBAAgB;AAExC,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EAChC,OAAO,UAACC,KAAU,EAAK;IACrB,IAAQC,GAAG,GAAKD,KAAK,CAAbC,GAAG;IACX,IAAMC,WAAW,GAAGP,KAAK,CAACQ,MAAM,EAAe;IAC/C,IAAMC,YAAY,GAAGR,gBAAgB,EAAE;IAEvC,OAAOE,WAAW,CAACE,KAAK,EAAE;MACxBC,GAAG,EAAEJ,UAAU,CAACI,GAAG,EAAEC,WAAW,CAAC;MACjCE,YAAY,EAAZA;IACF,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAED,eAAeL,mBAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventEmitter.js","names":["EventEmitter","_createClass2","_this","_classCallCheck2","_defineProperty2","emit","eventName","_len","arguments","length","args","Array","_key","event","events","forEach","fn","call","apply","concat","subscribe","push","filter","eventFn","exports"],"sources":["../../src/utils/eventEmitter.ts"],"sourcesContent":["type DefaultEmit = (eventName: string, ...args: any[]) => void;\ntype DefaultSubscribe = (eventName: string, fn: any) => () => void;\n\nexport default class EventEmitter<Emit = DefaultEmit, Subscribe = DefaultSubscribe> {\n private events: any = {};\n constructor() {\n this.emit = ((eventName: string, ...args: any[]) => {\n const event = this.events[eventName];\n if (event) {\n event.forEach((fn: any) => {\n fn.call(null, ...args);\n });\n }\n }) as any;\n this.subscribe = ((eventName: string, fn: any) => {\n if (!this.events[eventName]) {\n this.events[eventName] = [];\n }\n\n this.events[eventName].push(fn);\n return () => {\n this.events[eventName] = this.events[eventName].filter((eventFn: any) => fn !== eventFn);\n };\n }) as any;\n }\n\n emit: Emit;\n\n subscribe: Subscribe;\n}\n"],"mappings":";;;;;;;;;;IAGqBA,YAAY,oBAAAC,aAAA,aAE/B,SAAAD,aAAA,EAAc;EAAA,IAAAE,KAAA;EAAA,IAAAC,gBAAA,mBAAAH,YAAA;EAAA,IAAAI,gBAAA,6BADQ,CAAC,CAAC;EAAA,IAAAA,gBAAA;EAAA,IAAAA,gBAAA;EAEtB,IAAI,CAACC,IAAI,GAAI,UAACC,SAAiB,EAAqB;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAhBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IACtC,IAAMC,KAAK,GAAGX,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC;IACpC,IAAIO,KAAK,EAAE;MACTA,KAAK,CAACE,OAAO,CAAC,UAACC,EAAO,EAAK;QACzBA,EAAE,CAACC,IAAI,CAAAC,KAAA,CAAPF,EAAE,GAAM,IAAI,EAAAG,MAAA,CAAKT,IAAI,EAAC;MACxB,CAAC,CAAC;IACJ;EACF,CAAS;EACT,IAAI,CAACU,SAAS,GAAI,UAACd,SAAiB,EAAEU,EAAO,EAAK;IAChD,IAAI,CAACd,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,EAAE;MAC3BJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,GAAG,EAAE;IAC7B;IAEAJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,CAACe,IAAI,CAACL,EAAE,CAAC;IAC/B,OAAO,YAAM;MACXd,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,GAAGJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,CAACgB,MAAM,CAAC,UAACC,OAAY;QAAA,OAAKP,EAAE,KAAKO,OAAO;MAAA,EAAC;IAC1F,CAAC;EACH,CAAS;AACX,CAAC;AAAAC,OAAA,cAAAxB,YAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
var EventEmitter = /*#__PURE__*/_createClass(function EventEmitter() {
|
|
5
|
+
var _this = this;
|
|
6
|
+
_classCallCheck(this, EventEmitter);
|
|
7
|
+
_defineProperty(this, "events", {});
|
|
8
|
+
_defineProperty(this, "emit", void 0);
|
|
9
|
+
_defineProperty(this, "subscribe", void 0);
|
|
10
|
+
this.emit = function (eventName) {
|
|
11
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
12
|
+
args[_key - 1] = arguments[_key];
|
|
13
|
+
}
|
|
14
|
+
var event = _this.events[eventName];
|
|
15
|
+
if (event) {
|
|
16
|
+
event.forEach(function (fn) {
|
|
17
|
+
fn.call.apply(fn, [null].concat(args));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
this.subscribe = function (eventName, fn) {
|
|
22
|
+
if (!_this.events[eventName]) {
|
|
23
|
+
_this.events[eventName] = [];
|
|
24
|
+
}
|
|
25
|
+
_this.events[eventName].push(fn);
|
|
26
|
+
return function () {
|
|
27
|
+
_this.events[eventName] = _this.events[eventName].filter(function (eventFn) {
|
|
28
|
+
return fn !== eventFn;
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
export { EventEmitter as default };
|
|
34
|
+
//# sourceMappingURL=eventEmitter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventEmitter.mjs","names":["EventEmitter","_createClass","_this","_classCallCheck","_defineProperty","emit","eventName","_len","arguments","length","args","Array","_key","event","events","forEach","fn","call","apply","concat","subscribe","push","filter","eventFn","default"],"sources":["../../src/utils/eventEmitter.ts"],"sourcesContent":["type DefaultEmit = (eventName: string, ...args: any[]) => void;\ntype DefaultSubscribe = (eventName: string, fn: any) => () => void;\n\nexport default class EventEmitter<Emit = DefaultEmit, Subscribe = DefaultSubscribe> {\n private events: any = {};\n constructor() {\n this.emit = ((eventName: string, ...args: any[]) => {\n const event = this.events[eventName];\n if (event) {\n event.forEach((fn: any) => {\n fn.call(null, ...args);\n });\n }\n }) as any;\n this.subscribe = ((eventName: string, fn: any) => {\n if (!this.events[eventName]) {\n this.events[eventName] = [];\n }\n\n this.events[eventName].push(fn);\n return () => {\n this.events[eventName] = this.events[eventName].filter((eventFn: any) => fn !== eventFn);\n };\n }) as any;\n }\n\n emit: Emit;\n\n subscribe: Subscribe;\n}\n"],"mappings":";;;IAGqBA,YAAY,gBAAAC,YAAA,CAE/B,SAAAD,aAAA,EAAc;EAAA,IAAAE,KAAA;EAAAC,eAAA,OAAAH,YAAA;EAAAI,eAAA,iBADQ,CAAC,CAAC;EAAAA,eAAA;EAAAA,eAAA;EAEtB,IAAI,CAACC,IAAI,GAAI,UAACC,SAAiB,EAAqB;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAhBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IACtC,IAAMC,KAAK,GAAGX,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC;IACpC,IAAIO,KAAK,EAAE;MACTA,KAAK,CAACE,OAAO,CAAC,UAACC,EAAO,EAAK;QACzBA,EAAE,CAACC,IAAI,CAAAC,KAAA,CAAPF,EAAE,GAAM,IAAI,EAAAG,MAAA,CAAKT,IAAI,EAAC;MACxB,CAAC,CAAC;IACJ;EACF,CAAS;EACT,IAAI,CAACU,SAAS,GAAI,UAACd,SAAiB,EAAEU,EAAO,EAAK;IAChD,IAAI,CAACd,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,EAAE;MAC3BJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,GAAG,EAAE;IAC7B;IAEAJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,CAACe,IAAI,CAACL,EAAE,CAAC;IAC/B,OAAO,YAAM;MACXd,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,GAAGJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,CAACgB,MAAM,CAAC,UAACC,OAAY;QAAA,OAAKP,EAAE,KAAKO,OAAO;MAAA,EAAC;IAC1F,CAAC;EACH,CAAS;AACX,CAAC;AAAA,SArBkBvB,YAAY,IAAAwB,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ReactElement,
|
|
2
|
-
declare function findComponent(Children: any, names: string[], recursively?: boolean, limit?: number):
|
|
1
|
+
import { ReactElement, MutableRefObject } from 'react';
|
|
2
|
+
declare function findComponent<P = any>(Children: any, names: string[], recursively?: boolean, limit?: number): ReactElement<P> | undefined;
|
|
3
3
|
export declare function isAdvanceMode(Children: any, name: string[], recursively?: boolean): boolean;
|
|
4
4
|
type IntergalacticComponent = ReactElement & {
|
|
5
5
|
ref?: MutableRefObject<HTMLElement>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findComponent.js","names":["_react","_interopRequireDefault","require","_getOriginChildren","_symbols","findComponent","Children","names","recursively","limit","arguments","length","undefined","children","CHILDREN_COMPONENT","getOriginChildren","React","toArray","find","child","isValidElement","type","Fragment","props","inheritedNames","INHERITED_NAME","displayName","result","name","includes","isAdvanceMode","findAllComponents","findAllAndAdd","forEach","component","push","extractFrom","extracted","rest","extractor","_default","exports"],"sources":["../../src/utils/findComponent.ts"],"sourcesContent":["import React, { ReactElement, MutableRefObject } from 'react';\nimport getOriginChildren from './getOriginChildren';\nimport { CHILDREN_COMPONENT, INHERITED_NAME } from '../core-types/symbols';\n\nfunction findComponent<P = any>(\n Children: any,\n names: string[],\n recursively?: boolean,\n limit = 100,\n): ReactElement<P> | undefined {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n return React.Children.toArray(children).find((child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n return findComponent(child.props.children, names, recursively, limit);\n }\n // @ts-ignore\n const inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];\n const result = !!inheritedNames.find((name: string) => names.includes(name));\n\n if (!result && child.props.children && recursively && limit > 0) {\n return findComponent(child.props.children, names, recursively, limit - 1);\n }\n\n return result;\n }\n }) as ReactElement<P> | undefined;\n}\n\nexport function isAdvanceMode(Children: any, name: string[], recursively?: boolean) {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n if (!children) return false;\n if (typeof children === 'function') {\n return true;\n }\n return !!findComponent(children, name, recursively);\n}\n\ntype IntergalacticComponent = ReactElement & {\n ref?: MutableRefObject<HTMLElement>;\n};\n\nexport function findAllComponents(Children: any, names: string[]): IntergalacticComponent[] {\n const result: IntergalacticComponent[] = [];\n\n const findAllAndAdd = (Children: any) => {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n findAllAndAdd(child.props.children);\n } else if (\n typeof child.type === 'function' &&\n CHILDREN_COMPONENT in child.type &&\n child.type[CHILDREN_COMPONENT]\n ) {\n findAllAndAdd(child.type);\n } else {\n // @ts-ignore\n const inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];\n const component = !!inheritedNames.find((name: string) => names.includes(name));\n\n if (component) {\n result.push(child);\n }\n\n if (child.props.children) {\n return findAllAndAdd(child.props.children);\n }\n }\n }\n });\n };\n\n findAllAndAdd(Children);\n\n return result;\n}\n\n/**\n * Extract some components from Children and return them and rest of components as tuple.\n */\nexport function extractFrom(Children: any, names: string[]): IntergalacticComponent[][] {\n const extracted: IntergalacticComponent[] = [];\n const rest: IntergalacticComponent[] = [];\n\n const extractor = (Children: any) => {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n extractor(child.props.children);\n } else if (\n typeof child.type === 'function' &&\n CHILDREN_COMPONENT in child.type &&\n child.type[CHILDREN_COMPONENT]\n ) {\n extractor(child.type);\n } else {\n // @ts-ignore\n const inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];\n const component = !!inheritedNames.find((name: string) => names.includes(name));\n\n if (component) {\n extracted.push(child);\n } else {\n rest.push(child);\n }\n }\n }\n });\n };\n\n extractor(Children);\n\n return [extracted, rest];\n}\n\nexport default findComponent;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import getOriginChildren from "./getOriginChildren.mjs";
|
|
3
|
+
import { CHILDREN_COMPONENT, INHERITED_NAME } from "../core-types/symbols.mjs";
|
|
4
|
+
function findComponent(Children, names, recursively) {
|
|
5
|
+
var limit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
|
|
6
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
7
|
+
return React.Children.toArray(children).find(function (child) {
|
|
8
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
9
|
+
if (child.type === React.Fragment) {
|
|
10
|
+
return findComponent(child.props.children, names, recursively, limit);
|
|
11
|
+
}
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
var inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];
|
|
14
|
+
var result = !!inheritedNames.find(function (name) {
|
|
15
|
+
return names.includes(name);
|
|
16
|
+
});
|
|
17
|
+
if (!result && child.props.children && recursively && limit > 0) {
|
|
18
|
+
return findComponent(child.props.children, names, recursively, limit - 1);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export function isAdvanceMode(Children, name, recursively) {
|
|
25
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
26
|
+
if (!children) return false;
|
|
27
|
+
if (typeof children === 'function') {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
return !!findComponent(children, name, recursively);
|
|
31
|
+
}
|
|
32
|
+
export function findAllComponents(Children, names) {
|
|
33
|
+
var result = [];
|
|
34
|
+
var findAllAndAdd = function findAllAndAdd(Children) {
|
|
35
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
36
|
+
React.Children.toArray(children).forEach(function (child) {
|
|
37
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
38
|
+
if (child.type === React.Fragment) {
|
|
39
|
+
findAllAndAdd(child.props.children);
|
|
40
|
+
} else if (typeof child.type === 'function' && CHILDREN_COMPONENT in child.type && child.type[CHILDREN_COMPONENT]) {
|
|
41
|
+
findAllAndAdd(child.type);
|
|
42
|
+
} else {
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
var inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];
|
|
45
|
+
var component = !!inheritedNames.find(function (name) {
|
|
46
|
+
return names.includes(name);
|
|
47
|
+
});
|
|
48
|
+
if (component) {
|
|
49
|
+
result.push(child);
|
|
50
|
+
}
|
|
51
|
+
if (child.props.children) {
|
|
52
|
+
return findAllAndAdd(child.props.children);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
findAllAndAdd(Children);
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Extract some components from Children and return them and rest of components as tuple.
|
|
64
|
+
*/
|
|
65
|
+
export function extractFrom(Children, names) {
|
|
66
|
+
var extracted = [];
|
|
67
|
+
var rest = [];
|
|
68
|
+
var extractor = function extractor(Children) {
|
|
69
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
70
|
+
React.Children.toArray(children).forEach(function (child) {
|
|
71
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
72
|
+
if (child.type === React.Fragment) {
|
|
73
|
+
extractor(child.props.children);
|
|
74
|
+
} else if (typeof child.type === 'function' && CHILDREN_COMPONENT in child.type && child.type[CHILDREN_COMPONENT]) {
|
|
75
|
+
extractor(child.type);
|
|
76
|
+
} else {
|
|
77
|
+
// @ts-ignore
|
|
78
|
+
var inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];
|
|
79
|
+
var component = !!inheritedNames.find(function (name) {
|
|
80
|
+
return names.includes(name);
|
|
81
|
+
});
|
|
82
|
+
if (component) {
|
|
83
|
+
extracted.push(child);
|
|
84
|
+
} else {
|
|
85
|
+
rest.push(child);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
extractor(Children);
|
|
92
|
+
return [extracted, rest];
|
|
93
|
+
}
|
|
94
|
+
export default findComponent;
|
|
95
|
+
//# sourceMappingURL=findComponent.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findComponent.mjs","names":["React","getOriginChildren","CHILDREN_COMPONENT","INHERITED_NAME","findComponent","Children","names","recursively","limit","arguments","length","undefined","children","toArray","find","child","isValidElement","type","Fragment","props","inheritedNames","displayName","result","name","includes","isAdvanceMode","findAllComponents","findAllAndAdd","forEach","component","push","extractFrom","extracted","rest","extractor"],"sources":["../../src/utils/findComponent.ts"],"sourcesContent":["import React, { ReactElement, MutableRefObject } from 'react';\nimport getOriginChildren from './getOriginChildren';\nimport { CHILDREN_COMPONENT, INHERITED_NAME } from '../core-types/symbols';\n\nfunction findComponent<P = any>(\n Children: any,\n names: string[],\n recursively?: boolean,\n limit = 100,\n): ReactElement<P> | undefined {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n return React.Children.toArray(children).find((child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n return findComponent(child.props.children, names, recursively, limit);\n }\n // @ts-ignore\n const inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];\n const result = !!inheritedNames.find((name: string) => names.includes(name));\n\n if (!result && child.props.children && recursively && limit > 0) {\n return findComponent(child.props.children, names, recursively, limit - 1);\n }\n\n return result;\n }\n }) as ReactElement<P> | undefined;\n}\n\nexport function isAdvanceMode(Children: any, name: string[], recursively?: boolean) {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n if (!children) return false;\n if (typeof children === 'function') {\n return true;\n }\n return !!findComponent(children, name, recursively);\n}\n\ntype IntergalacticComponent = ReactElement & {\n ref?: MutableRefObject<HTMLElement>;\n};\n\nexport function findAllComponents(Children: any, names: string[]): IntergalacticComponent[] {\n const result: IntergalacticComponent[] = [];\n\n const findAllAndAdd = (Children: any) => {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n findAllAndAdd(child.props.children);\n } else if (\n typeof child.type === 'function' &&\n CHILDREN_COMPONENT in child.type &&\n child.type[CHILDREN_COMPONENT]\n ) {\n findAllAndAdd(child.type);\n } else {\n // @ts-ignore\n const inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];\n const component = !!inheritedNames.find((name: string) => names.includes(name));\n\n if (component) {\n result.push(child);\n }\n\n if (child.props.children) {\n return findAllAndAdd(child.props.children);\n }\n }\n }\n });\n };\n\n findAllAndAdd(Children);\n\n return result;\n}\n\n/**\n * Extract some components from Children and return them and rest of components as tuple.\n */\nexport function extractFrom(Children: any, names: string[]): IntergalacticComponent[][] {\n const extracted: IntergalacticComponent[] = [];\n const rest: IntergalacticComponent[] = [];\n\n const extractor = (Children: any) => {\n const children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n extractor(child.props.children);\n } else if (\n typeof child.type === 'function' &&\n CHILDREN_COMPONENT in child.type &&\n child.type[CHILDREN_COMPONENT]\n ) {\n extractor(child.type);\n } else {\n // @ts-ignore\n const inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];\n const component = !!inheritedNames.find((name: string) => names.includes(name));\n\n if (component) {\n extracted.push(child);\n } else {\n rest.push(child);\n }\n }\n }\n });\n };\n\n extractor(Children);\n\n return [extracted, rest];\n}\n\nexport default findComponent;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fire.js","names":["_getValue","_interopRequireDefault","require","fire","context","eventName","fn","getValue","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,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEe,SAASC,IAAIA,CAAeC,OAAU,EAAEC,SAAiB,EAAgB;EACtF,IAAMC,EAAE,GAAG,IAAAC,oBAAQ,EAACH,OAAO,WAAAI,MAAA,CAAWH,SAAS,EAAG;EAAC,SAAAI,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,IAAIR,EAAE,EAAE,OAAOA,EAAE,CAACS,IAAI,CAAAC,KAAA,CAAPV,EAAE,GAAMF,OAAO,EAAAI,MAAA,CAAKI,IAAI,EAAC;AAC1C;AAEO,SAASK,MAAMA,CAACX,EAA0B,EAAkB;EAAA,SAAAY,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,OAAOb,EAAE,KAAK,UAAU,EAAE,OAAOA,EAAE,CAAAU,KAAA,SAAIJ,IAAI,CAAC;AAClD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import getValue from "./getValue.mjs";
|
|
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));
|
|
8
|
+
}
|
|
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);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=fire.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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,EAAG;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"}
|
|
@@ -0,0 +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","_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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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { getFocusableIn } from "./getFocusableIn.mjs";
|
|
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
|
+
if (!focusBordersRefs.has(element) && !(element.previousSibling instanceof HTMLElement && element.previousSibling.dataset.id === BEFORE_BORDER_ID)) {
|
|
7
|
+
var before = document.createElement('div');
|
|
8
|
+
var after = document.createElement('div');
|
|
9
|
+
focusBordersRefs.set(element, {
|
|
10
|
+
before: before,
|
|
11
|
+
after: after
|
|
12
|
+
});
|
|
13
|
+
before.setAttribute('tabindex', '0');
|
|
14
|
+
before.style.position = 'fixed';
|
|
15
|
+
before.dataset.id = BEFORE_BORDER_ID;
|
|
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) &&
|
|
19
|
+
// prevent loop
|
|
20
|
+
event.relatedTarget // prevent initial focus
|
|
21
|
+
) {
|
|
22
|
+
var focusable = getFocusableIn(element);
|
|
23
|
+
if (event.relatedTarget === focusable[0]) {
|
|
24
|
+
var _focusable;
|
|
25
|
+
(_focusable = focusable[focusable.length - 1]) === null || _focusable === void 0 ? void 0 : _focusable.focus();
|
|
26
|
+
} else {
|
|
27
|
+
var _focusable$;
|
|
28
|
+
(_focusable$ = focusable[0]) === null || _focusable$ === void 0 ? void 0 : _focusable$.focus();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
after.setAttribute('tabindex', '0');
|
|
33
|
+
after.style.position = 'fixed';
|
|
34
|
+
after.dataset.id = AFTER_BORDER_ID;
|
|
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) &&
|
|
38
|
+
// prevent loop
|
|
39
|
+
event.relatedTarget // prevent initial focus
|
|
40
|
+
) {
|
|
41
|
+
var focusable = getFocusableIn(element);
|
|
42
|
+
if (event.relatedTarget === focusable[focusable.length - 1]) {
|
|
43
|
+
var _focusable$2;
|
|
44
|
+
(_focusable$2 = focusable[0]) === null || _focusable$2 === void 0 ? void 0 : _focusable$2.focus();
|
|
45
|
+
} else {
|
|
46
|
+
var _focusable2;
|
|
47
|
+
(_focusable2 = focusable[focusable.length - 1]) === null || _focusable2 === void 0 ? void 0 : _focusable2.focus();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
var elementParent = element.parentElement;
|
|
52
|
+
elementParent === null || elementParent === void 0 ? void 0 : elementParent.insertBefore(before, element);
|
|
53
|
+
elementParent === null || elementParent === void 0 ? void 0 : elementParent.append(after);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
export var removeFocusBorders = function removeFocusBorders(element) {
|
|
57
|
+
var focusRefs = focusBordersRefs.get(element);
|
|
58
|
+
focusRefs === null || focusRefs === void 0 ? void 0 : focusRefs.before.remove();
|
|
59
|
+
focusRefs === null || focusRefs === void 0 ? void 0 : focusRefs.after.remove();
|
|
60
|
+
focusBordersRefs["delete"](element);
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=focusBorders.mjs.map
|
|
@@ -0,0 +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","_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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFocusableIn.js","names":["_isFocusable","require","getFocusableIn","node","_node$ownerDocument","treeWalker","ownerDocument","createTreeWalker","NodeFilter","SHOW_ELEMENT","ownerSVGElement","FILTER_REJECT","FILTER_ACCEPT","result","isFocusable","currentNode","push","nextNode","exports"],"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,GAAG,SAAjBA,cAAcA,CAAIC,IAAiB,EAAK;EAAA,IAAAC,mBAAA;EACnD,IAAMC,UAAU,GAAGF,IAAI,aAAJA,IAAI,wBAAAC,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,EAC7B;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,WAAW,CAAgB;EACpD;EACA,OAAOV,UAAU,CAACY,QAAQ,EAAE,KAAK,IAAI,EAAE;IACrC,IAAI,IAAAH,wBAAW,EAACT,UAAU,CAACU,WAAW,CAAC,EAAE;MACvCF,MAAM,CAACG,IAAI,CAACX,UAAU,CAACU,WAAW,CAAgB;IACpD;EACF;EAEA,OAAOF,MAAM;AACf,CAAC;AAACK,OAAA,CAAAhB,cAAA,GAAAA,cAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { isFocusable } from "./isFocusable.mjs";
|
|
2
|
+
export var getFocusableIn = function getFocusableIn(node) {
|
|
3
|
+
var _node$ownerDocument;
|
|
4
|
+
var treeWalker = node === null || node === void 0 ? 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 = [];
|
|
8
|
+
if (!treeWalker) return result;
|
|
9
|
+
if (isFocusable(treeWalker.currentNode)) {
|
|
10
|
+
result.push(treeWalker.currentNode);
|
|
11
|
+
}
|
|
12
|
+
while (treeWalker.nextNode() !== null) {
|
|
13
|
+
if (isFocusable(treeWalker.currentNode)) {
|
|
14
|
+
result.push(treeWalker.currentNode);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=getFocusableIn.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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,wBAAAC,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,EAC7B;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,WAAW,CAAgB;EACpD;EACA,OAAOT,UAAU,CAACW,QAAQ,EAAE,KAAK,IAAI,EAAE;IACrC,IAAIf,WAAW,CAACI,UAAU,CAACS,WAAW,CAAC,EAAE;MACvCD,MAAM,CAACE,IAAI,CAACV,UAAU,CAACS,WAAW,CAAgB;IACpD;EACF;EAEA,OAAOD,MAAM;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isFocusInside.js","names":["_hasParent","require","isFocusInside","topNode","actualActiveElement","activeElement","document","nodes","Array","isArray","some","node","hasParent","exports"],"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,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,OAAK,IAAAC,oBAAS,EAACP,aAAa,EAAEM,IAAI,CAAC;EAAA,EAAC;AAC7D,CAAC;AAACE,OAAA,CAAAX,aAAA,GAAAA,aAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { hasParent } from "../hasParent.mjs";
|
|
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
|
+
});
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=isFocusInside.mjs.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isFocusable.js","names":["_focusBorders","require","focusable","has","isFocusable","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","exports"],"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,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,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,GAAqBf,SAAS,EAAAc,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,CAAClB,GAAG,IAAIE,IAAI,CAACM,YAAY,CAACU,KAAK,CAAClB,GAAG,CAAC,EAAE,OAAO,IAAI;MACvF,OAAO,KAAK;IACd,CAAC,CAAC,EACF;MACA,IAAMoB,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;AAACC,OAAA,CAAAvB,WAAA,GAAAA,WAAA"}
|