@tamagui/web 3.0.0-beta.765.1 → 3.0.0-beta.804.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/createComponent.cjs +83 -86
- package/dist/cjs/createComponent.native.cjs +96 -103
- package/dist/cjs/createComponent.native.js +96 -103
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createTamagui.cjs +9 -7
- package/dist/cjs/createTamagui.native.cjs +9 -7
- package/dist/cjs/createTamagui.native.js +9 -7
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +0 -1
- package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +0 -1
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +0 -1
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/directStyleCSS.cjs +348 -0
- package/dist/cjs/helpers/directStyleCSS.native.cjs +20 -0
- package/dist/cjs/helpers/directStyleCSS.native.js +22 -0
- package/dist/cjs/helpers/directStyleCSS.native.js.map +1 -0
- package/dist/cjs/helpers/directStyleCSSCompiled.cjs +40 -0
- package/dist/cjs/helpers/directStyleCSSCompiled.native.cjs +46 -0
- package/dist/cjs/helpers/directStyleCSSCompiled.native.js +48 -0
- package/dist/cjs/helpers/directStyleCSSCompiled.native.js.map +1 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +92 -74
- package/dist/cjs/helpers/{getFontLanguage.native.cjs → getCSSStylesAtomicCompiled.cjs} +12 -8
- package/dist/cjs/helpers/{getFontLanguage.native.js → getCSSStylesAtomicCompiled.native.cjs} +12 -8
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +36 -0
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
- package/dist/cjs/helpers/getSplitStyles.cjs +2417 -548
- package/dist/cjs/helpers/getSplitStyles.native.cjs +2758 -621
- package/dist/cjs/helpers/getSplitStyles.native.js +2758 -621
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getVariantExtras.cjs +8 -3
- package/dist/cjs/helpers/getVariantExtras.native.cjs +8 -3
- package/dist/cjs/helpers/getVariantExtras.native.js +8 -3
- package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.cjs +2 -1
- package/dist/cjs/helpers/insertStyleRule.native.cjs +68 -5
- package/dist/cjs/helpers/insertStyleRule.native.js +68 -5
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/mediaState.cjs +12 -0
- package/dist/cjs/helpers/mediaState.native.cjs +12 -0
- package/dist/cjs/helpers/mediaState.native.js +12 -0
- package/dist/cjs/helpers/mediaState.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStyle.cjs +16 -2
- package/dist/cjs/helpers/normalizeStyle.native.cjs +16 -2
- package/dist/cjs/helpers/normalizeStyle.native.js +16 -2
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/resolveRem.cjs +1 -1
- package/dist/cjs/helpers/skipProps.cjs +6 -1
- package/dist/cjs/helpers/skipProps.native.cjs +6 -1
- package/dist/cjs/helpers/skipProps.native.js +6 -1
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/styleFrontend.cjs +2 -8
- package/dist/cjs/helpers/styleFrontend.native.cjs +2 -10
- package/dist/cjs/helpers/styleFrontend.native.js +2 -10
- package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
- package/dist/cjs/helpers/styleToCSS.cjs +59 -0
- package/dist/cjs/helpers/{normalizeStylePropKeys.cjs → styleToCSS.native.cjs} +6 -4
- package/dist/cjs/helpers/{getFontLanguage.cjs → styleToCSS.native.js} +8 -4
- package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +28 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +45 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +45 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/variables.cjs +3 -2
- package/dist/cjs/helpers/variables.native.cjs +3 -2
- package/dist/cjs/helpers/variables.native.js +3 -2
- package/dist/cjs/helpers/variables.native.js.map +1 -1
- package/dist/cjs/helpers/wrapStyleTags.cjs +5 -3
- package/dist/cjs/helpers/wrapStyleTags.native.cjs +3 -1
- package/dist/cjs/helpers/wrapStyleTags.native.js +3 -1
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.cjs +70 -89
- package/dist/cjs/hooks/useComponentState.native.cjs +70 -88
- package/dist/cjs/hooks/useComponentState.native.js +70 -88
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +3 -15
- package/dist/cjs/hooks/useMedia.native.cjs +3 -15
- package/dist/cjs/hooks/useMedia.native.js +3 -15
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useProps.cjs +7 -5
- package/dist/cjs/hooks/useProps.native.cjs +7 -5
- package/dist/cjs/hooks/useProps.native.js +7 -5
- package/dist/cjs/hooks/useProps.native.js.map +1 -1
- package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
- package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
- package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
- package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
- package/dist/cjs/index.cjs +184 -70
- package/dist/cjs/index.native.cjs +184 -70
- package/dist/cjs/index.native.js +184 -70
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/insertFont.cjs +1 -1
- package/dist/cjs/insertFont.native.cjs +1 -0
- package/dist/cjs/insertFont.native.js +1 -0
- package/dist/cjs/insertFont.native.js.map +1 -1
- package/dist/cjs/internal-runtime.cjs +33 -6
- package/dist/cjs/internal-runtime.native.cjs +33 -6
- package/dist/cjs/internal-runtime.native.js +33 -6
- package/dist/cjs/internal-runtime.native.js.map +1 -1
- package/dist/cjs/setupReactNative.cjs +1 -29
- package/dist/cjs/setupReactNative.native.cjs +1 -3
- package/dist/cjs/setupReactNative.native.js +1 -3
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/static-resolve.cjs +229 -0
- package/dist/cjs/static-resolve.native.cjs +242 -0
- package/dist/cjs/static-resolve.native.js +244 -0
- package/dist/cjs/static-resolve.native.js.map +1 -0
- package/dist/cjs/styled.cjs +23 -37
- package/dist/cjs/styled.native.cjs +22 -37
- package/dist/cjs/styled.native.js +22 -37
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +4 -8
- package/dist/cjs/views/TamaguiProvider.native.cjs +4 -8
- package/dist/cjs/views/TamaguiProvider.native.js +4 -8
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/ThemeUpdate.cjs +1 -1
- package/dist/cjs/views/ThemeUpdate.native.cjs +1 -1
- package/dist/cjs/views/ThemeUpdate.native.js +1 -1
- package/dist/cjs/views/ThemeUpdate.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +85 -88
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +98 -105
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createTamagui.mjs +9 -7
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +9 -7
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs +0 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js +0 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/directStyleCSS.mjs +320 -0
- package/dist/esm/helpers/directStyleCSS.mjs.map +1 -0
- package/dist/esm/helpers/directStyleCSS.native.js +1 -0
- package/dist/esm/helpers/directStyleCSSCompiled.mjs +11 -0
- package/dist/esm/helpers/directStyleCSSCompiled.mjs.map +1 -0
- package/dist/esm/helpers/directStyleCSSCompiled.native.js +15 -0
- package/dist/esm/helpers/directStyleCSSCompiled.native.js.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +86 -72
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +9 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +9 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
- package/dist/esm/helpers/getSplitStyles.mjs +2406 -545
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +2751 -618
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getVariantExtras.mjs +8 -3
- package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
- package/dist/esm/helpers/getVariantExtras.native.js +8 -3
- package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs +2 -1
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +69 -3
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/mediaState.mjs +12 -1
- package/dist/esm/helpers/mediaState.mjs.map +1 -1
- package/dist/esm/helpers/mediaState.native.js +12 -1
- package/dist/esm/helpers/mediaState.native.js.map +1 -1
- package/dist/esm/helpers/normalizeStyle.mjs +16 -2
- package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
- package/dist/esm/helpers/normalizeStyle.native.js +16 -2
- package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/esm/helpers/resolveRem.mjs +1 -1
- package/dist/esm/helpers/resolveRem.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.mjs +3 -1
- package/dist/esm/helpers/skipProps.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.native.js +3 -1
- package/dist/esm/helpers/skipProps.native.js.map +1 -1
- package/dist/esm/helpers/styleFrontend.mjs +2 -4
- package/dist/esm/helpers/styleFrontend.mjs.map +1 -1
- package/dist/esm/helpers/styleFrontend.native.js +2 -6
- package/dist/esm/helpers/styleFrontend.native.js.map +1 -1
- package/dist/esm/helpers/styleToCSS.mjs +40 -0
- package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
- package/dist/esm/helpers/styleToCSS.native.js +4 -0
- package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
- package/dist/esm/helpers/subscribeToContextGroup.mjs +25 -1
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js +42 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/esm/helpers/variables.mjs +2 -1
- package/dist/esm/helpers/variables.mjs.map +1 -1
- package/dist/esm/helpers/variables.native.js +2 -1
- package/dist/esm/helpers/variables.native.js.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.mjs +5 -3
- package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.native.js +3 -1
- package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +71 -90
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +71 -89
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +2 -15
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +2 -15
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useProps.mjs +7 -5
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +7 -5
- package/dist/esm/hooks/useProps.native.js.map +1 -1
- package/dist/esm/hooks/useSplitStyles.mjs +17 -0
- package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
- package/dist/esm/hooks/useSplitStyles.native.js +14 -0
- package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
- package/dist/esm/index.js +57 -137
- package/dist/esm/index.mjs +57 -137
- package/dist/esm/index.native.js +57 -137
- package/dist/esm/insertFont.mjs +1 -1
- package/dist/esm/insertFont.mjs.map +1 -1
- package/dist/esm/insertFont.native.js +1 -0
- package/dist/esm/insertFont.native.js.map +1 -1
- package/dist/esm/internal-runtime.mjs +23 -4
- package/dist/esm/internal-runtime.mjs.map +1 -1
- package/dist/esm/internal-runtime.native.js +23 -4
- package/dist/esm/internal-runtime.native.js.map +1 -1
- package/dist/esm/setupReactNative.mjs +1 -29
- package/dist/esm/setupReactNative.mjs.map +1 -1
- package/dist/esm/setupReactNative.native.js +1 -3
- package/dist/esm/setupReactNative.native.js.map +1 -1
- package/dist/esm/static-resolve.mjs +194 -0
- package/dist/esm/static-resolve.mjs.map +1 -0
- package/dist/esm/static-resolve.native.js +205 -0
- package/dist/esm/static-resolve.native.js.map +1 -0
- package/dist/esm/styled.mjs +24 -40
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +23 -40
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +4 -8
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +4 -8
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/ThemeUpdate.mjs +1 -1
- package/dist/esm/views/ThemeUpdate.mjs.map +1 -1
- package/dist/esm/views/ThemeUpdate.native.js +1 -1
- package/dist/esm/views/ThemeUpdate.native.js.map +1 -1
- package/package.json +25 -15
- package/reset.css +3 -3
- package/src/createComponent.tsx +175 -192
- package/src/createTamagui.ts +10 -9
- package/src/helpers/defaultAnimationDriver.tsx +0 -1
- package/src/helpers/directStyleCSS.native.ts +1 -0
- package/src/helpers/directStyleCSS.ts +534 -0
- package/src/helpers/directStyleCSSCompiled.ts +32 -0
- package/src/helpers/getCSSStylesAtomic.ts +168 -88
- package/src/helpers/getCSSStylesAtomicCompiled.ts +9 -0
- package/src/helpers/getSplitStyles.tsx +4653 -1003
- package/src/helpers/getVariantExtras.tsx +15 -3
- package/src/helpers/insertStyleRule.tsx +4 -2
- package/src/helpers/mediaState.ts +15 -0
- package/src/helpers/normalizeStyle.ts +27 -2
- package/src/helpers/resolveRem.ts +1 -1
- package/src/helpers/skipProps.ts +3 -0
- package/src/helpers/styleFrontend.ts +20 -27
- package/src/helpers/styleToCSS.native.ts +1 -0
- package/src/helpers/styleToCSS.ts +43 -0
- package/src/helpers/subscribeToContextGroup.tsx +30 -0
- package/src/helpers/variables.ts +2 -1
- package/src/helpers/warnOnce.ts +3 -4
- package/src/helpers/wrapStyleTags.tsx +1 -1
- package/src/hooks/useComponentState.ts +118 -158
- package/src/hooks/useMedia.tsx +2 -18
- package/src/hooks/useProps.tsx +19 -15
- package/src/hooks/useSplitStyles.tsx +26 -0
- package/src/index.ts +298 -73
- package/src/insertFont.ts +5 -1
- package/src/internal-runtime.ts +49 -24
- package/src/internalRuntimeTypes.ts +2 -7
- package/src/setupReactNative.ts +7 -30
- package/src/static-resolve.ts +396 -0
- package/src/styled.tsx +34 -11
- package/src/types.tsx +40 -30
- package/src/views/TamaguiProvider.tsx +23 -22
- package/src/views/ThemeUpdate.tsx +3 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
- package/types/helpers/directStyleCSS.d.ts +28 -0
- package/types/helpers/directStyleCSS.d.ts.map +1 -0
- package/types/helpers/directStyleCSS.native.d.ts +2 -0
- package/types/helpers/directStyleCSS.native.d.ts.map +1 -0
- package/types/helpers/directStyleCSSCompiled.d.ts +10 -0
- package/types/helpers/directStyleCSSCompiled.d.ts.map +1 -0
- package/types/helpers/getCSSStylesAtomic.d.ts +22 -1
- package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts +4 -0
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
- package/types/helpers/getSplitStyles.d.ts +11 -4
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getVariantExtras.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/mediaState.d.ts +4 -0
- package/types/helpers/mediaState.d.ts.map +1 -1
- package/types/helpers/normalizeStyle.d.ts +1 -1
- package/types/helpers/normalizeStyle.d.ts.map +1 -1
- package/types/helpers/skipProps.d.ts +2 -0
- package/types/helpers/skipProps.d.ts.map +1 -1
- package/types/helpers/styleFrontend.d.ts +13 -17
- package/types/helpers/styleFrontend.d.ts.map +1 -1
- package/types/helpers/styleToCSS.d.ts +2 -0
- package/types/helpers/styleToCSS.d.ts.map +1 -0
- package/types/helpers/styleToCSS.native.d.ts +2 -0
- package/types/helpers/styleToCSS.native.d.ts.map +1 -0
- package/types/helpers/subscribeToContextGroup.d.ts +1 -0
- package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
- package/types/helpers/variables.d.ts.map +1 -1
- package/types/helpers/warnOnce.d.ts.map +1 -1
- package/types/helpers/webPropsToSkip.native.d.ts +5 -0
- package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts +3 -2
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +1 -5
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useProps.d.ts.map +1 -1
- package/types/hooks/useSplitStyles.d.ts +3 -0
- package/types/hooks/useSplitStyles.d.ts.map +1 -0
- package/types/index.d.ts +58 -72
- package/types/index.d.ts.map +1 -1
- package/types/insertFont.d.ts.map +1 -1
- package/types/internal-runtime.d.ts +24 -11
- package/types/internal-runtime.d.ts.map +1 -1
- package/types/internalRuntimeTypes.d.ts +1 -6
- package/types/internalRuntimeTypes.d.ts.map +1 -1
- package/types/setupReactNative.d.ts +2 -3
- package/types/setupReactNative.d.ts.map +1 -1
- package/types/static-resolve.d.ts +79 -0
- package/types/static-resolve.d.ts.map +1 -0
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +29 -22
- package/types/types.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/ThemeUpdate.d.ts.map +1 -1
- package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -34
- package/dist/cjs/constants/accessibilityDirectMap.native.cjs +0 -36
- package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -38
- package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
- package/dist/cjs/helpers/directStyle.cjs +0 -962
- package/dist/cjs/helpers/directStyle.native.cjs +0 -1165
- package/dist/cjs/helpers/directStyle.native.js +0 -1167
- package/dist/cjs/helpers/directStyle.native.js.map +0 -1
- package/dist/cjs/helpers/frontendProgram.cjs +0 -43
- package/dist/cjs/helpers/frontendProgram.native.cjs +0 -49
- package/dist/cjs/helpers/frontendProgram.native.js +0 -51
- package/dist/cjs/helpers/frontendProgram.native.js.map +0 -1
- package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +0 -37
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -39
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
- package/dist/cjs/helpers/propMapper.cjs +0 -384
- package/dist/cjs/helpers/propMapper.native.cjs +0 -536
- package/dist/cjs/helpers/propMapper.native.js +0 -538
- package/dist/cjs/helpers/propMapper.native.js.map +0 -1
- package/dist/cjs/helpers/useRenderElement.cjs +0 -47
- package/dist/cjs/helpers/useRenderElement.native.cjs +0 -53
- package/dist/cjs/helpers/useRenderElement.native.js +0 -55
- package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
- package/dist/esm/constants/accessibilityDirectMap.mjs +0 -8
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
- package/dist/esm/constants/accessibilityDirectMap.native.js +0 -8
- package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
- package/dist/esm/helpers/directStyle.mjs +0 -929
- package/dist/esm/helpers/directStyle.mjs.map +0 -1
- package/dist/esm/helpers/directStyle.native.js +0 -1132
- package/dist/esm/helpers/directStyle.native.js.map +0 -1
- package/dist/esm/helpers/frontendProgram.mjs +0 -20
- package/dist/esm/helpers/frontendProgram.mjs.map +0 -1
- package/dist/esm/helpers/frontendProgram.native.js +0 -24
- package/dist/esm/helpers/frontendProgram.native.js.map +0 -1
- package/dist/esm/helpers/getFontLanguage.mjs +0 -4
- package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
- package/dist/esm/helpers/getFontLanguage.native.js +0 -6
- package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -4
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -15
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
- package/dist/esm/helpers/propMapper.mjs +0 -360
- package/dist/esm/helpers/propMapper.mjs.map +0 -1
- package/dist/esm/helpers/propMapper.native.js +0 -511
- package/dist/esm/helpers/propMapper.native.js.map +0 -1
- package/dist/esm/helpers/useRenderElement.mjs +0 -26
- package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
- package/dist/esm/helpers/useRenderElement.native.js +0 -31
- package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
- package/src/constants/accessibilityDirectMap.native.tsx +0 -10
- package/src/constants/accessibilityDirectMap.tsx +0 -11
- package/src/helpers/directStyle.ts +0 -2294
- package/src/helpers/frontendProgram.ts +0 -48
- package/src/helpers/getFontLanguage.ts +0 -2
- package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
- package/src/helpers/normalizeStylePropKeys.ts +0 -3
- package/src/helpers/propMapper.ts +0 -721
- package/src/helpers/useRenderElement.tsx +0 -73
- package/types/constants/accessibilityDirectMap.d.ts +0 -6
- package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
- package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
- package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
- package/types/helpers/directStyle.d.ts +0 -15
- package/types/helpers/directStyle.d.ts.map +0 -1
- package/types/helpers/frontendProgram.d.ts +0 -10
- package/types/helpers/frontendProgram.d.ts.map +0 -1
- package/types/helpers/getFontLanguage.d.ts +0 -2
- package/types/helpers/getFontLanguage.d.ts.map +0 -1
- package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
- package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
- package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
- package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
- package/types/helpers/propMapper.d.ts +0 -6
- package/types/helpers/propMapper.d.ts.map +0 -1
- package/types/helpers/useRenderElement.d.ts +0 -13
- package/types/helpers/useRenderElement.d.ts.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { defaultOffset } from "./defaultOffset.mjs";
|
|
2
|
+
import { normalizeColor } from "./normalizeColor.mjs";
|
|
3
|
+
import { normalizeValueWithProperty } from "./normalizeValueWithProperty.mjs";
|
|
4
|
+
|
|
5
|
+
function styleToCSS(style) {
|
|
6
|
+
const { shadowOffset, shadowRadius, shadowColor, shadowOpacity } = style;
|
|
7
|
+
if (shadowRadius != null || shadowColor || shadowOffset != null || shadowOpacity != null) {
|
|
8
|
+
const offset = shadowOffset || defaultOffset;
|
|
9
|
+
const width = normalizeValueWithProperty(offset.width);
|
|
10
|
+
const height = normalizeValueWithProperty(offset.height);
|
|
11
|
+
const radius = normalizeValueWithProperty(shadowRadius);
|
|
12
|
+
const color = normalizeColor(shadowColor, shadowOpacity);
|
|
13
|
+
if (color) {
|
|
14
|
+
const shadow = `${width} ${height} ${radius} ${color}`;
|
|
15
|
+
style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow;
|
|
16
|
+
}
|
|
17
|
+
delete style.shadowOffset;
|
|
18
|
+
delete style.shadowRadius;
|
|
19
|
+
delete style.shadowColor;
|
|
20
|
+
delete style.shadowOpacity;
|
|
21
|
+
}
|
|
22
|
+
const { textShadowColor, textShadowOffset, textShadowRadius } = style;
|
|
23
|
+
if (textShadowColor || textShadowOffset || textShadowRadius) {
|
|
24
|
+
const { height, width } = textShadowOffset || defaultOffset;
|
|
25
|
+
const radius = textShadowRadius || 0;
|
|
26
|
+
const color = normalizeValueWithProperty(textShadowColor, "textShadowColor");
|
|
27
|
+
if (color && (height !== 0 || width !== 0 || radius !== 0)) {
|
|
28
|
+
const blurRadius = normalizeValueWithProperty(radius);
|
|
29
|
+
const offsetX = normalizeValueWithProperty(width);
|
|
30
|
+
const offsetY = normalizeValueWithProperty(height);
|
|
31
|
+
style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;
|
|
32
|
+
}
|
|
33
|
+
delete style.textShadowColor;
|
|
34
|
+
delete style.textShadowOffset;
|
|
35
|
+
delete style.textShadowRadius;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { styleToCSS };
|
|
40
|
+
//# sourceMappingURL=styleToCSS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleToCSS.js","names":[],"sources":["esm/helpers/styleToCSS.js"],"sourcesContent":["import { defaultOffset } from \"./defaultOffset\";\nimport { normalizeColor } from \"./normalizeColor\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty\";\nfunction styleToCSS(style) {\n const { shadowOffset, shadowRadius, shadowColor, shadowOpacity } = style;\n if (shadowRadius != null || shadowColor || shadowOffset != null || shadowOpacity != null) {\n const offset = shadowOffset || defaultOffset;\n const width = normalizeValueWithProperty(offset.width);\n const height = normalizeValueWithProperty(offset.height);\n const radius = normalizeValueWithProperty(shadowRadius);\n const color = normalizeColor(shadowColor, shadowOpacity);\n if (color) {\n const shadow = `${width} ${height} ${radius} ${color}`;\n style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow;\n }\n delete style.shadowOffset;\n delete style.shadowRadius;\n delete style.shadowColor;\n delete style.shadowOpacity;\n }\n const { textShadowColor, textShadowOffset, textShadowRadius } = style;\n if (textShadowColor || textShadowOffset || textShadowRadius) {\n const { height, width } = textShadowOffset || defaultOffset;\n const radius = textShadowRadius || 0;\n const color = normalizeValueWithProperty(textShadowColor, \"textShadowColor\");\n if (color && (height !== 0 || width !== 0 || radius !== 0)) {\n const blurRadius = normalizeValueWithProperty(radius);\n const offsetX = normalizeValueWithProperty(width);\n const offsetY = normalizeValueWithProperty(height);\n style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;\n }\n delete style.textShadowColor;\n delete style.textShadowOffset;\n delete style.textShadowRadius;\n }\n}\nexport {\n styleToCSS\n};\n//# sourceMappingURL=styleToCSS.js.map\n"],"mappings":";;;;;AAGA,SAAS,WAAW,OAAO;CACzB,MAAM,EAAE,cAAc,cAAc,aAAa,kBAAkB;CACnE,IAAI,gBAAgB,QAAQ,eAAe,gBAAgB,QAAQ,iBAAiB,MAAM;EACxF,MAAM,SAAS,gBAAgB;EAC/B,MAAM,QAAQ,2BAA2B,OAAO,KAAK;EACrD,MAAM,SAAS,2BAA2B,OAAO,MAAM;EACvD,MAAM,SAAS,2BAA2B,YAAY;EACtD,MAAM,QAAQ,eAAe,aAAa,aAAa;EACvD,IAAI,OAAO;GACT,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG;GAC/C,MAAM,YAAY,MAAM,YAAY,GAAG,MAAM,UAAU,IAAI,WAAW;EACxE;EACA,OAAO,MAAM;EACb,OAAO,MAAM;EACb,OAAO,MAAM;EACb,OAAO,MAAM;CACf;CACA,MAAM,EAAE,iBAAiB,kBAAkB,qBAAqB;CAChE,IAAI,mBAAmB,oBAAoB,kBAAkB;EAC3D,MAAM,EAAE,QAAQ,UAAU,oBAAoB;EAC9C,MAAM,SAAS,oBAAoB;EACnC,MAAM,QAAQ,2BAA2B,iBAAiB,iBAAiB;EAC3E,IAAI,UAAU,WAAW,KAAK,UAAU,KAAK,WAAW,IAAI;GAC1D,MAAM,aAAa,2BAA2B,MAAM;GACpD,MAAM,UAAU,2BAA2B,KAAK;GAChD,MAAM,UAAU,2BAA2B,MAAM;GACjD,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG;EAC5D;EACA,OAAO,MAAM;EACb,OAAO,MAAM;EACb,OAAO,MAAM;CACf;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleToCSS.native.js","names":[],"sources":["esm/helpers/styleToCSS.native.js"],"sourcesContent":["function styleToCSS(_style) {\n}\nexport {\n styleToCSS\n};\n//# sourceMappingURL=styleToCSS.native.js.map\n"],"mappings":";AAAA,SAAS,WAAW,QAAQ,CAC5B"}
|
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
import { mergeIfNotShallowEqual } from "@tamagui/is-equal-shallow";
|
|
2
|
+
import { useRef } from "react";
|
|
2
3
|
import { getMediaState } from "../hooks/useMedia.mjs";
|
|
3
4
|
|
|
5
|
+
const useGroupSetRevision = (pseudoGroups, mediaGroups) => {
|
|
6
|
+
const previous = useRef({
|
|
7
|
+
pseudoGroups,
|
|
8
|
+
mediaGroups,
|
|
9
|
+
revision: 0
|
|
10
|
+
});
|
|
11
|
+
if (!setsEqual(previous.current.pseudoGroups, pseudoGroups) || !setsEqual(previous.current.mediaGroups, mediaGroups)) {
|
|
12
|
+
previous.current = {
|
|
13
|
+
pseudoGroups,
|
|
14
|
+
mediaGroups,
|
|
15
|
+
revision: previous.current.revision + 1
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return previous.current.revision;
|
|
19
|
+
};
|
|
20
|
+
const setsEqual = (a, b) => {
|
|
21
|
+
if (a === b) return true;
|
|
22
|
+
if (!a || !b || a.size !== b.size) return false;
|
|
23
|
+
for (const value of a) {
|
|
24
|
+
if (!b.has(value)) return false;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
};
|
|
4
28
|
const subscribeToContextGroup = (props) => {
|
|
5
29
|
const { pseudoGroups, mediaGroups, groupContext } = props;
|
|
6
30
|
if (pseudoGroups || mediaGroups) {
|
|
@@ -66,5 +90,5 @@ const createGroupListener = (name, { setStateShallow, pseudoGroups, mediaGroups,
|
|
|
66
90
|
};
|
|
67
91
|
};
|
|
68
92
|
|
|
69
|
-
export { subscribeToContextGroup };
|
|
93
|
+
export { subscribeToContextGroup, useGroupSetRevision };
|
|
70
94
|
//# sourceMappingURL=subscribeToContextGroup.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribeToContextGroup.js","names":[],"sources":["esm/helpers/subscribeToContextGroup.js"],"sourcesContent":["import { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { getMediaState } from \"../hooks/useMedia\";\nconst subscribeToContextGroup = (props) => {\n const { pseudoGroups, mediaGroups, groupContext } = props;\n if (pseudoGroups || mediaGroups) {\n if (process.env.NODE_ENV === \"development\" && !groupContext) {\n console.debug(`No context group found`);\n }\n const disposables = /* @__PURE__ */ new Set();\n if (pseudoGroups) {\n for (const name of pseudoGroups) {\n disposables.add(createGroupListener(name, props));\n }\n }\n if (mediaGroups) {\n for (const name of mediaGroups) {\n disposables.add(createGroupListener(name, props));\n }\n }\n return () => {\n disposables.forEach((d) => d());\n };\n }\n};\nconst createGroupListener = (name, {\n setStateShallow,\n pseudoGroups,\n mediaGroups,\n groupContext\n}) => {\n const parent = groupContext?.[name];\n if (!parent) {\n return () => {\n };\n }\n const dispose = parent.subscribe(({ layout, pseudo }) => {\n setStateShallow((prev) => {\n let didChange = false;\n const group = prev.group?.[name] || {\n pseudo: {},\n media: {}\n };\n if (pseudo && pseudoGroups?.has(name)) {\n group.pseudo ||= {};\n const next = mergeIfNotShallowEqual(group.pseudo, pseudo);\n if (next !== group.pseudo) {\n Object.assign(group.pseudo, pseudo);\n didChange = true;\n }\n } else if (layout && mediaGroups) {\n group.media ||= {};\n const mediaState = getMediaState(mediaGroups, layout);\n const next = mergeIfNotShallowEqual(group.media, mediaState);\n if (next !== group.media) {\n Object.assign(group.media, next);\n didChange = true;\n }\n }\n if (didChange) {\n return {\n group: {\n ...prev.group,\n [name]: group\n }\n };\n }\n return prev;\n });\n });\n return () => {\n dispose();\n setStateShallow({\n group: {}\n });\n };\n};\nexport {\n subscribeToContextGroup\n};\n//# sourceMappingURL=subscribeToContextGroup.js.map\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscribeToContextGroup.js","names":[],"sources":["esm/helpers/subscribeToContextGroup.js"],"sourcesContent":["import { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useRef } from \"react\";\nimport { getMediaState } from \"../hooks/useMedia\";\nconst useGroupSetRevision = (pseudoGroups, mediaGroups) => {\n const previous = useRef({ pseudoGroups, mediaGroups, revision: 0 });\n if (!setsEqual(previous.current.pseudoGroups, pseudoGroups) || !setsEqual(previous.current.mediaGroups, mediaGroups)) {\n previous.current = {\n pseudoGroups,\n mediaGroups,\n revision: previous.current.revision + 1\n };\n }\n return previous.current.revision;\n};\nconst setsEqual = (a, b) => {\n if (a === b) return true;\n if (!a || !b || a.size !== b.size) return false;\n for (const value of a) {\n if (!b.has(value)) return false;\n }\n return true;\n};\nconst subscribeToContextGroup = (props) => {\n const { pseudoGroups, mediaGroups, groupContext } = props;\n if (pseudoGroups || mediaGroups) {\n if (process.env.NODE_ENV === \"development\" && !groupContext) {\n console.debug(`No context group found`);\n }\n const disposables = /* @__PURE__ */ new Set();\n if (pseudoGroups) {\n for (const name of pseudoGroups) {\n disposables.add(createGroupListener(name, props));\n }\n }\n if (mediaGroups) {\n for (const name of mediaGroups) {\n disposables.add(createGroupListener(name, props));\n }\n }\n return () => {\n disposables.forEach((d) => d());\n };\n }\n};\nconst createGroupListener = (name, {\n setStateShallow,\n pseudoGroups,\n mediaGroups,\n groupContext\n}) => {\n const parent = groupContext?.[name];\n if (!parent) {\n return () => {\n };\n }\n const dispose = parent.subscribe(({ layout, pseudo }) => {\n setStateShallow((prev) => {\n let didChange = false;\n const group = prev.group?.[name] || {\n pseudo: {},\n media: {}\n };\n if (pseudo && pseudoGroups?.has(name)) {\n group.pseudo ||= {};\n const next = mergeIfNotShallowEqual(group.pseudo, pseudo);\n if (next !== group.pseudo) {\n Object.assign(group.pseudo, pseudo);\n didChange = true;\n }\n } else if (layout && mediaGroups) {\n group.media ||= {};\n const mediaState = getMediaState(mediaGroups, layout);\n const next = mergeIfNotShallowEqual(group.media, mediaState);\n if (next !== group.media) {\n Object.assign(group.media, next);\n didChange = true;\n }\n }\n if (didChange) {\n return {\n group: {\n ...prev.group,\n [name]: group\n }\n };\n }\n return prev;\n });\n });\n return () => {\n dispose();\n setStateShallow({\n group: {}\n });\n };\n};\nexport {\n subscribeToContextGroup,\n useGroupSetRevision\n};\n//# sourceMappingURL=subscribeToContextGroup.js.map\n"],"mappings":";;;;;AAGA,MAAM,uBAAuB,cAAc,gBAAgB;CACzD,MAAM,WAAW,OAAO;EAAE;EAAc;EAAa,UAAU;CAAE,CAAC;CAClE,IAAI,CAAC,UAAU,SAAS,QAAQ,cAAc,YAAY,KAAK,CAAC,UAAU,SAAS,QAAQ,aAAa,WAAW,GAAG;EACpH,SAAS,UAAU;GACjB;GACA;GACA,UAAU,SAAS,QAAQ,WAAW;EACxC;CACF;CACA,OAAO,SAAS,QAAQ;AAC1B;AACA,MAAM,aAAa,GAAG,MAAM;CAC1B,IAAI,MAAM,GAAG,OAAO;CACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO;CAC1C,KAAK,MAAM,SAAS,GAAG;EACrB,IAAI,CAAC,EAAE,IAAI,KAAK,GAAG,OAAO;CAC5B;CACA,OAAO;AACT;AACA,MAAM,2BAA2B,UAAU;CACzC,MAAM,EAAE,cAAc,aAAa,iBAAiB;CACpD,IAAI,gBAAgB,aAAa;EAC/B,IAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,cAAc;GAC3D,QAAQ,MAAM,wBAAwB;EACxC;EACA,MAAM,8BAA8B,IAAI,IAAI;EAC5C,IAAI,cAAc;GAChB,KAAK,MAAM,QAAQ,cAAc;IAC/B,YAAY,IAAI,oBAAoB,MAAM,KAAK,CAAC;GAClD;EACF;EACA,IAAI,aAAa;GACf,KAAK,MAAM,QAAQ,aAAa;IAC9B,YAAY,IAAI,oBAAoB,MAAM,KAAK,CAAC;GAClD;EACF;EACA,aAAa;GACX,YAAY,SAAS,MAAM,EAAE,CAAC;EAChC;CACF;AACF;AACA,MAAM,uBAAuB,MAAM,EACjC,iBACA,cACA,aACA,mBACI;CACJ,MAAM,SAAS,eAAe;CAC9B,IAAI,CAAC,QAAQ;EACX,aAAa,CACb;CACF;CACA,MAAM,UAAU,OAAO,WAAW,EAAE,QAAQ,aAAa;EACvD,iBAAiB,SAAS;GACxB,IAAI,YAAY;GAChB,MAAM,QAAQ,KAAK,QAAQ,SAAS;IAClC,QAAQ,CAAC;IACT,OAAO,CAAC;GACV;GACA,IAAI,UAAU,cAAc,IAAI,IAAI,GAAG;IACrC,MAAM,WAAW,CAAC;IAClB,MAAM,OAAO,uBAAuB,MAAM,QAAQ,MAAM;IACxD,IAAI,SAAS,MAAM,QAAQ;KACzB,OAAO,OAAO,MAAM,QAAQ,MAAM;KAClC,YAAY;IACd;GACF,OAAO,IAAI,UAAU,aAAa;IAChC,MAAM,UAAU,CAAC;IACjB,MAAM,aAAa,cAAc,aAAa,MAAM;IACpD,MAAM,OAAO,uBAAuB,MAAM,OAAO,UAAU;IAC3D,IAAI,SAAS,MAAM,OAAO;KACxB,OAAO,OAAO,MAAM,OAAO,IAAI;KAC/B,YAAY;IACd;GACF;GACA,IAAI,WAAW;IACb,OAAO,EACL,OAAO;KACL,GAAG,KAAK;MACP,OAAO;IACV,EACF;GACF;GACA,OAAO;EACT,CAAC;CACH,CAAC;CACD,aAAa;EACX,QAAQ;EACR,gBAAgB,EACd,OAAO,CAAC,EACV,CAAC;CACH;AACF"}
|
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
import { mergeIfNotShallowEqual } from "@tamagui/is-equal-shallow";
|
|
2
|
+
import { useRef } from "react";
|
|
2
3
|
import { getMediaState } from "../hooks/useMedia.native.js";
|
|
3
4
|
|
|
5
|
+
var useGroupSetRevision = function(pseudoGroups, mediaGroups) {
|
|
6
|
+
var previous = useRef({
|
|
7
|
+
pseudoGroups,
|
|
8
|
+
mediaGroups,
|
|
9
|
+
revision: 0
|
|
10
|
+
});
|
|
11
|
+
if (!setsEqual(previous.current.pseudoGroups, pseudoGroups) || !setsEqual(previous.current.mediaGroups, mediaGroups)) {
|
|
12
|
+
previous.current = {
|
|
13
|
+
pseudoGroups,
|
|
14
|
+
mediaGroups,
|
|
15
|
+
revision: previous.current.revision + 1
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return previous.current.revision;
|
|
19
|
+
};
|
|
20
|
+
var setsEqual = function(a, b) {
|
|
21
|
+
if (a === b) return true;
|
|
22
|
+
if (!a || !b || a.size !== b.size) return false;
|
|
23
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
24
|
+
try {
|
|
25
|
+
for (var _iterator = a[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
26
|
+
var value = _step.value;
|
|
27
|
+
if (!b.has(value)) return false;
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {
|
|
30
|
+
_didIteratorError = true;
|
|
31
|
+
_iteratorError = err;
|
|
32
|
+
} finally {
|
|
33
|
+
try {
|
|
34
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
35
|
+
_iterator.return();
|
|
36
|
+
}
|
|
37
|
+
} finally {
|
|
38
|
+
if (_didIteratorError) {
|
|
39
|
+
throw _iteratorError;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
};
|
|
4
45
|
var subscribeToContextGroup = function(props) {
|
|
5
46
|
var { pseudoGroups, mediaGroups, groupContext } = props;
|
|
6
47
|
if (pseudoGroups || mediaGroups) {
|
|
@@ -107,5 +148,5 @@ var createGroupListener = function(name, param) {
|
|
|
107
148
|
};
|
|
108
149
|
};
|
|
109
150
|
|
|
110
|
-
export { subscribeToContextGroup };
|
|
151
|
+
export { subscribeToContextGroup, useGroupSetRevision };
|
|
111
152
|
//# sourceMappingURL=subscribeToContextGroup.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribeToContextGroup.native.js","names":[],"sources":["esm/helpers/subscribeToContextGroup.native.js"],"sourcesContent":["import { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { getMediaState } from \"../hooks/useMedia\";\nvar subscribeToContextGroup = function(props) {\n var { pseudoGroups, mediaGroups, groupContext } = props;\n if (pseudoGroups || mediaGroups) {\n if (process.env.NODE_ENV === \"development\" && !groupContext) {\n console.debug(`No context group found`);\n }\n var disposables = /* @__PURE__ */ new Set();\n if (pseudoGroups) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = pseudoGroups[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n disposables.add(createGroupListener(name, props));\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 }\n if (mediaGroups) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = mediaGroups[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n disposables.add(createGroupListener(name1, props));\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 return function() {\n disposables.forEach(function(d) {\n return d();\n });\n };\n }\n};\nvar createGroupListener = function(name, param) {\n var { setStateShallow, pseudoGroups, mediaGroups, groupContext } = param;\n var parent = groupContext === null || groupContext === void 0 ? void 0 : groupContext[name];\n if (!parent) {\n return function() {\n };\n }\n var dispose = parent.subscribe(function(param2) {\n var { layout, pseudo } = param2;\n setStateShallow(function(prev) {\n var _prev_group;\n var didChange = false;\n var group = ((_prev_group = prev.group) === null || _prev_group === void 0 ? void 0 : _prev_group[name]) || {\n pseudo: {},\n media: {}\n };\n if (pseudo && (pseudoGroups === null || pseudoGroups === void 0 ? void 0 : pseudoGroups.has(name))) {\n var _group;\n (_group = group).pseudo || (_group.pseudo = {});\n var next = mergeIfNotShallowEqual(group.pseudo, pseudo);\n if (next !== group.pseudo) {\n Object.assign(group.pseudo, pseudo);\n didChange = true;\n }\n } else if (layout && mediaGroups) {\n var _group1;\n (_group1 = group).media || (_group1.media = {});\n var mediaState = getMediaState(mediaGroups, layout);\n var next1 = mergeIfNotShallowEqual(group.media, mediaState);\n if (next1 !== group.media) {\n Object.assign(group.media, next1);\n didChange = true;\n }\n }\n if (didChange) {\n return {\n group: {\n ...prev.group,\n [name]: group\n }\n };\n }\n return prev;\n });\n });\n return function() {\n dispose();\n setStateShallow({\n group: {}\n });\n };\n};\nexport {\n subscribeToContextGroup\n};\n//# sourceMappingURL=subscribeToContextGroup.js.map\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscribeToContextGroup.native.js","names":[],"sources":["esm/helpers/subscribeToContextGroup.native.js"],"sourcesContent":["import { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useRef } from \"react\";\nimport { getMediaState } from \"../hooks/useMedia\";\nvar useGroupSetRevision = function(pseudoGroups, mediaGroups) {\n var previous = useRef({\n pseudoGroups,\n mediaGroups,\n revision: 0\n });\n if (!setsEqual(previous.current.pseudoGroups, pseudoGroups) || !setsEqual(previous.current.mediaGroups, mediaGroups)) {\n previous.current = {\n pseudoGroups,\n mediaGroups,\n revision: previous.current.revision + 1\n };\n }\n return previous.current.revision;\n};\nvar setsEqual = function(a, b) {\n if (a === b) return true;\n if (!a || !b || a.size !== b.size) return false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = a[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var value = _step.value;\n if (!b.has(value)) 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};\nvar subscribeToContextGroup = function(props) {\n var { pseudoGroups, mediaGroups, groupContext } = props;\n if (pseudoGroups || mediaGroups) {\n if (process.env.NODE_ENV === \"development\" && !groupContext) {\n console.debug(`No context group found`);\n }\n var disposables = /* @__PURE__ */ new Set();\n if (pseudoGroups) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = pseudoGroups[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n disposables.add(createGroupListener(name, props));\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 }\n if (mediaGroups) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = mediaGroups[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n disposables.add(createGroupListener(name1, props));\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 return function() {\n disposables.forEach(function(d) {\n return d();\n });\n };\n }\n};\nvar createGroupListener = function(name, param) {\n var { setStateShallow, pseudoGroups, mediaGroups, groupContext } = param;\n var parent = groupContext === null || groupContext === void 0 ? void 0 : groupContext[name];\n if (!parent) {\n return function() {\n };\n }\n var dispose = parent.subscribe(function(param2) {\n var { layout, pseudo } = param2;\n setStateShallow(function(prev) {\n var _prev_group;\n var didChange = false;\n var group = ((_prev_group = prev.group) === null || _prev_group === void 0 ? void 0 : _prev_group[name]) || {\n pseudo: {},\n media: {}\n };\n if (pseudo && (pseudoGroups === null || pseudoGroups === void 0 ? void 0 : pseudoGroups.has(name))) {\n var _group;\n (_group = group).pseudo || (_group.pseudo = {});\n var next = mergeIfNotShallowEqual(group.pseudo, pseudo);\n if (next !== group.pseudo) {\n Object.assign(group.pseudo, pseudo);\n didChange = true;\n }\n } else if (layout && mediaGroups) {\n var _group1;\n (_group1 = group).media || (_group1.media = {});\n var mediaState = getMediaState(mediaGroups, layout);\n var next1 = mergeIfNotShallowEqual(group.media, mediaState);\n if (next1 !== group.media) {\n Object.assign(group.media, next1);\n didChange = true;\n }\n }\n if (didChange) {\n return {\n group: {\n ...prev.group,\n [name]: group\n }\n };\n }\n return prev;\n });\n });\n return function() {\n dispose();\n setStateShallow({\n group: {}\n });\n };\n};\nexport {\n subscribeToContextGroup,\n useGroupSetRevision\n};\n//# sourceMappingURL=subscribeToContextGroup.js.map\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { reservedThemeProps, simpleHash } from "@tamagui/helpers";
|
|
2
|
+
import { platformMatches } from "@tamagui/constants";
|
|
2
3
|
import { grammarPlatformNames, isRootThemeName, modifierKindPlatform, modifierKindTheme, reduceFlatValueIdentity } from "@tamagui/style-grammar/runtime";
|
|
3
4
|
import { getSetting } from "../config.mjs";
|
|
4
5
|
import { createVariable, isVariable } from "../createVariable.mjs";
|
|
5
6
|
import { getConfigRevisionState } from "./grammarConfig.mjs";
|
|
6
7
|
import { themeUpdateStateKey } from "./themeUpdateState.mjs";
|
|
7
|
-
import { platformMatches } from "./directStyle.mjs";
|
|
8
8
|
import { findVariableToken, isUnitlessVariableKey } from "./variableValue.mjs";
|
|
9
9
|
import { warnOnce } from "./warnOnce.mjs";
|
|
10
10
|
|
|
@@ -160,6 +160,7 @@ const getCycleDroppedKeys = (props) => {
|
|
|
160
160
|
};
|
|
161
161
|
const rulesCache = /* @__PURE__ */ new Map();
|
|
162
162
|
function getVariablesCSSRules(props, conf) {
|
|
163
|
+
if (process.env.TAMAGUI_DID_OUTPUT_CSS) return null;
|
|
163
164
|
const cycleDropped = getCycleDroppedKeys(props);
|
|
164
165
|
const themes = props.themes;
|
|
165
166
|
const base = resolveDeclarations(props.values, conf, cycleDropped);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","names":[],"sources":["esm/helpers/variables.js"],"sourcesContent":["import { reservedThemeProps, simpleHash } from \"@tamagui/helpers\";\nimport {\n grammarPlatformNames,\n isRootThemeName,\n modifierKindPlatform,\n modifierKindTheme,\n reduceFlatValueIdentity\n} from \"@tamagui/style-grammar/runtime\";\nimport { getSetting } from \"../config\";\nimport { createVariable, isVariable } from \"../createVariable\";\nimport { getConfigRevisionState } from \"./grammarConfig\";\nimport { themeUpdateStateKey } from \"./themeUpdateState\";\nimport { platformMatches } from \"./directStyle\";\nimport { findVariableToken, isUnitlessVariableKey } from \"./variableValue\";\nimport { warnOnce } from \"./warnOnce\";\nconst themeKeySets = /* @__PURE__ */ new WeakMap();\nconst getThemeKeySet = (conf) => {\n const generation = getConfigRevisionState(conf);\n const existing = themeKeySets.get(generation);\n if (existing) return existing;\n const set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n for (const key in conf.themes[themeName]) {\n set.add(key);\n }\n }\n if (process.env.NODE_ENV === \"development\") {\n for (const key of set) {\n if (reservedThemeProps[key]) {\n console.error(\n `[tamagui] theme key \"${key}\" collides with a reserved theme prop, so it cannot be set with <ThemeUpdate ${key}=\"...\">. Rename it.`\n );\n }\n }\n }\n themeKeySets.set(generation, set);\n return set;\n};\nconst cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\";\nconst themeKeyVar = (key) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`;\nfunction resolveVariableValueToCSS(key, value, conf) {\n if (typeof value === \"number\") {\n return isUnitlessVariableKey(key) ? `${value}` : `${value}px`;\n }\n if (typeof value === \"object\" && value && \"needsPx\" in value) {\n return `${value.val}px`;\n }\n if (typeof value !== \"string\") {\n return;\n }\n const name = value;\n if (getThemeKeySet(conf).has(name)) {\n return themeKeyVar(name);\n }\n const token = findVariableToken(conf.tokensParsed, name);\n if (token) {\n return token.variable;\n }\n return value;\n}\nconst resolveDeclarations = (valuesIn, conf, skip) => {\n const out = [];\n if (!valuesIn) return out;\n const values = valuesIn;\n const keySet = getThemeKeySet(conf);\n for (const key of Object.keys(values).sort()) {\n const value = values[key];\n if (value == null) continue;\n if (skip?.has(key)) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const cssValue = resolveVariableValueToCSS(key, value, conf);\n if (cssValue !== void 0) {\n out.push([key, cssValue]);\n }\n }\n return out;\n};\nconst toDeclarationBlock = (declarations) => declarations.map(([key, value]) => `--${cssVariablePrefix}${simpleHash(key, 40)}:${value};`).join(\"\");\nconst schemePrefix = /^(light|dark)_/;\nconst getThemedBucketNames = (themes) => {\n if (!themes) return [];\n const names = [];\n for (const name in themes) {\n if (name !== \"light\" && name !== \"dark\" && themes[name]) {\n names.push(name);\n }\n }\n return names.sort();\n};\nconst themeBucketNameSets = /* @__PURE__ */ new WeakMap();\nconst getThemeBucketNames = (conf) => {\n const generation = getConfigRevisionState(conf);\n let set = themeBucketNameSets.get(generation);\n if (!set) {\n set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n const parts = themeName.replace(schemePrefix, \"\").split(\"_\");\n for (let i = 1; i <= parts.length; i++) {\n set.add(parts.slice(0, i).join(\"_\"));\n }\n }\n themeBucketNameSets.set(generation, set);\n }\n return set;\n};\nconst warnOnUnknownThemeBucket = (name, conf) => {\n if (!getThemeBucketNames(conf).has(name)) {\n warnOnce(\n `unknown-theme:${name}`,\n `Theme inline value: modifier \"${name}:\" doesn't match any theme name in your config, so it will never apply.`\n );\n }\n};\nconst getCycleDroppedKeys = (props) => {\n const values = props.values;\n const themes = props.themes;\n const light = themes?.light;\n const dark = themes?.dark;\n let dropped = null;\n const check = (map) => {\n for (const key in map) {\n const path = [];\n const pathSet = /* @__PURE__ */ new Set();\n let current = key;\n while (true) {\n if (pathSet.has(current)) {\n dropped ||= /* @__PURE__ */ new Set();\n for (const k of path) dropped.add(k);\n break;\n }\n path.push(current);\n pathSet.add(current);\n const value = map[current];\n if (typeof value !== \"string\") break;\n const next = value;\n if (!(next in map)) break;\n current = next;\n }\n }\n };\n const checkWithSchemes = (base) => {\n check({ ...base, ...light });\n check({ ...base, ...dark });\n };\n checkWithSchemes(values || {});\n const bucketNames = getThemedBucketNames(props.themes);\n for (const name of bucketNames) {\n const merged = { ...values };\n for (const other of bucketNames) {\n if (other === name || name.startsWith(`${other}_`)) {\n Object.assign(merged, themes[other]);\n }\n }\n checkWithSchemes(merged);\n }\n if (dropped && process.env.NODE_ENV === \"development\") {\n const names = [...dropped];\n warnOnce(\n `cycle:${names.join(\",\")}`,\n `Theme inline values: reference cycle involving \"${names.join('\", \"')}\". These keys cannot resolve on either platform and are dropped.`\n );\n }\n return dropped;\n};\nconst rulesCache = /* @__PURE__ */ new Map();\nfunction getVariablesCSSRules(props, conf) {\n const cycleDropped = getCycleDroppedKeys(props);\n const themes = props.themes;\n const base = resolveDeclarations(props.values, conf, cycleDropped);\n const dark = resolveDeclarations(themes?.dark, conf, cycleDropped);\n const light = resolveDeclarations(themes?.light, conf, cycleDropped);\n const themed = [];\n for (const name of getThemedBucketNames(props.themes)) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(name, conf);\n }\n const declarations = resolveDeclarations(themes[name], conf, cycleDropped);\n if (declarations.length) {\n themed.push([name, declarations]);\n }\n }\n if (!base.length && !dark.length && !light.length && !themed.length) {\n return null;\n }\n const prefersColorThemes = !!getSetting(\"shouldAddPrefersColorThemes\");\n const payload = JSON.stringify([base, themed, dark, light, prefersColorThemes]);\n const cached = rulesCache.get(payload);\n if (cached) return cached;\n const identifier = `tvar_${simpleHash(payload, \"strict\")}`;\n const cls = `.${identifier}:not(#t_theme_full_name)`;\n const rules = [];\n if (base.length) {\n rules.push(`:root ${cls} {${toDeclarationBlock(base)}}`);\n }\n for (const [name, declarations] of themed) {\n rules.push(\n `:root .t_${name} ${cls}, :root.t_${name} ${cls} {${toDeclarationBlock(declarations)}}`\n );\n }\n const schemeRule = (scheme) => {\n const opposite = scheme === \"dark\" ? \"light\" : \"dark\";\n const declarations = scheme === \"light\" ? light : dark;\n return `:root .t_${scheme} ${cls}, :root.t_${scheme} ${cls}, :root .t_${opposite} .t_${scheme} ${cls}, :root.t_${opposite} .t_${scheme} ${cls} {${toDeclarationBlock(declarations)}}`;\n };\n if (light.length) {\n rules.push(schemeRule(\"light\"));\n }\n if (dark.length) {\n rules.push(schemeRule(\"dark\"));\n }\n if (prefersColorThemes) {\n if (light.length) {\n rules.push(\n `@media (prefers-color-scheme:light){:root ${cls} {${toDeclarationBlock(light)}}}`\n );\n }\n if (dark.length) {\n rules.push(\n `@media (prefers-color-scheme:dark){:root ${cls} {${toDeclarationBlock(dark)}}}`\n );\n }\n }\n const result = { identifier, rules };\n if (rulesCache.size >= 1e4) {\n rulesCache.clear();\n }\n rulesCache.set(payload, result);\n return result;\n}\nconst serializeInlineValue = (value) => value && typeof value === \"object\" ? `object:px${value.val}` : `${typeof value}:${String(value)}`;\nconst serializeBucket = (bucket) => {\n if (!bucket) return \"\";\n const map = bucket;\n return Object.keys(map).sort().map((key) => {\n const value = serializeInlineValue(map[key]);\n return `${key.length}:${key}${value.length}:${value}`;\n }).join(\"\");\n};\nconst inlineKeys = /* @__PURE__ */ new WeakMap();\nconst getInlineValuesKey = (inline) => {\n const cached = inlineKeys.get(inline);\n if (cached !== void 0) return cached;\n let key = serializeBucket(inline.values);\n if (inline.themes) {\n const themes = inline.themes;\n for (const name of Object.keys(themes).sort()) {\n key += `;${name}=${serializeBucket(themes[name])}`;\n }\n }\n inlineKeys.set(inline, key);\n return key;\n};\nconst themeUpdateFlatHandler = {\n segment(ctx, start, end, isBase) {\n if (isBase) {\n ctx.out.base = start < end ? ctx.source.slice(start, end) : null;\n }\n },\n chain(ctx, start, end) {\n ctx.pending = [];\n ctx.chainStart = start;\n ctx.chainEnd = end;\n },\n modifier(ctx, start, end) {\n const name = ctx.source.slice(start, end);\n const kind = (\n // theme updates intentionally keep their subtree-specific collision order:\n // platform, then theme, then every unsupported kind. direct styles use\n // the shared vocabulary's state/media/platform/theme order instead.\n grammarPlatformNames.has(name) ? modifierKindPlatform : isRootThemeName(name) && ctx.themeBuckets.has(name) ? modifierKindTheme : 0\n );\n ctx.pending.push([name, kind]);\n },\n clause(ctx, _start, _chainEnd, start, end) {\n ;\n (ctx.out.clauses ||= []).push([ctx.source.slice(start, end), ctx.pending]);\n },\n error(ctx, code, index) {\n if (ctx.out.error !== null) return;\n if (code === \"empty-modifier\") {\n ctx.out.error = \"a modifier chain has an empty segment\";\n } else if (code === \"empty-payload\") {\n ctx.out.error = `the \"${ctx.source.slice(ctx.chainStart, ctx.chainEnd)}:\" clause has no value`;\n } else if (code === \"invalid-character\") {\n ctx.out.error = `\"${ctx.source[index]}\" cannot appear in a value: it would end the declaration or rule`;\n } else if (code === \"unterminated-string\") {\n ctx.out.error = `unterminated ${ctx.source[index]} string`;\n } else if (code === \"unterminated-comment\") {\n ctx.out.error = 'unterminated \"/*\" comment: it would swallow the rules after this one';\n } else if (code === \"stray-comment-close\") {\n ctx.out.error = 'stray \"*/\": it would close a comment opened somewhere else';\n } else {\n ctx.out.error = 'unterminated \"(\" in value';\n }\n }\n};\nconst parsedInlineValues = /* @__PURE__ */ new WeakMap();\nconst addFlatValue = (out, key, raw, conf, onIssue) => {\n const report = (once, message, dropped) => {\n const diagnosis = message.replace(/\\.$/, \"\");\n if (onIssue) onIssue({ key, raw: String(raw), message: diagnosis });\n else warnOnce(once, `${diagnosis}. ${dropped}`);\n };\n if (typeof raw !== \"string\") {\n out.values[key] = raw;\n return;\n }\n const generation = getConfigRevisionState(conf);\n let configValues = parsedInlineValues.get(generation);\n if (!configValues) {\n configValues = /* @__PURE__ */ new Map();\n parsedInlineValues.set(generation, configValues);\n }\n let parsed = configValues.get(raw);\n if (!parsed) {\n parsed = { base: null, clauses: null, error: null };\n reduceFlatValueIdentity(raw, themeUpdateFlatHandler, {\n source: raw,\n themeBuckets: getThemeBucketNames(conf),\n out: parsed,\n pending: null,\n chainStart: 0,\n chainEnd: 0\n });\n if (configValues.size >= 1e4) {\n configValues.clear();\n }\n configValues.set(raw, parsed);\n }\n if (parsed.error !== null) {\n report(\n `parse:${key}:${raw}`,\n `<ThemeUpdate ${key}=\"${raw}\">: ${parsed.error}`,\n \"Dropping.\"\n );\n return;\n }\n const { base, clauses } = parsed;\n if (base !== null) {\n out.values[key] = base;\n }\n if (!clauses) return;\n for (const [payload, modifiers] of clauses) {\n let themeName;\n let applies = true;\n for (const [modifier, kind] of modifiers) {\n if (kind === modifierKindPlatform) {\n applies &&= platformMatches(modifier);\n continue;\n }\n if (kind === modifierKindTheme) {\n if (themeName !== void 0) {\n report(\n `two-themes:${key}:${raw}`,\n `<ThemeUpdate ${key}=\"${raw}\">: \"${themeName}:${modifier}:\" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n themeName = modifier;\n continue;\n }\n report(\n `unsupported-modifier:${modifier}`,\n `<ThemeUpdate ${key}=\"${raw}\">: \"${modifier}:\" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n if (!applies) continue;\n if (themeName === void 0) {\n out.values[key] = payload;\n } else {\n ;\n ((out.themes ||= {})[themeName] ||= {})[key] = payload;\n }\n }\n};\nconst flatLayers = /* @__PURE__ */ new WeakMap();\nfunction getInlineValuesFromProps(props, conf, onIssue) {\n let hasKey = false;\n let cacheKey = \"\";\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n hasKey = true;\n const value = props[key];\n if (value == null) continue;\n const serialized = serializeInlineValue(value);\n cacheKey += `${key.length}:${key}${serialized.length}:${serialized}`;\n }\n if (!hasKey) return null;\n const generation = getConfigRevisionState(conf);\n let configLayers = flatLayers.get(generation);\n if (!configLayers) {\n configLayers = /* @__PURE__ */ new Map();\n flatLayers.set(generation, configLayers);\n }\n const cached = onIssue ? void 0 : configLayers.get(cacheKey);\n if (cached) return cached;\n const out = { values: {}, themes: null };\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n const value = props[key];\n if (value == null) continue;\n addFlatValue(out, key, value, conf, onIssue);\n }\n const layer = {\n values: out.values,\n themes: out.themes || void 0\n };\n if (!onIssue) {\n if (configLayers.size >= 1e4) {\n configLayers.clear();\n }\n configLayers.set(cacheKey, layer);\n }\n return layer;\n}\nconst mergedThemeCache = /* @__PURE__ */ new WeakMap();\nfunction getMergedInlineTheme(parentTheme, inline, themeName, conf) {\n const generation = getConfigRevisionState(conf);\n const name = themeName || \"light\";\n const activeScheme = name === \"dark\" || name.startsWith(\"dark_\") ? \"dark\" : \"light\";\n const bucketNames = getThemedBucketNames(inline.themes);\n let matched;\n if (bucketNames.length) {\n const baseName = name.replace(schemePrefix, \"\");\n for (const bucketName of bucketNames) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(bucketName, conf);\n }\n if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {\n matched ||= [];\n matched.push(bucketName);\n }\n }\n }\n const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(\",\") : \"\"}`;\n const existingInfo = parentTheme[themeUpdateStateKey];\n if (existingInfo?.generation === generation && existingInfo.key === cacheKey) {\n return parentTheme;\n }\n let generationCache = mergedThemeCache.get(generation);\n let byKey = generationCache?.get(parentTheme);\n const cached = byKey?.get(cacheKey);\n if (cached) return cached;\n const values = inline.values || {};\n const themes = inline.themes || {};\n const light = themes.light || {};\n const dark = themes.dark || {};\n const base = { ...values };\n if (matched) {\n for (const bucketName of matched) {\n Object.assign(base, themes[bucketName]);\n }\n }\n const effective = { ...base, ...activeScheme === \"dark\" ? dark : light };\n const opposite = { ...base, ...activeScheme === \"dark\" ? light : dark };\n const dropped = getCycleDroppedKeys(inline);\n const keySet = getThemeKeySet(conf);\n const resolveRaw = (keyIn, map) => {\n let key = keyIn;\n let value = map[key];\n while (typeof value === \"string\") {\n const name2 = value;\n if (name2 in map && !dropped?.has(name2)) {\n key = name2;\n value = map[name2];\n continue;\n }\n const themeValue = parentTheme[name2];\n if (themeValue !== void 0) {\n return isVariable(themeValue) ? themeValue.val : themeValue;\n }\n const token = findVariableToken(conf.tokensParsed, name2);\n if (token) return token.val;\n return value;\n }\n if (value && typeof value === \"object\") {\n return value.val;\n }\n return value;\n };\n const info = {\n key: cacheKey,\n generation,\n // nested layers: carry the parent layer's overrides forward (its values\n // are plain enumerable entries after the spread, but the iOS pair info\n // would otherwise be lost)\n overridden: new Set(existingInfo?.overridden),\n pairs: { ...existingInfo?.pairs }\n };\n const merged = { ...parentTheme };\n let didOverride = false;\n for (const key of Object.keys(effective).sort()) {\n if (dropped?.has(key)) continue;\n if (effective[key] == null) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const raw = resolveRaw(key, effective);\n if (raw === void 0) continue;\n didOverride = true;\n merged[key] = createVariable({ key, name: key, val: raw });\n info.overridden.add(key);\n delete info.pairs[key];\n const activeLiteral = effective[key];\n const oppositeLiteral = opposite[key];\n const isLiteral = (v) => typeof v === \"string\" && !(v in effective) && !(v in parentTheme) && !findVariableToken(conf.tokensParsed, v) || typeof v === \"number\";\n if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {\n info.pairs[key] = {\n light: activeScheme === \"light\" ? activeLiteral : oppositeLiteral,\n dark: activeScheme === \"dark\" ? activeLiteral : oppositeLiteral\n };\n }\n }\n if (!didOverride) {\n return parentTheme;\n }\n Object.defineProperty(merged, themeUpdateStateKey, {\n value: info,\n enumerable: false\n });\n byKey ||= /* @__PURE__ */ new Map();\n if (!generationCache) {\n generationCache = /* @__PURE__ */ new WeakMap();\n mergedThemeCache.set(generation, generationCache);\n }\n generationCache.set(parentTheme, byKey);\n if (byKey.size >= 1e4) {\n byKey.clear();\n }\n byKey.set(cacheKey, merged);\n return merged;\n}\nexport {\n getInlineValuesFromProps,\n getInlineValuesKey,\n getMergedInlineTheme,\n getThemeKeySet,\n getVariablesCSSRules,\n resolveVariableValueToCSS\n};\n//# sourceMappingURL=variables.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"variables.js","names":[],"sources":["esm/helpers/variables.js"],"sourcesContent":["import { reservedThemeProps, simpleHash } from \"@tamagui/helpers\";\nimport { platformMatches } from \"@tamagui/constants\";\nimport {\n grammarPlatformNames,\n isRootThemeName,\n modifierKindPlatform,\n modifierKindTheme,\n reduceFlatValueIdentity\n} from \"@tamagui/style-grammar/runtime\";\nimport { getSetting } from \"../config\";\nimport { createVariable, isVariable } from \"../createVariable\";\nimport { getConfigRevisionState } from \"./grammarConfig\";\nimport { themeUpdateStateKey } from \"./themeUpdateState\";\nimport { findVariableToken, isUnitlessVariableKey } from \"./variableValue\";\nimport { warnOnce } from \"./warnOnce\";\nconst themeKeySets = /* @__PURE__ */ new WeakMap();\nconst getThemeKeySet = (conf) => {\n const generation = getConfigRevisionState(conf);\n const existing = themeKeySets.get(generation);\n if (existing) return existing;\n const set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n for (const key in conf.themes[themeName]) {\n set.add(key);\n }\n }\n if (process.env.NODE_ENV === \"development\") {\n for (const key of set) {\n if (reservedThemeProps[key]) {\n console.error(\n `[tamagui] theme key \"${key}\" collides with a reserved theme prop, so it cannot be set with <ThemeUpdate ${key}=\"...\">. Rename it.`\n );\n }\n }\n }\n themeKeySets.set(generation, set);\n return set;\n};\nconst cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\";\nconst themeKeyVar = (key) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`;\nfunction resolveVariableValueToCSS(key, value, conf) {\n if (typeof value === \"number\") {\n return isUnitlessVariableKey(key) ? `${value}` : `${value}px`;\n }\n if (typeof value === \"object\" && value && \"needsPx\" in value) {\n return `${value.val}px`;\n }\n if (typeof value !== \"string\") {\n return;\n }\n const name = value;\n if (getThemeKeySet(conf).has(name)) {\n return themeKeyVar(name);\n }\n const token = findVariableToken(conf.tokensParsed, name);\n if (token) {\n return token.variable;\n }\n return value;\n}\nconst resolveDeclarations = (valuesIn, conf, skip) => {\n const out = [];\n if (!valuesIn) return out;\n const values = valuesIn;\n const keySet = getThemeKeySet(conf);\n for (const key of Object.keys(values).sort()) {\n const value = values[key];\n if (value == null) continue;\n if (skip?.has(key)) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const cssValue = resolveVariableValueToCSS(key, value, conf);\n if (cssValue !== void 0) {\n out.push([key, cssValue]);\n }\n }\n return out;\n};\nconst toDeclarationBlock = (declarations) => declarations.map(([key, value]) => `--${cssVariablePrefix}${simpleHash(key, 40)}:${value};`).join(\"\");\nconst schemePrefix = /^(light|dark)_/;\nconst getThemedBucketNames = (themes) => {\n if (!themes) return [];\n const names = [];\n for (const name in themes) {\n if (name !== \"light\" && name !== \"dark\" && themes[name]) {\n names.push(name);\n }\n }\n return names.sort();\n};\nconst themeBucketNameSets = /* @__PURE__ */ new WeakMap();\nconst getThemeBucketNames = (conf) => {\n const generation = getConfigRevisionState(conf);\n let set = themeBucketNameSets.get(generation);\n if (!set) {\n set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n const parts = themeName.replace(schemePrefix, \"\").split(\"_\");\n for (let i = 1; i <= parts.length; i++) {\n set.add(parts.slice(0, i).join(\"_\"));\n }\n }\n themeBucketNameSets.set(generation, set);\n }\n return set;\n};\nconst warnOnUnknownThemeBucket = (name, conf) => {\n if (!getThemeBucketNames(conf).has(name)) {\n warnOnce(\n `unknown-theme:${name}`,\n `Theme inline value: modifier \"${name}:\" doesn't match any theme name in your config, so it will never apply.`\n );\n }\n};\nconst getCycleDroppedKeys = (props) => {\n const values = props.values;\n const themes = props.themes;\n const light = themes?.light;\n const dark = themes?.dark;\n let dropped = null;\n const check = (map) => {\n for (const key in map) {\n const path = [];\n const pathSet = /* @__PURE__ */ new Set();\n let current = key;\n while (true) {\n if (pathSet.has(current)) {\n dropped ||= /* @__PURE__ */ new Set();\n for (const k of path) dropped.add(k);\n break;\n }\n path.push(current);\n pathSet.add(current);\n const value = map[current];\n if (typeof value !== \"string\") break;\n const next = value;\n if (!(next in map)) break;\n current = next;\n }\n }\n };\n const checkWithSchemes = (base) => {\n check({ ...base, ...light });\n check({ ...base, ...dark });\n };\n checkWithSchemes(values || {});\n const bucketNames = getThemedBucketNames(props.themes);\n for (const name of bucketNames) {\n const merged = { ...values };\n for (const other of bucketNames) {\n if (other === name || name.startsWith(`${other}_`)) {\n Object.assign(merged, themes[other]);\n }\n }\n checkWithSchemes(merged);\n }\n if (dropped && process.env.NODE_ENV === \"development\") {\n const names = [...dropped];\n warnOnce(\n `cycle:${names.join(\",\")}`,\n `Theme inline values: reference cycle involving \"${names.join('\", \"')}\". These keys cannot resolve on either platform and are dropped.`\n );\n }\n return dropped;\n};\nconst rulesCache = /* @__PURE__ */ new Map();\nfunction getVariablesCSSRules(props, conf) {\n if (process.env.TAMAGUI_DID_OUTPUT_CSS) return null;\n const cycleDropped = getCycleDroppedKeys(props);\n const themes = props.themes;\n const base = resolveDeclarations(props.values, conf, cycleDropped);\n const dark = resolveDeclarations(themes?.dark, conf, cycleDropped);\n const light = resolveDeclarations(themes?.light, conf, cycleDropped);\n const themed = [];\n for (const name of getThemedBucketNames(props.themes)) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(name, conf);\n }\n const declarations = resolveDeclarations(themes[name], conf, cycleDropped);\n if (declarations.length) {\n themed.push([name, declarations]);\n }\n }\n if (!base.length && !dark.length && !light.length && !themed.length) {\n return null;\n }\n const prefersColorThemes = !!getSetting(\"shouldAddPrefersColorThemes\");\n const payload = JSON.stringify([base, themed, dark, light, prefersColorThemes]);\n const cached = rulesCache.get(payload);\n if (cached) return cached;\n const identifier = `tvar_${simpleHash(payload, \"strict\")}`;\n const cls = `.${identifier}:not(#t_theme_full_name)`;\n const rules = [];\n if (base.length) {\n rules.push(`:root ${cls} {${toDeclarationBlock(base)}}`);\n }\n for (const [name, declarations] of themed) {\n rules.push(\n `:root .t_${name} ${cls}, :root.t_${name} ${cls} {${toDeclarationBlock(declarations)}}`\n );\n }\n const schemeRule = (scheme) => {\n const opposite = scheme === \"dark\" ? \"light\" : \"dark\";\n const declarations = scheme === \"light\" ? light : dark;\n return `:root .t_${scheme} ${cls}, :root.t_${scheme} ${cls}, :root .t_${opposite} .t_${scheme} ${cls}, :root.t_${opposite} .t_${scheme} ${cls} {${toDeclarationBlock(declarations)}}`;\n };\n if (light.length) {\n rules.push(schemeRule(\"light\"));\n }\n if (dark.length) {\n rules.push(schemeRule(\"dark\"));\n }\n if (prefersColorThemes) {\n if (light.length) {\n rules.push(\n `@media (prefers-color-scheme:light){:root ${cls} {${toDeclarationBlock(light)}}}`\n );\n }\n if (dark.length) {\n rules.push(\n `@media (prefers-color-scheme:dark){:root ${cls} {${toDeclarationBlock(dark)}}}`\n );\n }\n }\n const result = { identifier, rules };\n if (rulesCache.size >= 1e4) {\n rulesCache.clear();\n }\n rulesCache.set(payload, result);\n return result;\n}\nconst serializeInlineValue = (value) => value && typeof value === \"object\" ? `object:px${value.val}` : `${typeof value}:${String(value)}`;\nconst serializeBucket = (bucket) => {\n if (!bucket) return \"\";\n const map = bucket;\n return Object.keys(map).sort().map((key) => {\n const value = serializeInlineValue(map[key]);\n return `${key.length}:${key}${value.length}:${value}`;\n }).join(\"\");\n};\nconst inlineKeys = /* @__PURE__ */ new WeakMap();\nconst getInlineValuesKey = (inline) => {\n const cached = inlineKeys.get(inline);\n if (cached !== void 0) return cached;\n let key = serializeBucket(inline.values);\n if (inline.themes) {\n const themes = inline.themes;\n for (const name of Object.keys(themes).sort()) {\n key += `;${name}=${serializeBucket(themes[name])}`;\n }\n }\n inlineKeys.set(inline, key);\n return key;\n};\nconst themeUpdateFlatHandler = {\n segment(ctx, start, end, isBase) {\n if (isBase) {\n ctx.out.base = start < end ? ctx.source.slice(start, end) : null;\n }\n },\n chain(ctx, start, end) {\n ctx.pending = [];\n ctx.chainStart = start;\n ctx.chainEnd = end;\n },\n modifier(ctx, start, end) {\n const name = ctx.source.slice(start, end);\n const kind = (\n // theme updates intentionally keep their subtree-specific collision order:\n // platform, then theme, then every unsupported kind. direct styles use\n // the shared vocabulary's state/media/platform/theme order instead.\n grammarPlatformNames.has(name) ? modifierKindPlatform : isRootThemeName(name) && ctx.themeBuckets.has(name) ? modifierKindTheme : 0\n );\n ctx.pending.push([name, kind]);\n },\n clause(ctx, _start, _chainEnd, start, end) {\n ;\n (ctx.out.clauses ||= []).push([ctx.source.slice(start, end), ctx.pending]);\n },\n error(ctx, code, index) {\n if (ctx.out.error !== null) return;\n if (code === \"empty-modifier\") {\n ctx.out.error = \"a modifier chain has an empty segment\";\n } else if (code === \"empty-payload\") {\n ctx.out.error = `the \"${ctx.source.slice(ctx.chainStart, ctx.chainEnd)}:\" clause has no value`;\n } else if (code === \"invalid-character\") {\n ctx.out.error = `\"${ctx.source[index]}\" cannot appear in a value: it would end the declaration or rule`;\n } else if (code === \"unterminated-string\") {\n ctx.out.error = `unterminated ${ctx.source[index]} string`;\n } else if (code === \"unterminated-comment\") {\n ctx.out.error = 'unterminated \"/*\" comment: it would swallow the rules after this one';\n } else if (code === \"stray-comment-close\") {\n ctx.out.error = 'stray \"*/\": it would close a comment opened somewhere else';\n } else {\n ctx.out.error = 'unterminated \"(\" in value';\n }\n }\n};\nconst parsedInlineValues = /* @__PURE__ */ new WeakMap();\nconst addFlatValue = (out, key, raw, conf, onIssue) => {\n const report = (once, message, dropped) => {\n const diagnosis = message.replace(/\\.$/, \"\");\n if (onIssue) onIssue({ key, raw: String(raw), message: diagnosis });\n else warnOnce(once, `${diagnosis}. ${dropped}`);\n };\n if (typeof raw !== \"string\") {\n out.values[key] = raw;\n return;\n }\n const generation = getConfigRevisionState(conf);\n let configValues = parsedInlineValues.get(generation);\n if (!configValues) {\n configValues = /* @__PURE__ */ new Map();\n parsedInlineValues.set(generation, configValues);\n }\n let parsed = configValues.get(raw);\n if (!parsed) {\n parsed = { base: null, clauses: null, error: null };\n reduceFlatValueIdentity(raw, themeUpdateFlatHandler, {\n source: raw,\n themeBuckets: getThemeBucketNames(conf),\n out: parsed,\n pending: null,\n chainStart: 0,\n chainEnd: 0\n });\n if (configValues.size >= 1e4) {\n configValues.clear();\n }\n configValues.set(raw, parsed);\n }\n if (parsed.error !== null) {\n report(\n `parse:${key}:${raw}`,\n `<ThemeUpdate ${key}=\"${raw}\">: ${parsed.error}`,\n \"Dropping.\"\n );\n return;\n }\n const { base, clauses } = parsed;\n if (base !== null) {\n out.values[key] = base;\n }\n if (!clauses) return;\n for (const [payload, modifiers] of clauses) {\n let themeName;\n let applies = true;\n for (const [modifier, kind] of modifiers) {\n if (kind === modifierKindPlatform) {\n applies &&= platformMatches(modifier);\n continue;\n }\n if (kind === modifierKindTheme) {\n if (themeName !== void 0) {\n report(\n `two-themes:${key}:${raw}`,\n `<ThemeUpdate ${key}=\"${raw}\">: \"${themeName}:${modifier}:\" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n themeName = modifier;\n continue;\n }\n report(\n `unsupported-modifier:${modifier}`,\n `<ThemeUpdate ${key}=\"${raw}\">: \"${modifier}:\" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n if (!applies) continue;\n if (themeName === void 0) {\n out.values[key] = payload;\n } else {\n ;\n ((out.themes ||= {})[themeName] ||= {})[key] = payload;\n }\n }\n};\nconst flatLayers = /* @__PURE__ */ new WeakMap();\nfunction getInlineValuesFromProps(props, conf, onIssue) {\n let hasKey = false;\n let cacheKey = \"\";\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n hasKey = true;\n const value = props[key];\n if (value == null) continue;\n const serialized = serializeInlineValue(value);\n cacheKey += `${key.length}:${key}${serialized.length}:${serialized}`;\n }\n if (!hasKey) return null;\n const generation = getConfigRevisionState(conf);\n let configLayers = flatLayers.get(generation);\n if (!configLayers) {\n configLayers = /* @__PURE__ */ new Map();\n flatLayers.set(generation, configLayers);\n }\n const cached = onIssue ? void 0 : configLayers.get(cacheKey);\n if (cached) return cached;\n const out = { values: {}, themes: null };\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n const value = props[key];\n if (value == null) continue;\n addFlatValue(out, key, value, conf, onIssue);\n }\n const layer = {\n values: out.values,\n themes: out.themes || void 0\n };\n if (!onIssue) {\n if (configLayers.size >= 1e4) {\n configLayers.clear();\n }\n configLayers.set(cacheKey, layer);\n }\n return layer;\n}\nconst mergedThemeCache = /* @__PURE__ */ new WeakMap();\nfunction getMergedInlineTheme(parentTheme, inline, themeName, conf) {\n const generation = getConfigRevisionState(conf);\n const name = themeName || \"light\";\n const activeScheme = name === \"dark\" || name.startsWith(\"dark_\") ? \"dark\" : \"light\";\n const bucketNames = getThemedBucketNames(inline.themes);\n let matched;\n if (bucketNames.length) {\n const baseName = name.replace(schemePrefix, \"\");\n for (const bucketName of bucketNames) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(bucketName, conf);\n }\n if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {\n matched ||= [];\n matched.push(bucketName);\n }\n }\n }\n const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(\",\") : \"\"}`;\n const existingInfo = parentTheme[themeUpdateStateKey];\n if (existingInfo?.generation === generation && existingInfo.key === cacheKey) {\n return parentTheme;\n }\n let generationCache = mergedThemeCache.get(generation);\n let byKey = generationCache?.get(parentTheme);\n const cached = byKey?.get(cacheKey);\n if (cached) return cached;\n const values = inline.values || {};\n const themes = inline.themes || {};\n const light = themes.light || {};\n const dark = themes.dark || {};\n const base = { ...values };\n if (matched) {\n for (const bucketName of matched) {\n Object.assign(base, themes[bucketName]);\n }\n }\n const effective = { ...base, ...activeScheme === \"dark\" ? dark : light };\n const opposite = { ...base, ...activeScheme === \"dark\" ? light : dark };\n const dropped = getCycleDroppedKeys(inline);\n const keySet = getThemeKeySet(conf);\n const resolveRaw = (keyIn, map) => {\n let key = keyIn;\n let value = map[key];\n while (typeof value === \"string\") {\n const name2 = value;\n if (name2 in map && !dropped?.has(name2)) {\n key = name2;\n value = map[name2];\n continue;\n }\n const themeValue = parentTheme[name2];\n if (themeValue !== void 0) {\n return isVariable(themeValue) ? themeValue.val : themeValue;\n }\n const token = findVariableToken(conf.tokensParsed, name2);\n if (token) return token.val;\n return value;\n }\n if (value && typeof value === \"object\") {\n return value.val;\n }\n return value;\n };\n const info = {\n key: cacheKey,\n generation,\n // nested layers: carry the parent layer's overrides forward (its values\n // are plain enumerable entries after the spread, but the iOS pair info\n // would otherwise be lost)\n overridden: new Set(existingInfo?.overridden),\n pairs: { ...existingInfo?.pairs }\n };\n const merged = { ...parentTheme };\n let didOverride = false;\n for (const key of Object.keys(effective).sort()) {\n if (dropped?.has(key)) continue;\n if (effective[key] == null) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const raw = resolveRaw(key, effective);\n if (raw === void 0) continue;\n didOverride = true;\n merged[key] = createVariable({ key, name: key, val: raw });\n info.overridden.add(key);\n delete info.pairs[key];\n const activeLiteral = effective[key];\n const oppositeLiteral = opposite[key];\n const isLiteral = (v) => typeof v === \"string\" && !(v in effective) && !(v in parentTheme) && !findVariableToken(conf.tokensParsed, v) || typeof v === \"number\";\n if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {\n info.pairs[key] = {\n light: activeScheme === \"light\" ? activeLiteral : oppositeLiteral,\n dark: activeScheme === \"dark\" ? activeLiteral : oppositeLiteral\n };\n }\n }\n if (!didOverride) {\n return parentTheme;\n }\n Object.defineProperty(merged, themeUpdateStateKey, {\n value: info,\n enumerable: false\n });\n byKey ||= /* @__PURE__ */ new Map();\n if (!generationCache) {\n generationCache = /* @__PURE__ */ new WeakMap();\n mergedThemeCache.set(generation, generationCache);\n }\n generationCache.set(parentTheme, byKey);\n if (byKey.size >= 1e4) {\n byKey.clear();\n }\n byKey.set(cacheKey, merged);\n return merged;\n}\nexport {\n getInlineValuesFromProps,\n getInlineValuesKey,\n getMergedInlineTheme,\n getThemeKeySet,\n getVariablesCSSRules,\n resolveVariableValueToCSS\n};\n//# sourceMappingURL=variables.js.map\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { reservedThemeProps, simpleHash } from "@tamagui/helpers";
|
|
2
|
+
import { platformMatches } from "@tamagui/constants";
|
|
2
3
|
import { grammarPlatformNames, isRootThemeName, modifierKindPlatform, modifierKindTheme, reduceFlatValueIdentity } from "@tamagui/style-grammar/runtime";
|
|
3
4
|
import { getSetting } from "../config.native.js";
|
|
4
5
|
import { createVariable, isVariable } from "../createVariable.native.js";
|
|
5
6
|
import { getConfigRevisionState } from "./grammarConfig.native.js";
|
|
6
7
|
import { themeUpdateStateKey } from "./themeUpdateState.native.js";
|
|
7
|
-
import { platformMatches } from "./directStyle.native.js";
|
|
8
8
|
import { findVariableToken, isUnitlessVariableKey } from "./variableValue.native.js";
|
|
9
9
|
import { warnOnce } from "./warnOnce.native.js";
|
|
10
10
|
|
|
@@ -258,6 +258,7 @@ var getCycleDroppedKeys = function(props) {
|
|
|
258
258
|
};
|
|
259
259
|
var rulesCache = /* @__PURE__ */ new Map();
|
|
260
260
|
function getVariablesCSSRules(props, conf) {
|
|
261
|
+
if (process.env.TAMAGUI_DID_OUTPUT_CSS) return null;
|
|
261
262
|
var cycleDropped = getCycleDroppedKeys(props);
|
|
262
263
|
var themes = props.themes;
|
|
263
264
|
var base = resolveDeclarations(props.values, conf, cycleDropped);
|