@tamagui/web 3.0.0-beta.807.1 → 3.0.0-beta.881.1
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/dist/cjs/config.cjs +1 -1
- package/dist/cjs/config.native.cjs +1 -1
- package/dist/cjs/config.native.js +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +40 -19
- package/dist/cjs/createComponent.native.cjs +42 -21
- package/dist/cjs/createComponent.native.js +42 -21
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createStyledHOC.cjs +54 -4
- package/dist/cjs/createStyledHOC.native.cjs +55 -4
- package/dist/cjs/createStyledHOC.native.js +55 -4
- package/dist/cjs/createStyledHOC.native.js.map +1 -1
- package/dist/cjs/createTokens.cjs +1 -1
- package/dist/cjs/createTokens.native.cjs +1 -1
- package/dist/cjs/createTokens.native.js +1 -1
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.cjs +0 -10
- package/dist/cjs/createVariable.native.cjs +0 -10
- package/dist/cjs/createVariable.native.js +0 -10
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/dom/html.cjs +147 -99
- package/dist/cjs/dom/htmlRuntime.native.cjs +6 -2
- package/dist/cjs/dom/htmlRuntime.native.js +6 -2
- package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
- package/dist/cjs/dom/primitives.native.cjs +16 -13
- package/dist/cjs/dom/primitives.native.js +16 -13
- package/dist/cjs/dom/primitives.native.js.map +1 -1
- package/dist/cjs/helpers/borderComponents.cjs +62 -0
- package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
- package/dist/cjs/helpers/borderComponents.native.js +84 -0
- package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
- package/dist/cjs/helpers/componentDisplayName.cjs +1 -11
- package/dist/cjs/helpers/componentDisplayName.native.cjs +1 -11
- package/dist/cjs/helpers/componentDisplayName.native.js +1 -11
- package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +0 -2
- package/dist/cjs/helpers/createStyledContext.cjs +10 -18
- package/dist/cjs/helpers/createStyledContext.native.cjs +14 -18
- package/dist/cjs/helpers/createStyledContext.native.js +14 -18
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/formatDiagnostic.cjs +8 -10
- package/dist/cjs/helpers/formatDiagnostic.native.cjs +8 -10
- package/dist/cjs/helpers/formatDiagnostic.native.js +8 -10
- package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +133 -114
- package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +11 -3
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js +11 -3
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +13 -1
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +15 -1
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +15 -1
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
- package/dist/cjs/helpers/getDynamicVal.cjs +5 -1
- package/dist/cjs/helpers/getDynamicVal.native.cjs +5 -1
- package/dist/cjs/helpers/getDynamicVal.native.js +5 -1
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +1063 -2168
- package/dist/cjs/helpers/getSplitStyles.native.cjs +1115 -2515
- package/dist/cjs/helpers/getSplitStyles.native.js +1115 -2515
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/grammarConfig.cjs +163 -1
- package/dist/cjs/helpers/grammarConfig.native.cjs +186 -1
- package/dist/cjs/helpers/grammarConfig.native.js +186 -1
- package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.cjs +5 -1
- package/dist/cjs/helpers/insertStyleRule.native.cjs +7 -1
- package/dist/cjs/helpers/insertStyleRule.native.js +7 -1
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/log.cjs +9 -8
- package/dist/cjs/helpers/log.native.cjs +9 -8
- package/dist/cjs/helpers/log.native.js +9 -8
- package/dist/cjs/helpers/log.native.js.map +1 -1
- package/dist/cjs/helpers/mergeVariants.cjs +44 -13
- package/dist/cjs/helpers/mergeVariants.native.cjs +79 -14
- package/dist/cjs/helpers/mergeVariants.native.js +79 -14
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
- package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
- package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
- package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/cjs/helpers/nativeStyleEngine.cjs +34 -14
- package/dist/cjs/helpers/nativeStyleEngine.native.cjs +36 -14
- package/dist/cjs/helpers/nativeStyleEngine.native.js +36 -14
- package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +7 -8
- package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +9 -8
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +9 -8
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/parseBorderShorthand.native.cjs +25 -56
- package/dist/cjs/helpers/parseBorderShorthand.native.js +25 -56
- package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +9 -49
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +9 -49
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeArea.cjs +35 -100
- package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.cjs +67 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.js +69 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
- package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
- package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
- package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
- package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
- package/dist/cjs/helpers/{getDefaultProps.native.cjs → styleStaticConfig.cjs} +7 -8
- package/dist/cjs/helpers/{getDefaultProps.native.js → styleStaticConfig.native.cjs} +7 -8
- package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
- package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
- package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
- package/dist/cjs/helpers/styledDynamic.cjs +160 -0
- package/dist/cjs/helpers/styledDynamic.native.cjs +195 -0
- package/dist/cjs/helpers/styledDynamic.native.js +197 -0
- package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
- package/dist/cjs/helpers/tokenCategories.cjs +12 -74
- package/dist/cjs/helpers/tokenCategories.native.cjs +12 -76
- package/dist/cjs/helpers/tokenCategories.native.js +12 -76
- package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
- package/dist/cjs/helpers/variableValue.cjs +17 -12
- package/dist/cjs/helpers/variableValue.native.cjs +46 -23
- package/dist/cjs/helpers/variableValue.native.js +46 -23
- package/dist/cjs/helpers/variableValue.native.js.map +1 -1
- package/dist/cjs/helpers/warnOnce.cjs +5 -4
- package/dist/cjs/helpers/warnOnce.native.cjs +6 -4
- package/dist/cjs/helpers/warnOnce.native.js +6 -4
- package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
- package/dist/cjs/hooks/useAnimationDriver.cjs +2 -2
- package/dist/cjs/hooks/useAnimationDriver.native.cjs +2 -2
- package/dist/cjs/hooks/useAnimationDriver.native.js +2 -2
- package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.cjs +41 -82
- package/dist/cjs/hooks/useComponentState.native.cjs +45 -84
- package/dist/cjs/hooks/useComponentState.native.js +45 -84
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +2 -2
- package/dist/cjs/hooks/useMedia.native.cjs +2 -2
- package/dist/cjs/hooks/useMedia.native.js +2 -2
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useSplitStyles.cjs +2 -2
- package/dist/cjs/hooks/useSplitStyles.native.cjs +2 -2
- package/dist/cjs/hooks/useSplitStyles.native.js +2 -2
- package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -1
- package/dist/cjs/{helpers/getDefaultProps.cjs → hooks/useStyle.cjs} +10 -4
- package/dist/cjs/{helpers/directStyleCSS.native.js → hooks/useStyle.native.cjs} +16 -6
- package/dist/cjs/hooks/useStyle.native.js +34 -0
- package/dist/cjs/hooks/useStyle.native.js.map +1 -0
- package/dist/cjs/hooks/useThemeState.cjs +25 -90
- package/dist/cjs/hooks/useThemeState.native.cjs +34 -94
- package/dist/cjs/hooks/useThemeState.native.js +34 -94
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +9 -12
- package/dist/cjs/index.native.cjs +9 -12
- package/dist/cjs/index.native.js +9 -12
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/internal-runtime.cjs +8 -7
- package/dist/cjs/internal-runtime.native.cjs +8 -7
- package/dist/cjs/internal-runtime.native.js +8 -7
- package/dist/cjs/internal-runtime.native.js.map +1 -1
- package/dist/cjs/static-resolve.cjs +8 -7
- package/dist/cjs/static-resolve.native.cjs +8 -7
- package/dist/cjs/static-resolve.native.js +8 -7
- package/dist/cjs/static-resolve.native.js.map +1 -1
- package/dist/cjs/style.cjs +91 -0
- package/dist/cjs/style.native.cjs +98 -0
- package/dist/cjs/style.native.js +100 -0
- package/dist/cjs/style.native.js.map +1 -0
- package/dist/cjs/styled.cjs +15 -62
- package/dist/cjs/styled.native.cjs +15 -64
- package/dist/cjs/styled.native.js +15 -64
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/types.cjs +4 -22
- package/dist/cjs/types.native.cjs +4 -22
- package/dist/cjs/types.native.js +4 -22
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +1 -2
- package/dist/cjs/views/TamaguiProvider.native.cjs +1 -2
- package/dist/cjs/views/TamaguiProvider.native.js +1 -2
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/Text.cjs +21 -14
- package/dist/cjs/views/Text.native.cjs +5 -2
- package/dist/cjs/views/Text.native.js +5 -2
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +2 -2
- package/dist/cjs/views/Theme.native.cjs +2 -2
- package/dist/cjs/views/Theme.native.js +2 -2
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeDebug.cjs +1 -4
- package/dist/cjs/views/View.cjs +4 -2
- package/dist/cjs/views/View.native.cjs +4 -2
- package/dist/cjs/views/View.native.js +4 -2
- package/dist/cjs/views/View.native.js.map +1 -1
- package/dist/esm/config.mjs +1 -1
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +1 -1
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +41 -20
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +43 -22
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createStyledHOC.mjs +55 -5
- package/dist/esm/createStyledHOC.mjs.map +1 -1
- package/dist/esm/createStyledHOC.native.js +56 -5
- package/dist/esm/createStyledHOC.native.js.map +1 -1
- package/dist/esm/createTokens.mjs +1 -1
- package/dist/esm/createTokens.mjs.map +1 -1
- package/dist/esm/createTokens.native.js +1 -1
- package/dist/esm/createTokens.native.js.map +1 -1
- package/dist/esm/createVariable.mjs +1 -9
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/createVariable.native.js +1 -9
- package/dist/esm/createVariable.native.js.map +1 -1
- package/dist/esm/dom/html.mjs +147 -99
- package/dist/esm/dom/html.mjs.map +1 -1
- package/dist/esm/dom/htmlRuntime.native.js +7 -3
- package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
- package/dist/esm/dom/primitives.native.js +16 -13
- package/dist/esm/dom/primitives.native.js.map +1 -1
- package/dist/esm/helpers/borderComponents.mjs +37 -0
- package/dist/esm/helpers/borderComponents.mjs.map +1 -0
- package/dist/esm/helpers/borderComponents.native.js +55 -0
- package/dist/esm/helpers/borderComponents.native.js.map +1 -0
- package/dist/esm/helpers/componentDisplayName.mjs +1 -8
- package/dist/esm/helpers/componentDisplayName.mjs.map +1 -1
- package/dist/esm/helpers/componentDisplayName.native.js +1 -8
- package/dist/esm/helpers/componentDisplayName.native.js.map +1 -1
- package/dist/esm/helpers/createDesignSystem.mjs +0 -2
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.mjs +10 -18
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js +14 -18
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/formatDiagnostic.mjs +8 -10
- package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
- package/dist/esm/helpers/formatDiagnostic.native.js +8 -10
- package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +131 -114
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.native.js +7 -4
- package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +8 -1
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +10 -1
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
- package/dist/esm/helpers/getDynamicVal.mjs +5 -1
- package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
- package/dist/esm/helpers/getDynamicVal.native.js +5 -1
- package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +1052 -2151
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +1090 -2481
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/grammarConfig.mjs +164 -2
- package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
- package/dist/esm/helpers/grammarConfig.native.js +187 -2
- package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs +5 -2
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +7 -2
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/log.mjs +9 -8
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +9 -8
- package/dist/esm/helpers/log.native.js.map +1 -1
- package/dist/esm/helpers/mergeVariants.mjs +44 -13
- package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
- package/dist/esm/helpers/mergeVariants.native.js +79 -14
- package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
- package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
- package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.mjs +34 -15
- package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.native.js +36 -15
- package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +7 -8
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.native.js +9 -8
- package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.native.js +23 -56
- package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/esm/helpers/parseOutlineShorthand.native.js +10 -49
- package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeArea.mjs +35 -97
- package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
- package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
- package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
- package/dist/esm/helpers/resolveVariantStyle.native.js +46 -0
- package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
- package/dist/esm/helpers/splitStyleProps.mjs +27 -0
- package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
- package/dist/esm/helpers/splitStyleProps.native.js +28 -0
- package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
- package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
- package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
- package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
- package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
- package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
- package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
- package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
- package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
- package/dist/esm/helpers/styledDynamic.mjs +136 -0
- package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
- package/dist/esm/helpers/styledDynamic.native.js +169 -0
- package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
- package/dist/esm/helpers/tokenCategories.mjs +12 -72
- package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
- package/dist/esm/helpers/tokenCategories.native.js +12 -74
- package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
- package/dist/esm/helpers/variableValue.mjs +17 -12
- package/dist/esm/helpers/variableValue.mjs.map +1 -1
- package/dist/esm/helpers/variableValue.native.js +46 -23
- package/dist/esm/helpers/variableValue.native.js.map +1 -1
- package/dist/esm/helpers/warnOnce.mjs +5 -4
- package/dist/esm/helpers/warnOnce.mjs.map +1 -1
- package/dist/esm/helpers/warnOnce.native.js +6 -4
- package/dist/esm/helpers/warnOnce.native.js.map +1 -1
- package/dist/esm/hooks/useAnimationDriver.mjs +2 -2
- package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
- package/dist/esm/hooks/useAnimationDriver.native.js +2 -2
- package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +41 -82
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +45 -84
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +2 -2
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +2 -2
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useSplitStyles.mjs +2 -2
- package/dist/esm/hooks/useSplitStyles.mjs.map +1 -1
- package/dist/esm/hooks/useSplitStyles.native.js +2 -2
- package/dist/esm/hooks/useSplitStyles.native.js.map +1 -1
- package/dist/esm/hooks/useStyle.mjs +11 -0
- package/dist/esm/hooks/useStyle.mjs.map +1 -0
- package/dist/esm/hooks/useStyle.native.js +11 -0
- package/dist/esm/hooks/useStyle.native.js.map +1 -0
- package/dist/esm/hooks/useThemeState.mjs +25 -90
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +34 -94
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +8 -8
- package/dist/esm/index.mjs +8 -8
- package/dist/esm/index.native.js +8 -8
- package/dist/esm/internal-runtime.mjs +8 -7
- package/dist/esm/internal-runtime.mjs.map +1 -1
- package/dist/esm/internal-runtime.native.js +8 -7
- package/dist/esm/internal-runtime.native.js.map +1 -1
- package/dist/esm/static-resolve.mjs +11 -9
- package/dist/esm/static-resolve.mjs.map +1 -1
- package/dist/esm/static-resolve.native.js +11 -9
- package/dist/esm/static-resolve.native.js.map +1 -1
- package/dist/esm/style.mjs +58 -0
- package/dist/esm/style.mjs.map +1 -0
- package/dist/esm/style.native.js +63 -0
- package/dist/esm/style.native.js.map +1 -0
- package/dist/esm/styled.mjs +17 -62
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +17 -64
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/types.mjs +3 -21
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +3 -21
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +1 -2
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +1 -2
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/Text.mjs +21 -14
- package/dist/esm/views/Text.mjs.map +1 -1
- package/dist/esm/views/Text.native.js +4 -2
- package/dist/esm/views/Text.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +2 -2
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +2 -2
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +1 -4
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/dist/esm/views/View.mjs +4 -2
- package/dist/esm/views/View.mjs.map +1 -1
- package/dist/esm/views/View.native.js +4 -2
- package/dist/esm/views/View.native.js.map +1 -1
- package/package.json +15 -15
- package/src/config.ts +1 -1
- package/src/createComponent.tsx +62 -31
- package/src/createStyledHOC.tsx +56 -9
- package/src/createTokens.ts +1 -1
- package/src/createVariable.ts +0 -10
- package/src/dom/html.tsx +778 -877
- package/src/dom/htmlRuntime.native.tsx +7 -3
- package/src/dom/primitives.native.tsx +30 -39
- package/src/helpers/borderComponents.ts +62 -0
- package/src/helpers/componentDisplayName.ts +0 -11
- package/src/helpers/createDesignSystem.ts +0 -2
- package/src/helpers/createStyledContext.tsx +15 -53
- package/src/helpers/formatDiagnostic.ts +11 -13
- package/src/helpers/getCSSStylesAtomic.native.ts +6 -3
- package/src/helpers/getCSSStylesAtomic.ts +197 -206
- package/src/helpers/getCSSStylesAtomicCompiled.ts +13 -1
- package/src/helpers/getDynamicVal.ts +4 -0
- package/src/helpers/getSplitStyles.tsx +2058 -4052
- package/src/helpers/grammarConfig.ts +218 -1
- package/src/helpers/insertStyleRule.tsx +4 -2
- package/src/helpers/log.ts +12 -11
- package/src/helpers/mergeVariants.ts +55 -18
- package/src/helpers/nativeOnlyProps.ts +0 -1
- package/src/helpers/nativeStyleEngine.ts +55 -14
- package/src/helpers/normalizeValueWithProperty.ts +10 -12
- package/src/helpers/parseBorderShorthand.native.ts +23 -45
- package/src/helpers/parseOutlineShorthand.native.ts +9 -40
- package/src/helpers/resolveSafeArea.ts +34 -101
- package/src/helpers/resolveVariantStyle.ts +77 -0
- package/src/helpers/splitStyleProps.ts +166 -0
- package/src/helpers/styleFrontend.ts +16 -9
- package/src/helpers/styleStaticConfig.ts +21 -0
- package/src/helpers/styleStaticConfigCore.ts +110 -0
- package/src/helpers/styledDynamic.ts +191 -0
- package/src/helpers/tokenCategories.ts +32 -88
- package/src/helpers/variableValue.ts +20 -15
- package/src/helpers/warnOnce.ts +5 -4
- package/src/hooks/useAnimationDriver.ts +6 -2
- package/src/hooks/useComponentState.ts +55 -183
- package/src/hooks/useMedia.tsx +10 -8
- package/src/hooks/useSplitStyles.tsx +17 -2
- package/src/hooks/useStyle.ts +10 -0
- package/src/hooks/useTheme.tsx +1 -1
- package/src/hooks/useThemeState.ts +51 -264
- package/src/index.ts +14 -10
- package/src/internal-runtime.ts +10 -9
- package/src/internalRuntimeTypes.ts +1 -0
- package/src/static-resolve.ts +25 -18
- package/src/style.ts +97 -0
- package/src/styled.tsx +46 -332
- package/src/types.tsx +107 -192
- package/src/views/TamaguiProvider.tsx +0 -2
- package/src/views/Text.tsx +26 -21
- package/src/views/Theme.tsx +10 -8
- package/src/views/ThemeDebug.tsx +0 -1
- package/src/views/View.tsx +6 -7
- package/types/createComponent.d.ts.map +1 -1
- package/types/createStyledHOC.d.ts.map +1 -1
- package/types/createVariable.d.ts +0 -2
- package/types/createVariable.d.ts.map +1 -1
- package/types/dom/html.d.ts.map +1 -1
- package/types/dom/htmlRuntime.native.d.ts.map +1 -1
- package/types/dom/primitives.native.d.ts.map +1 -1
- package/types/helpers/borderComponents.d.ts +10 -0
- package/types/helpers/borderComponents.d.ts.map +1 -0
- package/types/helpers/componentDisplayName.d.ts +0 -3
- package/types/helpers/componentDisplayName.d.ts.map +1 -1
- package/types/helpers/createDesignSystem.d.ts.map +1 -1
- package/types/helpers/createStyledContext.d.ts.map +1 -1
- package/types/helpers/formatDiagnostic.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomic.d.ts +25 -22
- package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomic.native.d.ts +5 -0
- package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts +6 -1
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -1
- package/types/helpers/getDynamicVal.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +9 -11
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/grammarConfig.d.ts +25 -2
- package/types/helpers/grammarConfig.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts +1 -0
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/log.d.ts.map +1 -1
- package/types/helpers/mergeVariants.d.ts.map +1 -1
- package/types/helpers/nativeOnlyProps.d.ts +0 -1
- package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
- package/types/helpers/nativeStyleEngine.d.ts +6 -0
- package/types/helpers/nativeStyleEngine.d.ts.map +1 -1
- package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
- package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
- package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
- package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
- package/types/helpers/resolveSafeArea.d.ts +0 -1
- package/types/helpers/resolveSafeArea.d.ts.map +1 -1
- package/types/helpers/resolveVariantStyle.d.ts +3 -0
- package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
- package/types/helpers/splitStyleProps.d.ts +44 -0
- package/types/helpers/splitStyleProps.d.ts.map +1 -0
- package/types/helpers/styleFrontend.d.ts +7 -9
- package/types/helpers/styleFrontend.d.ts.map +1 -1
- package/types/helpers/styleStaticConfig.d.ts +14 -0
- package/types/helpers/styleStaticConfig.d.ts.map +1 -0
- package/types/helpers/styleStaticConfigCore.d.ts +4 -0
- package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
- package/types/helpers/styledDynamic.d.ts +18 -0
- package/types/helpers/styledDynamic.d.ts.map +1 -0
- package/types/helpers/tokenCategories.d.ts +0 -1
- package/types/helpers/tokenCategories.d.ts.map +1 -1
- package/types/helpers/variableValue.d.ts.map +1 -1
- package/types/helpers/warnOnce.d.ts.map +1 -1
- package/types/helpers/webPropsToSkip.native.d.ts +68 -68
- package/types/hooks/useAnimationDriver.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useSplitStyles.d.ts.map +1 -1
- package/types/hooks/useStyle.d.ts +4 -0
- package/types/hooks/useStyle.d.ts.map +1 -0
- package/types/hooks/useThemeState.d.ts +1 -11
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +8 -8
- package/types/index.d.ts.map +1 -1
- package/types/internal-runtime.d.ts.map +1 -1
- package/types/internalRuntimeTypes.d.ts +1 -1
- package/types/internalRuntimeTypes.d.ts.map +1 -1
- package/types/static-resolve.d.ts +2 -2
- package/types/static-resolve.d.ts.map +1 -1
- package/types/style.d.ts +18 -0
- package/types/style.d.ts.map +1 -0
- package/types/styled.d.ts +12 -48
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +75 -60
- package/types/types.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts.map +1 -1
- package/types/views/View.d.ts.map +1 -1
- package/dist/cjs/helpers/directStyleCSS.cjs +0 -348
- package/dist/cjs/helpers/directStyleCSS.native.cjs +0 -20
- package/dist/cjs/helpers/directStyleCSS.native.js.map +0 -1
- package/dist/cjs/helpers/directStyleCSSCompiled.cjs +0 -40
- package/dist/cjs/helpers/directStyleCSSCompiled.native.cjs +0 -46
- package/dist/cjs/helpers/directStyleCSSCompiled.native.js +0 -48
- package/dist/cjs/helpers/directStyleCSSCompiled.native.js.map +0 -1
- package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
- package/dist/cjs/helpers/getVariantExtras.cjs +0 -91
- package/dist/cjs/helpers/getVariantExtras.native.cjs +0 -94
- package/dist/cjs/helpers/getVariantExtras.native.js +0 -96
- package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
- package/dist/cjs/helpers/themeable.cjs +0 -92
- package/dist/cjs/helpers/themeable.native.cjs +0 -95
- package/dist/cjs/helpers/themeable.native.js +0 -97
- package/dist/cjs/helpers/themeable.native.js.map +0 -1
- package/dist/cjs/hooks/useProps.cjs +0 -129
- package/dist/cjs/hooks/useProps.native.cjs +0 -135
- package/dist/cjs/hooks/useProps.native.js +0 -137
- package/dist/cjs/hooks/useProps.native.js.map +0 -1
- package/dist/esm/helpers/directStyleCSS.mjs +0 -320
- package/dist/esm/helpers/directStyleCSS.mjs.map +0 -1
- package/dist/esm/helpers/directStyleCSS.native.js +0 -1
- package/dist/esm/helpers/directStyleCSSCompiled.mjs +0 -11
- package/dist/esm/helpers/directStyleCSSCompiled.mjs.map +0 -1
- package/dist/esm/helpers/directStyleCSSCompiled.native.js +0 -15
- package/dist/esm/helpers/directStyleCSSCompiled.native.js.map +0 -1
- package/dist/esm/helpers/getDefaultProps.mjs +0 -4
- package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
- package/dist/esm/helpers/getDefaultProps.native.js +0 -6
- package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
- package/dist/esm/helpers/getVariantExtras.mjs +0 -69
- package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
- package/dist/esm/helpers/getVariantExtras.native.js +0 -70
- package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
- package/dist/esm/helpers/themeable.mjs +0 -67
- package/dist/esm/helpers/themeable.mjs.map +0 -1
- package/dist/esm/helpers/themeable.native.js +0 -68
- package/dist/esm/helpers/themeable.native.js.map +0 -1
- package/dist/esm/hooks/useProps.mjs +0 -100
- package/dist/esm/hooks/useProps.mjs.map +0 -1
- package/dist/esm/hooks/useProps.native.js +0 -104
- package/dist/esm/hooks/useProps.native.js.map +0 -1
- package/src/helpers/directStyleCSS.native.ts +0 -1
- package/src/helpers/directStyleCSS.ts +0 -534
- package/src/helpers/directStyleCSSCompiled.ts +0 -32
- package/src/helpers/getDefaultProps.ts +0 -3
- package/src/helpers/getVariantExtras.tsx +0 -95
- package/src/helpers/themeable.tsx +0 -96
- package/src/hooks/useProps.tsx +0 -186
- package/types/helpers/directStyleCSS.d.ts +0 -28
- package/types/helpers/directStyleCSS.d.ts.map +0 -1
- package/types/helpers/directStyleCSS.native.d.ts +0 -2
- package/types/helpers/directStyleCSS.native.d.ts.map +0 -1
- package/types/helpers/directStyleCSSCompiled.d.ts +0 -10
- package/types/helpers/directStyleCSSCompiled.d.ts.map +0 -1
- package/types/helpers/getDefaultProps.d.ts +0 -3
- package/types/helpers/getDefaultProps.d.ts.map +0 -1
- package/types/helpers/getVariantExtras.d.ts +0 -4
- package/types/helpers/getVariantExtras.d.ts.map +0 -1
- package/types/helpers/themeable.d.ts +0 -3
- package/types/helpers/themeable.d.ts.map +0 -1
- package/types/hooks/useProps.d.ts +0 -39
- package/types/hooks/useProps.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useComponentState.native.js","names":[],"sources":["esm/hooks/useComponentState.native.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { defaultComponentStateMounted } from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nimport { log } from \"../helpers/log\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar useComponentState = function(props, animationDriver, staticConfig, config) {\n \"use no memo\";\n var _getPlatformDriver, _animationDriver_usePresence;\n var isHydrated = useDidFinishSSR();\n var needsHydration = !useIsClientOnly();\n var useAnimations = (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isStub) ? void 0 : animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.useAnimations;\n var { isHOC } = staticConfig;\n var stateRef = useRef(\n // performance: avoid creating object every render\n void 0\n );\n if (!stateRef.current) {\n stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n };\n }\n var hasAnimationProp = Boolean(!isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style));\n var _animationDriver_inputStyle;\n var inputStyle = (_animationDriver_inputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.inputStyle) !== null && _animationDriver_inputStyle !== void 0 ? _animationDriver_inputStyle : \"css\";\n var _animationDriver_outputStyle;\n var outputStyle = (_animationDriver_outputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.outputStyle) !== null && _animationDriver_outputStyle !== void 0 ? _animationDriver_outputStyle : \"css\";\n var curStateRef = stateRef.current;\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n var platformPseudoPossible = Boolean(!isHOC && useAnimations && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && ((_getPlatformDriver = getPlatformDriver()) === null || _getPlatformDriver === void 0 ? void 0 : _getPlatformDriver.pseudo));\n var willBeAnimatedClient = (function() {\n var next = !!((hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations);\n return Boolean(next || curStateRef.hasAnimated);\n })();\n var willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && hasAnimationProp && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n var { disableClassName } = props;\n if (willBeAnimated && !isHOC && props[\"animatePresence\"] !== false) {\n curStateRef.shouldRegisterPresence = true;\n } else {\n var _curStateRef;\n var _shouldRegisterPresence;\n (_shouldRegisterPresence = (_curStateRef = curStateRef).shouldRegisterPresence) !== null && _shouldRegisterPresence !== void 0 ? _shouldRegisterPresence : _curStateRef.shouldRegisterPresence = false;\n }\n var presenceResult = (animationDriver === null || animationDriver === void 0 ? void 0 : (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver, curStateRef)) || null;\n var presence = !isHOC && willBeAnimated && props[\"animatePresence\"] !== false ? presenceResult : null;\n var presenceState = presence === null || presence === void 0 ? void 0 : presence[2];\n var isExiting = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === false;\n var isEntering = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === true && presenceState.initial !== false;\n var hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && inputStyle !== \"css\";\n var initialState = {\n ...defaultComponentStateMounted\n };\n var disabled = isDisabled(props);\n if (disabled != null) {\n initialState.disabled = disabled;\n }\n var states = useState(initialState);\n var initialStyleFrameUnmounted = curStateRef.initialStyleFrameUnmounted;\n var state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? {\n ...states[0]\n } : states[0];\n if (!curStateRef.didFinalizeInitialStyleFrame && !isHOC) {\n state.unmounted = true;\n }\n if (initialStyleFrameUnmounted !== void 0) {\n state.unmounted = initialStyleFrameUnmounted;\n }\n if (props.forceStyle) {\n if (state === states[0]) state = {\n ...state\n };\n state[props.forceStyle] = true;\n }\n if (!curStateRef.setState) {\n var reactSetState = states[1];\n curStateRef.setState = function(stateOrGetState) {\n var pendingUnmounted = curStateRef.initialStyleFrameUnmounted;\n curStateRef.initialStyleFrameUnmounted = void 0;\n reactSetState(function(previous) {\n var current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? {\n ...previous,\n unmounted: pendingUnmounted\n } : previous;\n return typeof stateOrGetState === \"function\" ? stateOrGetState(current) : stateOrGetState;\n });\n };\n }\n var setState = curStateRef.setState;\n var isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState(function(_) {\n return {\n ...state\n };\n });\n }\n var groupName = props.group;\n if (!stateRef.current.baseSetStateShallow) {\n var r = stateRef.current;\n r.baseSetStateShallow = function(stateOrGetState) {\n setState(function(prev) {\n var next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n var update = mergeIfNotShallowEqual(prev, next);\n if (process.env.NODE_ENV === \"development\") {\n var dbg = r.__debug;\n if (dbg && update !== prev) {\n console.groupCollapsed(`setStateShallow CHANGE`, \"=>\", update);\n console.info(`previously`, prev);\n console.trace();\n console.groupEnd();\n }\n }\n return update;\n });\n };\n }\n if (process.env.NODE_ENV === \"development\") {\n ;\n stateRef.current.__debug = props.debug;\n }\n var setStateShallow = stateRef.current.baseSetStateShallow;\n if (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`state-useCreateShallowSetState`;\n var outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n var _staticConfig_Component, _staticConfig_Component1;\n console.warn(formatDiagnostic(\"TAMAGUI_PRESENCE_STATE\", ((_staticConfig_Component = staticConfig.Component) === null || _staticConfig_Component === void 0 ? void 0 : _staticConfig_Component.displayName) || ((_staticConfig_Component1 = staticConfig.Component) === null || _staticConfig_Component1 === void 0 ? void 0 : _staticConfig_Component1.name) || \"TamaguiComponent\", \"AnimatePresence supplied lifecycle state to an animated component\", 'Remove debug=\"verbose\" after inspecting the animation state', \"presenceState\", presenceState));\n }\n var { custom } = presenceState;\n if (isObj(custom)) {\n outProps = {\n ...props,\n ...custom\n };\n }\n }\n var noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) {\n noClass = false;\n } else {\n if (isWeb && isHydrated) {\n var isAnimatedAndHydrated = !!((hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC) && isHydrated;\n var isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n var isDisabledManually = disableClassName && !state.unmounted;\n if (\n // Only disable className for animation drivers that output inline styles (not css)\n isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled\n ) {\n noClass = true;\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n log(`avoiding className`, {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n });\n }\n }\n }\n }\n var result = {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle: false,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo: platformPseudoPossible,\n finalizeStyleFlags(hasEnterStyle, hasPlatformPseudo) {\n var platformPseudo = platformPseudoPossible && hasPlatformPseudo;\n var nextWillBeAnimatedClient = Boolean((hasAnimationProp || platformPseudo) && !isHOC && useAnimations || curStateRef.hasAnimated);\n var nextWillBeAnimated = !isServer && nextWillBeAnimatedClient;\n if (nextWillBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n if (!curStateRef.didFinalizeInitialStyleFrame) {\n curStateRef.didFinalizeInitialStyleFrame = true;\n var shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || disableClassName);\n var unmounted = shouldEnter ? hasEnterStyle || isEntering ? \"should-enter\" : true : false;\n state.unmounted = unmounted;\n curStateRef.initialStyleFrameUnmounted = unmounted || void 0;\n }\n result.hasEnterStyle = hasEnterStyle;\n result.platformPseudo = platformPseudo;\n result.willBeAnimatedClient = nextWillBeAnimatedClient;\n result.willBeAnimated = nextWillBeAnimated;\n result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated ? false : nextWillBeAnimated;\n if (nextWillBeAnimated && !isHOC && props[\"animatePresence\"] !== false) {\n curStateRef.shouldRegisterPresence = true;\n }\n return result;\n }\n };\n return result;\n};\nfunction hasAnimatedStyleValue(style) {\n for (var k in style) {\n var val = style[k];\n if (val && (typeof val === \"undefined\" ? \"undefined\" : _type_of(val)) === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nvar isDisabled = function(props) {\n var _props_accessibilityState;\n return props.disabled || props.passThrough || ((_props_accessibilityState = props.accessibilityState) === null || _props_accessibilityState === void 0 ? void 0 : _props_accessibilityState.disabled) || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useComponentState.native.js","names":[],"sources":["esm/hooks/useComponentState.native.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { defaultComponentStateMounted } from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar useComponentState = function(props, animationDriver, staticConfig, config) {\n \"use no memo\";\n var _getPlatformDriver, _animationDriver_usePresence;\n var _stateRef, _curStateRef, _curStateRef1;\n var isHydrated = useDidFinishSSR();\n var needsHydration = !useIsClientOnly();\n var useAnimations = (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isStub) ? void 0 : animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.useAnimations;\n var { isHOC } = staticConfig;\n var stateRef = useRef(void 0);\n var curStateRef = (_stateRef = stateRef).current || (_stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n });\n var hasAnimationProp = Boolean(!isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style));\n var _animationDriver_inputStyle;\n var inputStyle = (_animationDriver_inputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.inputStyle) !== null && _animationDriver_inputStyle !== void 0 ? _animationDriver_inputStyle : \"css\";\n var _animationDriver_outputStyle;\n var outputStyle = (_animationDriver_outputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.outputStyle) !== null && _animationDriver_outputStyle !== void 0 ? _animationDriver_outputStyle : \"css\";\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n var platformPseudoPossible = Boolean(!isHOC && useAnimations && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && ((_getPlatformDriver = getPlatformDriver()) === null || _getPlatformDriver === void 0 ? void 0 : _getPlatformDriver.pseudo));\n var willBeAnimatedClient = Boolean((hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations || curStateRef.hasAnimated);\n var willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && hasAnimationProp && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n var { disableClassName } = props;\n var animatePresenceOptIn = willBeAnimated && !isHOC && props[\"animatePresence\"] !== false;\n if (animatePresenceOptIn) {\n curStateRef.shouldRegisterPresence = true;\n } else {\n var _curStateRef2;\n var _shouldRegisterPresence;\n (_shouldRegisterPresence = (_curStateRef2 = curStateRef).shouldRegisterPresence) !== null && _shouldRegisterPresence !== void 0 ? _shouldRegisterPresence : _curStateRef2.shouldRegisterPresence = false;\n }\n var presenceResult = (animationDriver === null || animationDriver === void 0 ? void 0 : (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver, curStateRef)) || null;\n var presence = animatePresenceOptIn ? presenceResult : null;\n var presenceState = presence === null || presence === void 0 ? void 0 : presence[2];\n var isExiting = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === false;\n var isEntering = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === true && presenceState.initial !== false;\n var hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && inputStyle !== \"css\";\n var disabled = isDisabled(props);\n var [componentState, reactSetState] = useState(function() {\n return disabled != null ? {\n ...defaultComponentStateMounted,\n disabled\n } : defaultComponentStateMounted;\n });\n var initialStyleFrameUnmounted = curStateRef.initialStyleFrameUnmounted;\n var state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? {\n ...componentState\n } : componentState;\n if (!curStateRef.didFinalizeInitialStyleFrame && !isHOC) {\n state.unmounted = true;\n }\n if (initialStyleFrameUnmounted !== void 0) {\n state.unmounted = initialStyleFrameUnmounted;\n }\n if (props.forceStyle) {\n if (state === componentState) state = {\n ...state\n };\n state[props.forceStyle] = true;\n }\n var setState = (_curStateRef = curStateRef).setState || (_curStateRef.setState = function(stateOrGetState) {\n var pendingUnmounted = curStateRef.initialStyleFrameUnmounted;\n curStateRef.initialStyleFrameUnmounted = void 0;\n reactSetState(function(previous) {\n var current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? {\n ...previous,\n unmounted: pendingUnmounted\n } : previous;\n return typeof stateOrGetState === \"function\" ? stateOrGetState(current) : stateOrGetState;\n });\n });\n var isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState(function(_) {\n return {\n ...state\n };\n });\n }\n var groupName = props.group;\n var setStateShallow = (_curStateRef1 = curStateRef).baseSetStateShallow || (_curStateRef1.baseSetStateShallow = function(stateOrGetState) {\n setState(function(prev) {\n var next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n return mergeIfNotShallowEqual(prev, next);\n });\n });\n var outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n var { custom } = presenceState;\n if (isObj(custom)) {\n outProps = {\n ...props,\n ...custom\n };\n }\n }\n var noClass = !isWeb || Boolean(props.forceStyle);\n if (isWeb) {\n if (!isHydrated) {\n noClass = false;\n } else {\n var isAnimatedAndHydrated = Boolean((hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC);\n var isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n var isDisabledManually = Boolean(disableClassName && !state.unmounted);\n if (isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled) {\n noClass = true;\n }\n }\n }\n var result = {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle: false,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo: platformPseudoPossible,\n finalizeStyleFlags(hasEnterStyle, hasPlatformPseudo) {\n var platformPseudo = platformPseudoPossible && hasPlatformPseudo;\n var nextWillBeAnimatedClient = Boolean((hasAnimationProp || platformPseudo) && !isHOC && useAnimations || curStateRef.hasAnimated);\n var nextWillBeAnimated = !isServer && nextWillBeAnimatedClient;\n if (nextWillBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n if (!curStateRef.didFinalizeInitialStyleFrame) {\n curStateRef.didFinalizeInitialStyleFrame = true;\n var shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || disableClassName);\n var unmounted = shouldEnter ? hasEnterStyle || isEntering ? \"should-enter\" : true : false;\n state.unmounted = unmounted;\n curStateRef.initialStyleFrameUnmounted = unmounted || void 0;\n }\n result.hasEnterStyle = hasEnterStyle;\n result.platformPseudo = platformPseudo;\n result.willBeAnimatedClient = nextWillBeAnimatedClient;\n result.willBeAnimated = nextWillBeAnimated;\n result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated ? false : nextWillBeAnimated;\n if (nextWillBeAnimated && !isHOC && props[\"animatePresence\"] !== false) {\n curStateRef.shouldRegisterPresence = true;\n }\n return result;\n }\n };\n return result;\n};\nfunction hasAnimatedStyleValue(style) {\n for (var k in style) {\n var val = style[k];\n if (val && (typeof val === \"undefined\" ? \"undefined\" : _type_of(val)) === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nvar isDisabled = function(props) {\n var _props_accessibilityState;\n return props.disabled || props.passThrough || ((_props_accessibilityState = props.accessibilityState) === null || _props_accessibilityState === void 0 ? void 0 : _props_accessibilityState.disabled) || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":"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"}
|
|
@@ -50,11 +50,11 @@ function setupMediaListeners() {
|
|
|
50
50
|
const getMatch = () => matchMedia(str);
|
|
51
51
|
const match = getMatch();
|
|
52
52
|
if (!match) {
|
|
53
|
-
throw new Error(formatDiagnostic("TAMAGUI_MEDIA_MATCH", "useMedia", "matchMedia returned no MediaQueryList", "Provide a matchMedia implementation that returns a MediaQueryList", "key,query,platform", {
|
|
53
|
+
throw new Error(process.env.NODE_ENV !== "production" ? formatDiagnostic("TAMAGUI_MEDIA_MATCH", "useMedia", "matchMedia returned no MediaQueryList", "Provide a matchMedia implementation that returns a MediaQueryList", "key,query,platform", {
|
|
54
54
|
key,
|
|
55
55
|
query: str,
|
|
56
56
|
platform: isWeb ? "web" : "native"
|
|
57
|
-
}));
|
|
57
|
+
}) : "❌ Error 013");
|
|
58
58
|
}
|
|
59
59
|
match.addListener(update);
|
|
60
60
|
dispose.add(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMedia.js","names":[],"sources":["esm/hooks/useMedia.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport {\n getMedia,\n mediaKeyMatch,\n mediaKeys,\n mediaQueryConfig,\n setMediaState\n} from \"../helpers/mediaState\";\nimport { mediaKeyMatch as mediaKeyMatch2 } from \"../helpers/mediaState\";\nlet initState;\nconst dispose = /* @__PURE__ */ new Set();\nlet mediaVersion = 0;\nconst configureMedia = (config) => {\n const { media } = config;\n const mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (const key in media) {\n getMedia()[key] = mediaQueryDefaultActive?.[key] || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = { ...getMedia() };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach((cb) => cb());\n dispose.clear();\n}\nlet setupVersion = -1;\nfunction setupMediaListeners() {\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (const key in mediaQueryConfig) {\n let update = function() {\n const next = !!getMatch().matches;\n if (next === getMedia()[key]) return;\n setMediaState({ ...getMedia(), [key]: next });\n updateMediaListeners();\n };\n const str = mediaObjectToString(mediaQueryConfig[key]);\n const getMatch = () => matchMedia(str);\n const match = getMatch();\n if (!match) {\n throw new Error(\n formatDiagnostic(\n \"TAMAGUI_MEDIA_MATCH\",\n \"useMedia\",\n \"matchMedia returned no MediaQueryList\",\n \"Provide a matchMedia implementation that returns a MediaQueryList\",\n \"key,query,platform\",\n { key, query: str, platform: isWeb ? \"web\" : \"native\" }\n )\n );\n }\n match.addListener(update);\n dispose.add(() => {\n match.removeListener(update);\n });\n update();\n }\n}\nconst listenersByKey = /* @__PURE__ */ new Map();\nconst globalListeners = /* @__PURE__ */ new Set();\nlet publishedState = null;\nconst _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n const media = getMedia();\n const prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n const woken = /* @__PURE__ */ new Set();\n for (const key of mediaKeys) {\n if (prev !== null && media[key] === prev[key]) continue;\n const bucket = listenersByKey.get(key);\n if (bucket) {\n for (const cb of bucket) woken.add(cb);\n }\n }\n for (const cb of woken) {\n _mediaListenerStats.notified++;\n cb(media);\n }\n }\n globalListeners.forEach((cb) => {\n _mediaListenerStats.notified++;\n cb(media);\n });\n}\nconst States = /* @__PURE__ */ new WeakMap();\nlet touchTrackerProto = null;\nconst refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n const proto = {};\n for (const key of mediaKeys) {\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n const slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys, optimizeForFirstRender = false) {\n if (optimizeForFirstRender) return;\n const cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? States.get(ref.uid)?.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n const keys = mediaListenKeys(ref);\n const cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n for (const key of keys) {\n let bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n}\nfunction unindexMediaListener(ref) {\n const keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n for (const key of keys) {\n const bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n for (const key of b) {\n if (!a.has(key)) return false;\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n const internalRef = useRef(null);\n if (!internalRef.current) {\n const initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n const optimizeForFirstRender = isOptimizedForFirstRender();\n const r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n const tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = () => {\n if (r.optimizeForFirstRender) {\n const ms2 = getMedia();\n if (ms2 === r.lastState) {\n return r.lastState;\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms2);\n r.pendingState = ms2;\n return r.lastState;\n }\n r.lastState = ms2;\n return ms2;\n }\n const curKeys = mediaListenKeys(r);\n const { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n const ms = getMedia();\n for (const key of curKeys) {\n if (ms[key] !== (pendingState || lastState)[key]) {\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms[key]);\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return lastState;\n }\n r.lastState = ms;\n return ms;\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n const ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if (ref.keys?.size) {\n ref.keys.clear();\n }\n const [, forceUpdate] = useReducer(incReducer, 0);\n const state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(() => {\n const synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(() => {\n const renderVersion = ref.renderVersion;\n const shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!States.get(ref.uid)?.enabled;\n if (shouldSubscribe) {\n ref.onChange ||= () => {\n const next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if (ref.uid?.nativeMediaUpdate?.(forceUpdate)) return;\n forceUpdate();\n }\n };\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return () => {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nconst incReducer = (c) => c + 1;\nlet disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n let res;\n try {\n res = Object.fromEntries(\n [...mediaGroups].map((mediaKey) => {\n return [mediaKey, mediaKeyMatch(mediaKey, layout)];\n })\n );\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nconst cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch2 as mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useMedia.js","names":[],"sources":["esm/hooks/useMedia.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport {\n getMedia,\n mediaKeyMatch,\n mediaKeys,\n mediaQueryConfig,\n setMediaState\n} from \"../helpers/mediaState\";\nimport { mediaKeyMatch as mediaKeyMatch2 } from \"../helpers/mediaState\";\nlet initState;\nconst dispose = /* @__PURE__ */ new Set();\nlet mediaVersion = 0;\nconst configureMedia = (config) => {\n const { media } = config;\n const mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (const key in media) {\n getMedia()[key] = mediaQueryDefaultActive?.[key] || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = { ...getMedia() };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach((cb) => cb());\n dispose.clear();\n}\nlet setupVersion = -1;\nfunction setupMediaListeners() {\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (const key in mediaQueryConfig) {\n let update = function() {\n const next = !!getMatch().matches;\n if (next === getMedia()[key]) return;\n setMediaState({ ...getMedia(), [key]: next });\n updateMediaListeners();\n };\n const str = mediaObjectToString(mediaQueryConfig[key]);\n const getMatch = () => matchMedia(str);\n const match = getMatch();\n if (!match) {\n throw new Error(\n process.env.NODE_ENV !== \"production\" ? formatDiagnostic(\n \"TAMAGUI_MEDIA_MATCH\",\n \"useMedia\",\n \"matchMedia returned no MediaQueryList\",\n \"Provide a matchMedia implementation that returns a MediaQueryList\",\n \"key,query,platform\",\n { key, query: str, platform: isWeb ? \"web\" : \"native\" }\n ) : \"\\u274C Error 013\"\n );\n }\n match.addListener(update);\n dispose.add(() => {\n match.removeListener(update);\n });\n update();\n }\n}\nconst listenersByKey = /* @__PURE__ */ new Map();\nconst globalListeners = /* @__PURE__ */ new Set();\nlet publishedState = null;\nconst _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n const media = getMedia();\n const prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n const woken = /* @__PURE__ */ new Set();\n for (const key of mediaKeys) {\n if (prev !== null && media[key] === prev[key]) continue;\n const bucket = listenersByKey.get(key);\n if (bucket) {\n for (const cb of bucket) woken.add(cb);\n }\n }\n for (const cb of woken) {\n _mediaListenerStats.notified++;\n cb(media);\n }\n }\n globalListeners.forEach((cb) => {\n _mediaListenerStats.notified++;\n cb(media);\n });\n}\nconst States = /* @__PURE__ */ new WeakMap();\nlet touchTrackerProto = null;\nconst refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n const proto = {};\n for (const key of mediaKeys) {\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n const slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys, optimizeForFirstRender = false) {\n if (optimizeForFirstRender) return;\n const cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? States.get(ref.uid)?.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n const keys = mediaListenKeys(ref);\n const cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n for (const key of keys) {\n let bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n}\nfunction unindexMediaListener(ref) {\n const keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n for (const key of keys) {\n const bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n for (const key of b) {\n if (!a.has(key)) return false;\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n const internalRef = useRef(null);\n if (!internalRef.current) {\n const initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n const optimizeForFirstRender = isOptimizedForFirstRender();\n const r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n const tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = () => {\n if (r.optimizeForFirstRender) {\n const ms2 = getMedia();\n if (ms2 === r.lastState) {\n return r.lastState;\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms2);\n r.pendingState = ms2;\n return r.lastState;\n }\n r.lastState = ms2;\n return ms2;\n }\n const curKeys = mediaListenKeys(r);\n const { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n const ms = getMedia();\n for (const key of curKeys) {\n if (ms[key] !== (pendingState || lastState)[key]) {\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms[key]);\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return lastState;\n }\n r.lastState = ms;\n return ms;\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n const ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if (ref.keys?.size) {\n ref.keys.clear();\n }\n const [, forceUpdate] = useReducer(incReducer, 0);\n const state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(() => {\n const synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(() => {\n const renderVersion = ref.renderVersion;\n const shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!States.get(ref.uid)?.enabled;\n if (shouldSubscribe) {\n ref.onChange ||= () => {\n const next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if (ref.uid?.nativeMediaUpdate?.(forceUpdate)) return;\n forceUpdate();\n }\n };\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return () => {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nconst incReducer = (c) => c + 1;\nlet disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n let res;\n try {\n res = Object.fromEntries(\n [...mediaGroups].map((mediaKey) => {\n return [mediaKey, mediaKeyMatch(mediaKey, layout)];\n })\n );\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nconst cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch2 as mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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"}
|
|
@@ -40,11 +40,11 @@ function setupMediaListeners() {
|
|
|
40
40
|
};
|
|
41
41
|
var match = getMatch();
|
|
42
42
|
if (!match) {
|
|
43
|
-
throw new Error(formatDiagnostic("TAMAGUI_MEDIA_MATCH", "useMedia", "matchMedia returned no MediaQueryList", "Provide a matchMedia implementation that returns a MediaQueryList", "key,query,platform", {
|
|
43
|
+
throw new Error(process.env.NODE_ENV !== "production" ? formatDiagnostic("TAMAGUI_MEDIA_MATCH", "useMedia", "matchMedia returned no MediaQueryList", "Provide a matchMedia implementation that returns a MediaQueryList", "key,query,platform", {
|
|
44
44
|
key: key2,
|
|
45
45
|
query: str,
|
|
46
46
|
platform: isWeb ? "web" : "native"
|
|
47
|
-
}));
|
|
47
|
+
}) : "❌ Error 013");
|
|
48
48
|
}
|
|
49
49
|
match.addListener(update);
|
|
50
50
|
dispose.add(function() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMedia.native.js","names":[],"sources":["esm/hooks/useMedia.native.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport { getMedia, mediaKeyMatch, mediaKeys, mediaQueryConfig, setMediaState } from \"../helpers/mediaState\";\nimport { mediaKeyMatch as mediaKeyMatch2 } from \"../helpers/mediaState\";\nvar initState;\nvar dispose = /* @__PURE__ */ new Set();\nvar mediaVersion = 0;\nvar configureMedia = function(config) {\n var { media } = config;\n var mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (var key in media) {\n getMedia()[key] = (mediaQueryDefaultActive === null || mediaQueryDefaultActive === void 0 ? void 0 : mediaQueryDefaultActive[key]) || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = {\n ...getMedia()\n };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach(function(cb) {\n return cb();\n });\n dispose.clear();\n}\nvar setupVersion = -1;\nfunction setupMediaListeners() {\n var _loop = function(key2) {\n var str = mediaObjectToString(mediaQueryConfig[key2]);\n var getMatch = function() {\n return matchMedia(str);\n };\n var match = getMatch();\n if (!match) {\n throw new Error(formatDiagnostic(\"TAMAGUI_MEDIA_MATCH\", \"useMedia\", \"matchMedia returned no MediaQueryList\", \"Provide a matchMedia implementation that returns a MediaQueryList\", \"key,query,platform\", {\n key: key2,\n query: str,\n platform: isWeb ? \"web\" : \"native\"\n }));\n }\n match.addListener(update);\n dispose.add(function() {\n match.removeListener(update);\n });\n function update() {\n var next = !!getMatch().matches;\n if (next === getMedia()[key2]) return;\n setMediaState({\n ...getMedia(),\n [key2]: next\n });\n updateMediaListeners();\n }\n update();\n };\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (var key in mediaQueryConfig) _loop(key);\n}\nvar listenersByKey = /* @__PURE__ */ new Map();\nvar globalListeners = /* @__PURE__ */ new Set();\nvar publishedState = null;\nvar _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n var media = getMedia();\n var prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n var woken = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (prev !== null && media[key] === prev[key]) continue;\n var bucket = listenersByKey.get(key);\n if (bucket) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = bucket[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var cb = _step1.value;\n woken.add(cb);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = woken[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var cb1 = _step2.value;\n _mediaListenerStats.notified++;\n cb1(media);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n globalListeners.forEach(function(cb2) {\n _mediaListenerStats.notified++;\n cb2(media);\n });\n}\nvar States = /* @__PURE__ */ new WeakMap();\nvar touchTrackerProto = null;\nvar refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n var proto = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var key = _step.value;\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n var slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n };\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys) {\n var optimizeForFirstRender = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (optimizeForFirstRender) return;\n var cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n var _States_get;\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? (_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n var keys = mediaListenKeys(ref);\n var cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction unindexMediaListener(ref) {\n var keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = b[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (!a.has(key)) return false;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n var _ref_keys;\n var internalRef = useRef(null);\n if (!internalRef.current) {\n var initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n var optimizeForFirstRender = isOptimizedForFirstRender();\n var r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n var tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = function() {\n if (r.optimizeForFirstRender) {\n var _r_componentContext;\n var ms = getMedia();\n if (ms === r.lastState) {\n return r.lastState;\n }\n if ((_r_componentContext = r.componentContext) === null || _r_componentContext === void 0 ? void 0 : _r_componentContext.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return r.lastState;\n }\n r.lastState = ms;\n return ms;\n }\n var curKeys = mediaListenKeys(r);\n var { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n var ms1 = getMedia();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = curKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (ms1[key] !== (pendingState || lastState)[key]) {\n var _r_componentContext1;\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms1[key]);\n }\n if ((_r_componentContext1 = r.componentContext) === null || _r_componentContext1 === void 0 ? void 0 : _r_componentContext1.mediaEmit) {\n r.componentContext.mediaEmit(ms1);\n r.pendingState = ms1;\n return lastState;\n }\n r.lastState = ms1;\n return ms1;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n var ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if ((_ref_keys = ref.keys) === null || _ref_keys === void 0 ? void 0 : _ref_keys.size) {\n ref.keys.clear();\n }\n var [, forceUpdate] = useReducer(incReducer, 0);\n var state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(function() {\n var synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(function() {\n var _States_get;\n var renderVersion = ref.renderVersion;\n var shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!((_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.enabled);\n if (shouldSubscribe) {\n var _ref;\n (_ref = ref).onChange || (_ref.onChange = function() {\n var next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n var _ref_uid_nativeMediaUpdate, _ref_uid;\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if ((_ref_uid = ref.uid) === null || _ref_uid === void 0 ? void 0 : (_ref_uid_nativeMediaUpdate = _ref_uid.nativeMediaUpdate) === null || _ref_uid_nativeMediaUpdate === void 0 ? void 0 : _ref_uid_nativeMediaUpdate.call(_ref_uid, forceUpdate)) return;\n forceUpdate();\n }\n });\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return function() {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nvar incReducer = function(c) {\n return c + 1;\n};\nvar disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n var res;\n try {\n res = Object.fromEntries([\n ...mediaGroups\n ].map(function(mediaKey) {\n return [\n mediaKey,\n mediaKeyMatch(mediaKey, layout)\n ];\n }));\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nvar cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch2 as mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useMedia.native.js","names":[],"sources":["esm/hooks/useMedia.native.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport { getMedia, mediaKeyMatch, mediaKeys, mediaQueryConfig, setMediaState } from \"../helpers/mediaState\";\nimport { mediaKeyMatch as mediaKeyMatch2 } from \"../helpers/mediaState\";\nvar initState;\nvar dispose = /* @__PURE__ */ new Set();\nvar mediaVersion = 0;\nvar configureMedia = function(config) {\n var { media } = config;\n var mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (var key in media) {\n getMedia()[key] = (mediaQueryDefaultActive === null || mediaQueryDefaultActive === void 0 ? void 0 : mediaQueryDefaultActive[key]) || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = {\n ...getMedia()\n };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach(function(cb) {\n return cb();\n });\n dispose.clear();\n}\nvar setupVersion = -1;\nfunction setupMediaListeners() {\n var _loop = function(key2) {\n var str = mediaObjectToString(mediaQueryConfig[key2]);\n var getMatch = function() {\n return matchMedia(str);\n };\n var match = getMatch();\n if (!match) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? formatDiagnostic(\"TAMAGUI_MEDIA_MATCH\", \"useMedia\", \"matchMedia returned no MediaQueryList\", \"Provide a matchMedia implementation that returns a MediaQueryList\", \"key,query,platform\", {\n key: key2,\n query: str,\n platform: isWeb ? \"web\" : \"native\"\n }) : \"\\u274C Error 013\");\n }\n match.addListener(update);\n dispose.add(function() {\n match.removeListener(update);\n });\n function update() {\n var next = !!getMatch().matches;\n if (next === getMedia()[key2]) return;\n setMediaState({\n ...getMedia(),\n [key2]: next\n });\n updateMediaListeners();\n }\n update();\n };\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (var key in mediaQueryConfig) _loop(key);\n}\nvar listenersByKey = /* @__PURE__ */ new Map();\nvar globalListeners = /* @__PURE__ */ new Set();\nvar publishedState = null;\nvar _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n var media = getMedia();\n var prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n var woken = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (prev !== null && media[key] === prev[key]) continue;\n var bucket = listenersByKey.get(key);\n if (bucket) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = bucket[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var cb = _step1.value;\n woken.add(cb);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = woken[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var cb1 = _step2.value;\n _mediaListenerStats.notified++;\n cb1(media);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n globalListeners.forEach(function(cb2) {\n _mediaListenerStats.notified++;\n cb2(media);\n });\n}\nvar States = /* @__PURE__ */ new WeakMap();\nvar touchTrackerProto = null;\nvar refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n var proto = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var key = _step.value;\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n var slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n };\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys) {\n var optimizeForFirstRender = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (optimizeForFirstRender) return;\n var cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n var _States_get;\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? (_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n var keys = mediaListenKeys(ref);\n var cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction unindexMediaListener(ref) {\n var keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = b[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (!a.has(key)) return false;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n var _ref_keys;\n var internalRef = useRef(null);\n if (!internalRef.current) {\n var initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n var optimizeForFirstRender = isOptimizedForFirstRender();\n var r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n var tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = function() {\n if (r.optimizeForFirstRender) {\n var _r_componentContext;\n var ms = getMedia();\n if (ms === r.lastState) {\n return r.lastState;\n }\n if ((_r_componentContext = r.componentContext) === null || _r_componentContext === void 0 ? void 0 : _r_componentContext.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return r.lastState;\n }\n r.lastState = ms;\n return ms;\n }\n var curKeys = mediaListenKeys(r);\n var { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n var ms1 = getMedia();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = curKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (ms1[key] !== (pendingState || lastState)[key]) {\n var _r_componentContext1;\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms1[key]);\n }\n if ((_r_componentContext1 = r.componentContext) === null || _r_componentContext1 === void 0 ? void 0 : _r_componentContext1.mediaEmit) {\n r.componentContext.mediaEmit(ms1);\n r.pendingState = ms1;\n return lastState;\n }\n r.lastState = ms1;\n return ms1;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n var ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if ((_ref_keys = ref.keys) === null || _ref_keys === void 0 ? void 0 : _ref_keys.size) {\n ref.keys.clear();\n }\n var [, forceUpdate] = useReducer(incReducer, 0);\n var state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(function() {\n var synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(function() {\n var _States_get;\n var renderVersion = ref.renderVersion;\n var shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!((_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.enabled);\n if (shouldSubscribe) {\n var _ref;\n (_ref = ref).onChange || (_ref.onChange = function() {\n var next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n var _ref_uid_nativeMediaUpdate, _ref_uid;\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if ((_ref_uid = ref.uid) === null || _ref_uid === void 0 ? void 0 : (_ref_uid_nativeMediaUpdate = _ref_uid.nativeMediaUpdate) === null || _ref_uid_nativeMediaUpdate === void 0 ? void 0 : _ref_uid_nativeMediaUpdate.call(_ref_uid, forceUpdate)) return;\n forceUpdate();\n }\n });\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return function() {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nvar incReducer = function(c) {\n return c + 1;\n};\nvar disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n var res;\n try {\n res = Object.fromEntries([\n ...mediaGroups\n ].map(function(mediaKey) {\n return [\n mediaKey,\n mediaKeyMatch(mediaKey, layout)\n ];\n }));\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nvar cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch2 as mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import { getSplitStyles } from "../helpers/getSplitStyles.mjs";
|
|
|
4
4
|
import { insertStyleRules } from "../helpers/insertStyleRule.mjs";
|
|
5
5
|
|
|
6
6
|
const useInsertEffectCompat = isWeb ? React.useInsertionEffect || useIsomorphicLayoutEffect : () => {};
|
|
7
|
-
const useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m) => {
|
|
7
|
+
const useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m, n) => {
|
|
8
8
|
"use no memo";
|
|
9
|
-
const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);
|
|
9
|
+
const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m, n);
|
|
10
10
|
if (!process.env.TAMAGUI_DID_OUTPUT_CSS && true) useInsertEffectCompat(() => {
|
|
11
11
|
if (res) insertStyleRules(res.rulesToInsert);
|
|
12
12
|
}, [res?.rulesToInsert]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSplitStyles.js","names":[],"sources":["esm/hooks/useSplitStyles.js"],"sourcesContent":["import { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getSplitStyles } from \"../helpers/getSplitStyles\";\nimport { insertStyleRules } from \"../helpers/insertStyleRule\";\n\nconst useInsertEffectCompat = isWeb ? React.useInsertionEffect || useIsomorphicLayoutEffect : () => {};\nconst useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m) => {\n\t\"use no memo\";\n\tconst res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS && true) useInsertEffectCompat(() => {\n\t\tif (res) insertStyleRules(res.rulesToInsert);\n\t}, [res?.rulesToInsert]);\n\treturn res;\n};\n\nexport { useSplitStyles };"],"mappings":";;;;;;AAKA,MAAM,wBAAwB,QAAQ,MAAM,sBAAsB,kCAAkC,CAAC;AACrG,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"useSplitStyles.js","names":[],"sources":["esm/hooks/useSplitStyles.js"],"sourcesContent":["import { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getSplitStyles } from \"../helpers/getSplitStyles\";\nimport { insertStyleRules } from \"../helpers/insertStyleRule\";\n\nconst useInsertEffectCompat = isWeb ? React.useInsertionEffect || useIsomorphicLayoutEffect : () => {};\nconst useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m, n) => {\n\t\"use no memo\";\n\tconst res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m, n);\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS && true) useInsertEffectCompat(() => {\n\t\tif (res) insertStyleRules(res.rulesToInsert);\n\t}, [res?.rulesToInsert]);\n\treturn res;\n};\n\nexport { useSplitStyles };"],"mappings":";;;;;;AAKA,MAAM,wBAAwB,QAAQ,MAAM,sBAAsB,kCAAkC,CAAC;AACrG,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM;CACpE;CACA,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CACnE,IAAI,CAAC,QAAQ,IAAI,0BAA0B,MAAM,4BAA4B;EAC5E,IAAI,KAAK,iBAAiB,IAAI,aAAa;CAC5C,GAAG,CAAC,KAAK,aAAa,CAAC;CACvB,OAAO;AACR"}
|
|
@@ -3,9 +3,9 @@ import React from "react";
|
|
|
3
3
|
import { getSplitStyles } from "../helpers/getSplitStyles.native.js";
|
|
4
4
|
|
|
5
5
|
isWeb && React.useInsertionEffect;
|
|
6
|
-
var useSplitStyles = function(a, b, c, d, e, f, g, h, i, j, k, l, m) {
|
|
6
|
+
var useSplitStyles = function(a, b, c, d, e, f, g, h, i, j, k, l, m, n) {
|
|
7
7
|
"use no memo";
|
|
8
|
-
var res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);
|
|
8
|
+
var res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m, n);
|
|
9
9
|
if (!process.env.TAMAGUI_DID_OUTPUT_CSS && false);
|
|
10
10
|
return res;
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSplitStyles.native.js","names":[],"sources":["esm/hooks/useSplitStyles.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getSplitStyles } from \"../helpers/getSplitStyles\";\n\nisWeb && React.useInsertionEffect;\nvar useSplitStyles = function(a, b, c, d, e, f, g, h, i, j, k, l, m) {\n\t\"use no memo\";\n\tvar res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS && false);\n\treturn res;\n};\n\nexport { useSplitStyles };"],"mappings":";;;;;AAIA,SAAS,MAAM;AACf,IAAI,iBAAiB,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"useSplitStyles.native.js","names":[],"sources":["esm/hooks/useSplitStyles.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getSplitStyles } from \"../helpers/getSplitStyles\";\n\nisWeb && React.useInsertionEffect;\nvar useSplitStyles = function(a, b, c, d, e, f, g, h, i, j, k, l, m, n) {\n\t\"use no memo\";\n\tvar res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m, n);\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS && false);\n\treturn res;\n};\n\nexport { useSplitStyles };"],"mappings":";;;;;AAIA,SAAS,MAAM;AACf,IAAI,iBAAiB,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;CACvE;CACA,IAAI,MAAM,eAAe,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CACjE,IAAI,CAAC,QAAQ,IAAI,0BAA0B;CAC3C,OAAO;AACR"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { resolveStylePieceForTheme } from "../style.mjs";
|
|
2
|
+
import { useThemeWithState } from "./useTheme.mjs";
|
|
3
|
+
|
|
4
|
+
function useStyle(piece) {
|
|
5
|
+
const [, themeState] = useThemeWithState({});
|
|
6
|
+
if (!piece) return;
|
|
7
|
+
return resolveStylePieceForTheme(piece, themeState.theme, themeState.name);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { useStyle };
|
|
11
|
+
//# sourceMappingURL=useStyle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStyle.js","names":[],"sources":["esm/hooks/useStyle.js"],"sourcesContent":["import { resolveStylePieceForTheme } from \"../style\";\nimport { useThemeWithState } from \"./useTheme\";\nfunction useStyle(piece) {\n const [, themeState] = useThemeWithState({});\n if (!piece) return;\n return resolveStylePieceForTheme(piece, themeState.theme, themeState.name);\n}\nexport {\n useStyle\n};\n//# sourceMappingURL=useStyle.js.map\n"],"mappings":";;;;AAEA,SAAS,SAAS,OAAO;CACvB,MAAM,GAAG,cAAc,kBAAkB,CAAC,CAAC;CAC3C,IAAI,CAAC,OAAO;CACZ,OAAO,0BAA0B,OAAO,WAAW,OAAO,WAAW,IAAI;AAC3E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { resolveStylePieceForTheme } from "../style.native.js";
|
|
2
|
+
import { useThemeWithState } from "./useTheme.native.js";
|
|
3
|
+
|
|
4
|
+
function useStyle(piece) {
|
|
5
|
+
var [, themeState] = useThemeWithState({});
|
|
6
|
+
if (!piece) return;
|
|
7
|
+
return resolveStylePieceForTheme(piece, themeState.theme, themeState.name);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { useStyle };
|
|
11
|
+
//# sourceMappingURL=useStyle.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStyle.native.js","names":[],"sources":["esm/hooks/useStyle.native.js"],"sourcesContent":["import { resolveStylePieceForTheme } from \"../style\";\nimport { useThemeWithState } from \"./useTheme\";\nfunction useStyle(piece) {\n var [, themeState] = useThemeWithState({});\n if (!piece) return;\n return resolveStylePieceForTheme(piece, themeState.theme, themeState.name);\n}\nexport {\n useStyle\n};\n//# sourceMappingURL=useStyle.js.map\n"],"mappings":";;;;AAEA,SAAS,SAAS,OAAO;CACvB,IAAI,GAAG,cAAc,kBAAkB,CAAC,CAAC;CACzC,IAAI,CAAC,OAAO;CACZ,OAAO,0BAA0B,OAAO,WAAW,OAAO,WAAW,IAAI;AAC3E"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
2
|
import { createContext, useContext, useEffect, useId, useReducer, useRef } from "react";
|
|
3
3
|
import { getConfig } from "../config.mjs";
|
|
4
|
-
import { formatDiagnostic } from "../helpers/formatDiagnostic.mjs";
|
|
5
4
|
import { MISSING_THEME_MESSAGE } from "../constants/constants.mjs";
|
|
6
5
|
|
|
7
6
|
const ThemeStateContext = createContext("");
|
|
@@ -56,7 +55,7 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
|
|
|
56
55
|
const propsKey = getPropsKey(props);
|
|
57
56
|
if (cascadeOnChange) registerThemeProviderChain(id, parentId, props);
|
|
58
57
|
const ref = useRef(null);
|
|
59
|
-
|
|
58
|
+
const r = ref.current ||= {
|
|
60
59
|
id,
|
|
61
60
|
parentId,
|
|
62
61
|
props,
|
|
@@ -67,21 +66,17 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
|
|
|
67
66
|
optimizeForFirstRender,
|
|
68
67
|
renderVersion: 0
|
|
69
68
|
};
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
ref.current.renderVersion++;
|
|
79
|
-
if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`theme-prep-uses`;
|
|
69
|
+
r.props = props;
|
|
70
|
+
r.propsKey = propsKey;
|
|
71
|
+
r.isRoot = isRoot;
|
|
72
|
+
r.keys = keys;
|
|
73
|
+
r.schemeKeys = schemeKeys;
|
|
74
|
+
r.parentId = parentId;
|
|
75
|
+
r.renderVersion++;
|
|
80
76
|
const [, forceUpdate] = useReducer(incReducer, 0);
|
|
81
|
-
const state = getSnapshotImpl(
|
|
82
|
-
|
|
77
|
+
const state = getSnapshotImpl(r);
|
|
78
|
+
r.lastSnap = state;
|
|
83
79
|
useEffect(() => {
|
|
84
|
-
const r = ref.current;
|
|
85
80
|
const renderVersion = r.renderVersion;
|
|
86
81
|
if (r.lastSnap && !states.has(r.id)) {
|
|
87
82
|
states.set(r.id, r.lastSnap);
|
|
@@ -101,8 +96,7 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
|
|
|
101
96
|
forceUpdate();
|
|
102
97
|
}
|
|
103
98
|
};
|
|
104
|
-
listenersByParent[pid]
|
|
105
|
-
listenersByParent[pid].add(sid);
|
|
99
|
+
(listenersByParent[pid] ||= /* @__PURE__ */ new Set()).add(sid);
|
|
106
100
|
allListeners.set(sid, () => {
|
|
107
101
|
const forced = shouldForce;
|
|
108
102
|
PendingUpdate.set(sid, forced ? "force" : true);
|
|
@@ -134,13 +128,12 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
|
|
|
134
128
|
HadTheme.set(keys, false);
|
|
135
129
|
return;
|
|
136
130
|
}
|
|
137
|
-
if (process.env.NODE_ENV === "development" && props.debug === "verbose") console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name);
|
|
138
131
|
scheduleUpdate(id);
|
|
139
132
|
HadTheme.set(keys, true);
|
|
140
133
|
}, [keys, propsKey]);
|
|
141
134
|
return state;
|
|
142
135
|
};
|
|
143
|
-
const shouldSubscribeToTheme = (r, cascadeOnChange) => r.optimizeForFirstRender || r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) ||
|
|
136
|
+
const shouldSubscribeToTheme = (r, cascadeOnChange) => Boolean(r.optimizeForFirstRender || r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) || r.keys.current?.size || r.props.needsUpdate?.());
|
|
144
137
|
function cleanupThemeSubscription(r) {
|
|
145
138
|
r.unsubscribe?.();
|
|
146
139
|
}
|
|
@@ -162,12 +155,8 @@ const getSnapshotImpl = (r) => {
|
|
|
162
155
|
if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
|
|
163
156
|
}
|
|
164
157
|
const isSchemeOnlyChange = !optimizeForFirstRender && false;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const keysSize = keys.current?.size ?? 0;
|
|
168
|
-
allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0;
|
|
169
|
-
}
|
|
170
|
-
const canSkipForSchemeChange = !!isSchemeOnlyChange && allKeysSchemeOptimized;
|
|
158
|
+
const allKeysSchemeOptimized = !optimizeForFirstRender && Boolean(keys.current?.size && schemeKeys?.current?.size === keys.current.size);
|
|
159
|
+
const canSkipForSchemeChange = Boolean(isSchemeOnlyChange && allKeysSchemeOptimized);
|
|
171
160
|
const needsUpdate = props.passThrough ? false : optimizeForFirstRender ? true : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : canSkipForSchemeChange ? false : keys?.current?.size ? true : props.needsUpdate?.();
|
|
172
161
|
const [rerender, nextRaw] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
|
|
173
162
|
let next = nextRaw;
|
|
@@ -184,22 +173,6 @@ const getSnapshotImpl = (r) => {
|
|
|
184
173
|
local = { ...next };
|
|
185
174
|
localStates.set(id, local);
|
|
186
175
|
}
|
|
187
|
-
if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
|
|
188
|
-
console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
|
|
189
|
-
console.info({
|
|
190
|
-
props,
|
|
191
|
-
propsKey,
|
|
192
|
-
isRoot,
|
|
193
|
-
parentId,
|
|
194
|
-
local,
|
|
195
|
-
next,
|
|
196
|
-
needsUpdate,
|
|
197
|
-
isSchemeOnlyChange,
|
|
198
|
-
allKeysSchemeOptimized,
|
|
199
|
-
canSkipForSchemeChange
|
|
200
|
-
});
|
|
201
|
-
console.groupEnd();
|
|
202
|
-
}
|
|
203
176
|
if (next !== local) {
|
|
204
177
|
Object.assign(local, next);
|
|
205
178
|
local.id = id;
|
|
@@ -210,27 +183,12 @@ const getSnapshotImpl = (r) => {
|
|
|
210
183
|
return local;
|
|
211
184
|
};
|
|
212
185
|
const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId, needsUpdate, pendingUpdate) => {
|
|
213
|
-
const { debug } = props;
|
|
214
186
|
const parentState = states.get(parentId);
|
|
215
187
|
if (props.passThrough) return [false, lastState || parentState || { name: "" }];
|
|
216
|
-
|
|
217
|
-
const name = !propsKey && (!lastState || !lastState
|
|
218
|
-
const isSameAsParent = parentState && (!name || name === parentState.name);
|
|
188
|
+
themes ||= getConfig().themes;
|
|
189
|
+
const name = !propsKey && (!lastState || !lastState.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === "force" ? true : !!needsUpdate);
|
|
190
|
+
const isSameAsParent = Boolean(parentState && (!name || name === parentState.name));
|
|
219
191
|
const shouldRerender = Boolean(pendingUpdate === "force" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name));
|
|
220
|
-
if (process.env.NODE_ENV === "development" && debug === "verbose") {
|
|
221
|
-
const message = ` \xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;
|
|
222
|
-
console.groupCollapsed(message);
|
|
223
|
-
console.trace({
|
|
224
|
-
name,
|
|
225
|
-
lastState,
|
|
226
|
-
parentState,
|
|
227
|
-
props,
|
|
228
|
-
propsKey,
|
|
229
|
-
id,
|
|
230
|
-
isSameAsParent
|
|
231
|
-
});
|
|
232
|
-
console.groupEnd();
|
|
233
|
-
}
|
|
234
192
|
if (isSameAsParent) {
|
|
235
193
|
if (!shouldRerender && lastState && lastState.name === parentState.name) return [false, lastState];
|
|
236
194
|
return [shouldRerender, {
|
|
@@ -249,7 +207,7 @@ const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId,
|
|
|
249
207
|
}
|
|
250
208
|
const scheme = getScheme(name);
|
|
251
209
|
const parentInverses = parentState?.inverses ?? 0;
|
|
252
|
-
const isInverse = parentState && scheme !== parentState.scheme;
|
|
210
|
+
const isInverse = Boolean(parentState && scheme !== parentState.scheme);
|
|
253
211
|
const inverses = parentInverses + (isInverse ? 1 : 0);
|
|
254
212
|
const nextState = {
|
|
255
213
|
id,
|
|
@@ -264,19 +222,7 @@ const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId,
|
|
|
264
222
|
};
|
|
265
223
|
if (isRoot) rootThemeState = nextState;
|
|
266
224
|
if (pendingUpdate !== "force" && lastState && lastState.name === name) return [false, nextState];
|
|
267
|
-
|
|
268
|
-
if (process.env.NODE_ENV === "development" && debug === "verbose") {
|
|
269
|
-
console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);
|
|
270
|
-
console.info({
|
|
271
|
-
lastState,
|
|
272
|
-
needsUpdate,
|
|
273
|
-
nextState,
|
|
274
|
-
pendingUpdate
|
|
275
|
-
});
|
|
276
|
-
console.groupEnd();
|
|
277
|
-
}
|
|
278
|
-
if (shouldAvoidRerender) return [false, nextState];
|
|
279
|
-
return [true, nextState];
|
|
225
|
+
return [!(pendingUpdate !== "force" && lastState && !needsUpdate && nextState.name === lastState.name), nextState];
|
|
280
226
|
};
|
|
281
227
|
function scheduleUpdate(id) {
|
|
282
228
|
const queue = [id];
|
|
@@ -302,12 +248,8 @@ function getScheme(name) {
|
|
|
302
248
|
return validSchemes[name.split("_")[0]];
|
|
303
249
|
}
|
|
304
250
|
function getNewThemeName(parentName = "", props, forceUpdate = false) {
|
|
305
|
-
const { name
|
|
306
|
-
|
|
307
|
-
name,
|
|
308
|
-
reset
|
|
309
|
-
}));
|
|
310
|
-
const cacheKey = `${parentName}|${name || ""}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;
|
|
251
|
+
const { name } = props;
|
|
252
|
+
const cacheKey = `${parentName}|${name || ""}|${forceUpdate ? 1 : 0}`;
|
|
311
253
|
if (themeNameCacheVer !== cacheVersion) {
|
|
312
254
|
themeNameCache.clear();
|
|
313
255
|
themeNameCacheVer = cacheVersion;
|
|
@@ -315,20 +257,13 @@ function getNewThemeName(parentName = "", props, forceUpdate = false) {
|
|
|
315
257
|
const cached = themeNameCache.get(cacheKey);
|
|
316
258
|
if (cached !== void 0) return cached;
|
|
317
259
|
}
|
|
318
|
-
const result = resolveThemeName(parentName, name ?? void 0,
|
|
260
|
+
const result = resolveThemeName(parentName, name ?? void 0, getConfig().themes, forceUpdate);
|
|
319
261
|
if (themeNameCache.size >= 1e4) themeNameCache.clear();
|
|
320
262
|
themeNameCache.set(cacheKey, result);
|
|
321
263
|
return result;
|
|
322
264
|
}
|
|
323
265
|
const getThemeNameCacheSize = () => themeNameCache.size;
|
|
324
|
-
function resolveThemeName(parentName, name,
|
|
325
|
-
if (reset) {
|
|
326
|
-
if (parentName === "light" || parentName === "dark") return parentName === "light" ? "dark" : "light";
|
|
327
|
-
const lastPartIndex = parentName.lastIndexOf("_");
|
|
328
|
-
const resetName = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
|
|
329
|
-
const scheme = parentName.slice(0, lastPartIndex);
|
|
330
|
-
return themes2[resetName] ? resetName : scheme;
|
|
331
|
-
}
|
|
266
|
+
function resolveThemeName(parentName, name, themes2, forceUpdate = false) {
|
|
332
267
|
const parentParts = parentName ? parentName.split("_") : [];
|
|
333
268
|
let found = null;
|
|
334
269
|
if (name) {
|
|
@@ -346,8 +281,8 @@ function resolveThemeName(parentName, name, reset, themes2, forceUpdate = false)
|
|
|
346
281
|
if (!forceUpdate && found === parentName && !validSchemes[found]) return null;
|
|
347
282
|
return found;
|
|
348
283
|
}
|
|
349
|
-
const getPropsKey = ({ name,
|
|
350
|
-
const hasThemeUpdatingProps = (props) => "name" in props || "
|
|
284
|
+
const getPropsKey = ({ name, forceClassName, _themeUpdate }) => `${name || ""}${forceClassName || ""}${_themeUpdate?.key || ""}`;
|
|
285
|
+
const hasThemeUpdatingProps = (props) => "name" in props || "forceClassName" in props || "_themeUpdate" in props;
|
|
351
286
|
|
|
352
287
|
export { ThemeStateContext, forceUpdateThemes, getNewThemeName, getRootThemeState, getThemeNameCacheSize, getThemeProviderChainSizes, getThemeProviderParent, getThemeState, getThemeUpdateLayer, hasThemeUpdatingProps, resolveThemeName, useThemeState };
|
|
353
288
|
//# sourceMappingURL=useThemeState.mjs.map
|