@semcore/core 17.0.0-prerelease.20 → 17.0.0-prerelease.20-prerelease.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/LastInteractionType.js +36 -22
- package/lib/LastInteractionType.js.map +1 -1
- package/lib/LastInteractionType.mjs +33 -19
- package/lib/LastInteractionType.mjs.map +1 -1
- package/lib/core-types/Component.js +41 -25
- package/lib/core-types/Component.js.map +1 -1
- package/lib/core-types/Component.mjs +38 -18
- package/lib/core-types/Component.mjs.map +1 -1
- package/lib/core-types/symbols.js +9 -9
- package/lib/core-types/symbols.js.map +1 -1
- package/lib/core-types/symbols.mjs +9 -9
- package/lib/core-types/symbols.mjs.map +1 -1
- package/lib/coreFactory.js +205 -143
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +164 -118
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/decorators/propsObserver.js +64 -36
- package/lib/decorators/propsObserver.js.map +1 -1
- package/lib/decorators/propsObserver.mjs +61 -33
- package/lib/decorators/propsObserver.mjs.map +1 -1
- package/lib/decorators/reactive.js +17 -17
- package/lib/decorators/reactive.js.map +1 -1
- package/lib/decorators/reactive.mjs +15 -15
- package/lib/decorators/reactive.mjs.map +1 -1
- package/lib/enhancement/Children.js +59 -51
- package/lib/enhancement/Children.js.map +1 -1
- package/lib/enhancement/Children.mjs +41 -47
- package/lib/enhancement/Children.mjs.map +1 -1
- package/lib/enhancement/Root.js +37 -36
- package/lib/enhancement/Root.js.map +1 -1
- package/lib/enhancement/Root.mjs +18 -28
- package/lib/enhancement/Root.mjs.map +1 -1
- package/lib/enhancement/dataName.js +8 -7
- package/lib/enhancement/dataName.js.map +1 -1
- package/lib/enhancement/dataName.mjs +5 -5
- package/lib/enhancement/dataName.mjs.map +1 -1
- package/lib/enhancement/enhance.js +9 -6
- package/lib/enhancement/enhance.js.map +1 -1
- package/lib/enhancement/enhance.mjs +7 -5
- package/lib/enhancement/enhance.mjs.map +1 -1
- package/lib/enhancement/functionDefaultProps.js +6 -6
- package/lib/enhancement/functionDefaultProps.js.map +1 -1
- package/lib/enhancement/functionDefaultProps.mjs +4 -4
- package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
- package/lib/enhancement/i18n.js +13 -13
- package/lib/enhancement/i18n.js.map +1 -1
- package/lib/enhancement/i18n.mjs +9 -10
- package/lib/enhancement/i18n.mjs.map +1 -1
- package/lib/enhancement/inheritedName.js +8 -7
- package/lib/enhancement/inheritedName.js.map +1 -1
- package/lib/enhancement/inheritedName.mjs +5 -5
- package/lib/enhancement/inheritedName.mjs.map +1 -1
- package/lib/enhancement/staticChildren.js +56 -47
- package/lib/enhancement/staticChildren.js.map +1 -1
- package/lib/enhancement/staticChildren.mjs +48 -43
- package/lib/enhancement/staticChildren.mjs.map +1 -1
- package/lib/enhancement/style.js +27 -29
- package/lib/enhancement/style.js.map +1 -1
- package/lib/enhancement/style.mjs +20 -26
- package/lib/enhancement/style.mjs.map +1 -1
- package/lib/enhancement/uncontrolledProps.js +65 -46
- package/lib/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/enhancement/uncontrolledProps.mjs +52 -43
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
- package/lib/esm/LastInteractionType.mjs +33 -19
- package/lib/esm/core-types/Component.mjs +38 -18
- package/lib/esm/core-types/symbols.mjs +9 -9
- package/lib/esm/coreFactory.mjs +164 -118
- package/lib/esm/enhancement/Children.mjs +41 -47
- package/lib/esm/enhancement/Root.mjs +18 -28
- package/lib/esm/enhancement/dataName.mjs +5 -5
- package/lib/esm/enhancement/enhance.mjs +7 -5
- package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
- package/lib/esm/enhancement/i18n.mjs +9 -10
- package/lib/esm/enhancement/inheritedName.mjs +5 -5
- package/lib/esm/enhancement/staticChildren.mjs +48 -43
- package/lib/esm/enhancement/style.mjs +20 -26
- package/lib/esm/enhancement/uncontrolledProps.mjs +52 -43
- package/lib/esm/register.mjs +20 -12
- package/lib/esm/styled/reshadow-core.mjs +111 -98
- package/lib/esm/styled/sstyled.mjs +41 -31
- package/lib/esm/utils/assignProps.mjs +36 -32
- package/lib/esm/utils/enhances/WithI18n.mjs +17 -15
- package/lib/esm/utils/enhances/i18nEnhance.mjs +61 -47
- package/lib/esm/utils/logger.mjs +21 -13
- package/lib/esm/utils/pick.mjs +4 -4
- package/lib/esm/utils/ref.mjs +43 -27
- package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/index.js +17 -17
- package/lib/register.js +24 -17
- package/lib/register.js.map +1 -1
- package/lib/register.mjs +20 -12
- package/lib/register.mjs.map +1 -1
- package/lib/styled/index.js +4 -4
- package/lib/styled/reshadow-core.js +104 -102
- package/lib/styled/reshadow-core.js.map +1 -1
- package/lib/styled/reshadow-core.mjs +111 -98
- package/lib/styled/reshadow-core.mjs.map +1 -1
- package/lib/styled/sstyled.js +53 -31
- package/lib/styled/sstyled.js.map +1 -1
- package/lib/styled/sstyled.mjs +41 -31
- package/lib/styled/sstyled.mjs.map +1 -1
- package/lib/theme/processor.js +222 -150
- package/lib/theme/processor.js.map +1 -1
- package/lib/theme/processor.mjs +221 -148
- package/lib/theme/processor.mjs.map +1 -1
- package/lib/theme/themes/dark.js +2 -2
- package/lib/theme/themes/dark.js.map +1 -1
- package/lib/theme/themes/default.js +2 -2
- package/lib/theme/themes/default.js.map +1 -1
- package/lib/theme/themes/highlights-dark.js +2 -2
- package/lib/theme/themes/highlights-dark.js.map +1 -1
- package/lib/theme/themes/highlights-light.js +2 -2
- package/lib/theme/themes/highlights-light.js.map +1 -1
- package/lib/theme/themes/light.js +2 -2
- package/lib/theme/themes/light.js.map +1 -1
- package/lib/theme/utils.js +215 -140
- package/lib/theme/utils.js.map +1 -1
- package/lib/theme/utils.mjs +214 -135
- package/lib/theme/utils.mjs.map +1 -1
- package/lib/utils/CSSinJS.js +10 -8
- package/lib/utils/CSSinJS.js.map +1 -1
- package/lib/utils/CSSinJS.mjs +7 -6
- package/lib/utils/CSSinJS.mjs.map +1 -1
- package/lib/utils/ThemeProvider.js +51 -44
- package/lib/utils/ThemeProvider.js.map +1 -1
- package/lib/utils/ThemeProvider.mjs +47 -36
- package/lib/utils/ThemeProvider.mjs.map +1 -1
- package/lib/utils/addonText.js +7 -4
- package/lib/utils/addonText.js.map +1 -1
- package/lib/utils/addonText.mjs +5 -2
- package/lib/utils/addonText.mjs.map +1 -1
- package/lib/utils/addonTextChildren.js +21 -15
- package/lib/utils/addonTextChildren.js.map +1 -1
- package/lib/utils/addonTextChildren.mjs +13 -7
- package/lib/utils/addonTextChildren.mjs.map +1 -1
- package/lib/utils/ariaProps.js +5 -7
- package/lib/utils/ariaProps.js.map +1 -1
- package/lib/utils/ariaProps.mjs +5 -7
- package/lib/utils/ariaProps.mjs.map +1 -1
- package/lib/utils/assignProps.js +37 -33
- package/lib/utils/assignProps.js.map +1 -1
- package/lib/utils/assignProps.mjs +36 -32
- package/lib/utils/assignProps.mjs.map +1 -1
- package/lib/utils/canUseDOM.js +1 -1
- package/lib/utils/capitalizeFirstLetter.js +1 -1
- package/lib/utils/color.js +95 -72
- package/lib/utils/color.js.map +1 -1
- package/lib/utils/color.mjs +94 -71
- package/lib/utils/color.mjs.map +1 -1
- package/lib/utils/compose.js +12 -3
- package/lib/utils/compose.js.map +1 -1
- package/lib/utils/compose.mjs +11 -2
- package/lib/utils/compose.mjs.map +1 -1
- package/lib/utils/createUUID.js +5 -5
- package/lib/utils/createUUID.js.map +1 -1
- package/lib/utils/createUUID.mjs +4 -4
- package/lib/utils/createUUID.mjs.map +1 -1
- package/lib/utils/cssToIntDefault.js +4 -3
- package/lib/utils/cssToIntDefault.js.map +1 -1
- package/lib/utils/cssToIntDefault.mjs +3 -2
- package/lib/utils/cssToIntDefault.mjs.map +1 -1
- package/lib/utils/enhances/WithCSS.js +8 -10
- package/lib/utils/enhances/WithCSS.js.map +1 -1
- package/lib/utils/enhances/WithCSS.mjs +6 -7
- package/lib/utils/enhances/WithCSS.mjs.map +1 -1
- package/lib/utils/enhances/WithI18n.js +19 -19
- package/lib/utils/enhances/WithI18n.js.map +1 -1
- package/lib/utils/enhances/WithI18n.mjs +17 -15
- package/lib/utils/enhances/WithI18n.mjs.map +1 -1
- package/lib/utils/enhances/a11yEnhance.js +39 -34
- package/lib/utils/enhances/a11yEnhance.js.map +1 -1
- package/lib/utils/enhances/a11yEnhance.mjs +36 -32
- package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.js +63 -55
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.mjs +58 -50
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
- package/lib/utils/enhances/contextEnhance.js +11 -12
- package/lib/utils/enhances/contextEnhance.js.map +1 -1
- package/lib/utils/enhances/contextEnhance.mjs +8 -9
- package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
- package/lib/utils/enhances/i18nEnhance.js +67 -51
- package/lib/utils/enhances/i18nEnhance.js.map +1 -1
- package/lib/utils/enhances/i18nEnhance.mjs +61 -47
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.js +10 -12
- package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.mjs +6 -8
- package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
- package/lib/utils/eventEmitter.js +57 -30
- package/lib/utils/eventEmitter.js.map +1 -1
- package/lib/utils/eventEmitter.mjs +55 -26
- package/lib/utils/eventEmitter.mjs.map +1 -1
- package/lib/utils/findComponent.js +42 -35
- package/lib/utils/findComponent.js.map +1 -1
- package/lib/utils/findComponent.mjs +33 -26
- package/lib/utils/findComponent.mjs.map +1 -1
- package/lib/utils/fire.js +13 -7
- package/lib/utils/fire.js.map +1 -1
- package/lib/utils/fire.mjs +11 -5
- package/lib/utils/fire.mjs.map +1 -1
- package/lib/utils/focus-lock/focusBorders.js +32 -28
- package/lib/utils/focus-lock/focusBorders.js.map +1 -1
- package/lib/utils/focus-lock/focusBorders.mjs +32 -26
- package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.js +6 -4
- package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.mjs +6 -3
- package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.js +6 -5
- package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.mjs +6 -4
- package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusable.js +12 -9
- package/lib/utils/focus-lock/isFocusable.js.map +1 -1
- package/lib/utils/focus-lock/isFocusable.mjs +11 -8
- package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
- package/lib/utils/focus-lock/setFocus.js +27 -21
- package/lib/utils/focus-lock/setFocus.js.map +1 -1
- package/lib/utils/focus-lock/setFocus.mjs +25 -19
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
- package/lib/utils/getAccessibleName.js +22 -10
- package/lib/utils/getAccessibleName.js.map +1 -1
- package/lib/utils/getAccessibleName.mjs +21 -10
- package/lib/utils/getAccessibleName.mjs.map +1 -1
- package/lib/utils/getDisplayName.js +1 -1
- package/lib/utils/getEventTarget.js +32 -13
- package/lib/utils/getEventTarget.js.map +1 -1
- package/lib/utils/getEventTarget.mjs +31 -12
- package/lib/utils/getEventTarget.mjs.map +1 -1
- package/lib/utils/getOriginChildren.js +4 -4
- package/lib/utils/getOriginChildren.js.map +1 -1
- package/lib/utils/getRandomInt.js +1 -1
- package/lib/utils/getValue.js +6 -4
- package/lib/utils/getValue.js.map +1 -1
- package/lib/utils/getValue.mjs +5 -3
- package/lib/utils/getValue.mjs.map +1 -1
- package/lib/utils/hasLabels.js +27 -16
- package/lib/utils/hasLabels.js.map +1 -1
- package/lib/utils/hasLabels.mjs +24 -14
- package/lib/utils/hasLabels.mjs.map +1 -1
- package/lib/utils/hasParent.js +2 -3
- package/lib/utils/hasParent.js.map +1 -1
- package/lib/utils/hasParent.mjs +3 -2
- package/lib/utils/hasParent.mjs.map +1 -1
- package/lib/utils/ifChildren.js +4 -6
- package/lib/utils/ifChildren.js.map +1 -1
- package/lib/utils/ifChildren.mjs +2 -4
- package/lib/utils/ifChildren.mjs.map +1 -1
- package/lib/utils/injectStyle.js +13 -11
- package/lib/utils/injectStyle.js.map +1 -1
- package/lib/utils/injectStyle.mjs +10 -9
- package/lib/utils/injectStyle.mjs.map +1 -1
- package/lib/utils/inputProps.js +5 -5
- package/lib/utils/inputProps.js.map +1 -1
- package/lib/utils/inputProps.mjs +4 -4
- package/lib/utils/inputProps.mjs.map +1 -1
- package/lib/utils/isInteractiveElement.js +9 -7
- package/lib/utils/isInteractiveElement.js.map +1 -1
- package/lib/utils/isInteractiveElement.mjs +9 -7
- package/lib/utils/isInteractiveElement.mjs.map +1 -1
- package/lib/utils/isNode.js +5 -4
- package/lib/utils/isNode.js.map +1 -1
- package/lib/utils/isNode.mjs +2 -1
- package/lib/utils/isNode.mjs.map +1 -1
- package/lib/utils/isPromise.js +1 -1
- package/lib/utils/isRetina.js +2 -7
- package/lib/utils/isRetina.js.map +1 -1
- package/lib/utils/isRetina.mjs +1 -6
- package/lib/utils/isRetina.mjs.map +1 -1
- package/lib/utils/logger.js +25 -18
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.mjs +21 -13
- package/lib/utils/logger.mjs.map +1 -1
- package/lib/utils/numericChecker.js +18 -11
- package/lib/utils/numericChecker.js.map +1 -1
- package/lib/utils/numericChecker.mjs +17 -10
- package/lib/utils/numericChecker.mjs.map +1 -1
- package/lib/utils/ownerDocument.js +2 -2
- package/lib/utils/ownerDocument.js.map +1 -1
- package/lib/utils/ownerDocument.mjs +1 -1
- package/lib/utils/ownerDocument.mjs.map +1 -1
- package/lib/utils/pick.js +5 -5
- package/lib/utils/pick.js.map +1 -1
- package/lib/utils/pick.mjs +4 -4
- package/lib/utils/pick.mjs.map +1 -1
- package/lib/utils/propsForElement.js +12 -10
- package/lib/utils/propsForElement.js.map +1 -1
- package/lib/utils/propsForElement.mjs +10 -8
- package/lib/utils/propsForElement.mjs.map +1 -1
- package/lib/utils/rafTrottle.js +14 -9
- package/lib/utils/rafTrottle.js.map +1 -1
- package/lib/utils/rafTrottle.mjs +12 -7
- package/lib/utils/rafTrottle.mjs.map +1 -1
- package/lib/utils/reactToText.js +8 -5
- package/lib/utils/reactToText.js.map +1 -1
- package/lib/utils/reactToText.mjs +6 -3
- package/lib/utils/reactToText.mjs.map +1 -1
- package/lib/utils/ref.js +47 -29
- package/lib/utils/ref.js.map +1 -1
- package/lib/utils/ref.mjs +43 -27
- package/lib/utils/ref.mjs.map +1 -1
- package/lib/utils/setRef.js +2 -2
- package/lib/utils/setRef.js.map +1 -1
- package/lib/utils/syncScroll.js +24 -24
- package/lib/utils/syncScroll.js.map +1 -1
- package/lib/utils/syncScroll.mjs +21 -21
- package/lib/utils/syncScroll.mjs.map +1 -1
- package/lib/utils/uncontroll.js +18 -8
- package/lib/utils/uncontroll.js.map +1 -1
- package/lib/utils/uncontroll.mjs +17 -8
- package/lib/utils/uncontroll.mjs.map +1 -1
- package/lib/utils/uniqueID.js +27 -22
- package/lib/utils/uniqueID.js.map +1 -1
- package/lib/utils/uniqueID.mjs +25 -18
- package/lib/utils/uniqueID.mjs.map +1 -1
- package/lib/utils/use/useColorResolver.js +21 -20
- package/lib/utils/use/useColorResolver.js.map +1 -1
- package/lib/utils/use/useColorResolver.mjs +18 -16
- package/lib/utils/use/useColorResolver.mjs.map +1 -1
- package/lib/utils/use/useEnhancedEffect.js +4 -4
- package/lib/utils/use/useEnhancedEffect.js.map +1 -1
- package/lib/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
- package/lib/utils/use/useEventCallback.js +10 -5
- package/lib/utils/use/useEventCallback.js.map +1 -1
- package/lib/utils/use/useEventCallback.mjs +8 -3
- package/lib/utils/use/useEventCallback.mjs.map +1 -1
- package/lib/utils/use/useEventListener.js +15 -11
- package/lib/utils/use/useEventListener.js.map +1 -1
- package/lib/utils/use/useEventListener.mjs +11 -7
- package/lib/utils/use/useEventListener.mjs.map +1 -1
- package/lib/utils/use/useFocusLock.js +94 -80
- package/lib/utils/use/useFocusLock.js.map +1 -1
- package/lib/utils/use/useFocusLock.mjs +88 -71
- package/lib/utils/use/useFocusLock.mjs.map +1 -1
- package/lib/utils/use/usePreventScroll.js +28 -26
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +23 -21
- package/lib/utils/use/usePreventScroll.mjs.map +1 -1
- package/lib/utils/use/useScrollBarWidth.js +14 -8
- package/lib/utils/use/useScrollBarWidth.js.map +1 -1
- package/lib/utils/use/useScrollBarWidth.mjs +13 -8
- package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
- package/lib/utils/useCssVariable.js +37 -32
- package/lib/utils/useCssVariable.js.map +1 -1
- package/lib/utils/useCssVariable.mjs +34 -27
- package/lib/utils/useCssVariable.mjs.map +1 -1
- package/lib/utils/zIndexStacking.js +24 -28
- package/lib/utils/zIndexStacking.js.map +1 -1
- package/lib/utils/zIndexStacking.mjs +22 -23
- package/lib/utils/zIndexStacking.mjs.map +1 -1
- package/package.json +1 -1
package/lib/utils/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","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":"
|
|
1
|
+
{"version":3,"file":"ref.js","names":["_react","_interopRequireDefault","require","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","_React$useState","React","useState","facade","last","_React$useState2","_slicedToArray2","useForkRef","_len","arguments","length","refs","Array","_key","useCallback","refValue","uniqueRefs","_toConsumableArray2","Set","forEach","forkRef","_len2","_key2","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,aAAHA,GAAG,eAAHA,GAAG,CAAEE,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,IAAAC,eAAA,GAAcC,iBAAK,CAACC,QAAQ,CAAC;MAAA,OAAO;QAClC;QACAT,KAAK,EAAEK,YAAY;QACnB;QACAC,QAAQ,EAARA,QAAQ;QACR;QACAI,MAAM,EAAE;UACN,IAAIP,OAAOA,CAAA,EAAG;YACZ,OAAOJ,GAAG,CAACC,KAAK;UAClB,CAAC;UACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;YACjB,IAAMW,IAAI,GAAGZ,GAAG,CAACC,KAAK;YACtB,IAAIW,IAAI,KAAKX,KAAK,EAAE;cAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;cACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAEW,IAAI,CAAC;YAC3B;UACF;QACF;MACF,CAAC;IAAA,CAAC,CAAC;IAAAC,gBAAA,OAAAC,eAAA,aAAAN,eAAA;IAlBIR,GAAG,GAAAa,gBAAA;EAmBV;EACAb,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACW,MAAM;AACnB;AAEO,SAASI,UAAUA,CAAA,EAA+B;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EACnC,OAAOZ,iBAAK,CAACa,WAAW,CAAC,UAACC,QAAa,EAAK;IAC1C,IAAMC,UAAU,OAAAC,mBAAA,aAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC3B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEuB,QAAQ,CAAC;IAAA,EAAC;EACpD,CAAC,EAAEJ,IAAI,CAAC;AACV;AAEO,SAASS,OAAOA,CAAA,EAA+B;EAAA,SAAAC,KAAA,GAAAZ,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAS,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJX,IAAI,CAAAW,KAAA,IAAAb,SAAA,CAAAa,KAAA;EAAA;EAChC,IAAIX,IAAI,CAACY,KAAK,CAAC,UAAC/B,GAAG;IAAA,OAAKA,GAAG,IAAI,IAAI;EAAA,EAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAO,UAACuB,QAAQ,EAAK;IACnB,IAAMC,UAAU,OAAAC,mBAAA,aAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC3B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEuB,QAAQ,CAAC;IAAA,EAAC;EACpD,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/ref.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
1
3
|
import React from "react";
|
|
2
4
|
function setRef(ref, value) {
|
|
3
5
|
if (typeof ref === "function") {
|
|
4
6
|
ref(value);
|
|
5
|
-
} else if (ref
|
|
7
|
+
} else if (ref !== null && ref !== void 0 && ref.hasOwnProperty("current")) {
|
|
6
8
|
ref["current"] = value;
|
|
7
9
|
}
|
|
8
10
|
}
|
|
@@ -11,41 +13,55 @@ function getRef(ref) {
|
|
|
11
13
|
return "current" in ref ? ref.current : ref;
|
|
12
14
|
}
|
|
13
15
|
function useCallbackRef(initialValue, callback) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
var _React$useState = React.useState(function() {
|
|
17
|
+
return {
|
|
18
|
+
// value
|
|
19
|
+
value: initialValue,
|
|
20
|
+
// last callback
|
|
21
|
+
callback,
|
|
22
|
+
// "memoized" public interface
|
|
23
|
+
facade: {
|
|
24
|
+
get current() {
|
|
25
|
+
return ref.value;
|
|
26
|
+
},
|
|
27
|
+
set current(value) {
|
|
28
|
+
var last = ref.value;
|
|
29
|
+
if (last !== value) {
|
|
30
|
+
ref.value = value;
|
|
31
|
+
ref.callback(value, last);
|
|
32
|
+
}
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
|
-
}
|
|
32
|
-
}));
|
|
35
|
+
};
|
|
36
|
+
}), _React$useState2 = _slicedToArray(_React$useState, 1), ref = _React$useState2[0];
|
|
33
37
|
ref.callback = callback;
|
|
34
38
|
return ref.facade;
|
|
35
39
|
}
|
|
36
|
-
function useForkRef(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
function useForkRef() {
|
|
41
|
+
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
42
|
+
refs[_key] = arguments[_key];
|
|
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
|
+
});
|
|
40
49
|
}, refs);
|
|
41
50
|
}
|
|
42
|
-
function forkRef(
|
|
43
|
-
|
|
51
|
+
function forkRef() {
|
|
52
|
+
for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
53
|
+
refs[_key2] = arguments[_key2];
|
|
54
|
+
}
|
|
55
|
+
if (refs.every(function(ref) {
|
|
56
|
+
return ref == null;
|
|
57
|
+
})) {
|
|
44
58
|
return null;
|
|
45
59
|
}
|
|
46
|
-
return (refValue)
|
|
47
|
-
|
|
48
|
-
uniqueRefs.forEach((ref)
|
|
60
|
+
return function(refValue) {
|
|
61
|
+
var uniqueRefs = _toConsumableArray(new Set(refs));
|
|
62
|
+
uniqueRefs.forEach(function(ref) {
|
|
63
|
+
return setRef(ref, refValue);
|
|
64
|
+
});
|
|
49
65
|
};
|
|
50
66
|
}
|
|
51
67
|
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","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,
|
|
1
|
+
{"version":3,"file":"ref.mjs","names":["React","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","_React$useState","useState","facade","last","_React$useState2","_slicedToArray","useForkRef","_len","arguments","length","refs","Array","_key","useCallback","refValue","uniqueRefs","_toConsumableArray","Set","forEach","forkRef","_len2","_key2","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,aAAHA,GAAG,eAAHA,GAAG,CAAEE,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,IAAAC,eAAA,GAAcV,KAAK,CAACW,QAAQ,CAAC;MAAA,OAAO;QAClC;QACAR,KAAK,EAAEK,YAAY;QACnB;QACAC,QAAQ,EAARA,QAAQ;QACR;QACAG,MAAM,EAAE;UACN,IAAIN,OAAOA,CAAA,EAAG;YACZ,OAAOJ,GAAG,CAACC,KAAK;UAClB,CAAC;UACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;YACjB,IAAMU,IAAI,GAAGX,GAAG,CAACC,KAAK;YACtB,IAAIU,IAAI,KAAKV,KAAK,EAAE;cAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;cACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAEU,IAAI,CAAC;YAC3B;UACF;QACF;MACF,CAAC;IAAA,CAAC,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAL,eAAA;IAlBIR,GAAG,GAAAY,gBAAA;EAmBV;EACAZ,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACU,MAAM;AACnB;AAEA,OAAO,SAASI,UAAUA,CAAA,EAA+B;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EACnC,OAAOtB,KAAK,CAACuB,WAAW,CAAC,UAACC,QAAa,EAAK;IAC1C,IAAMC,UAAU,GAAAC,kBAAA,CAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC1B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEsB,QAAQ,CAAC;IAAA,EAAC;EACpD,CAAC,EAAEJ,IAAI,CAAC;AACV;AAEA,OAAO,SAASS,OAAOA,CAAA,EAA+B;EAAA,SAAAC,KAAA,GAAAZ,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAS,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJX,IAAI,CAAAW,KAAA,IAAAb,SAAA,CAAAa,KAAA;EAAA;EAChC,IAAIX,IAAI,CAACY,KAAK,CAAC,UAAC9B,GAAG;IAAA,OAAKA,GAAG,IAAI,IAAI;EAAA,EAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAO,UAACsB,QAAQ,EAAK;IACnB,IAAMC,UAAU,GAAAC,kBAAA,CAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC1B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEsB,QAAQ,CAAC;IAAA,EAAC;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","
|
|
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,cAEhBC,WAAM","ignoreList":[]}
|
package/lib/utils/syncScroll.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
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
|
|
7
|
+
exports["default"] = syncScroll;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
8
9
|
var _canUseDOM = _interopRequireDefault(require("./canUseDOM"));
|
|
9
10
|
function syncScroll() {
|
|
10
|
-
|
|
11
|
+
var refs = new Map();
|
|
11
12
|
function handlerScroll(event) {
|
|
12
|
-
|
|
13
|
-
if (!(0, _canUseDOM
|
|
14
|
-
window.requestAnimationFrame(()
|
|
15
|
-
refs.forEach(node
|
|
13
|
+
var scrolledNode = event.currentTarget;
|
|
14
|
+
if (!(0, _canUseDOM["default"])()) return;
|
|
15
|
+
window.requestAnimationFrame(function () {
|
|
16
|
+
refs.forEach(function (node) {
|
|
16
17
|
if (scrolledNode !== node && node) {
|
|
17
18
|
node.removeEventListener('scroll', handlerScroll);
|
|
18
19
|
syncScrollPosition(scrolledNode, node);
|
|
19
|
-
window.requestAnimationFrame(()
|
|
20
|
+
window.requestAnimationFrame(function () {
|
|
20
21
|
node.addEventListener('scroll', handlerScroll);
|
|
21
22
|
});
|
|
22
23
|
}
|
|
@@ -24,18 +25,16 @@ function syncScroll() {
|
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
27
|
function syncScrollPosition(scrolledNode, node) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const nodeHeight = node.scrollHeight - clientHeight;
|
|
38
|
-
const nodeWidth = node.scrollWidth - clientWidth;
|
|
28
|
+
var scrollTop = scrolledNode.scrollTop,
|
|
29
|
+
scrollHeight = scrolledNode.scrollHeight,
|
|
30
|
+
clientHeight = scrolledNode.clientHeight,
|
|
31
|
+
scrollLeft = scrolledNode.scrollLeft,
|
|
32
|
+
scrollWidth = scrolledNode.scrollWidth,
|
|
33
|
+
clientWidth = scrolledNode.clientWidth;
|
|
34
|
+
var scrollTopOffset = scrollHeight - clientHeight;
|
|
35
|
+
var scrollLeftOffset = scrollWidth - clientWidth;
|
|
36
|
+
var nodeHeight = node.scrollHeight - clientHeight;
|
|
37
|
+
var nodeWidth = node.scrollWidth - clientWidth;
|
|
39
38
|
if (scrollTopOffset > 0) {
|
|
40
39
|
node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
|
|
41
40
|
}
|
|
@@ -43,14 +42,15 @@ function syncScroll() {
|
|
|
43
42
|
node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
|
-
return name
|
|
45
|
+
return function (name) {
|
|
47
46
|
refs.set(name, null);
|
|
48
|
-
return ref
|
|
49
|
-
|
|
47
|
+
return function (ref) {
|
|
48
|
+
var _refs$get;
|
|
49
|
+
(_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
|
|
50
50
|
refs.set(name, ref);
|
|
51
51
|
if (ref) {
|
|
52
52
|
ref.addEventListener('scroll', handlerScroll);
|
|
53
|
-
|
|
53
|
+
var scrolledNode = (0, _toConsumableArray2["default"])(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","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":"
|
|
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","_refs$get","get","_toConsumableArray2","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,IAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,IAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAAC,IAAAC,qBAAS,EAAC,CAAC,EAAE;IAClBC,MAAM,CAACC,qBAAqB,CAAC,YAAM;MACjCR,IAAI,CAACS,OAAO,CAAC,UAACC,IAAI,EAAK;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,YAAM;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,IAAQI,SAAS,GACfV,YAAY,CADNU,SAAS;MAAEC,YAAY,GAC7BX,YAAY,CADKW,YAAY;MAAEC,YAAY,GAC3CZ,YAAY,CADmBY,YAAY;MAAEC,UAAU,GACvDb,YAAY,CADiCa,UAAU;MAAEC,WAAW,GACpEd,YAAY,CAD6Cc,WAAW;MAAEC,WAAW,GACjFf,YAAY,CAD0De,WAAW;IAGnF,IAAMC,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,IAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,IAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,IAAMO,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,OAAO,UAACG,IAAY,EAAK;IACvBxB,IAAI,CAACyB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAO,UAACE,GAAQ,EAAK;MAAA,IAAAC,SAAA;MACnB,CAAAA,SAAA,GAAA3B,IAAI,CAAC4B,GAAG,CAACJ,IAAI,CAAC,cAAAG,SAAA,eAAdA,SAAA,CAAgBhB,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,IAAME,YAAY,GAAG,IAAAyB,mBAAA,aAAI7B,IAAI,CAAC8B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI1B,YAAY,EAAE;UAChBQ,kBAAkB,CAACR,YAAY,EAAEsB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/syncScroll.mjs
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
1
2
|
import canUseDOM from "./canUseDOM.mjs";
|
|
2
3
|
export default function syncScroll() {
|
|
3
|
-
|
|
4
|
+
var refs = new Map();
|
|
4
5
|
function handlerScroll(event) {
|
|
5
|
-
|
|
6
|
+
var scrolledNode = event.currentTarget;
|
|
6
7
|
if (!canUseDOM()) return;
|
|
7
|
-
window.requestAnimationFrame(()
|
|
8
|
-
refs.forEach(node
|
|
8
|
+
window.requestAnimationFrame(function () {
|
|
9
|
+
refs.forEach(function (node) {
|
|
9
10
|
if (scrolledNode !== node && node) {
|
|
10
11
|
node.removeEventListener('scroll', handlerScroll);
|
|
11
12
|
syncScrollPosition(scrolledNode, node);
|
|
12
|
-
window.requestAnimationFrame(()
|
|
13
|
+
window.requestAnimationFrame(function () {
|
|
13
14
|
node.addEventListener('scroll', handlerScroll);
|
|
14
15
|
});
|
|
15
16
|
}
|
|
@@ -17,18 +18,16 @@ export default function syncScroll() {
|
|
|
17
18
|
});
|
|
18
19
|
}
|
|
19
20
|
function syncScrollPosition(scrolledNode, node) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const nodeHeight = node.scrollHeight - clientHeight;
|
|
31
|
-
const nodeWidth = node.scrollWidth - clientWidth;
|
|
21
|
+
var scrollTop = scrolledNode.scrollTop,
|
|
22
|
+
scrollHeight = scrolledNode.scrollHeight,
|
|
23
|
+
clientHeight = scrolledNode.clientHeight,
|
|
24
|
+
scrollLeft = scrolledNode.scrollLeft,
|
|
25
|
+
scrollWidth = scrolledNode.scrollWidth,
|
|
26
|
+
clientWidth = scrolledNode.clientWidth;
|
|
27
|
+
var scrollTopOffset = scrollHeight - clientHeight;
|
|
28
|
+
var scrollLeftOffset = scrollWidth - clientWidth;
|
|
29
|
+
var nodeHeight = node.scrollHeight - clientHeight;
|
|
30
|
+
var nodeWidth = node.scrollWidth - clientWidth;
|
|
32
31
|
if (scrollTopOffset > 0) {
|
|
33
32
|
node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
|
|
34
33
|
}
|
|
@@ -36,14 +35,15 @@ export default function syncScroll() {
|
|
|
36
35
|
node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
return name
|
|
38
|
+
return function (name) {
|
|
40
39
|
refs.set(name, null);
|
|
41
|
-
return ref
|
|
42
|
-
|
|
40
|
+
return function (ref) {
|
|
41
|
+
var _refs$get;
|
|
42
|
+
(_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
|
|
43
43
|
refs.set(name, ref);
|
|
44
44
|
if (ref) {
|
|
45
45
|
ref.addEventListener('scroll', handlerScroll);
|
|
46
|
-
|
|
46
|
+
var scrolledNode = _toConsumableArray(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","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,
|
|
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","_refs$get","get","_toConsumableArray","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,IAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,IAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAACP,SAAS,CAAC,CAAC,EAAE;IAClBQ,MAAM,CAACC,qBAAqB,CAAC,YAAM;MACjCP,IAAI,CAACQ,OAAO,CAAC,UAACC,IAAI,EAAK;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,YAAM;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,IAAQI,SAAS,GACfT,YAAY,CADNS,SAAS;MAAEC,YAAY,GAC7BV,YAAY,CADKU,YAAY;MAAEC,YAAY,GAC3CX,YAAY,CADmBW,YAAY;MAAEC,UAAU,GACvDZ,YAAY,CADiCY,UAAU;MAAEC,WAAW,GACpEb,YAAY,CAD6Ca,WAAW;MAAEC,WAAW,GACjFd,YAAY,CAD0Dc,WAAW;IAGnF,IAAMC,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,IAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,IAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,IAAMO,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,OAAO,UAACG,IAAY,EAAK;IACvBvB,IAAI,CAACwB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAO,UAACE,GAAQ,EAAK;MAAA,IAAAC,SAAA;MACnB,CAAAA,SAAA,GAAA1B,IAAI,CAAC2B,GAAG,CAACJ,IAAI,CAAC,cAAAG,SAAA,eAAdA,SAAA,CAAgBhB,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,IAAME,YAAY,GAAGwB,kBAAA,CAAI5B,IAAI,CAAC6B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAIzB,YAAY,EAAE;UAChBO,kBAAkB,CAACP,YAAY,EAAEqB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/uncontroll.js
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.getState = getState;
|
|
7
8
|
exports.internalSetState = internalSetState;
|
|
8
9
|
exports.isControlled = isControlled;
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
11
|
function isControlled(self, prop) {
|
|
10
12
|
return self.props[prop] !== undefined;
|
|
11
13
|
}
|
|
12
|
-
function getState(self
|
|
13
|
-
|
|
14
|
+
function getState(self) {
|
|
15
|
+
var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : self.state;
|
|
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];
|
|
14
20
|
if (isControlled(self, key)) {
|
|
15
21
|
combinedState[key] = self.props[key];
|
|
16
22
|
} else {
|
|
@@ -19,18 +25,22 @@ function getState(self, state = self.state) {
|
|
|
19
25
|
return combinedState;
|
|
20
26
|
}, {});
|
|
21
27
|
}
|
|
22
|
-
function internalSetState(self, changes
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
function internalSetState(self, changes) {
|
|
29
|
+
var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|
30
|
+
self.setState(function (state) {
|
|
31
|
+
var combinedState = getState(self, state);
|
|
32
|
+
var changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
|
|
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];
|
|
27
37
|
if (!isControlled(self, key)) {
|
|
28
38
|
newChanges[key] = value;
|
|
29
39
|
}
|
|
30
40
|
return newChanges;
|
|
31
41
|
}, {});
|
|
32
42
|
return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
|
|
33
|
-
}, ()
|
|
43
|
+
}, function () {
|
|
34
44
|
callback();
|
|
35
45
|
});
|
|
36
46
|
}
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
1
|
+
{"version":3,"file":"uncontroll.js","names":["isControlled","self","prop","props","undefined","getState","state","arguments","length","Object","entries","reduce","combinedState","_ref","_ref2","_slicedToArray2","key","value","internalSetState","changes","callback","setState","changesObject","nonControlledChanges","newChanges","_ref3","_ref4","keys"],"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,EAEP;EAAA,IADAK,KAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAGN,IAAI,CAACK,KAAK;EAE9B,OAAOG,MAAM,CAACC,OAAO,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAC,UAACC,aAAkB,EAAAC,IAAA,EAAmB;IAAA,IAAAC,KAAA,OAAAC,eAAA,aAAAF,IAAA;MAAhBG,GAAG,GAAAF,KAAA;MAAEG,KAAK,GAAAH,KAAA;IAClE,IAAId,YAAY,CAACC,IAAI,EAAEe,GAAG,CAAC,EAAE;MAC3BJ,aAAa,CAACI,GAAG,CAAC,GAAIf,IAAI,CAASE,KAAK,CAACa,GAAG,CAAC;IAC/C,CAAC,MAAM;MACLJ,aAAa,CAACI,GAAG,CAAC,GAAGC,KAAK;IAC5B;IACA,OAAOL,aAAa;EACtB,CAAC,EAAE,CAAC,CAAwB,CAAC;AAC/B;AAEO,SAASM,gBAAgBA,CAC9BjB,IAAO,EACPkB,OAAiE,EAEjE;EAAA,IADAC,QAAoB,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAG,YAAM,CAAC,CAAC;EAE/BN,IAAI,CAACoB,QAAQ,CACX,UAACf,KAAK,EAAK;IACT,IAAMM,aAAa,GAAGP,QAAQ,CAACJ,IAAI,EAAEK,KAAK,CAAC;IAC3C,IAAMgB,aAAa,GAAG,OAAOH,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACP,aAAa,CAAC,GAAGO,OAAO;IAEtF,IAAMI,oBAAoB,GAAGd,MAAM,CAACC,OAAO,CAACY,aAAa,CAAC,CAACX,MAAM,CAC/D,UAACa,UAAU,EAAAC,KAAA,EAAmB;MAAA,IAAAC,KAAA,OAAAX,eAAA,aAAAU,KAAA;QAAhBT,GAAG,GAAAU,KAAA;QAAET,KAAK,GAAAS,KAAA;MACtB,IAAI,CAAC1B,YAAY,CAACC,IAAI,EAAEe,GAAG,CAAC,EAAE;QAC5BQ,UAAU,CAACR,GAAG,CAAC,GAAGC,KAAK;MACzB;MACA,OAAOO,UAAU;IACnB,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAOf,MAAM,CAACkB,IAAI,CAACJ,oBAAoB,CAAC,CAACf,MAAM,GAAGe,oBAAoB,GAAG,CAAC,CAAC;EAC7E,CAAC,EACD,YAAM;IACJH,QAAQ,CAAC,CAAC;EACZ,CACF,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/uncontroll.mjs
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
1
2
|
export function isControlled(self, prop) {
|
|
2
3
|
return self.props[prop] !== undefined;
|
|
3
4
|
}
|
|
4
|
-
export function getState(self
|
|
5
|
-
|
|
5
|
+
export function getState(self) {
|
|
6
|
+
var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : self.state;
|
|
7
|
+
return Object.entries(state).reduce(function (combinedState, _ref) {
|
|
8
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
9
|
+
key = _ref2[0],
|
|
10
|
+
value = _ref2[1];
|
|
6
11
|
if (isControlled(self, key)) {
|
|
7
12
|
combinedState[key] = self.props[key];
|
|
8
13
|
} else {
|
|
@@ -11,18 +16,22 @@ export function getState(self, state = self.state) {
|
|
|
11
16
|
return combinedState;
|
|
12
17
|
}, {});
|
|
13
18
|
}
|
|
14
|
-
export function internalSetState(self, changes
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
export function internalSetState(self, changes) {
|
|
20
|
+
var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|
21
|
+
self.setState(function (state) {
|
|
22
|
+
var combinedState = getState(self, state);
|
|
23
|
+
var changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
|
|
24
|
+
var nonControlledChanges = Object.entries(changesObject).reduce(function (newChanges, _ref3) {
|
|
25
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
26
|
+
key = _ref4[0],
|
|
27
|
+
value = _ref4[1];
|
|
19
28
|
if (!isControlled(self, key)) {
|
|
20
29
|
newChanges[key] = value;
|
|
21
30
|
}
|
|
22
31
|
return newChanges;
|
|
23
32
|
}, {});
|
|
24
33
|
return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
|
|
25
|
-
}, ()
|
|
34
|
+
}, function () {
|
|
26
35
|
callback();
|
|
27
36
|
});
|
|
28
37
|
}
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
1
|
+
{"version":3,"file":"uncontroll.mjs","names":["isControlled","self","prop","props","undefined","getState","state","arguments","length","Object","entries","reduce","combinedState","_ref","_ref2","_slicedToArray","key","value","internalSetState","changes","callback","setState","changesObject","nonControlledChanges","newChanges","_ref3","_ref4","keys"],"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,EAEP;EAAA,IADAK,KAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAGN,IAAI,CAACK,KAAK;EAE9B,OAAOG,MAAM,CAACC,OAAO,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAC,UAACC,aAAkB,EAAAC,IAAA,EAAmB;IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA;MAAhBG,GAAG,GAAAF,KAAA;MAAEG,KAAK,GAAAH,KAAA;IAClE,IAAId,YAAY,CAACC,IAAI,EAAEe,GAAG,CAAC,EAAE;MAC3BJ,aAAa,CAACI,GAAG,CAAC,GAAIf,IAAI,CAASE,KAAK,CAACa,GAAG,CAAC;IAC/C,CAAC,MAAM;MACLJ,aAAa,CAACI,GAAG,CAAC,GAAGC,KAAK;IAC5B;IACA,OAAOL,aAAa;EACtB,CAAC,EAAE,CAAC,CAAwB,CAAC;AAC/B;AAEA,OAAO,SAASM,gBAAgBA,CAC9BjB,IAAO,EACPkB,OAAiE,EAEjE;EAAA,IADAC,QAAoB,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAG,YAAM,CAAC,CAAC;EAE/BN,IAAI,CAACoB,QAAQ,CACX,UAACf,KAAK,EAAK;IACT,IAAMM,aAAa,GAAGP,QAAQ,CAACJ,IAAI,EAAEK,KAAK,CAAC;IAC3C,IAAMgB,aAAa,GAAG,OAAOH,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACP,aAAa,CAAC,GAAGO,OAAO;IAEtF,IAAMI,oBAAoB,GAAGd,MAAM,CAACC,OAAO,CAACY,aAAa,CAAC,CAACX,MAAM,CAC/D,UAACa,UAAU,EAAAC,KAAA,EAAmB;MAAA,IAAAC,KAAA,GAAAX,cAAA,CAAAU,KAAA;QAAhBT,GAAG,GAAAU,KAAA;QAAET,KAAK,GAAAS,KAAA;MACtB,IAAI,CAAC1B,YAAY,CAACC,IAAI,EAAEe,GAAG,CAAC,EAAE;QAC5BQ,UAAU,CAACR,GAAG,CAAC,GAAGC,KAAK;MACzB;MACA,OAAOO,UAAU;IACnB,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAOf,MAAM,CAACkB,IAAI,CAACJ,oBAAoB,CAAC,CAACf,MAAM,GAAGe,oBAAoB,GAAG,CAAC,CAAC;EAC7E,CAAC,EACD,YAAM;IACJH,QAAQ,CAAC,CAAC;EACZ,CACF,CAAC;AACH","ignoreList":[]}
|
package/lib/utils/uniqueID.js
CHANGED
|
@@ -1,35 +1,40 @@
|
|
|
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
|
|
7
|
+
exports.useUID = exports["default"] = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
var _register = _interopRequireDefault(require("../register"));
|
|
10
12
|
var _useEnhancedEffect = _interopRequireDefault(require("./use/useEnhancedEffect"));
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
var createSource = function createSource() {
|
|
14
|
+
var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ui-kit-';
|
|
15
|
+
return {
|
|
16
|
+
value: 1,
|
|
17
|
+
prefix: prefix
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
var useUID = exports.useUID = function useUID(prefix) {
|
|
21
|
+
var _context$prefix;
|
|
22
|
+
var context = _register["default"].get('uid-context', createSource(prefix));
|
|
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);
|
|
21
29
|
}, [trimmedUid]);
|
|
22
|
-
return (context.prefix
|
|
30
|
+
return ((_context$prefix = context.prefix) !== null && _context$prefix !== void 0 ? _context$prefix : '') + trimmedUid;
|
|
23
31
|
};
|
|
24
|
-
exports
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
...props
|
|
31
|
-
};
|
|
32
|
+
var _default = exports["default"] = function _default(prefix) {
|
|
33
|
+
return function (props) {
|
|
34
|
+
var uid = useUID(prefix);
|
|
35
|
+
return (0, _objectSpread2["default"])({
|
|
36
|
+
uid: uid
|
|
37
|
+
}, props);
|
|
32
38
|
};
|
|
33
39
|
};
|
|
34
|
-
exports.default = _default;
|
|
35
40
|
//# sourceMappingURL=uniqueID.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniqueID.js","names":["_react","_interopRequireDefault","require","_register","_useEnhancedEffect","createSource","prefix","value","useUID","context","register","get","
|
|
1
|
+
{"version":3,"file":"uniqueID.js","names":["_react","_interopRequireDefault","require","_register","_useEnhancedEffect","createSource","prefix","arguments","length","undefined","value","useUID","exports","_context$prefix","context","register","get","_ref","React","useId","useState","_ref2","_slicedToArray2","uid","trimmedUid","String","startsWith","endsWith","slice","useEnhancedEffect","set","_default","props","_objectSpread2"],"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,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAA;EAAA,IAAIC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAAA,OAAmB;IAAEG,KAAK,EAAE,CAAC;IAAEJ,MAAM,EAANA;EAAO,CAAC;AAAA,CAAC;AAEzE,IAAMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,SAATA,MAAMA,CAAIL,MAAe,EAAa;EAAA,IAAAO,eAAA;EACjD,IAAMC,OAAO,GAAGC,oBAAQ,CAACC,GAAG,CAAc,aAAa,EAAEX,YAAY,CAACC,MAAM,CAAC,CAAC;EAC9E,IAAAW,IAAA,GAAcC,iBAAK,CAACC,KAAK,GAAG,CAACD,iBAAK,CAACC,KAAK,CAAC,CAAC,CAAC,GAAGD,iBAAK,CAACE,QAAQ,CAASN,OAAO,CAACJ,KAAK,EAAE,CAAC;IAAAW,KAAA,OAAAC,eAAA,aAAAL,IAAA;IAA9EM,GAAG,GAAAF,KAAA;EACV,IAAMG,UAAU,GACdC,MAAM,CAACF,GAAG,CAAC,CAACG,UAAU,CAAC,GAAG,CAAC,IAAID,MAAM,CAACF,GAAG,CAAC,CAACI,QAAQ,CAAC,GAAG,CAAC,GAAGF,MAAM,CAACF,GAAG,CAAC,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGL,GAAG;EAE3F,IAAAM,6BAAiB,EAAC,YAAM;IACtBd,oBAAQ,CAACe,GAAG,CAAc,aAAa,EAAEhB,OAAO,CAAC;EACnD,CAAC,EAAE,CAACU,UAAU,CAAC,CAAC;EAEhB,OAAO,EAAAX,eAAA,GAACC,OAAO,CAACR,MAAM,cAAAO,eAAA,cAAAA,eAAA,GAAI,EAAE,IAAIW,UAAU;AAC5C,CAAC;AAAC,IAAAO,QAAA,GAAAnB,OAAA,cAEa,SAAAmB,SAACzB,MAAe,EAAK;EAClC,OAAO,UAAC0B,KAAU,EAAyC;IACzD,IAAMT,GAAG,GAAGZ,MAAM,CAACL,MAAM,CAAC;IAC1B,WAAA2B,cAAA;MACEV,GAAG,EAAHA;IAAG,GACAS,KAAK;EAEZ,CAAC;AACH,CAAC","ignoreList":[]}
|