@semcore/core 17.0.1-prerelease.0 → 17.1.0-prerelease.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 +123 -3
- package/README.md +5 -35
- package/lib/LastInteractionType.js +22 -36
- package/lib/LastInteractionType.js.map +1 -1
- package/lib/LastInteractionType.mjs +19 -33
- package/lib/LastInteractionType.mjs.map +1 -1
- package/lib/core-types/Component.js +25 -41
- package/lib/core-types/Component.js.map +1 -1
- package/lib/core-types/Component.mjs +18 -38
- 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 +158 -238
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +133 -189
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/decorators/propsObserver.js +36 -64
- package/lib/decorators/propsObserver.js.map +1 -1
- package/lib/decorators/propsObserver.mjs +33 -61
- 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 +51 -59
- package/lib/enhancement/Children.js.map +1 -1
- package/lib/enhancement/Children.mjs +47 -41
- package/lib/enhancement/Children.mjs.map +1 -1
- package/lib/enhancement/Root.js +36 -37
- package/lib/enhancement/Root.js.map +1 -1
- package/lib/enhancement/Root.mjs +28 -18
- package/lib/enhancement/Root.mjs.map +1 -1
- package/lib/enhancement/dataName.js +7 -8
- 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 +6 -9
- package/lib/enhancement/enhance.js.map +1 -1
- package/lib/enhancement/enhance.mjs +4 -7
- 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 +10 -9
- package/lib/enhancement/i18n.mjs.map +1 -1
- package/lib/enhancement/inheritedName.js +7 -8
- 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 +47 -56
- package/lib/enhancement/staticChildren.js.map +1 -1
- package/lib/enhancement/staticChildren.mjs +43 -48
- package/lib/enhancement/staticChildren.mjs.map +1 -1
- package/lib/enhancement/style.js +29 -27
- package/lib/enhancement/style.js.map +1 -1
- package/lib/enhancement/style.mjs +26 -20
- package/lib/enhancement/style.mjs.map +1 -1
- package/lib/enhancement/uncontrolledProps.js +46 -65
- package/lib/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/enhancement/uncontrolledProps.mjs +43 -52
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
- package/lib/esm/LastInteractionType.mjs +19 -33
- package/lib/esm/core-types/Component.mjs +18 -38
- package/lib/esm/core-types/symbols.mjs +9 -9
- package/lib/esm/coreFactory.mjs +133 -189
- package/lib/esm/enhancement/Children.mjs +47 -41
- package/lib/esm/enhancement/Root.mjs +28 -18
- package/lib/esm/enhancement/dataName.mjs +5 -5
- package/lib/esm/enhancement/enhance.mjs +4 -7
- package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
- package/lib/esm/enhancement/i18n.mjs +10 -9
- package/lib/esm/enhancement/inheritedName.mjs +5 -5
- package/lib/esm/enhancement/staticChildren.mjs +43 -48
- package/lib/esm/enhancement/style.mjs +26 -20
- package/lib/esm/enhancement/uncontrolledProps.mjs +43 -52
- package/lib/esm/register.mjs +12 -20
- package/lib/esm/styled/reshadow-core.mjs +98 -111
- package/lib/esm/styled/sstyled.mjs +31 -41
- package/lib/esm/utils/assignProps.mjs +32 -36
- package/lib/esm/utils/enhances/WithI18n.mjs +15 -17
- package/lib/esm/utils/enhances/i18nEnhance.mjs +47 -61
- package/lib/esm/utils/logger.mjs +13 -21
- package/lib/esm/utils/pick.mjs +4 -4
- package/lib/esm/utils/ref.mjs +27 -43
- package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/index.js +17 -17
- package/lib/register.js +17 -24
- package/lib/register.js.map +1 -1
- package/lib/register.mjs +12 -20
- package/lib/register.mjs.map +1 -1
- package/lib/styled/index.js +4 -4
- package/lib/styled/reshadow-core.js +102 -104
- package/lib/styled/reshadow-core.js.map +1 -1
- package/lib/styled/reshadow-core.mjs +98 -111
- package/lib/styled/reshadow-core.mjs.map +1 -1
- package/lib/styled/sstyled.js +31 -53
- package/lib/styled/sstyled.js.map +1 -1
- package/lib/styled/sstyled.mjs +31 -41
- package/lib/styled/sstyled.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/utils/CSSinJS.js +8 -10
- package/lib/utils/CSSinJS.js.map +1 -1
- package/lib/utils/CSSinJS.mjs +6 -7
- package/lib/utils/CSSinJS.mjs.map +1 -1
- package/lib/utils/ThemeProvider.js +44 -51
- package/lib/utils/ThemeProvider.js.map +1 -1
- package/lib/utils/ThemeProvider.mjs +36 -47
- package/lib/utils/ThemeProvider.mjs.map +1 -1
- package/lib/utils/addonText.js +4 -7
- package/lib/utils/addonText.js.map +1 -1
- package/lib/utils/addonText.mjs +2 -5
- package/lib/utils/addonText.mjs.map +1 -1
- package/lib/utils/addonTextChildren.js +15 -21
- package/lib/utils/addonTextChildren.js.map +1 -1
- package/lib/utils/addonTextChildren.mjs +7 -13
- package/lib/utils/addonTextChildren.mjs.map +1 -1
- package/lib/utils/ariaProps.js +7 -5
- package/lib/utils/ariaProps.js.map +1 -1
- package/lib/utils/ariaProps.mjs +7 -5
- package/lib/utils/ariaProps.mjs.map +1 -1
- package/lib/utils/assignProps.js +33 -37
- package/lib/utils/assignProps.js.map +1 -1
- package/lib/utils/assignProps.mjs +32 -36
- 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 +72 -95
- package/lib/utils/color.js.map +1 -1
- package/lib/utils/color.mjs +71 -94
- package/lib/utils/color.mjs.map +1 -1
- package/lib/utils/compose.js +3 -12
- package/lib/utils/compose.js.map +1 -1
- package/lib/utils/compose.mjs +2 -11
- 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 +3 -4
- package/lib/utils/cssToIntDefault.js.map +1 -1
- package/lib/utils/cssToIntDefault.mjs +2 -3
- package/lib/utils/cssToIntDefault.mjs.map +1 -1
- package/lib/utils/enhances/WithCSS.js +10 -8
- package/lib/utils/enhances/WithCSS.js.map +1 -1
- package/lib/utils/enhances/WithCSS.mjs +7 -6
- 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 +15 -17
- package/lib/utils/enhances/WithI18n.mjs.map +1 -1
- package/lib/utils/enhances/a11yEnhance.js +34 -39
- package/lib/utils/enhances/a11yEnhance.js.map +1 -1
- package/lib/utils/enhances/a11yEnhance.mjs +32 -36
- package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.js +55 -63
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.mjs +50 -58
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
- package/lib/utils/enhances/contextEnhance.js +12 -11
- package/lib/utils/enhances/contextEnhance.js.map +1 -1
- package/lib/utils/enhances/contextEnhance.mjs +9 -8
- package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
- package/lib/utils/enhances/i18nEnhance.js +51 -67
- package/lib/utils/enhances/i18nEnhance.js.map +1 -1
- package/lib/utils/enhances/i18nEnhance.mjs +47 -61
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.js +12 -10
- package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.mjs +8 -6
- package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
- package/lib/utils/eventEmitter.js +30 -57
- package/lib/utils/eventEmitter.js.map +1 -1
- package/lib/utils/eventEmitter.mjs +26 -55
- package/lib/utils/eventEmitter.mjs.map +1 -1
- package/lib/utils/findComponent.js +35 -42
- package/lib/utils/findComponent.js.map +1 -1
- package/lib/utils/findComponent.mjs +26 -33
- package/lib/utils/findComponent.mjs.map +1 -1
- package/lib/utils/fire.js +7 -13
- package/lib/utils/fire.js.map +1 -1
- package/lib/utils/fire.mjs +5 -11
- package/lib/utils/fire.mjs.map +1 -1
- package/lib/utils/focus-lock/focusBorders.js +28 -32
- package/lib/utils/focus-lock/focusBorders.js.map +1 -1
- package/lib/utils/focus-lock/focusBorders.mjs +26 -32
- package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.js +4 -6
- package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.mjs +3 -6
- package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.js +5 -6
- package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.mjs +4 -6
- package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusable.js +9 -12
- package/lib/utils/focus-lock/isFocusable.js.map +1 -1
- package/lib/utils/focus-lock/isFocusable.mjs +8 -11
- package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
- package/lib/utils/focus-lock/setFocus.js +21 -27
- package/lib/utils/focus-lock/setFocus.js.map +1 -1
- package/lib/utils/focus-lock/setFocus.mjs +19 -25
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
- package/lib/utils/getAccessibleName.js +10 -22
- package/lib/utils/getAccessibleName.js.map +1 -1
- package/lib/utils/getAccessibleName.mjs +10 -21
- package/lib/utils/getAccessibleName.mjs.map +1 -1
- package/lib/utils/getDisplayName.js +1 -1
- package/lib/utils/getEventTarget.js +13 -32
- package/lib/utils/getEventTarget.js.map +1 -1
- package/lib/utils/getEventTarget.mjs +12 -31
- 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 +4 -6
- package/lib/utils/getValue.js.map +1 -1
- package/lib/utils/getValue.mjs +3 -5
- package/lib/utils/getValue.mjs.map +1 -1
- package/lib/utils/hasLabels.js +16 -27
- package/lib/utils/hasLabels.js.map +1 -1
- package/lib/utils/hasLabels.mjs +14 -24
- package/lib/utils/hasLabels.mjs.map +1 -1
- package/lib/utils/hasParent.js +3 -2
- package/lib/utils/hasParent.js.map +1 -1
- package/lib/utils/hasParent.mjs +2 -3
- package/lib/utils/hasParent.mjs.map +1 -1
- package/lib/utils/ifChildren.js +6 -4
- package/lib/utils/ifChildren.js.map +1 -1
- package/lib/utils/ifChildren.mjs +4 -2
- package/lib/utils/ifChildren.mjs.map +1 -1
- package/lib/utils/indentStyles.js +5 -10
- package/lib/utils/indentStyles.js.map +1 -1
- package/lib/utils/indentStyles.mjs +5 -9
- package/lib/utils/indentStyles.mjs.map +1 -1
- package/lib/utils/injectStyle.js +11 -13
- package/lib/utils/injectStyle.js.map +1 -1
- package/lib/utils/injectStyle.mjs +9 -10
- 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 +7 -9
- package/lib/utils/isInteractiveElement.js.map +1 -1
- package/lib/utils/isInteractiveElement.mjs +7 -9
- package/lib/utils/isInteractiveElement.mjs.map +1 -1
- package/lib/utils/isNode.js +4 -5
- package/lib/utils/isNode.js.map +1 -1
- package/lib/utils/isNode.mjs +1 -2
- package/lib/utils/isNode.mjs.map +1 -1
- package/lib/utils/isPromise.js +1 -1
- package/lib/utils/isRetina.js +7 -2
- package/lib/utils/isRetina.js.map +1 -1
- package/lib/utils/isRetina.mjs +6 -1
- package/lib/utils/isRetina.mjs.map +1 -1
- package/lib/utils/logger.js +18 -25
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.mjs +13 -21
- package/lib/utils/logger.mjs.map +1 -1
- package/lib/utils/numericChecker.js +11 -18
- package/lib/utils/numericChecker.js.map +1 -1
- package/lib/utils/numericChecker.mjs +10 -17
- 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 +10 -12
- package/lib/utils/propsForElement.js.map +1 -1
- package/lib/utils/propsForElement.mjs +8 -10
- package/lib/utils/propsForElement.mjs.map +1 -1
- package/lib/utils/rafTrottle.js +9 -14
- package/lib/utils/rafTrottle.js.map +1 -1
- package/lib/utils/rafTrottle.mjs +7 -12
- package/lib/utils/rafTrottle.mjs.map +1 -1
- package/lib/utils/reactToText.js +5 -8
- package/lib/utils/reactToText.js.map +1 -1
- package/lib/utils/reactToText.mjs +3 -6
- package/lib/utils/reactToText.mjs.map +1 -1
- package/lib/utils/ref.js +29 -47
- package/lib/utils/ref.js.map +1 -1
- package/lib/utils/ref.mjs +27 -43
- 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 +8 -18
- package/lib/utils/uncontroll.js.map +1 -1
- package/lib/utils/uncontroll.mjs +8 -17
- package/lib/utils/uncontroll.mjs.map +1 -1
- package/lib/utils/uniqueID.js +22 -27
- package/lib/utils/uniqueID.js.map +1 -1
- package/lib/utils/uniqueID.mjs +18 -25
- package/lib/utils/uniqueID.mjs.map +1 -1
- package/lib/utils/use/useColorResolver.js +20 -21
- package/lib/utils/use/useColorResolver.js.map +1 -1
- package/lib/utils/use/useColorResolver.mjs +16 -18
- 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 +5 -10
- package/lib/utils/use/useEventCallback.js.map +1 -1
- package/lib/utils/use/useEventCallback.mjs +3 -8
- package/lib/utils/use/useEventCallback.mjs.map +1 -1
- package/lib/utils/use/useEventListener.js +11 -15
- package/lib/utils/use/useEventListener.js.map +1 -1
- package/lib/utils/use/useEventListener.mjs +7 -11
- package/lib/utils/use/useEventListener.mjs.map +1 -1
- package/lib/utils/use/useFocusLock.js +80 -94
- package/lib/utils/use/useFocusLock.js.map +1 -1
- package/lib/utils/use/useFocusLock.mjs +71 -88
- package/lib/utils/use/useFocusLock.mjs.map +1 -1
- package/lib/utils/use/usePreventScroll.js +24 -26
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +19 -21
- package/lib/utils/use/usePreventScroll.mjs.map +1 -1
- package/lib/utils/use/useScrollBarWidth.js +8 -14
- package/lib/utils/use/useScrollBarWidth.js.map +1 -1
- package/lib/utils/use/useScrollBarWidth.mjs +8 -13
- package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
- package/lib/utils/useCssVariable.js +32 -37
- package/lib/utils/useCssVariable.js.map +1 -1
- package/lib/utils/useCssVariable.mjs +27 -34
- package/lib/utils/useCssVariable.mjs.map +1 -1
- package/lib/utils/zIndexStacking.js +28 -24
- package/lib/utils/zIndexStacking.js.map +1 -1
- package/lib/utils/zIndexStacking.mjs +23 -22
- package/lib/utils/zIndexStacking.mjs.map +1 -1
- package/package.json +316 -13
- package/tsconfig-utils.json +4 -0
- package/vite.config.ts +22 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -15,18 +15,20 @@ var _CSSinJS = _interopRequireDefault(require("../CSSinJS"));
|
|
|
15
15
|
* @returns {Object}
|
|
16
16
|
*/
|
|
17
17
|
function normaliseCss(obj) {
|
|
18
|
-
return Object.keys(obj).reduce(
|
|
19
|
-
|
|
18
|
+
return Object.keys(obj).reduce((acc, key) => {
|
|
19
|
+
const result = acc;
|
|
20
20
|
if (obj[key] !== undefined) {
|
|
21
21
|
result[key] = obj[key];
|
|
22
22
|
}
|
|
23
23
|
return result;
|
|
24
24
|
}, {});
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
const WithCssContext = exports.WithCssContext = /*#__PURE__*/_react.default.createContext({});
|
|
27
|
+
const {
|
|
28
|
+
Provider
|
|
29
|
+
} = WithCssContext;
|
|
30
|
+
exports.Provider = Provider;
|
|
31
|
+
function initNanoCss(options = {}) {
|
|
32
|
+
return (0, _CSSinJS.default)(options);
|
|
31
33
|
}
|
|
32
34
|
//# sourceMappingURL=WithCSS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithCSS.js","names":["_react","_interopRequireDefault","require","_CSSinJS","normaliseCss","obj","Object","keys","reduce","acc","key","result","undefined","WithCssContext","exports","React","createContext","Provider","initNanoCss","options","
|
|
1
|
+
{"version":3,"file":"WithCSS.js","names":["_react","_interopRequireDefault","require","_CSSinJS","normaliseCss","obj","Object","keys","reduce","acc","key","result","undefined","WithCssContext","exports","React","createContext","Provider","initNanoCss","options","CSSinJS"],"sources":["../../../src/utils/enhances/WithCSS.tsx"],"sourcesContent":["import type { NanoOptions } from '@phytonmk/nano-css';\nimport type { CssLikeObject } from '@phytonmk/nano-css/types/common';\nimport React from 'react';\n\nimport CSSinJS from '../CSSinJS';\n\n/**\n * Function to clear the nano CSS styles object from keys with undefined value\n * @param {Object} obj - nano CSS styles object\n * @returns {Object}\n */\nfunction normaliseCss(obj: CssLikeObject) {\n return Object.keys(obj).reduce((acc: any, key) => {\n const result = acc;\n if (obj[key] !== undefined) {\n result[key] = obj[key];\n }\n return result;\n }, {});\n}\n\nconst WithCssContext = React.createContext<NanoOptions>({});\nconst { Provider } = WithCssContext;\n\nfunction initNanoCss(options: NanoOptions = {}) {\n return CSSinJS(options);\n}\n\nexport { Provider, WithCssContext, initNanoCss, normaliseCss };\n"],"mappings":";;;;;;;;;AAEA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,SAASE,YAAYA,CAACC,GAAkB,EAAE;EACxC,OAAOC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACG,MAAM,CAAC,CAACC,GAAQ,EAAEC,GAAG,KAAK;IAChD,MAAMC,MAAM,GAAGF,GAAG;IAClB,IAAIJ,GAAG,CAACK,GAAG,CAAC,KAAKE,SAAS,EAAE;MAC1BD,MAAM,CAACD,GAAG,CAAC,GAAGL,GAAG,CAACK,GAAG,CAAC;IACxB;IACA,OAAOC,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAGE,cAAK,CAACC,aAAa,CAAc,CAAC,CAAC,CAAC;AAC3D,MAAM;EAAEC;AAAS,CAAC,GAAGJ,cAAc;AAACC,OAAA,CAAAG,QAAA,GAAAA,QAAA;AAEpC,SAASC,WAAWA,CAACC,OAAoB,GAAG,CAAC,CAAC,EAAE;EAC9C,OAAO,IAAAC,gBAAO,EAACD,OAAO,CAAC;AACzB","ignoreList":[]}
|
|
@@ -7,18 +7,19 @@ import CSSinJS from "../CSSinJS.mjs";
|
|
|
7
7
|
* @returns {Object}
|
|
8
8
|
*/
|
|
9
9
|
function normaliseCss(obj) {
|
|
10
|
-
return Object.keys(obj).reduce(
|
|
11
|
-
|
|
10
|
+
return Object.keys(obj).reduce((acc, key) => {
|
|
11
|
+
const result = acc;
|
|
12
12
|
if (obj[key] !== undefined) {
|
|
13
13
|
result[key] = obj[key];
|
|
14
14
|
}
|
|
15
15
|
return result;
|
|
16
16
|
}, {});
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
const WithCssContext = /*#__PURE__*/React.createContext({});
|
|
19
|
+
const {
|
|
20
|
+
Provider
|
|
21
|
+
} = WithCssContext;
|
|
22
|
+
function initNanoCss(options = {}) {
|
|
22
23
|
return CSSinJS(options);
|
|
23
24
|
}
|
|
24
25
|
export { Provider, WithCssContext, initNanoCss, normaliseCss };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithCSS.mjs","names":["React","CSSinJS","normaliseCss","obj","Object","keys","reduce","acc","key","result","undefined","WithCssContext","createContext","Provider","initNanoCss","options"
|
|
1
|
+
{"version":3,"file":"WithCSS.mjs","names":["React","CSSinJS","normaliseCss","obj","Object","keys","reduce","acc","key","result","undefined","WithCssContext","createContext","Provider","initNanoCss","options"],"sources":["../../../src/utils/enhances/WithCSS.tsx"],"sourcesContent":["import type { NanoOptions } from '@phytonmk/nano-css';\nimport type { CssLikeObject } from '@phytonmk/nano-css/types/common';\nimport React from 'react';\n\nimport CSSinJS from '../CSSinJS';\n\n/**\n * Function to clear the nano CSS styles object from keys with undefined value\n * @param {Object} obj - nano CSS styles object\n * @returns {Object}\n */\nfunction normaliseCss(obj: CssLikeObject) {\n return Object.keys(obj).reduce((acc: any, key) => {\n const result = acc;\n if (obj[key] !== undefined) {\n result[key] = obj[key];\n }\n return result;\n }, {});\n}\n\nconst WithCssContext = React.createContext<NanoOptions>({});\nconst { Provider } = WithCssContext;\n\nfunction initNanoCss(options: NanoOptions = {}) {\n return CSSinJS(options);\n}\n\nexport { Provider, WithCssContext, initNanoCss, normaliseCss };\n"],"mappings":"AAEA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,OAAO,MAAM,gBAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,GAAkB,EAAE;EACxC,OAAOC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACG,MAAM,CAAC,CAACC,GAAQ,EAAEC,GAAG,KAAK;IAChD,MAAMC,MAAM,GAAGF,GAAG;IAClB,IAAIJ,GAAG,CAACK,GAAG,CAAC,KAAKE,SAAS,EAAE;MAC1BD,MAAM,CAACD,GAAG,CAAC,GAAGL,GAAG,CAACK,GAAG,CAAC;IACxB;IACA,OAAOC,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,MAAME,cAAc,gBAAGX,KAAK,CAACY,aAAa,CAAc,CAAC,CAAC,CAAC;AAC3D,MAAM;EAAEC;AAAS,CAAC,GAAGF,cAAc;AAEnC,SAASG,WAAWA,CAACC,OAAoB,GAAG,CAAC,CAAC,EAAE;EAC9C,OAAOd,OAAO,CAACc,OAAO,CAAC;AACzB;AAEA,SAASF,QAAQ,EAAEF,cAAc,EAAEG,WAAW,EAAEZ,YAAY","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -8,26 +8,26 @@ exports.useI18n = exports.I18nProvider = exports.I18nConsumer = exports.Context
|
|
|
8
8
|
var _intl = require("@formatjs/intl");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _i18nEnhance = require("./i18nEnhance");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return _react["default"].useCallback(function (messageId, variables) {
|
|
11
|
+
const Context = exports.Context = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
12
|
+
const {
|
|
13
|
+
Provider: I18nProvider,
|
|
14
|
+
Consumer: I18nConsumer
|
|
15
|
+
} = Context;
|
|
16
|
+
exports.I18nConsumer = I18nConsumer;
|
|
17
|
+
exports.I18nProvider = I18nProvider;
|
|
18
|
+
const messagesCache = (0, _intl.createIntlCache)();
|
|
19
|
+
const useI18n = (dictionary, locale = 'en', fallbackDictionary) => {
|
|
20
|
+
const lang = _react.default.useContext(Context) ?? locale;
|
|
21
|
+
const resolvedDictionary = (0, _i18nEnhance.useAsyncI18nMessages)(dictionary, lang, fallbackDictionary);
|
|
22
|
+
const intl = _react.default.useMemo(() => (0, _intl.createIntl)({
|
|
23
|
+
locale: lang,
|
|
24
|
+
messages: resolvedDictionary
|
|
25
|
+
}, messagesCache), [resolvedDictionary, lang]);
|
|
26
|
+
return _react.default.useCallback((messageId, variables) => {
|
|
28
27
|
return intl.formatMessage({
|
|
29
|
-
id: messageId
|
|
28
|
+
id: messageId ?? ''
|
|
30
29
|
}, variables);
|
|
31
30
|
}, [intl]);
|
|
32
31
|
};
|
|
32
|
+
exports.useI18n = useI18n;
|
|
33
33
|
//# sourceMappingURL=WithI18n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithI18n.js","names":["_intl","require","_react","_interopRequireWildcard","_i18nEnhance","Context","exports","createContext","undefined","
|
|
1
|
+
{"version":3,"file":"WithI18n.js","names":["_intl","require","_react","_interopRequireWildcard","_i18nEnhance","Context","exports","createContext","undefined","Provider","I18nProvider","Consumer","I18nConsumer","messagesCache","createIntlCache","useI18n","dictionary","locale","fallbackDictionary","lang","React","useContext","resolvedDictionary","useAsyncI18nMessages","intl","useMemo","createIntl","messages","useCallback","messageId","variables","formatMessage","id"],"sources":["../../../src/utils/enhances/WithI18n.tsx"],"sourcesContent":["import { createIntl, createIntlCache } from '@formatjs/intl';\nimport React, { createContext } from 'react';\n\nimport { useAsyncI18nMessages } from './i18nEnhance';\n\nexport type LocaleKeys = string;\nexport type DictionaryItem = { [key: string]: string };\nexport type Dictionary = { [locale: string]: DictionaryItem | (() => Promise<DictionaryItem>) };\nexport const Context = createContext<LocaleKeys | undefined>(undefined);\nconst { Provider: I18nProvider, Consumer: I18nConsumer } = Context;\nconst messagesCache = createIntlCache();\n\nconst useI18n = (\n dictionary: Dictionary,\n locale: LocaleKeys = 'en',\n fallbackDictionary?: Dictionary,\n) => {\n const lang = React.useContext(Context) ?? locale;\n const resolvedDictionary = useAsyncI18nMessages(dictionary, lang, fallbackDictionary);\n const intl = React.useMemo(\n () => createIntl({ locale: lang, messages: resolvedDictionary }, messagesCache),\n [resolvedDictionary, lang],\n );\n\n return React.useCallback(\n (messageId: string, variables?: { [key: string]: string | number | undefined }) => {\n return intl.formatMessage({ id: messageId ?? '' }, variables);\n },\n [intl],\n );\n};\n\nexport { useI18n, I18nProvider, I18nConsumer };\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AAKO,MAAMI,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,oBAAa,EAAyBC,SAAS,CAAC;AACvE,MAAM;EAAEC,QAAQ,EAAEC,YAAY;EAAEC,QAAQ,EAAEC;AAAa,CAAC,GAAGP,OAAO;AAACC,OAAA,CAAAM,YAAA,GAAAA,YAAA;AAAAN,OAAA,CAAAI,YAAA,GAAAA,YAAA;AACnE,MAAMG,aAAa,GAAG,IAAAC,qBAAe,EAAC,CAAC;AAEvC,MAAMC,OAAO,GAAGA,CACdC,UAAsB,EACtBC,MAAkB,GAAG,IAAI,EACzBC,kBAA+B,KAC5B;EACH,MAAMC,IAAI,GAAGC,cAAK,CAACC,UAAU,CAAChB,OAAO,CAAC,IAAIY,MAAM;EAChD,MAAMK,kBAAkB,GAAG,IAAAC,iCAAoB,EAACP,UAAU,EAAEG,IAAI,EAAED,kBAAkB,CAAC;EACrF,MAAMM,IAAI,GAAGJ,cAAK,CAACK,OAAO,CACxB,MAAM,IAAAC,gBAAU,EAAC;IAAET,MAAM,EAAEE,IAAI;IAAEQ,QAAQ,EAAEL;EAAmB,CAAC,EAAET,aAAa,CAAC,EAC/E,CAACS,kBAAkB,EAAEH,IAAI,CAC3B,CAAC;EAED,OAAOC,cAAK,CAACQ,WAAW,CACtB,CAACC,SAAiB,EAAEC,SAA0D,KAAK;IACjF,OAAON,IAAI,CAACO,aAAa,CAAC;MAAEC,EAAE,EAAEH,SAAS,IAAI;IAAG,CAAC,EAAEC,SAAS,CAAC;EAC/D,CAAC,EACD,CAACN,IAAI,CACP,CAAC;AACH,CAAC;AAAClB,OAAA,CAAAS,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import { createIntlCache, createIntl } from "@formatjs/intl";
|
|
2
2
|
import React, { createContext } from "react";
|
|
3
3
|
import { useAsyncI18nMessages } from "./i18nEnhance.mjs";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}, [resolvedDictionary, lang]);
|
|
19
|
-
return React.useCallback(function(messageId, variables) {
|
|
4
|
+
const Context = /* @__PURE__ */ createContext(void 0);
|
|
5
|
+
const {
|
|
6
|
+
Provider: I18nProvider,
|
|
7
|
+
Consumer: I18nConsumer
|
|
8
|
+
} = Context;
|
|
9
|
+
const messagesCache = createIntlCache();
|
|
10
|
+
const useI18n = (dictionary, locale = "en", fallbackDictionary) => {
|
|
11
|
+
const lang = React.useContext(Context) ?? locale;
|
|
12
|
+
const resolvedDictionary = useAsyncI18nMessages(dictionary, lang, fallbackDictionary);
|
|
13
|
+
const intl = React.useMemo(() => createIntl({
|
|
14
|
+
locale: lang,
|
|
15
|
+
messages: resolvedDictionary
|
|
16
|
+
}, messagesCache), [resolvedDictionary, lang]);
|
|
17
|
+
return React.useCallback((messageId, variables) => {
|
|
20
18
|
return intl.formatMessage({
|
|
21
|
-
id: messageId
|
|
19
|
+
id: messageId ?? ""
|
|
22
20
|
}, variables);
|
|
23
21
|
}, [intl]);
|
|
24
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithI18n.mjs","names":["createIntl","createIntlCache","React","createContext","useAsyncI18nMessages","Context","undefined","
|
|
1
|
+
{"version":3,"file":"WithI18n.mjs","names":["createIntl","createIntlCache","React","createContext","useAsyncI18nMessages","Context","undefined","Provider","I18nProvider","Consumer","I18nConsumer","messagesCache","useI18n","dictionary","locale","fallbackDictionary","lang","useContext","resolvedDictionary","intl","useMemo","messages","useCallback","messageId","variables","formatMessage","id"],"sources":["../../../src/utils/enhances/WithI18n.tsx"],"sourcesContent":["import { createIntl, createIntlCache } from '@formatjs/intl';\nimport React, { createContext } from 'react';\n\nimport { useAsyncI18nMessages } from './i18nEnhance';\n\nexport type LocaleKeys = string;\nexport type DictionaryItem = { [key: string]: string };\nexport type Dictionary = { [locale: string]: DictionaryItem | (() => Promise<DictionaryItem>) };\nexport const Context = createContext<LocaleKeys | undefined>(undefined);\nconst { Provider: I18nProvider, Consumer: I18nConsumer } = Context;\nconst messagesCache = createIntlCache();\n\nconst useI18n = (\n dictionary: Dictionary,\n locale: LocaleKeys = 'en',\n fallbackDictionary?: Dictionary,\n) => {\n const lang = React.useContext(Context) ?? locale;\n const resolvedDictionary = useAsyncI18nMessages(dictionary, lang, fallbackDictionary);\n const intl = React.useMemo(\n () => createIntl({ locale: lang, messages: resolvedDictionary }, messagesCache),\n [resolvedDictionary, lang],\n );\n\n return React.useCallback(\n (messageId: string, variables?: { [key: string]: string | number | undefined }) => {\n return intl.formatMessage({ id: messageId ?? '' }, variables);\n },\n [intl],\n );\n};\n\nexport { useI18n, I18nProvider, I18nConsumer };\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,eAAe,QAAQ,gBAAgB;AAC5D,OAAOC,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAE5C,SAASC,oBAAoB,QAAQ,mBAAe;AAKpD,OAAO,MAAMC,OAAO,gBAAGF,aAAa,CAAyBG,SAAS,CAAC;AACvE,MAAM;EAAEC,QAAQ,EAAEC,YAAY;EAAEC,QAAQ,EAAEC;AAAa,CAAC,GAAGL,OAAO;AAClE,MAAMM,aAAa,GAAGV,eAAe,CAAC,CAAC;AAEvC,MAAMW,OAAO,GAAGA,CACdC,UAAsB,EACtBC,MAAkB,GAAG,IAAI,EACzBC,kBAA+B,KAC5B;EACH,MAAMC,IAAI,GAAGd,KAAK,CAACe,UAAU,CAACZ,OAAO,CAAC,IAAIS,MAAM;EAChD,MAAMI,kBAAkB,GAAGd,oBAAoB,CAACS,UAAU,EAAEG,IAAI,EAAED,kBAAkB,CAAC;EACrF,MAAMI,IAAI,GAAGjB,KAAK,CAACkB,OAAO,CACxB,MAAMpB,UAAU,CAAC;IAAEc,MAAM,EAAEE,IAAI;IAAEK,QAAQ,EAAEH;EAAmB,CAAC,EAAEP,aAAa,CAAC,EAC/E,CAACO,kBAAkB,EAAEF,IAAI,CAC3B,CAAC;EAED,OAAOd,KAAK,CAACoB,WAAW,CACtB,CAACC,SAAiB,EAAEC,SAA0D,KAAK;IACjF,OAAOL,IAAI,CAACM,aAAa,CAAC;MAAEC,EAAE,EAAEH,SAAS,IAAI;IAAG,CAAC,EAAEC,SAAS,CAAC;EAC/D,CAAC,EACD,CAACL,IAAI,CACP,CAAC;AACH,CAAC;AAED,SAASP,OAAO,EAAEJ,YAAY,EAAEE,YAAY","ignoreList":[]}
|
|
@@ -1,73 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
6
|
+
exports.default = void 0;
|
|
10
7
|
var _assignProps = require("../assignProps");
|
|
11
|
-
|
|
12
|
-
neighborElement
|
|
8
|
+
const defaultOnNeighborChange = neighborElement => {
|
|
9
|
+
neighborElement?.focus();
|
|
13
10
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var lastIndex = lengthList - 1;
|
|
21
|
-
var indexNext = indexElement + elementSibling;
|
|
11
|
+
const defaultFindNeighbor = (listSelectors, element, direction) => {
|
|
12
|
+
const elementSibling = ['right', 'top'].includes(direction) ? 1 : -1;
|
|
13
|
+
const indexElement = listSelectors.findIndex(node => node === element);
|
|
14
|
+
const lengthList = listSelectors.length;
|
|
15
|
+
const lastIndex = lengthList - 1;
|
|
16
|
+
let indexNext = indexElement + elementSibling;
|
|
22
17
|
if (indexNext < 0) indexNext = lastIndex;
|
|
23
18
|
if (indexNext > lastIndex) indexNext = 0;
|
|
24
19
|
return listSelectors[indexNext];
|
|
25
20
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
const a11yEnhance = options => {
|
|
22
|
+
const findNeighbor = options.findNeighbor || defaultFindNeighbor;
|
|
23
|
+
const onNeighborChange = options.onNeighborChange || defaultOnNeighborChange;
|
|
24
|
+
const {
|
|
25
|
+
childSelector
|
|
26
|
+
} = options;
|
|
27
|
+
return props => {
|
|
28
|
+
if (!childSelector) throw `parameter childSelector not passed in options for a11yEnhance for ${props['data-ui-name']}`;
|
|
29
|
+
const getNeighbor = (listSelectors, element, direction) => {
|
|
30
|
+
const neighbor = findNeighbor(listSelectors, element, direction);
|
|
34
31
|
if (!neighbor) return element;
|
|
35
|
-
if ('disabled' in neighbor && neighbor.disabled) return
|
|
32
|
+
if ('disabled' in neighbor && neighbor.disabled) return getNeighbor(listSelectors, neighbor, direction);
|
|
36
33
|
return neighbor;
|
|
37
34
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
_ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
43
|
-
childAttrName = _ref2[0],
|
|
44
|
-
childAttrValue = _ref2[1];
|
|
35
|
+
const handleKeyDown = event => {
|
|
36
|
+
const parent = event.currentTarget;
|
|
37
|
+
const selectedElement = event.target;
|
|
38
|
+
const [childAttrName, childAttrValue] = typeof childSelector === 'function' ? childSelector(props) : childSelector;
|
|
45
39
|
if (!selectedElement.getAttribute(childAttrName)) return;
|
|
46
|
-
|
|
47
|
-
if (!listSelectors.length) throw
|
|
40
|
+
const listSelectors = Array.from(parent.querySelectorAll(`[${childAttrName}="${childAttrValue}"]`));
|
|
41
|
+
if (!listSelectors.length) throw `no children found querySelectorAll([${childAttrName}="${childAttrValue}"] a11yEnhance for ${props['data-ui-name']}`;
|
|
48
42
|
switch (event.key) {
|
|
49
43
|
case 'ArrowLeft':
|
|
50
|
-
onNeighborChange(
|
|
44
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'left'), props);
|
|
51
45
|
event.preventDefault();
|
|
52
46
|
break;
|
|
53
47
|
case 'ArrowTop':
|
|
54
|
-
onNeighborChange(
|
|
48
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'top'), props);
|
|
55
49
|
event.preventDefault();
|
|
56
50
|
break;
|
|
57
51
|
case 'ArrowRight':
|
|
58
|
-
onNeighborChange(
|
|
52
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'right'), props);
|
|
59
53
|
event.preventDefault();
|
|
60
54
|
break;
|
|
61
55
|
case 'ArrowBottom':
|
|
62
|
-
onNeighborChange(
|
|
56
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'bottom'), props);
|
|
63
57
|
event.preventDefault();
|
|
64
58
|
break;
|
|
65
59
|
}
|
|
66
60
|
};
|
|
67
|
-
return
|
|
61
|
+
return {
|
|
62
|
+
...props,
|
|
68
63
|
onKeyDown: (0, _assignProps.callAllEventHandlers)(props.onKeyDown, handleKeyDown)
|
|
69
|
-
}
|
|
64
|
+
};
|
|
70
65
|
};
|
|
71
66
|
};
|
|
72
|
-
var _default = exports
|
|
67
|
+
var _default = exports.default = a11yEnhance;
|
|
73
68
|
//# sourceMappingURL=a11yEnhance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11yEnhance.js","names":["_assignProps","require","defaultOnNeighborChange","neighborElement","focus","defaultFindNeighbor","listSelectors","element","direction","elementSibling","includes","indexElement","findIndex","node","lengthList","length","lastIndex","indexNext","a11yEnhance","options","findNeighbor","onNeighborChange","childSelector","props","
|
|
1
|
+
{"version":3,"file":"a11yEnhance.js","names":["_assignProps","require","defaultOnNeighborChange","neighborElement","focus","defaultFindNeighbor","listSelectors","element","direction","elementSibling","includes","indexElement","findIndex","node","lengthList","length","lastIndex","indexNext","a11yEnhance","options","findNeighbor","onNeighborChange","childSelector","props","getNeighbor","neighbor","disabled","handleKeyDown","event","parent","currentTarget","selectedElement","target","childAttrName","childAttrValue","getAttribute","Array","from","querySelectorAll","key","preventDefault","onKeyDown","callAllEventHandlers","_default","exports","default"],"sources":["../../../src/utils/enhances/a11yEnhance.tsx"],"sourcesContent":["import type React from 'react';\n\nimport { callAllEventHandlers } from '../assignProps';\n\ntype OnNeighborChange<P> = (neighborElement: HTMLElement, props: P) => void;\ntype FindNeighbor = (\n listSelectors: HTMLElement[],\n element: HTMLElement,\n direction: string,\n) => HTMLElement | undefined;\ntype ChildSelector<P> = [string, string] | ((props: P) => [string, string]);\n\ntype A11yEnhanceOptions<P = any> = {\n findNeighbor?: FindNeighbor;\n onNeighborChange?: OnNeighborChange<P>;\n childSelector: ChildSelector<P>;\n};\n\nconst defaultOnNeighborChange: OnNeighborChange<any> = (neighborElement) => {\n neighborElement?.focus();\n};\n\nconst defaultFindNeighbor: FindNeighbor = (listSelectors, element, direction) => {\n const elementSibling = ['right', 'top'].includes(direction) ? 1 : -1;\n const indexElement = listSelectors.findIndex((node) => node === element);\n const lengthList = listSelectors.length;\n\n const lastIndex = lengthList - 1;\n let indexNext = indexElement + elementSibling;\n if (indexNext < 0) indexNext = lastIndex;\n if (indexNext > lastIndex) indexNext = 0;\n return listSelectors[indexNext];\n};\n\nconst a11yEnhance = (options: A11yEnhanceOptions) => {\n const findNeighbor = options.findNeighbor || defaultFindNeighbor;\n const onNeighborChange = options.onNeighborChange || defaultOnNeighborChange;\n const { childSelector } = options;\n\n return (props: any) => {\n if (!childSelector)\n throw `parameter childSelector not passed in options for a11yEnhance for ${props['data-ui-name']}`;\n const getNeighbor = (\n listSelectors: any,\n element: HTMLElement,\n direction: string,\n ): HTMLElement => {\n const neighbor = findNeighbor(listSelectors, element, direction);\n if (!neighbor) return element;\n if ('disabled' in neighbor && neighbor.disabled)\n return getNeighbor(listSelectors, neighbor, direction);\n return neighbor;\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n const parent = event.currentTarget;\n const selectedElement = event.target as HTMLElement;\n const [childAttrName, childAttrValue] =\n typeof childSelector === 'function' ? childSelector(props) : childSelector;\n if (!selectedElement.getAttribute(childAttrName)) return;\n\n const listSelectors = Array.from(\n parent.querySelectorAll(`[${childAttrName}=\"${childAttrValue}\"]`),\n );\n if (!listSelectors.length)\n throw `no children found querySelectorAll([${childAttrName}=\"${childAttrValue}\"] a11yEnhance for ${props['data-ui-name']}`;\n\n switch (event.key) {\n case 'ArrowLeft':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'left'), props);\n event.preventDefault();\n break;\n case 'ArrowTop':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'top'), props);\n event.preventDefault();\n break;\n case 'ArrowRight':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'right'), props);\n event.preventDefault();\n break;\n case 'ArrowBottom':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'bottom'), props);\n event.preventDefault();\n break;\n }\n };\n\n return {\n ...props,\n onKeyDown: callAllEventHandlers(props.onKeyDown, handleKeyDown),\n };\n };\n};\n\nexport default a11yEnhance;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,65 +1,61 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
1
|
import { callAllEventHandlers } from "../assignProps.mjs";
|
|
4
|
-
|
|
5
|
-
neighborElement
|
|
2
|
+
const defaultOnNeighborChange = neighborElement => {
|
|
3
|
+
neighborElement?.focus();
|
|
6
4
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var lastIndex = lengthList - 1;
|
|
14
|
-
var indexNext = indexElement + elementSibling;
|
|
5
|
+
const defaultFindNeighbor = (listSelectors, element, direction) => {
|
|
6
|
+
const elementSibling = ['right', 'top'].includes(direction) ? 1 : -1;
|
|
7
|
+
const indexElement = listSelectors.findIndex(node => node === element);
|
|
8
|
+
const lengthList = listSelectors.length;
|
|
9
|
+
const lastIndex = lengthList - 1;
|
|
10
|
+
let indexNext = indexElement + elementSibling;
|
|
15
11
|
if (indexNext < 0) indexNext = lastIndex;
|
|
16
12
|
if (indexNext > lastIndex) indexNext = 0;
|
|
17
13
|
return listSelectors[indexNext];
|
|
18
14
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
const a11yEnhance = options => {
|
|
16
|
+
const findNeighbor = options.findNeighbor || defaultFindNeighbor;
|
|
17
|
+
const onNeighborChange = options.onNeighborChange || defaultOnNeighborChange;
|
|
18
|
+
const {
|
|
19
|
+
childSelector
|
|
20
|
+
} = options;
|
|
21
|
+
return props => {
|
|
22
|
+
if (!childSelector) throw `parameter childSelector not passed in options for a11yEnhance for ${props['data-ui-name']}`;
|
|
23
|
+
const getNeighbor = (listSelectors, element, direction) => {
|
|
24
|
+
const neighbor = findNeighbor(listSelectors, element, direction);
|
|
27
25
|
if (!neighbor) return element;
|
|
28
|
-
if ('disabled' in neighbor && neighbor.disabled) return
|
|
26
|
+
if ('disabled' in neighbor && neighbor.disabled) return getNeighbor(listSelectors, neighbor, direction);
|
|
29
27
|
return neighbor;
|
|
30
28
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
_ref2 = _slicedToArray(_ref, 2),
|
|
36
|
-
childAttrName = _ref2[0],
|
|
37
|
-
childAttrValue = _ref2[1];
|
|
29
|
+
const handleKeyDown = event => {
|
|
30
|
+
const parent = event.currentTarget;
|
|
31
|
+
const selectedElement = event.target;
|
|
32
|
+
const [childAttrName, childAttrValue] = typeof childSelector === 'function' ? childSelector(props) : childSelector;
|
|
38
33
|
if (!selectedElement.getAttribute(childAttrName)) return;
|
|
39
|
-
|
|
40
|
-
if (!listSelectors.length) throw
|
|
34
|
+
const listSelectors = Array.from(parent.querySelectorAll(`[${childAttrName}="${childAttrValue}"]`));
|
|
35
|
+
if (!listSelectors.length) throw `no children found querySelectorAll([${childAttrName}="${childAttrValue}"] a11yEnhance for ${props['data-ui-name']}`;
|
|
41
36
|
switch (event.key) {
|
|
42
37
|
case 'ArrowLeft':
|
|
43
|
-
onNeighborChange(
|
|
38
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'left'), props);
|
|
44
39
|
event.preventDefault();
|
|
45
40
|
break;
|
|
46
41
|
case 'ArrowTop':
|
|
47
|
-
onNeighborChange(
|
|
42
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'top'), props);
|
|
48
43
|
event.preventDefault();
|
|
49
44
|
break;
|
|
50
45
|
case 'ArrowRight':
|
|
51
|
-
onNeighborChange(
|
|
46
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'right'), props);
|
|
52
47
|
event.preventDefault();
|
|
53
48
|
break;
|
|
54
49
|
case 'ArrowBottom':
|
|
55
|
-
onNeighborChange(
|
|
50
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'bottom'), props);
|
|
56
51
|
event.preventDefault();
|
|
57
52
|
break;
|
|
58
53
|
}
|
|
59
54
|
};
|
|
60
|
-
return
|
|
55
|
+
return {
|
|
56
|
+
...props,
|
|
61
57
|
onKeyDown: callAllEventHandlers(props.onKeyDown, handleKeyDown)
|
|
62
|
-
}
|
|
58
|
+
};
|
|
63
59
|
};
|
|
64
60
|
};
|
|
65
61
|
export default a11yEnhance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11yEnhance.mjs","names":["callAllEventHandlers","defaultOnNeighborChange","neighborElement","focus","defaultFindNeighbor","listSelectors","element","direction","elementSibling","includes","indexElement","findIndex","node","lengthList","length","lastIndex","indexNext","a11yEnhance","options","findNeighbor","onNeighborChange","childSelector","props","
|
|
1
|
+
{"version":3,"file":"a11yEnhance.mjs","names":["callAllEventHandlers","defaultOnNeighborChange","neighborElement","focus","defaultFindNeighbor","listSelectors","element","direction","elementSibling","includes","indexElement","findIndex","node","lengthList","length","lastIndex","indexNext","a11yEnhance","options","findNeighbor","onNeighborChange","childSelector","props","getNeighbor","neighbor","disabled","handleKeyDown","event","parent","currentTarget","selectedElement","target","childAttrName","childAttrValue","getAttribute","Array","from","querySelectorAll","key","preventDefault","onKeyDown"],"sources":["../../../src/utils/enhances/a11yEnhance.tsx"],"sourcesContent":["import type React from 'react';\n\nimport { callAllEventHandlers } from '../assignProps';\n\ntype OnNeighborChange<P> = (neighborElement: HTMLElement, props: P) => void;\ntype FindNeighbor = (\n listSelectors: HTMLElement[],\n element: HTMLElement,\n direction: string,\n) => HTMLElement | undefined;\ntype ChildSelector<P> = [string, string] | ((props: P) => [string, string]);\n\ntype A11yEnhanceOptions<P = any> = {\n findNeighbor?: FindNeighbor;\n onNeighborChange?: OnNeighborChange<P>;\n childSelector: ChildSelector<P>;\n};\n\nconst defaultOnNeighborChange: OnNeighborChange<any> = (neighborElement) => {\n neighborElement?.focus();\n};\n\nconst defaultFindNeighbor: FindNeighbor = (listSelectors, element, direction) => {\n const elementSibling = ['right', 'top'].includes(direction) ? 1 : -1;\n const indexElement = listSelectors.findIndex((node) => node === element);\n const lengthList = listSelectors.length;\n\n const lastIndex = lengthList - 1;\n let indexNext = indexElement + elementSibling;\n if (indexNext < 0) indexNext = lastIndex;\n if (indexNext > lastIndex) indexNext = 0;\n return listSelectors[indexNext];\n};\n\nconst a11yEnhance = (options: A11yEnhanceOptions) => {\n const findNeighbor = options.findNeighbor || defaultFindNeighbor;\n const onNeighborChange = options.onNeighborChange || defaultOnNeighborChange;\n const { childSelector } = options;\n\n return (props: any) => {\n if (!childSelector)\n throw `parameter childSelector not passed in options for a11yEnhance for ${props['data-ui-name']}`;\n const getNeighbor = (\n listSelectors: any,\n element: HTMLElement,\n direction: string,\n ): HTMLElement => {\n const neighbor = findNeighbor(listSelectors, element, direction);\n if (!neighbor) return element;\n if ('disabled' in neighbor && neighbor.disabled)\n return getNeighbor(listSelectors, neighbor, direction);\n return neighbor;\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n const parent = event.currentTarget;\n const selectedElement = event.target as HTMLElement;\n const [childAttrName, childAttrValue] =\n typeof childSelector === 'function' ? childSelector(props) : childSelector;\n if (!selectedElement.getAttribute(childAttrName)) return;\n\n const listSelectors = Array.from(\n parent.querySelectorAll(`[${childAttrName}=\"${childAttrValue}\"]`),\n );\n if (!listSelectors.length)\n throw `no children found querySelectorAll([${childAttrName}=\"${childAttrValue}\"] a11yEnhance for ${props['data-ui-name']}`;\n\n switch (event.key) {\n case 'ArrowLeft':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'left'), props);\n event.preventDefault();\n break;\n case 'ArrowTop':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'top'), props);\n event.preventDefault();\n break;\n case 'ArrowRight':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'right'), props);\n event.preventDefault();\n break;\n case 'ArrowBottom':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'bottom'), props);\n event.preventDefault();\n break;\n }\n };\n\n return {\n ...props,\n onKeyDown: callAllEventHandlers(props.onKeyDown, handleKeyDown),\n };\n };\n};\n\nexport default a11yEnhance;\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,oBAAgB;AAgBrD,MAAMC,uBAA8C,GAAIC,eAAe,IAAK;EAC1EA,eAAe,EAAEC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAMC,mBAAiC,GAAGA,CAACC,aAAa,EAAEC,OAAO,EAAEC,SAAS,KAAK;EAC/E,MAAMC,cAAc,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAACC,QAAQ,CAACF,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EACpE,MAAMG,YAAY,GAAGL,aAAa,CAACM,SAAS,CAAEC,IAAI,IAAKA,IAAI,KAAKN,OAAO,CAAC;EACxE,MAAMO,UAAU,GAAGR,aAAa,CAACS,MAAM;EAEvC,MAAMC,SAAS,GAAGF,UAAU,GAAG,CAAC;EAChC,IAAIG,SAAS,GAAGN,YAAY,GAAGF,cAAc;EAC7C,IAAIQ,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAGD,SAAS;EACxC,IAAIC,SAAS,GAAGD,SAAS,EAAEC,SAAS,GAAG,CAAC;EACxC,OAAOX,aAAa,CAACW,SAAS,CAAC;AACjC,CAAC;AAED,MAAMC,WAAW,GAAIC,OAA2B,IAAK;EACnD,MAAMC,YAAY,GAAGD,OAAO,CAACC,YAAY,IAAIf,mBAAmB;EAChE,MAAMgB,gBAAgB,GAAGF,OAAO,CAACE,gBAAgB,IAAInB,uBAAuB;EAC5E,MAAM;IAAEoB;EAAc,CAAC,GAAGH,OAAO;EAEjC,OAAQI,KAAU,IAAK;IACrB,IAAI,CAACD,aAAa,EAChB,MAAM,qEAAqEC,KAAK,CAAC,cAAc,CAAC,EAAE;IACpG,MAAMC,WAAW,GAAGA,CAClBlB,aAAkB,EAClBC,OAAoB,EACpBC,SAAiB,KACD;MAChB,MAAMiB,QAAQ,GAAGL,YAAY,CAACd,aAAa,EAAEC,OAAO,EAAEC,SAAS,CAAC;MAChE,IAAI,CAACiB,QAAQ,EAAE,OAAOlB,OAAO;MAC7B,IAAI,UAAU,IAAIkB,QAAQ,IAAIA,QAAQ,CAACC,QAAQ,EAC7C,OAAOF,WAAW,CAAClB,aAAa,EAAEmB,QAAQ,EAAEjB,SAAS,CAAC;MACxD,OAAOiB,QAAQ;IACjB,CAAC;IAED,MAAME,aAAa,GAAIC,KAAuC,IAAK;MACjE,MAAMC,MAAM,GAAGD,KAAK,CAACE,aAAa;MAClC,MAAMC,eAAe,GAAGH,KAAK,CAACI,MAAqB;MACnD,MAAM,CAACC,aAAa,EAAEC,cAAc,CAAC,GACnC,OAAOZ,aAAa,KAAK,UAAU,GAAGA,aAAa,CAACC,KAAK,CAAC,GAAGD,aAAa;MAC5E,IAAI,CAACS,eAAe,CAACI,YAAY,CAACF,aAAa,CAAC,EAAE;MAElD,MAAM3B,aAAa,GAAG8B,KAAK,CAACC,IAAI,CAC9BR,MAAM,CAACS,gBAAgB,CAAC,IAAIL,aAAa,KAAKC,cAAc,IAAI,CAClE,CAAC;MACD,IAAI,CAAC5B,aAAa,CAACS,MAAM,EACvB,MAAM,uCAAuCkB,aAAa,KAAKC,cAAc,sBAAsBX,KAAK,CAAC,cAAc,CAAC,EAAE;MAE5H,QAAQK,KAAK,CAACW,GAAG;QACf,KAAK,WAAW;UACdlB,gBAAgB,CAACG,WAAW,CAAClB,aAAa,EAAEyB,eAAe,EAAE,MAAM,CAAC,EAAER,KAAK,CAAC;UAC5EK,KAAK,CAACY,cAAc,CAAC,CAAC;UACtB;QACF,KAAK,UAAU;UACbnB,gBAAgB,CAACG,WAAW,CAAClB,aAAa,EAAEyB,eAAe,EAAE,KAAK,CAAC,EAAER,KAAK,CAAC;UAC3EK,KAAK,CAACY,cAAc,CAAC,CAAC;UACtB;QACF,KAAK,YAAY;UACfnB,gBAAgB,CAACG,WAAW,CAAClB,aAAa,EAAEyB,eAAe,EAAE,OAAO,CAAC,EAAER,KAAK,CAAC;UAC7EK,KAAK,CAACY,cAAc,CAAC,CAAC;UACtB;QACF,KAAK,aAAa;UAChBnB,gBAAgB,CAACG,WAAW,CAAClB,aAAa,EAAEyB,eAAe,EAAE,QAAQ,CAAC,EAAER,KAAK,CAAC;UAC9EK,KAAK,CAACY,cAAc,CAAC,CAAC;UACtB;MACJ;IACF,CAAC;IAED,OAAO;MACL,GAAGjB,KAAK;MACRkB,SAAS,EAAExC,oBAAoB,CAACsB,KAAK,CAACkB,SAAS,EAAEd,aAAa;IAChE,CAAC;EACH,CAAC;AACH,CAAC;AAED,eAAeT,WAAW","ignoreList":[]}
|