@semcore/core 17.0.0-prerelease.43 → 17.0.1-prerelease.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -111
- package/README.md +35 -5
- 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 +238 -158
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +189 -133
- 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 -4
- 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 +189 -133
- 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 -4
- 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/themes/dark.js +2 -2
- package/lib/theme/themes/dark.js.map +1 -1
- package/lib/theme/themes/default.js +2 -2
- package/lib/theme/themes/default.js.map +1 -1
- package/lib/theme/themes/highlights-dark.js +2 -2
- package/lib/theme/themes/highlights-dark.js.map +1 -1
- package/lib/theme/themes/highlights-light.js +2 -2
- package/lib/theme/themes/highlights-light.js.map +1 -1
- package/lib/theme/themes/light.js +2 -2
- package/lib/theme/themes/light.js.map +1 -1
- package/lib/utils/CSSinJS.js +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/indentStyles.js +10 -5
- package/lib/utils/indentStyles.js.map +1 -1
- package/lib/utils/indentStyles.mjs +9 -5
- package/lib/utils/indentStyles.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 +22 -21
- package/lib/utils/use/useColorResolver.js.map +1 -1
- package/lib/utils/use/useColorResolver.mjs +19 -17
- 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 +26 -24
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +21 -19
- 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 +12 -316
- package/vite.config.ts +0 -22
- package/tsconfig-utils.json +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactToText.mjs","names":["reactToText","node","Number","isNaN","toString","Array","isArray","map","entry","join","props","children","typeOrigin","type","origin"],"sources":["../../src/utils/reactToText.ts"],"sourcesContent":["import type React from 'react';\n\nfunction reactToText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'boolean') {\n if (Number.isNaN(node)) return '';\n return node.toString();\n }\n if (!node) {\n return '';\n }\n if (Array.isArray(node)) {\n return node.map((entry) => reactToText(entry)).join('');\n }\n\n const props: { children?: React.ReactNode } = (node as any).props ? (node as any).props : {};\n\n if (!props || !props.children) {\n const typeOrigin = (node as any).type?.origin;\n if (typeof typeOrigin === 'string') {\n return typeOrigin;\n }\n\n return '';\n }\n\n return reactToText(props.children);\n}\n\nexport default reactToText;\n"],"mappings":"AAEA,SAASA,WAAWA,CAACC,IAAqB,EAAU;EAClD,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE;IACrF,IAAIC,MAAM,CAACC,KAAK,CAACF,IAAI,CAAC,EAAE,OAAO,EAAE;IACjC,OAAOA,IAAI,CAACG,QAAQ,CAAC,CAAC;EACxB;EACA,IAAI,CAACH,IAAI,EAAE;IACT,OAAO,EAAE;EACX;EACA,IAAII,KAAK,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IACvB,OAAOA,IAAI,CAACM,GAAG,
|
|
1
|
+
{"version":3,"file":"reactToText.mjs","names":["reactToText","node","Number","isNaN","toString","Array","isArray","map","entry","join","props","children","_type","typeOrigin","type","origin"],"sources":["../../src/utils/reactToText.ts"],"sourcesContent":["import type React from 'react';\n\nfunction reactToText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'boolean') {\n if (Number.isNaN(node)) return '';\n return node.toString();\n }\n if (!node) {\n return '';\n }\n if (Array.isArray(node)) {\n return node.map((entry) => reactToText(entry)).join('');\n }\n\n const props: { children?: React.ReactNode } = (node as any).props ? (node as any).props : {};\n\n if (!props || !props.children) {\n const typeOrigin = (node as any).type?.origin;\n if (typeof typeOrigin === 'string') {\n return typeOrigin;\n }\n\n return '';\n }\n\n return reactToText(props.children);\n}\n\nexport default reactToText;\n"],"mappings":"AAEA,SAASA,WAAWA,CAACC,IAAqB,EAAU;EAClD,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE;IACrF,IAAIC,MAAM,CAACC,KAAK,CAACF,IAAI,CAAC,EAAE,OAAO,EAAE;IACjC,OAAOA,IAAI,CAACG,QAAQ,CAAC,CAAC;EACxB;EACA,IAAI,CAACH,IAAI,EAAE;IACT,OAAO,EAAE;EACX;EACA,IAAII,KAAK,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IACvB,OAAOA,IAAI,CAACM,GAAG,CAAC,UAACC,KAAK;MAAA,OAAKR,WAAW,CAACQ,KAAK,CAAC;IAAA,EAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EACzD;EAEA,IAAMC,KAAqC,GAAIT,IAAI,CAASS,KAAK,GAAIT,IAAI,CAASS,KAAK,GAAG,CAAC,CAAC;EAE5F,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,QAAQ,EAAE;IAAA,IAAAC,KAAA;IAC7B,IAAMC,UAAU,IAAAD,KAAA,GAAIX,IAAI,CAASa,IAAI,cAAAF,KAAA,uBAAlBA,KAAA,CAAoBG,MAAM;IAC7C,IAAI,OAAOF,UAAU,KAAK,QAAQ,EAAE;MAClC,OAAOA,UAAU;IACnB;IAEA,OAAO,EAAE;EACX;EAEA,OAAOb,WAAW,CAACU,KAAK,CAACC,QAAQ,CAAC;AACpC;AAEA,eAAeX,WAAW","ignoreList":[]}
|
package/lib/utils/ref.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -9,11 +9,13 @@ exports.getRef = getRef;
|
|
|
9
9
|
exports.setRef = setRef;
|
|
10
10
|
exports.useCallbackRef = useCallbackRef;
|
|
11
11
|
exports.useForkRef = useForkRef;
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
14
|
var _react = _interopRequireDefault(require("react"));
|
|
13
15
|
function setRef(ref, value) {
|
|
14
16
|
if (typeof ref === 'function') {
|
|
15
17
|
ref(value);
|
|
16
|
-
} else if (ref
|
|
18
|
+
} else if (ref !== null && ref !== void 0 && ref.hasOwnProperty('current')) {
|
|
17
19
|
// @ts-ignore
|
|
18
20
|
ref['current'] = value;
|
|
19
21
|
}
|
|
@@ -23,42 +25,58 @@ function getRef(ref) {
|
|
|
23
25
|
return 'current' in ref ? ref.current : ref;
|
|
24
26
|
}
|
|
25
27
|
function useCallbackRef(initialValue, callback) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
var _React$useState = _react["default"].useState(function () {
|
|
29
|
+
return {
|
|
30
|
+
// value
|
|
31
|
+
value: initialValue,
|
|
32
|
+
// last callback
|
|
33
|
+
callback: callback,
|
|
34
|
+
// "memoized" public interface
|
|
35
|
+
facade: {
|
|
36
|
+
get current() {
|
|
37
|
+
return ref.value;
|
|
38
|
+
},
|
|
39
|
+
set current(value) {
|
|
40
|
+
var last = ref.value;
|
|
41
|
+
if (last !== value) {
|
|
42
|
+
ref.value = value;
|
|
43
|
+
ref.callback(value, last);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
41
46
|
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
47
|
+
};
|
|
48
|
+
}),
|
|
49
|
+
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 1),
|
|
50
|
+
ref = _React$useState2[0];
|
|
45
51
|
// update callback
|
|
46
52
|
ref.callback = callback;
|
|
47
53
|
return ref.facade;
|
|
48
54
|
}
|
|
49
|
-
function useForkRef(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
function useForkRef() {
|
|
56
|
+
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
57
|
+
refs[_key] = arguments[_key];
|
|
58
|
+
}
|
|
59
|
+
return _react["default"].useCallback(function (refValue) {
|
|
60
|
+
var uniqueRefs = (0, _toConsumableArray2["default"])(new Set(refs));
|
|
61
|
+
uniqueRefs.forEach(function (ref) {
|
|
62
|
+
return setRef(ref, refValue);
|
|
63
|
+
});
|
|
53
64
|
}, refs);
|
|
54
65
|
}
|
|
55
|
-
function forkRef(
|
|
56
|
-
|
|
66
|
+
function forkRef() {
|
|
67
|
+
for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
68
|
+
refs[_key2] = arguments[_key2];
|
|
69
|
+
}
|
|
70
|
+
if (refs.every(function (ref) {
|
|
71
|
+
return ref == null;
|
|
72
|
+
})) {
|
|
57
73
|
return null;
|
|
58
74
|
}
|
|
59
|
-
return refValue
|
|
60
|
-
|
|
61
|
-
uniqueRefs.forEach(
|
|
75
|
+
return function (refValue) {
|
|
76
|
+
var uniqueRefs = (0, _toConsumableArray2["default"])(new Set(refs));
|
|
77
|
+
uniqueRefs.forEach(function (ref) {
|
|
78
|
+
return setRef(ref, refValue);
|
|
79
|
+
});
|
|
62
80
|
};
|
|
63
81
|
}
|
|
64
82
|
//# sourceMappingURL=ref.js.map
|
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
|
}
|