@semcore/core 17.0.0-prerelease.20-prerelease.20 → 17.0.0-prerelease.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/LastInteractionType.js +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 +143 -205
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +118 -164
- 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 +5 -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 +118 -164
- 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 +5 -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/processor.js +150 -222
- package/lib/theme/processor.js.map +1 -1
- package/lib/theme/processor.mjs +148 -221
- package/lib/theme/processor.mjs.map +1 -1
- package/lib/theme/themes/dark.js +2 -2
- package/lib/theme/themes/dark.js.map +1 -1
- package/lib/theme/themes/default.js +2 -2
- package/lib/theme/themes/default.js.map +1 -1
- package/lib/theme/themes/highlights-dark.js +2 -2
- package/lib/theme/themes/highlights-dark.js.map +1 -1
- package/lib/theme/themes/highlights-light.js +2 -2
- package/lib/theme/themes/highlights-light.js.map +1 -1
- package/lib/theme/themes/light.js +2 -2
- package/lib/theme/themes/light.js.map +1 -1
- package/lib/theme/utils.js +140 -215
- package/lib/theme/utils.js.map +1 -1
- package/lib/theme/utils.mjs +135 -214
- package/lib/theme/utils.mjs.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/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 +26 -28
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +21 -23
- 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 +1 -1
package/lib/utils/ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.js","names":["_react","_interopRequireDefault","require","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","
|
|
1
|
+
{"version":3,"file":"ref.js","names":["_react","_interopRequireDefault","require","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","React","useState","facade","last","useForkRef","refs","useCallback","refValue","uniqueRefs","Set","forEach","forkRef","every"],"sources":["../../src/utils/ref.ts"],"sourcesContent":["import React, { type MutableRefObject, type Ref } from 'react';\n\nexport function setRef<T>(ref: Ref<T>, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref?.hasOwnProperty('current')) {\n // @ts-ignore\n ref['current'] = value;\n }\n}\n\ntype Refs = React.ReactInstance | React.RefObject<React.ReactInstance>;\n\nexport function getRef(ref: Refs): React.ReactInstance | null {\n if (!ref) return null;\n return 'current' in ref ? ref.current : ref;\n}\n\nexport function useCallbackRef<T>(\n initialValue: T | null,\n callback: (newValue: T | null, lastValue: T | null) => void,\n): MutableRefObject<T | null> {\n const [ref] = React.useState(() => ({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }));\n // update callback\n ref.callback = callback;\n\n return ref.facade;\n}\n\nexport function useForkRef<T>(...refs: Ref<T>[]): Ref<T> {\n return React.useCallback((refValue: any) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n }, refs);\n}\n\nexport function forkRef<T>(...refs: Ref<T>[]): Ref<T> {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n return (refValue) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n };\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,SAASC,MAAMA,CAAIC,GAAW,EAAEC,KAAQ,EAAE;EAC/C,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM,IAAID,GAAG,EAAEE,cAAc,CAAC,SAAS,CAAC,EAAE;IACzC;IACAF,GAAG,CAAC,SAAS,CAAC,GAAGC,KAAK;EACxB;AACF;AAIO,SAASE,MAAMA,CAACH,GAAS,EAA8B;EAC5D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,OAAO,SAAS,IAAIA,GAAG,GAAGA,GAAG,CAACI,OAAO,GAAGJ,GAAG;AAC7C;AAEO,SAASK,cAAcA,CAC5BC,YAAsB,EACtBC,QAA2D,EAC/B;EAC5B,MAAM,CAACP,GAAG,CAAC,GAAGQ,cAAK,CAACC,QAAQ,CAAC,OAAO;IAClC;IACAR,KAAK,EAAEK,YAAY;IACnB;IACAC,QAAQ;IACR;IACAG,MAAM,EAAE;MACN,IAAIN,OAAOA,CAAA,EAAG;QACZ,OAAOJ,GAAG,CAACC,KAAK;MAClB,CAAC;MACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;QACjB,MAAMU,IAAI,GAAGX,GAAG,CAACC,KAAK;QACtB,IAAIU,IAAI,KAAKV,KAAK,EAAE;UAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;UACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAEU,IAAI,CAAC;QAC3B;MACF;IACF;EACF,CAAC,CAAC,CAAC;EACH;EACAX,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACU,MAAM;AACnB;AAEO,SAASE,UAAUA,CAAI,GAAGC,IAAc,EAAU;EACvD,OAAOL,cAAK,CAACM,WAAW,CAAEC,QAAa,IAAK;IAC1C,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAElB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEe,QAAQ,CAAC,CAAC;EACpD,CAAC,EAAEF,IAAI,CAAC;AACV;AAEO,SAASM,OAAOA,CAAI,GAAGN,IAAc,EAAU;EACpD,IAAIA,IAAI,CAACO,KAAK,CAAEpB,GAAG,IAAKA,GAAG,IAAI,IAAI,CAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAQe,QAAQ,IAAK;IACnB,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAElB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEe,QAAQ,CAAC,CAAC;EACpD,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/ref.mjs
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
1
|
import React from "react";
|
|
4
2
|
function setRef(ref, value) {
|
|
5
3
|
if (typeof ref === "function") {
|
|
6
4
|
ref(value);
|
|
7
|
-
} else if (ref
|
|
5
|
+
} else if (ref == null ? void 0 : ref.hasOwnProperty("current")) {
|
|
8
6
|
ref["current"] = value;
|
|
9
7
|
}
|
|
10
8
|
}
|
|
@@ -13,55 +11,41 @@ function getRef(ref) {
|
|
|
13
11
|
return "current" in ref ? ref.current : ref;
|
|
14
12
|
}
|
|
15
13
|
function useCallbackRef(initialValue, callback) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
ref.callback(value, last);
|
|
32
|
-
}
|
|
14
|
+
const [ref] = React.useState(() => ({
|
|
15
|
+
// value
|
|
16
|
+
value: initialValue,
|
|
17
|
+
// last callback
|
|
18
|
+
callback,
|
|
19
|
+
// "memoized" public interface
|
|
20
|
+
facade: {
|
|
21
|
+
get current() {
|
|
22
|
+
return ref.value;
|
|
23
|
+
},
|
|
24
|
+
set current(value) {
|
|
25
|
+
const last = ref.value;
|
|
26
|
+
if (last !== value) {
|
|
27
|
+
ref.value = value;
|
|
28
|
+
ref.callback(value, last);
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
|
-
}
|
|
36
|
-
})
|
|
31
|
+
}
|
|
32
|
+
}));
|
|
37
33
|
ref.callback = callback;
|
|
38
34
|
return ref.facade;
|
|
39
35
|
}
|
|
40
|
-
function useForkRef() {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return React.useCallback(function(refValue) {
|
|
45
|
-
var uniqueRefs = _toConsumableArray(new Set(refs));
|
|
46
|
-
uniqueRefs.forEach(function(ref) {
|
|
47
|
-
return setRef(ref, refValue);
|
|
48
|
-
});
|
|
36
|
+
function useForkRef(...refs) {
|
|
37
|
+
return React.useCallback((refValue) => {
|
|
38
|
+
const uniqueRefs = [...new Set(refs)];
|
|
39
|
+
uniqueRefs.forEach((ref) => setRef(ref, refValue));
|
|
49
40
|
}, refs);
|
|
50
41
|
}
|
|
51
|
-
function forkRef() {
|
|
52
|
-
|
|
53
|
-
refs[_key2] = arguments[_key2];
|
|
54
|
-
}
|
|
55
|
-
if (refs.every(function(ref) {
|
|
56
|
-
return ref == null;
|
|
57
|
-
})) {
|
|
42
|
+
function forkRef(...refs) {
|
|
43
|
+
if (refs.every((ref) => ref == null)) {
|
|
58
44
|
return null;
|
|
59
45
|
}
|
|
60
|
-
return
|
|
61
|
-
|
|
62
|
-
uniqueRefs.forEach(
|
|
63
|
-
return setRef(ref, refValue);
|
|
64
|
-
});
|
|
46
|
+
return (refValue) => {
|
|
47
|
+
const uniqueRefs = [...new Set(refs)];
|
|
48
|
+
uniqueRefs.forEach((ref) => setRef(ref, refValue));
|
|
65
49
|
};
|
|
66
50
|
}
|
|
67
51
|
export {
|
package/lib/utils/ref.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.mjs","names":["React","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","
|
|
1
|
+
{"version":3,"file":"ref.mjs","names":["React","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","useState","facade","last","useForkRef","refs","useCallback","refValue","uniqueRefs","Set","forEach","forkRef","every"],"sources":["../../src/utils/ref.ts"],"sourcesContent":["import React, { type MutableRefObject, type Ref } from 'react';\n\nexport function setRef<T>(ref: Ref<T>, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref?.hasOwnProperty('current')) {\n // @ts-ignore\n ref['current'] = value;\n }\n}\n\ntype Refs = React.ReactInstance | React.RefObject<React.ReactInstance>;\n\nexport function getRef(ref: Refs): React.ReactInstance | null {\n if (!ref) return null;\n return 'current' in ref ? ref.current : ref;\n}\n\nexport function useCallbackRef<T>(\n initialValue: T | null,\n callback: (newValue: T | null, lastValue: T | null) => void,\n): MutableRefObject<T | null> {\n const [ref] = React.useState(() => ({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }));\n // update callback\n ref.callback = callback;\n\n return ref.facade;\n}\n\nexport function useForkRef<T>(...refs: Ref<T>[]): Ref<T> {\n return React.useCallback((refValue: any) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n }, refs);\n}\n\nexport function forkRef<T>(...refs: Ref<T>[]): Ref<T> {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n return (refValue) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n };\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAA2C,OAAO;AAE9D,OAAO,SAASC,MAAMA,CAAIC,GAAW,EAAEC,KAAQ,EAAE;EAC/C,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM,IAAID,GAAG,EAAEE,cAAc,CAAC,SAAS,CAAC,EAAE;IACzC;IACAF,GAAG,CAAC,SAAS,CAAC,GAAGC,KAAK;EACxB;AACF;AAIA,OAAO,SAASE,MAAMA,CAACH,GAAS,EAA8B;EAC5D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,OAAO,SAAS,IAAIA,GAAG,GAAGA,GAAG,CAACI,OAAO,GAAGJ,GAAG;AAC7C;AAEA,OAAO,SAASK,cAAcA,CAC5BC,YAAsB,EACtBC,QAA2D,EAC/B;EAC5B,MAAM,CAACP,GAAG,CAAC,GAAGF,KAAK,CAACU,QAAQ,CAAC,OAAO;IAClC;IACAP,KAAK,EAAEK,YAAY;IACnB;IACAC,QAAQ;IACR;IACAE,MAAM,EAAE;MACN,IAAIL,OAAOA,CAAA,EAAG;QACZ,OAAOJ,GAAG,CAACC,KAAK;MAClB,CAAC;MACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;QACjB,MAAMS,IAAI,GAAGV,GAAG,CAACC,KAAK;QACtB,IAAIS,IAAI,KAAKT,KAAK,EAAE;UAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;UACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAES,IAAI,CAAC;QAC3B;MACF;IACF;EACF,CAAC,CAAC,CAAC;EACH;EACAV,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACS,MAAM;AACnB;AAEA,OAAO,SAASE,UAAUA,CAAI,GAAGC,IAAc,EAAU;EACvD,OAAOd,KAAK,CAACe,WAAW,CAAEC,QAAa,IAAK;IAC1C,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAEjB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEc,QAAQ,CAAC,CAAC;EACpD,CAAC,EAAEF,IAAI,CAAC;AACV;AAEA,OAAO,SAASM,OAAOA,CAAI,GAAGN,IAAc,EAAU;EACpD,IAAIA,IAAI,CAACO,KAAK,CAAEnB,GAAG,IAAKA,GAAG,IAAI,IAAI,CAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAQc,QAAQ,IAAK;IACnB,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAEjB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEc,QAAQ,CAAC,CAAC;EACpD,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/setRef.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
exports.default = void 0;
|
|
7
7
|
var _ref = require("./ref");
|
|
8
|
-
var _default = exports
|
|
8
|
+
var _default = exports.default = _ref.setRef;
|
|
9
9
|
//# sourceMappingURL=setRef.js.map
|
package/lib/utils/setRef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setRef.js","names":["_ref","require","_default","exports","setRef"],"sources":["../../src/utils/setRef.ts"],"sourcesContent":["import { setRef } from './ref';\n\nexport default setRef;\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAA+B,IAAAC,QAAA,GAAAC,OAAA,
|
|
1
|
+
{"version":3,"file":"setRef.js","names":["_ref","require","_default","exports","default","setRef"],"sources":["../../src/utils/setRef.ts"],"sourcesContent":["import { setRef } from './ref';\n\nexport default setRef;\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAA+B,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEhBC,WAAM","ignoreList":[]}
|
package/lib/utils/syncScroll.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
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
|
});
|
|
7
|
-
exports
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
7
|
+
exports.default = syncScroll;
|
|
9
8
|
var _canUseDOM = _interopRequireDefault(require("./canUseDOM"));
|
|
10
9
|
function syncScroll() {
|
|
11
|
-
|
|
10
|
+
const refs = new Map();
|
|
12
11
|
function handlerScroll(event) {
|
|
13
|
-
|
|
14
|
-
if (!(0, _canUseDOM
|
|
15
|
-
window.requestAnimationFrame(
|
|
16
|
-
refs.forEach(
|
|
12
|
+
const scrolledNode = event.currentTarget;
|
|
13
|
+
if (!(0, _canUseDOM.default)()) return;
|
|
14
|
+
window.requestAnimationFrame(() => {
|
|
15
|
+
refs.forEach(node => {
|
|
17
16
|
if (scrolledNode !== node && node) {
|
|
18
17
|
node.removeEventListener('scroll', handlerScroll);
|
|
19
18
|
syncScrollPosition(scrolledNode, node);
|
|
20
|
-
window.requestAnimationFrame(
|
|
19
|
+
window.requestAnimationFrame(() => {
|
|
21
20
|
node.addEventListener('scroll', handlerScroll);
|
|
22
21
|
});
|
|
23
22
|
}
|
|
@@ -25,16 +24,18 @@ function syncScroll() {
|
|
|
25
24
|
});
|
|
26
25
|
}
|
|
27
26
|
function syncScrollPosition(scrolledNode, node) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
const {
|
|
28
|
+
scrollTop,
|
|
29
|
+
scrollHeight,
|
|
30
|
+
clientHeight,
|
|
31
|
+
scrollLeft,
|
|
32
|
+
scrollWidth,
|
|
33
|
+
clientWidth
|
|
34
|
+
} = scrolledNode;
|
|
35
|
+
const scrollTopOffset = scrollHeight - clientHeight;
|
|
36
|
+
const scrollLeftOffset = scrollWidth - clientWidth;
|
|
37
|
+
const nodeHeight = node.scrollHeight - clientHeight;
|
|
38
|
+
const nodeWidth = node.scrollWidth - clientWidth;
|
|
38
39
|
if (scrollTopOffset > 0) {
|
|
39
40
|
node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
|
|
40
41
|
}
|
|
@@ -42,15 +43,14 @@ function syncScroll() {
|
|
|
42
43
|
node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
return
|
|
46
|
+
return name => {
|
|
46
47
|
refs.set(name, null);
|
|
47
|
-
return
|
|
48
|
-
|
|
49
|
-
(_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
|
|
48
|
+
return ref => {
|
|
49
|
+
refs.get(name)?.removeEventListener('scroll', handlerScroll);
|
|
50
50
|
refs.set(name, ref);
|
|
51
51
|
if (ref) {
|
|
52
52
|
ref.addEventListener('scroll', handlerScroll);
|
|
53
|
-
|
|
53
|
+
const scrolledNode = [...refs.values()][0];
|
|
54
54
|
if (scrolledNode) {
|
|
55
55
|
syncScrollPosition(scrolledNode, ref);
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncScroll.js","names":["_canUseDOM","_interopRequireDefault","require","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","canUseDOM","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","
|
|
1
|
+
{"version":3,"file":"syncScroll.js","names":["_canUseDOM","_interopRequireDefault","require","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","canUseDOM","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","get","values"],"sources":["../../src/utils/syncScroll.ts"],"sourcesContent":["import canUseDOM from './canUseDOM';\n\nexport default function syncScroll() {\n const refs = new Map<string, null | HTMLElement>();\n\n function handlerScroll(event: any) {\n const scrolledNode = event.currentTarget;\n if (!canUseDOM()) return;\n window.requestAnimationFrame(() => {\n refs.forEach((node) => {\n if (scrolledNode !== node && node) {\n node.removeEventListener('scroll', handlerScroll);\n syncScrollPosition(scrolledNode, node);\n window.requestAnimationFrame(() => {\n node.addEventListener('scroll', handlerScroll);\n });\n }\n });\n });\n }\n\n function syncScrollPosition(scrolledNode: HTMLElement, node: HTMLElement) {\n const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } =\n scrolledNode;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const nodeHeight = node.scrollHeight - clientHeight;\n const nodeWidth = node.scrollWidth - clientWidth;\n\n if (scrollTopOffset > 0) {\n node.scrollTop = (nodeHeight * scrollTop) / scrollTopOffset;\n }\n if (scrollLeftOffset > 0) {\n node.scrollLeft = (nodeWidth * scrollLeft) / scrollLeftOffset;\n }\n }\n\n return (name: string) => {\n refs.set(name, null);\n return (ref: any) => {\n refs.get(name)?.removeEventListener('scroll', handlerScroll);\n refs.set(name, ref);\n if (ref) {\n ref.addEventListener('scroll', handlerScroll);\n const scrolledNode = [...refs.values()][0];\n if (scrolledNode) {\n syncScrollPosition(scrolledNode, ref);\n }\n }\n };\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEe,SAASC,UAAUA,CAAA,EAAG;EACnC,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,MAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAAC,IAAAC,kBAAS,EAAC,CAAC,EAAE;IAClBC,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCR,IAAI,CAACS,OAAO,CAAEC,IAAI,IAAK;QACrB,IAAIN,YAAY,KAAKM,IAAI,IAAIA,IAAI,EAAE;UACjCA,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAET,aAAa,CAAC;UACjDU,kBAAkB,CAACR,YAAY,EAAEM,IAAI,CAAC;UACtCH,MAAM,CAACC,qBAAqB,CAAC,MAAM;YACjCE,IAAI,CAACG,gBAAgB,CAAC,QAAQ,EAAEX,aAAa,CAAC;UAChD,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAASU,kBAAkBA,CAACR,YAAyB,EAAEM,IAAiB,EAAE;IACxE,MAAM;MAAEI,SAAS;MAAEC,YAAY;MAAEC,YAAY;MAAEC,UAAU;MAAEC,WAAW;MAAEC;IAAY,CAAC,GACnFf,YAAY;IAEd,MAAMgB,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,MAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,MAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,MAAMO,SAAS,GAAGb,IAAI,CAACQ,WAAW,GAAGC,WAAW;IAEhD,IAAIC,eAAe,GAAG,CAAC,EAAE;MACvBV,IAAI,CAACI,SAAS,GAAIQ,UAAU,GAAGR,SAAS,GAAIM,eAAe;IAC7D;IACA,IAAIC,gBAAgB,GAAG,CAAC,EAAE;MACxBX,IAAI,CAACO,UAAU,GAAIM,SAAS,GAAGN,UAAU,GAAII,gBAAgB;IAC/D;EACF;EAEA,OAAQG,IAAY,IAAK;IACvBxB,IAAI,CAACyB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAQE,GAAQ,IAAK;MACnB1B,IAAI,CAAC2B,GAAG,CAACH,IAAI,CAAC,EAAEb,mBAAmB,CAAC,QAAQ,EAAET,aAAa,CAAC;MAC5DF,IAAI,CAACyB,GAAG,CAACD,IAAI,EAAEE,GAAG,CAAC;MACnB,IAAIA,GAAG,EAAE;QACPA,GAAG,CAACb,gBAAgB,CAAC,QAAQ,EAAEX,aAAa,CAAC;QAC7C,MAAME,YAAY,GAAG,CAAC,GAAGJ,IAAI,CAAC4B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAIxB,YAAY,EAAE;UAChBQ,kBAAkB,CAACR,YAAY,EAAEsB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/syncScroll.mjs
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
1
|
import canUseDOM from "./canUseDOM.mjs";
|
|
3
2
|
export default function syncScroll() {
|
|
4
|
-
|
|
3
|
+
const refs = new Map();
|
|
5
4
|
function handlerScroll(event) {
|
|
6
|
-
|
|
5
|
+
const scrolledNode = event.currentTarget;
|
|
7
6
|
if (!canUseDOM()) return;
|
|
8
|
-
window.requestAnimationFrame(
|
|
9
|
-
refs.forEach(
|
|
7
|
+
window.requestAnimationFrame(() => {
|
|
8
|
+
refs.forEach(node => {
|
|
10
9
|
if (scrolledNode !== node && node) {
|
|
11
10
|
node.removeEventListener('scroll', handlerScroll);
|
|
12
11
|
syncScrollPosition(scrolledNode, node);
|
|
13
|
-
window.requestAnimationFrame(
|
|
12
|
+
window.requestAnimationFrame(() => {
|
|
14
13
|
node.addEventListener('scroll', handlerScroll);
|
|
15
14
|
});
|
|
16
15
|
}
|
|
@@ -18,16 +17,18 @@ export default function syncScroll() {
|
|
|
18
17
|
});
|
|
19
18
|
}
|
|
20
19
|
function syncScrollPosition(scrolledNode, node) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
const {
|
|
21
|
+
scrollTop,
|
|
22
|
+
scrollHeight,
|
|
23
|
+
clientHeight,
|
|
24
|
+
scrollLeft,
|
|
25
|
+
scrollWidth,
|
|
26
|
+
clientWidth
|
|
27
|
+
} = scrolledNode;
|
|
28
|
+
const scrollTopOffset = scrollHeight - clientHeight;
|
|
29
|
+
const scrollLeftOffset = scrollWidth - clientWidth;
|
|
30
|
+
const nodeHeight = node.scrollHeight - clientHeight;
|
|
31
|
+
const nodeWidth = node.scrollWidth - clientWidth;
|
|
31
32
|
if (scrollTopOffset > 0) {
|
|
32
33
|
node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
|
|
33
34
|
}
|
|
@@ -35,15 +36,14 @@ export default function syncScroll() {
|
|
|
35
36
|
node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
return
|
|
39
|
+
return name => {
|
|
39
40
|
refs.set(name, null);
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
(_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
|
|
41
|
+
return ref => {
|
|
42
|
+
refs.get(name)?.removeEventListener('scroll', handlerScroll);
|
|
43
43
|
refs.set(name, ref);
|
|
44
44
|
if (ref) {
|
|
45
45
|
ref.addEventListener('scroll', handlerScroll);
|
|
46
|
-
|
|
46
|
+
const scrolledNode = [...refs.values()][0];
|
|
47
47
|
if (scrolledNode) {
|
|
48
48
|
syncScrollPosition(scrolledNode, ref);
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncScroll.mjs","names":["canUseDOM","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","
|
|
1
|
+
{"version":3,"file":"syncScroll.mjs","names":["canUseDOM","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","get","values"],"sources":["../../src/utils/syncScroll.ts"],"sourcesContent":["import canUseDOM from './canUseDOM';\n\nexport default function syncScroll() {\n const refs = new Map<string, null | HTMLElement>();\n\n function handlerScroll(event: any) {\n const scrolledNode = event.currentTarget;\n if (!canUseDOM()) return;\n window.requestAnimationFrame(() => {\n refs.forEach((node) => {\n if (scrolledNode !== node && node) {\n node.removeEventListener('scroll', handlerScroll);\n syncScrollPosition(scrolledNode, node);\n window.requestAnimationFrame(() => {\n node.addEventListener('scroll', handlerScroll);\n });\n }\n });\n });\n }\n\n function syncScrollPosition(scrolledNode: HTMLElement, node: HTMLElement) {\n const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } =\n scrolledNode;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const nodeHeight = node.scrollHeight - clientHeight;\n const nodeWidth = node.scrollWidth - clientWidth;\n\n if (scrollTopOffset > 0) {\n node.scrollTop = (nodeHeight * scrollTop) / scrollTopOffset;\n }\n if (scrollLeftOffset > 0) {\n node.scrollLeft = (nodeWidth * scrollLeft) / scrollLeftOffset;\n }\n }\n\n return (name: string) => {\n refs.set(name, null);\n return (ref: any) => {\n refs.get(name)?.removeEventListener('scroll', handlerScroll);\n refs.set(name, ref);\n if (ref) {\n ref.addEventListener('scroll', handlerScroll);\n const scrolledNode = [...refs.values()][0];\n if (scrolledNode) {\n syncScrollPosition(scrolledNode, ref);\n }\n }\n };\n };\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAa;AAEnC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACnC,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,MAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAACP,SAAS,CAAC,CAAC,EAAE;IAClBQ,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCP,IAAI,CAACQ,OAAO,CAAEC,IAAI,IAAK;QACrB,IAAIL,YAAY,KAAKK,IAAI,IAAIA,IAAI,EAAE;UACjCA,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAER,aAAa,CAAC;UACjDS,kBAAkB,CAACP,YAAY,EAAEK,IAAI,CAAC;UACtCH,MAAM,CAACC,qBAAqB,CAAC,MAAM;YACjCE,IAAI,CAACG,gBAAgB,CAAC,QAAQ,EAAEV,aAAa,CAAC;UAChD,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAASS,kBAAkBA,CAACP,YAAyB,EAAEK,IAAiB,EAAE;IACxE,MAAM;MAAEI,SAAS;MAAEC,YAAY;MAAEC,YAAY;MAAEC,UAAU;MAAEC,WAAW;MAAEC;IAAY,CAAC,GACnFd,YAAY;IAEd,MAAMe,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,MAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,MAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,MAAMO,SAAS,GAAGb,IAAI,CAACQ,WAAW,GAAGC,WAAW;IAEhD,IAAIC,eAAe,GAAG,CAAC,EAAE;MACvBV,IAAI,CAACI,SAAS,GAAIQ,UAAU,GAAGR,SAAS,GAAIM,eAAe;IAC7D;IACA,IAAIC,gBAAgB,GAAG,CAAC,EAAE;MACxBX,IAAI,CAACO,UAAU,GAAIM,SAAS,GAAGN,UAAU,GAAII,gBAAgB;IAC/D;EACF;EAEA,OAAQG,IAAY,IAAK;IACvBvB,IAAI,CAACwB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAQE,GAAQ,IAAK;MACnBzB,IAAI,CAAC0B,GAAG,CAACH,IAAI,CAAC,EAAEb,mBAAmB,CAAC,QAAQ,EAAER,aAAa,CAAC;MAC5DF,IAAI,CAACwB,GAAG,CAACD,IAAI,EAAEE,GAAG,CAAC;MACnB,IAAIA,GAAG,EAAE;QACPA,GAAG,CAACb,gBAAgB,CAAC,QAAQ,EAAEV,aAAa,CAAC;QAC7C,MAAME,YAAY,GAAG,CAAC,GAAGJ,IAAI,CAAC2B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAIvB,YAAY,EAAE;UAChBO,kBAAkB,CAACP,YAAY,EAAEqB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/uncontroll.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
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
6
|
exports.getState = getState;
|
|
8
7
|
exports.internalSetState = internalSetState;
|
|
9
8
|
exports.isControlled = isControlled;
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
9
|
function isControlled(self, prop) {
|
|
12
10
|
return self.props[prop] !== undefined;
|
|
13
11
|
}
|
|
14
|
-
function getState(self) {
|
|
15
|
-
|
|
16
|
-
return Object.entries(state).reduce(function (combinedState, _ref) {
|
|
17
|
-
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
18
|
-
key = _ref2[0],
|
|
19
|
-
value = _ref2[1];
|
|
12
|
+
function getState(self, state = self.state) {
|
|
13
|
+
return Object.entries(state).reduce((combinedState, [key, value]) => {
|
|
20
14
|
if (isControlled(self, key)) {
|
|
21
15
|
combinedState[key] = self.props[key];
|
|
22
16
|
} else {
|
|
@@ -25,22 +19,18 @@ function getState(self) {
|
|
|
25
19
|
return combinedState;
|
|
26
20
|
}, {});
|
|
27
21
|
}
|
|
28
|
-
function internalSetState(self, changes) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var nonControlledChanges = Object.entries(changesObject).reduce(function (newChanges, _ref3) {
|
|
34
|
-
var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
|
|
35
|
-
key = _ref4[0],
|
|
36
|
-
value = _ref4[1];
|
|
22
|
+
function internalSetState(self, changes, callback = () => {}) {
|
|
23
|
+
self.setState(state => {
|
|
24
|
+
const combinedState = getState(self, state);
|
|
25
|
+
const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
|
|
26
|
+
const nonControlledChanges = Object.entries(changesObject).reduce((newChanges, [key, value]) => {
|
|
37
27
|
if (!isControlled(self, key)) {
|
|
38
28
|
newChanges[key] = value;
|
|
39
29
|
}
|
|
40
30
|
return newChanges;
|
|
41
31
|
}, {});
|
|
42
32
|
return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
|
|
43
|
-
},
|
|
33
|
+
}, () => {
|
|
44
34
|
callback();
|
|
45
35
|
});
|
|
46
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uncontroll.js","names":["isControlled","self","prop","props","undefined","getState","state","
|
|
1
|
+
{"version":3,"file":"uncontroll.js","names":["isControlled","self","prop","props","undefined","getState","state","Object","entries","reduce","combinedState","key","value","internalSetState","changes","callback","setState","changesObject","nonControlledChanges","newChanges","keys","length"],"sources":["../../src/utils/uncontroll.ts"],"sourcesContent":["import type { Component, PureComponent } from 'react';\n\nexport function isControlled<\n P extends {},\n S extends {},\n C extends Component<P, S> | PureComponent<P, S>,\n>(self: C, prop: keyof P) {\n return self.props[prop] !== undefined;\n}\n\nexport function getState<C extends Component | PureComponent>(\n self: C,\n state: C['state'] = self.state,\n) {\n return Object.entries(state).reduce((combinedState: any, [key, value]) => {\n if (isControlled(self, key)) {\n combinedState[key] = (self as any).props[key];\n } else {\n combinedState[key] = value;\n }\n return combinedState;\n }, {} as Partial<C['state']>);\n}\n\nexport function internalSetState<T, C extends Component<any, T> | PureComponent<any, T>>(\n self: C,\n changes: Partial<T> | ((combinedState: Partial<T>) => Partial<T>),\n callback: () => void = () => {},\n) {\n self.setState(\n (state) => {\n const combinedState = getState(self, state);\n const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;\n\n const nonControlledChanges = Object.entries(changesObject).reduce(\n (newChanges, [key, value]) => {\n if (!isControlled(self, key)) {\n newChanges[key] = value;\n }\n return newChanges;\n },\n {} as any,\n );\n\n return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};\n },\n () => {\n callback();\n },\n );\n}\n"],"mappings":";;;;;;;;AAEO,SAASA,YAAYA,CAI1BC,IAAO,EAAEC,IAAa,EAAE;EACxB,OAAOD,IAAI,CAACE,KAAK,CAACD,IAAI,CAAC,KAAKE,SAAS;AACvC;AAEO,SAASC,QAAQA,CACtBJ,IAAO,EACPK,KAAiB,GAAGL,IAAI,CAACK,KAAK,EAC9B;EACA,OAAOC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,MAAM,CAAC,CAACC,aAAkB,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IACxE,IAAIZ,YAAY,CAACC,IAAI,EAAEU,GAAG,CAAC,EAAE;MAC3BD,aAAa,CAACC,GAAG,CAAC,GAAIV,IAAI,CAASE,KAAK,CAACQ,GAAG,CAAC;IAC/C,CAAC,MAAM;MACLD,aAAa,CAACC,GAAG,CAAC,GAAGC,KAAK;IAC5B;IACA,OAAOF,aAAa;EACtB,CAAC,EAAE,CAAC,CAAwB,CAAC;AAC/B;AAEO,SAASG,gBAAgBA,CAC9BZ,IAAO,EACPa,OAAiE,EACjEC,QAAoB,GAAGA,CAAA,KAAM,CAAC,CAAC,EAC/B;EACAd,IAAI,CAACe,QAAQ,CACVV,KAAK,IAAK;IACT,MAAMI,aAAa,GAAGL,QAAQ,CAACJ,IAAI,EAAEK,KAAK,CAAC;IAC3C,MAAMW,aAAa,GAAG,OAAOH,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACJ,aAAa,CAAC,GAAGI,OAAO;IAEtF,MAAMI,oBAAoB,GAAGX,MAAM,CAACC,OAAO,CAACS,aAAa,CAAC,CAACR,MAAM,CAC/D,CAACU,UAAU,EAAE,CAACR,GAAG,EAAEC,KAAK,CAAC,KAAK;MAC5B,IAAI,CAACZ,YAAY,CAACC,IAAI,EAAEU,GAAG,CAAC,EAAE;QAC5BQ,UAAU,CAACR,GAAG,CAAC,GAAGC,KAAK;MACzB;MACA,OAAOO,UAAU;IACnB,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAOZ,MAAM,CAACa,IAAI,CAACF,oBAAoB,CAAC,CAACG,MAAM,GAAGH,oBAAoB,GAAG,CAAC,CAAC;EAC7E,CAAC,EACD,MAAM;IACJH,QAAQ,CAAC,CAAC;EACZ,CACF,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/uncontroll.mjs
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
1
|
export function isControlled(self, prop) {
|
|
3
2
|
return self.props[prop] !== undefined;
|
|
4
3
|
}
|
|
5
|
-
export function getState(self) {
|
|
6
|
-
|
|
7
|
-
return Object.entries(state).reduce(function (combinedState, _ref) {
|
|
8
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
9
|
-
key = _ref2[0],
|
|
10
|
-
value = _ref2[1];
|
|
4
|
+
export function getState(self, state = self.state) {
|
|
5
|
+
return Object.entries(state).reduce((combinedState, [key, value]) => {
|
|
11
6
|
if (isControlled(self, key)) {
|
|
12
7
|
combinedState[key] = self.props[key];
|
|
13
8
|
} else {
|
|
@@ -16,22 +11,18 @@ export function getState(self) {
|
|
|
16
11
|
return combinedState;
|
|
17
12
|
}, {});
|
|
18
13
|
}
|
|
19
|
-
export function internalSetState(self, changes) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var nonControlledChanges = Object.entries(changesObject).reduce(function (newChanges, _ref3) {
|
|
25
|
-
var _ref4 = _slicedToArray(_ref3, 2),
|
|
26
|
-
key = _ref4[0],
|
|
27
|
-
value = _ref4[1];
|
|
14
|
+
export function internalSetState(self, changes, callback = () => {}) {
|
|
15
|
+
self.setState(state => {
|
|
16
|
+
const combinedState = getState(self, state);
|
|
17
|
+
const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
|
|
18
|
+
const nonControlledChanges = Object.entries(changesObject).reduce((newChanges, [key, value]) => {
|
|
28
19
|
if (!isControlled(self, key)) {
|
|
29
20
|
newChanges[key] = value;
|
|
30
21
|
}
|
|
31
22
|
return newChanges;
|
|
32
23
|
}, {});
|
|
33
24
|
return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
|
|
34
|
-
},
|
|
25
|
+
}, () => {
|
|
35
26
|
callback();
|
|
36
27
|
});
|
|
37
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uncontroll.mjs","names":["isControlled","self","prop","props","undefined","getState","state","
|
|
1
|
+
{"version":3,"file":"uncontroll.mjs","names":["isControlled","self","prop","props","undefined","getState","state","Object","entries","reduce","combinedState","key","value","internalSetState","changes","callback","setState","changesObject","nonControlledChanges","newChanges","keys","length"],"sources":["../../src/utils/uncontroll.ts"],"sourcesContent":["import type { Component, PureComponent } from 'react';\n\nexport function isControlled<\n P extends {},\n S extends {},\n C extends Component<P, S> | PureComponent<P, S>,\n>(self: C, prop: keyof P) {\n return self.props[prop] !== undefined;\n}\n\nexport function getState<C extends Component | PureComponent>(\n self: C,\n state: C['state'] = self.state,\n) {\n return Object.entries(state).reduce((combinedState: any, [key, value]) => {\n if (isControlled(self, key)) {\n combinedState[key] = (self as any).props[key];\n } else {\n combinedState[key] = value;\n }\n return combinedState;\n }, {} as Partial<C['state']>);\n}\n\nexport function internalSetState<T, C extends Component<any, T> | PureComponent<any, T>>(\n self: C,\n changes: Partial<T> | ((combinedState: Partial<T>) => Partial<T>),\n callback: () => void = () => {},\n) {\n self.setState(\n (state) => {\n const combinedState = getState(self, state);\n const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;\n\n const nonControlledChanges = Object.entries(changesObject).reduce(\n (newChanges, [key, value]) => {\n if (!isControlled(self, key)) {\n newChanges[key] = value;\n }\n return newChanges;\n },\n {} as any,\n );\n\n return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};\n },\n () => {\n callback();\n },\n );\n}\n"],"mappings":"AAEA,OAAO,SAASA,YAAYA,CAI1BC,IAAO,EAAEC,IAAa,EAAE;EACxB,OAAOD,IAAI,CAACE,KAAK,CAACD,IAAI,CAAC,KAAKE,SAAS;AACvC;AAEA,OAAO,SAASC,QAAQA,CACtBJ,IAAO,EACPK,KAAiB,GAAGL,IAAI,CAACK,KAAK,EAC9B;EACA,OAAOC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,MAAM,CAAC,CAACC,aAAkB,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IACxE,IAAIZ,YAAY,CAACC,IAAI,EAAEU,GAAG,CAAC,EAAE;MAC3BD,aAAa,CAACC,GAAG,CAAC,GAAIV,IAAI,CAASE,KAAK,CAACQ,GAAG,CAAC;IAC/C,CAAC,MAAM;MACLD,aAAa,CAACC,GAAG,CAAC,GAAGC,KAAK;IAC5B;IACA,OAAOF,aAAa;EACtB,CAAC,EAAE,CAAC,CAAwB,CAAC;AAC/B;AAEA,OAAO,SAASG,gBAAgBA,CAC9BZ,IAAO,EACPa,OAAiE,EACjEC,QAAoB,GAAGA,CAAA,KAAM,CAAC,CAAC,EAC/B;EACAd,IAAI,CAACe,QAAQ,CACVV,KAAK,IAAK;IACT,MAAMI,aAAa,GAAGL,QAAQ,CAACJ,IAAI,EAAEK,KAAK,CAAC;IAC3C,MAAMW,aAAa,GAAG,OAAOH,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACJ,aAAa,CAAC,GAAGI,OAAO;IAEtF,MAAMI,oBAAoB,GAAGX,MAAM,CAACC,OAAO,CAACS,aAAa,CAAC,CAACR,MAAM,CAC/D,CAACU,UAAU,EAAE,CAACR,GAAG,EAAEC,KAAK,CAAC,KAAK;MAC5B,IAAI,CAACZ,YAAY,CAACC,IAAI,EAAEU,GAAG,CAAC,EAAE;QAC5BQ,UAAU,CAACR,GAAG,CAAC,GAAGC,KAAK;MACzB;MACA,OAAOO,UAAU;IACnB,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAOZ,MAAM,CAACa,IAAI,CAACF,oBAAoB,CAAC,CAACG,MAAM,GAAGH,oBAAoB,GAAG,CAAC,CAAC;EAC7E,CAAC,EACD,MAAM;IACJH,QAAQ,CAAC,CAAC;EACZ,CACF,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/uniqueID.js
CHANGED
|
@@ -1,40 +1,35 @@
|
|
|
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
|
});
|
|
7
|
-
exports.useUID = exports
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
7
|
+
exports.useUID = exports.default = void 0;
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
9
|
var _register = _interopRequireDefault(require("../register"));
|
|
12
10
|
var _useEnhancedEffect = _interopRequireDefault(require("./use/useEnhancedEffect"));
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var _ref = _react["default"].useId ? [_react["default"].useId()] : _react["default"].useState(context.value++),
|
|
24
|
-
_ref2 = (0, _slicedToArray2["default"])(_ref, 1),
|
|
25
|
-
uid = _ref2[0];
|
|
26
|
-
var trimmedUid = String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;
|
|
27
|
-
(0, _useEnhancedEffect["default"])(function () {
|
|
28
|
-
_register["default"].set('uid-context', context);
|
|
11
|
+
const createSource = (prefix = 'ui-kit-') => ({
|
|
12
|
+
value: 1,
|
|
13
|
+
prefix
|
|
14
|
+
});
|
|
15
|
+
const useUID = prefix => {
|
|
16
|
+
const context = _register.default.get('uid-context', createSource(prefix));
|
|
17
|
+
const [uid] = _react.default.useId ? [_react.default.useId()] : _react.default.useState(context.value++);
|
|
18
|
+
const trimmedUid = String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;
|
|
19
|
+
(0, _useEnhancedEffect.default)(() => {
|
|
20
|
+
_register.default.set('uid-context', context);
|
|
29
21
|
}, [trimmedUid]);
|
|
30
|
-
return (
|
|
22
|
+
return (context.prefix ?? '') + trimmedUid;
|
|
31
23
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
exports.useUID = useUID;
|
|
25
|
+
var _default = prefix => {
|
|
26
|
+
return props => {
|
|
27
|
+
const uid = useUID(prefix);
|
|
28
|
+
return {
|
|
29
|
+
uid,
|
|
30
|
+
...props
|
|
31
|
+
};
|
|
38
32
|
};
|
|
39
33
|
};
|
|
34
|
+
exports.default = _default;
|
|
40
35
|
//# sourceMappingURL=uniqueID.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniqueID.js","names":["_react","_interopRequireDefault","require","_register","_useEnhancedEffect","createSource","prefix","
|
|
1
|
+
{"version":3,"file":"uniqueID.js","names":["_react","_interopRequireDefault","require","_register","_useEnhancedEffect","createSource","prefix","value","useUID","context","register","get","uid","React","useId","useState","trimmedUid","String","startsWith","endsWith","slice","useEnhancedEffect","set","exports","_default","props","default"],"sources":["../../src/utils/uniqueID.ts"],"sourcesContent":["import React from 'react';\n\nimport register from '../register';\nimport useEnhancedEffect from './use/useEnhancedEffect';\n\ntype ContextType = {\n prefix?: string;\n value: number;\n};\n\nexport type UniqueIDProps = {\n /* Unique ID */\n uid?: string;\n};\n\nconst createSource = (prefix = 'ui-kit-'): ContextType => ({ value: 1, prefix });\n\nexport const useUID = (prefix?: string): string => {\n const context = register.get<ContextType>('uid-context', createSource(prefix));\n const [uid] = React.useId ? [React.useId()] : React.useState<number>(context.value++);\n const trimmedUid =\n String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;\n\n useEnhancedEffect(() => {\n register.set<ContextType>('uid-context', context);\n }, [trimmedUid]);\n\n return (context.prefix ?? '') + trimmedUid;\n};\n\nexport default (prefix?: string) => {\n return (props: any): { uid: ReturnType<typeof useUID> } => {\n const uid = useUID(prefix);\n return {\n uid,\n ...props,\n };\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAYA,MAAMG,YAAY,GAAGA,CAACC,MAAM,GAAG,SAAS,MAAmB;EAAEC,KAAK,EAAE,CAAC;EAAED;AAAO,CAAC,CAAC;AAEzE,MAAME,MAAM,GAAIF,MAAe,IAAa;EACjD,MAAMG,OAAO,GAAGC,iBAAQ,CAACC,GAAG,CAAc,aAAa,EAAEN,YAAY,CAACC,MAAM,CAAC,CAAC;EAC9E,MAAM,CAACM,GAAG,CAAC,GAAGC,cAAK,CAACC,KAAK,GAAG,CAACD,cAAK,CAACC,KAAK,CAAC,CAAC,CAAC,GAAGD,cAAK,CAACE,QAAQ,CAASN,OAAO,CAACF,KAAK,EAAE,CAAC;EACrF,MAAMS,UAAU,GACdC,MAAM,CAACL,GAAG,CAAC,CAACM,UAAU,CAAC,GAAG,CAAC,IAAID,MAAM,CAACL,GAAG,CAAC,CAACO,QAAQ,CAAC,GAAG,CAAC,GAAGF,MAAM,CAACL,GAAG,CAAC,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGR,GAAG;EAE3F,IAAAS,0BAAiB,EAAC,MAAM;IACtBX,iBAAQ,CAACY,GAAG,CAAc,aAAa,EAAEb,OAAO,CAAC;EACnD,CAAC,EAAE,CAACO,UAAU,CAAC,CAAC;EAEhB,OAAO,CAACP,OAAO,CAACH,MAAM,IAAI,EAAE,IAAIU,UAAU;AAC5C,CAAC;AAACO,OAAA,CAAAf,MAAA,GAAAA,MAAA;AAAA,IAAAgB,QAAA,GAEclB,MAAe,IAAK;EAClC,OAAQmB,KAAU,IAAyC;IACzD,MAAMb,GAAG,GAAGJ,MAAM,CAACF,MAAM,CAAC;IAC1B,OAAO;MACLM,GAAG;MACH,GAAGa;IACL,CAAC;EACH,CAAC;AACH,CAAC;AAAAF,OAAA,CAAAG,OAAA,GAAAF,QAAA","ignoreList":[]}
|