@tamagui/core 1.0.0-alpha.9 → 1.0.0-beta.147
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/Tamagui.js +57 -0
- package/dist/cjs/Tamagui.js.map +7 -0
- package/dist/cjs/ThemeContext.js +25 -0
- package/dist/cjs/ThemeContext.js.map +7 -0
- package/dist/cjs/ThemeManager.js +195 -0
- package/dist/cjs/ThemeManager.js.map +7 -0
- package/dist/cjs/conf.js +55 -0
- package/dist/cjs/conf.js.map +7 -0
- package/dist/cjs/constants/constants.js +15 -15
- package/dist/cjs/constants/constants.js.map +2 -2
- package/dist/cjs/constants/platform.js +18 -18
- package/dist/cjs/constants/platform.js.map +2 -2
- package/dist/cjs/constants/pseudos.js +15 -3
- package/dist/cjs/constants/pseudos.js.map +1 -1
- package/dist/cjs/constants/rnw.js +17 -3
- package/dist/cjs/constants/rnw.js.map +2 -2
- package/dist/cjs/contexts/ButtonInsideButtonContext.js +25 -0
- package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +7 -0
- package/dist/cjs/createComponent.js +326 -206
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createFont.js +11 -15
- package/dist/cjs/createFont.js.map +1 -1
- package/dist/cjs/createShallowUpdate.js +1 -0
- package/dist/{helpers/pseudos.js.map → cjs/createShallowUpdate.js.map} +0 -0
- package/dist/cjs/createShorthands.js +15 -3
- package/dist/cjs/createShorthands.js.map +1 -1
- package/dist/cjs/createTamagui.js +115 -102
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +11 -28
- package/dist/cjs/createTheme.js.map +2 -2
- package/dist/cjs/createTokens.js +12 -16
- package/dist/cjs/createTokens.js.map +1 -1
- package/dist/cjs/createVariable.js +33 -19
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/defaultComponentState.js +1 -0
- package/dist/{types.js.map → cjs/defaultComponentState.js.map} +0 -0
- package/dist/cjs/devtools.js +32 -0
- package/dist/cjs/devtools.js.map +7 -0
- package/dist/cjs/helpers/RNComponents.js +34 -0
- package/dist/cjs/helpers/RNComponents.js.map +7 -0
- package/dist/cjs/helpers/addStylesUsingClassname.js +29 -29
- package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
- package/dist/cjs/helpers/areEqualSets.js +34 -0
- package/dist/cjs/helpers/areEqualSets.js.map +7 -0
- package/dist/cjs/helpers/createMediaStyle.js +16 -21
- package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
- package/dist/cjs/helpers/createPropMapper.js +155 -117
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createShallowUpdate.js +51 -0
- package/dist/cjs/helpers/createShallowUpdate.js.map +7 -0
- package/dist/cjs/helpers/createTamaguiProvider.js +41 -26
- package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +23 -26
- package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
- package/dist/cjs/helpers/fixNativeShadow.js +15 -3
- package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
- package/dist/cjs/helpers/fixNativeShadow.native.js +38 -22
- package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
- package/dist/cjs/helpers/getExpandedShorthands.js +37 -0
- package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
- package/dist/cjs/helpers/getSplitStyles.js +187 -100
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +99 -56
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js +15 -3
- package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.js +86 -24
- package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
- package/dist/cjs/helpers/isObj.js +15 -3
- package/dist/cjs/helpers/isObj.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.js +11 -15
- package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.js +15 -3
- package/dist/cjs/helpers/matchMedia.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.native.js +12 -13
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/themeable.js +24 -24
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/validate.js +46 -47
- package/dist/cjs/helpers/validate.js.map +2 -2
- package/dist/cjs/helpers/withStaticProperties.js +28 -0
- package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
- package/dist/cjs/helpers/wrapThemeManagerContext.js +35 -0
- package/dist/cjs/helpers/wrapThemeManagerContext.js.map +7 -0
- package/dist/cjs/hooks/useConstant.js +11 -15
- package/dist/cjs/hooks/useConstant.js.map +1 -1
- package/dist/cjs/hooks/useFeatures.js +142 -18
- package/dist/cjs/hooks/useFeatures.js.map +2 -2
- package/dist/cjs/hooks/useIsMounted.js +37 -0
- package/dist/cjs/hooks/useIsMounted.js.map +7 -0
- package/dist/cjs/hooks/useIsTouchDevice.js +35 -0
- package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
- package/dist/cjs/hooks/useMedia.js +39 -59
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/usePressable.js +11 -15
- package/dist/cjs/hooks/usePressable.js.map +1 -1
- package/dist/cjs/hooks/useTheme.js +162 -68
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useUnmountEffect.js +29 -0
- package/dist/cjs/hooks/useUnmountEffect.js.map +7 -0
- package/dist/cjs/index.js +56 -43
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/spacedChildren.js +86 -0
- package/dist/cjs/spacedChildren.js.map +7 -0
- package/dist/cjs/static.js +23 -27
- package/dist/cjs/static.js.map +2 -2
- package/dist/cjs/styled.js +37 -18
- package/dist/cjs/styled.js.map +3 -3
- package/dist/cjs/tamagui-base.css +8 -0
- package/dist/cjs/tamagui-base.css.map +7 -0
- package/dist/cjs/types-rnw.js +16 -0
- package/dist/cjs/types-rnw.js.map +7 -0
- package/dist/cjs/types.js +14 -2
- package/dist/cjs/types.js.map +2 -2
- package/dist/cjs/views/Stack.js +13 -16
- package/dist/cjs/views/Stack.js.map +2 -2
- package/dist/cjs/views/Text.js +19 -21
- package/dist/cjs/views/Text.js.map +2 -2
- package/dist/cjs/views/TextAncestorContext.js +19 -21
- package/dist/cjs/views/TextAncestorContext.js.map +2 -2
- package/dist/cjs/views/Theme.js +31 -63
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/ThemeInverse.js +15 -16
- package/dist/cjs/views/ThemeInverse.js.map +2 -2
- package/dist/cjs/views/ThemeProvider.js +32 -37
- package/dist/cjs/views/ThemeProvider.js.map +2 -2
- package/dist/cjs/views/ThemeReset.js +59 -0
- package/dist/cjs/views/ThemeReset.js.map +7 -0
- package/dist/esm/Tamagui.js +36 -0
- package/dist/esm/Tamagui.js.map +7 -0
- package/dist/{views → esm}/ThemeContext.js +0 -0
- package/dist/esm/ThemeContext.js.map +7 -0
- package/dist/esm/ThemeManager.js +177 -0
- package/dist/esm/ThemeManager.js.map +7 -0
- package/dist/esm/conf.js +37 -0
- package/dist/esm/conf.js.map +7 -0
- package/dist/{constants → esm/constants}/constants.js +4 -0
- package/dist/esm/constants/constants.js.map +7 -0
- package/dist/{constants → esm/constants}/platform.js +6 -1
- package/dist/esm/constants/platform.js.map +7 -0
- package/dist/{constants → esm/constants}/pseudos.js +0 -0
- package/dist/{constants → esm/constants}/pseudos.js.map +2 -2
- package/dist/{constants → esm/constants}/rnw.js +2 -0
- package/dist/esm/constants/rnw.js.map +7 -0
- package/dist/esm/contexts/ButtonInsideButtonContext.js +6 -0
- package/dist/esm/contexts/ButtonInsideButtonContext.js.map +7 -0
- package/dist/esm/createComponent.js +590 -0
- package/dist/esm/createComponent.js.map +7 -0
- package/dist/{createFont.js → esm/createFont.js} +0 -0
- package/dist/{createFont.js.map → esm/createFont.js.map} +2 -2
- package/dist/esm/createShallowUpdate.js +1 -0
- package/dist/esm/createShallowUpdate.js.map +7 -0
- package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
- package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +2 -2
- package/dist/esm/createTamagui.js +185 -0
- package/dist/esm/createTamagui.js.map +7 -0
- package/dist/esm/createTheme.js +7 -0
- package/dist/esm/createTheme.js.map +7 -0
- package/dist/{createTokens.js → esm/createTokens.js} +0 -0
- package/dist/{createTokens.js.map → esm/createTokens.js.map} +2 -2
- package/dist/esm/createVariable.js +43 -0
- package/dist/esm/createVariable.js.map +7 -0
- package/dist/esm/defaultComponentState.js +1 -0
- package/dist/esm/defaultComponentState.js.map +7 -0
- package/dist/esm/devtools.js +14 -0
- package/dist/esm/devtools.js.map +7 -0
- package/dist/esm/helpers/RNComponents.js +12 -0
- package/dist/esm/helpers/RNComponents.js.map +7 -0
- package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +16 -12
- package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
- package/dist/esm/helpers/areEqualSets.js +16 -0
- package/dist/esm/helpers/areEqualSets.js.map +7 -0
- package/dist/{helpers → esm/helpers}/createMediaStyle.js +5 -6
- package/dist/esm/helpers/createMediaStyle.js.map +7 -0
- package/dist/esm/helpers/createPropMapper.js +210 -0
- package/dist/esm/helpers/createPropMapper.js.map +7 -0
- package/dist/esm/helpers/createShallowUpdate.js +19 -0
- package/dist/esm/helpers/createShallowUpdate.js.map +7 -0
- package/dist/esm/helpers/createTamaguiProvider.js +40 -0
- package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
- package/dist/{helpers → esm/helpers}/extendStaticConfig.js +14 -14
- package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
- package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
- package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +2 -2
- package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
- package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
- package/dist/esm/helpers/getExpandedShorthands.js +19 -0
- package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
- package/dist/esm/helpers/getSplitStyles.js +244 -0
- package/dist/esm/helpers/getSplitStyles.js.map +7 -0
- package/dist/esm/helpers/getStylesAtomic.js +119 -0
- package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
- package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
- package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +90 -0
- package/dist/esm/helpers/insertStyleRule.js.map +7 -0
- package/dist/{helpers → esm/helpers}/isObj.js +0 -0
- package/dist/{helpers → esm/helpers}/isObj.js.map +2 -2
- package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
- package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
- package/dist/{helpers → esm/helpers}/matchMedia.js +0 -0
- package/dist/{helpers → esm/helpers}/matchMedia.js.map +2 -2
- package/dist/{helpers → esm/helpers}/matchMedia.native.js +0 -0
- package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +2 -2
- package/dist/{helpers → esm/helpers}/themeable.js +11 -10
- package/dist/esm/helpers/themeable.js.map +7 -0
- package/dist/esm/helpers/validate.js +63 -0
- package/dist/esm/helpers/validate.js.map +7 -0
- package/dist/esm/helpers/withStaticProperties.js +10 -0
- package/dist/esm/helpers/withStaticProperties.js.map +7 -0
- package/dist/esm/helpers/wrapThemeManagerContext.js +14 -0
- package/dist/esm/helpers/wrapThemeManagerContext.js.map +7 -0
- package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
- package/dist/{hooks → esm/hooks}/useConstant.js.map +2 -2
- package/dist/esm/hooks/useFeatures.js +173 -0
- package/dist/esm/hooks/useFeatures.js.map +7 -0
- package/dist/esm/hooks/useIsMounted.js +19 -0
- package/dist/esm/hooks/useIsMounted.js.map +7 -0
- package/dist/esm/hooks/useIsTouchDevice.js +17 -0
- package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
- package/dist/{hooks → esm/hooks}/useMedia.js +27 -42
- package/dist/esm/hooks/useMedia.js.map +7 -0
- package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
- package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +172 -0
- package/dist/esm/hooks/useTheme.js.map +7 -0
- package/dist/esm/hooks/useUnmountEffect.js +11 -0
- package/dist/esm/hooks/useUnmountEffect.js.map +7 -0
- package/dist/{index.js → esm/index.js} +21 -5
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/spacedChildren.js +52 -0
- package/dist/esm/spacedChildren.js.map +7 -0
- package/dist/{static.js → esm/static.js} +1 -2
- package/dist/{static.js.map → esm/static.js.map} +3 -3
- package/dist/esm/styled.js +46 -0
- package/dist/esm/styled.js.map +7 -0
- package/dist/esm/tamagui-base.css +8 -0
- package/dist/esm/tamagui-base.css.map +7 -0
- package/dist/esm/types-rnw.js +1 -0
- package/dist/esm/types-rnw.js.map +7 -0
- package/dist/{types.js → esm/types.js} +0 -0
- package/dist/esm/types.js.map +7 -0
- package/dist/{views → esm/views}/Stack.js +1 -0
- package/dist/esm/views/Stack.js.map +7 -0
- package/dist/{views → esm/views}/Text.js +6 -4
- package/dist/esm/views/Text.js.map +7 -0
- package/dist/esm/views/TextAncestorContext.js +18 -0
- package/dist/esm/views/TextAncestorContext.js.map +7 -0
- package/dist/esm/views/Theme.js +35 -0
- package/dist/esm/views/Theme.js.map +7 -0
- package/dist/{views → esm/views}/ThemeInverse.js +1 -1
- package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
- package/dist/esm/views/ThemeProvider.js +41 -0
- package/dist/esm/views/ThemeProvider.js.map +7 -0
- package/dist/esm/views/ThemeReset.js +38 -0
- package/dist/esm/views/ThemeReset.js.map +7 -0
- package/dist/jsx/Tamagui.js +35 -0
- package/dist/jsx/ThemeContext.js +5 -0
- package/dist/jsx/ThemeManager.js +176 -0
- package/dist/jsx/conf.js +36 -0
- package/dist/jsx/constants/constants.js +17 -0
- package/dist/jsx/constants/platform.js +23 -0
- package/dist/jsx/constants/pseudos.js +17 -0
- package/dist/jsx/constants/rnw.js +23 -0
- package/dist/jsx/contexts/ButtonInsideButtonContext.js +5 -0
- package/dist/jsx/createComponent.js +576 -0
- package/dist/jsx/createFont.js +27 -0
- package/dist/jsx/createShallowUpdate.js +0 -0
- package/dist/jsx/createShorthands.js +9 -0
- package/dist/jsx/createTamagui.js +184 -0
- package/dist/jsx/createTheme.js +6 -0
- package/dist/jsx/createTokens.js +32 -0
- package/dist/jsx/createVariable.js +42 -0
- package/dist/jsx/defaultComponentState.js +0 -0
- package/dist/jsx/devtools.js +13 -0
- package/dist/jsx/helpers/RNComponents.js +11 -0
- package/dist/jsx/helpers/addStylesUsingClassname.js +60 -0
- package/dist/jsx/helpers/areEqualSets.js +15 -0
- package/dist/jsx/helpers/createMediaStyle.js +32 -0
- package/dist/jsx/helpers/createPropMapper.js +209 -0
- package/dist/jsx/helpers/createShallowUpdate.js +18 -0
- package/dist/jsx/helpers/createTamaguiProvider.js +34 -0
- package/dist/jsx/helpers/extendStaticConfig.js +58 -0
- package/dist/jsx/helpers/fixNativeShadow.js +7 -0
- package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
- package/dist/jsx/helpers/getExpandedShorthands.js +18 -0
- package/dist/jsx/helpers/getSplitStyles.js +243 -0
- package/dist/jsx/helpers/getStylesAtomic.js +118 -0
- package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
- package/dist/jsx/helpers/insertStyleRule.js +89 -0
- package/dist/jsx/helpers/isObj.js +6 -0
- package/dist/jsx/helpers/isTamaguiElement.js +10 -0
- package/dist/jsx/helpers/matchMedia.js +17 -0
- package/dist/jsx/helpers/matchMedia.native.js +8 -0
- package/dist/jsx/helpers/themeable.js +24 -0
- package/dist/jsx/helpers/validate.js +62 -0
- package/dist/jsx/helpers/withStaticProperties.js +9 -0
- package/dist/jsx/helpers/wrapThemeManagerContext.js +10 -0
- package/dist/jsx/hooks/useConstant.js +14 -0
- package/dist/jsx/hooks/useFeatures.js +167 -0
- package/dist/jsx/hooks/useIsMounted.js +18 -0
- package/dist/jsx/hooks/useIsTouchDevice.js +16 -0
- package/dist/jsx/hooks/useMedia.js +155 -0
- package/dist/jsx/hooks/usePressable.js +13 -0
- package/dist/jsx/hooks/useTheme.js +171 -0
- package/dist/jsx/hooks/useUnmountEffect.js +10 -0
- package/dist/jsx/index.js +47 -0
- package/dist/jsx/spacedChildren.js +44 -0
- package/dist/jsx/static.js +13 -0
- package/dist/jsx/styled.js +45 -0
- package/dist/jsx/tamagui-base.css +7 -0
- package/dist/jsx/types-rnw.js +0 -0
- package/dist/jsx/types.js +0 -0
- package/dist/jsx/views/Stack.js +12 -0
- package/dist/jsx/views/Text.js +61 -0
- package/dist/jsx/views/TextAncestorContext.js +15 -0
- package/dist/jsx/views/Theme.js +31 -0
- package/dist/jsx/views/ThemeInverse.js +22 -0
- package/dist/jsx/views/ThemeProvider.js +35 -0
- package/dist/jsx/views/ThemeReset.js +34 -0
- package/package.json +22 -20
- package/types/Tamagui.d.ts +15 -0
- package/types/Tamagui.d.ts.map +1 -0
- package/types/ThemeContext.d.ts +7 -0
- package/types/ThemeContext.d.ts.map +1 -0
- package/types/ThemeManager.d.ts +49 -0
- package/types/ThemeManager.d.ts.map +1 -0
- package/types/conf.d.ts +25 -0
- package/types/conf.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
- package/types/constants/constants.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/constants/platform.d.ts +2 -0
- package/types/constants/platform.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
- package/types/constants/rnw.d.ts.map +1 -0
- package/types/contexts/ButtonInsideButtonContext.d.ts +3 -0
- package/types/contexts/ButtonInsideButtonContext.d.ts.map +1 -0
- package/types/createComponent.d.ts +20 -0
- package/types/createComponent.d.ts.map +1 -0
- package/types/createFont.d.ts +3 -0
- package/types/createFont.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
- package/types/createShorthands.d.ts.map +1 -0
- package/types/createTamagui.d.ts +16 -0
- package/types/createTamagui.d.ts.map +1 -0
- package/types/createTheme.d.ts +7 -0
- package/types/createTheme.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
- package/types/createTokens.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/createVariable.d.ts +6 -1
- package/types/createVariable.d.ts.map +1 -0
- package/types/defaultComponentState.d.ts +1 -0
- package/types/defaultComponentState.d.ts.map +1 -0
- package/types/helpers/RNComponents.d.ts +2 -0
- package/types/helpers/RNComponents.d.ts.map +1 -0
- package/types/helpers/addStylesUsingClassname.d.ts +3 -0
- package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
- package/types/helpers/areEqualSets.d.ts +2 -0
- package/types/helpers/areEqualSets.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +1 -1
- package/types/helpers/createMediaStyle.d.ts.map +1 -0
- package/types/helpers/createPropMapper.d.ts +4 -0
- package/types/helpers/createPropMapper.d.ts.map +1 -0
- package/types/helpers/createShallowUpdate.d.ts +4 -0
- package/types/helpers/createShallowUpdate.d.ts.map +1 -0
- package/types/helpers/createTamaguiProvider.d.ts +7 -0
- package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
- package/types/helpers/extendStaticConfig.d.ts +4 -0
- package/types/helpers/extendStaticConfig.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
- package/types/helpers/fixNativeShadow.d.ts.map +1 -0
- package/types/helpers/fixNativeShadow.native.d.ts +2 -0
- package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
- package/types/helpers/getExpandedShorthands.d.ts +3 -0
- package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
- package/types/helpers/getSplitStyles.d.ts +16 -0
- package/types/helpers/getSplitStyles.d.ts.map +1 -0
- package/types/helpers/getStylesAtomic.d.ts +27 -0
- package/types/helpers/getStylesAtomic.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
- package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
- package/types/helpers/insertStyleRule.d.ts +7 -0
- package/types/helpers/insertStyleRule.d.ts.map +1 -0
- package/types/helpers/isObj.d.ts +2 -0
- package/types/helpers/isObj.d.ts.map +1 -0
- package/types/helpers/isTamaguiElement.d.ts +3 -0
- package/types/helpers/isTamaguiElement.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
- package/types/helpers/matchMedia.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
- package/types/helpers/matchMedia.native.d.ts.map +1 -0
- package/types/helpers/themeable.d.ts +10 -0
- package/types/helpers/themeable.d.ts.map +1 -0
- package/types/helpers/validate.d.ts +4 -0
- package/types/helpers/validate.d.ts.map +1 -0
- package/types/helpers/withStaticProperties.d.ts +2 -0
- package/types/helpers/withStaticProperties.d.ts.map +1 -0
- package/types/helpers/wrapThemeManagerContext.d.ts +3 -0
- package/types/helpers/wrapThemeManagerContext.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
- package/types/hooks/useConstant.d.ts.map +1 -0
- package/types/hooks/useFeatures.d.ts +18 -0
- package/types/hooks/useFeatures.d.ts.map +1 -0
- package/types/hooks/useIsMounted.d.ts +3 -0
- package/types/hooks/useIsMounted.d.ts.map +1 -0
- package/types/hooks/useIsTouchDevice.d.ts +2 -0
- package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
- package/types/hooks/useMedia.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
- package/types/hooks/usePressable.d.ts.map +1 -0
- package/types/hooks/useTheme.d.ts +36 -0
- package/types/hooks/useTheme.d.ts.map +1 -0
- package/types/hooks/useUnmountEffect.d.ts +2 -0
- package/types/hooks/useUnmountEffect.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/index.d.ts +16 -3
- package/types/index.d.ts.map +1 -0
- package/types/spacedChildren.d.ts +9 -0
- package/types/spacedChildren.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/static.d.ts +4 -2
- package/types/static.d.ts.map +1 -0
- package/types/styled.d.ts +7 -0
- package/types/styled.d.ts.map +1 -0
- package/types/types-rnw.d.ts +74 -0
- package/types/types-rnw.d.ts.map +1 -0
- package/types/types.d.ts +381 -0
- package/types/types.d.ts.map +1 -0
- package/types/views/Stack.d.ts +4 -0
- package/types/views/Stack.d.ts.map +1 -0
- package/types/views/Text.d.ts +4 -0
- package/types/views/Text.d.ts.map +1 -0
- package/types/views/TextAncestorContext.d.ts +5 -0
- package/types/views/TextAncestorContext.d.ts.map +1 -0
- package/types/views/Theme.d.ts +11 -0
- package/types/views/Theme.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
- package/types/views/ThemeInverse.d.ts.map +1 -0
- package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
- package/types/views/ThemeProvider.d.ts.map +1 -0
- package/types/views/ThemeReset.d.ts +4 -0
- package/types/views/ThemeReset.d.ts.map +1 -0
- package/dist/cjs/static/postProcessStyles.js +0 -40
- package/dist/cjs/static/postProcessStyles.js.map +0 -7
- package/dist/cjs/views/Animated.js +0 -129
- package/dist/cjs/views/Animated.js.map +0 -7
- package/dist/cjs/views/ThemeContext.js +0 -29
- package/dist/cjs/views/ThemeContext.js.map +0 -7
- package/dist/cjs/views/ThemeManagerContext.js +0 -84
- package/dist/cjs/views/ThemeManagerContext.js.map +0 -7
- package/dist/constants/constants.js.map +0 -7
- package/dist/constants/platform.js.map +0 -7
- package/dist/constants/rnw.js.map +0 -7
- package/dist/constants/styleConstants.js +0 -46
- package/dist/constants/styleConstants.js.map +0 -7
- package/dist/createComponent.js +0 -463
- package/dist/createComponent.js.map +0 -7
- package/dist/createTamagui.js +0 -168
- package/dist/createTamagui.js.map +0 -7
- package/dist/createTheme.js +0 -20
- package/dist/createTheme.js.map +0 -7
- package/dist/createVariable.js +0 -25
- package/dist/createVariable.js.map +0 -7
- package/dist/helpers/addStylesUsingClassname.js.map +0 -7
- package/dist/helpers/createMediaStyle.js.map +0 -7
- package/dist/helpers/createPropMapper.js +0 -153
- package/dist/helpers/createPropMapper.js.map +0 -7
- package/dist/helpers/createTamaguiProvider.js +0 -25
- package/dist/helpers/createTamaguiProvider.js.map +0 -7
- package/dist/helpers/extendStaticConfig.js.map +0 -7
- package/dist/helpers/fixNativeShadow.native.js +0 -30
- package/dist/helpers/fixNativeShadow.native.js.map +0 -7
- package/dist/helpers/getSplitStyles.js +0 -150
- package/dist/helpers/getSplitStyles.js.map +0 -7
- package/dist/helpers/getStylesAtomic.js +0 -83
- package/dist/helpers/getStylesAtomic.js.map +0 -7
- package/dist/helpers/insertStyleRule.js +0 -24
- package/dist/helpers/insertStyleRule.js.map +0 -7
- package/dist/helpers/isComponent.js +0 -10
- package/dist/helpers/isComponent.js.map +0 -7
- package/dist/helpers/isTamaguiComponent.js +0 -10
- package/dist/helpers/isTamaguiComponent.js.map +0 -7
- package/dist/helpers/pseudos.js +0 -1
- package/dist/helpers/themeable.js.map +0 -7
- package/dist/helpers/validate.js +0 -60
- package/dist/helpers/validate.js.map +0 -7
- package/dist/helpers/validateConfig.js +0 -46
- package/dist/helpers/validateConfig.js.map +0 -7
- package/dist/helpers/validateTokens.js +0 -29
- package/dist/helpers/validateTokens.js.map +0 -7
- package/dist/hooks/useFeatures.js +0 -63
- package/dist/hooks/useFeatures.js.map +0 -7
- package/dist/hooks/useForceUpdate.js +0 -28
- package/dist/hooks/useForceUpdate.js.map +0 -7
- package/dist/hooks/useMedia.js.map +0 -7
- package/dist/hooks/useTheme.js +0 -89
- package/dist/hooks/useTheme.js.map +0 -7
- package/dist/index.cjs +0 -2202
- package/dist/index.cjs.map +0 -7
- package/dist/index.js.map +0 -7
- package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
- package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
- package/dist/packages/core/src/constants/pseudos.d.ts +0 -15
- package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
- package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
- package/dist/packages/core/src/createComponent.d.ts +0 -16
- package/dist/packages/core/src/createComponent.d.ts.map +0 -1
- package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
- package/dist/packages/core/src/createTamagui.d.ts +0 -37
- package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
- package/dist/packages/core/src/createTheme.d.ts +0 -5
- package/dist/packages/core/src/createTheme.d.ts.map +0 -1
- package/dist/packages/core/src/createTokens.d.ts.map +0 -1
- package/dist/packages/core/src/createVariable.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
- package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts +0 -5
- package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
- package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
- package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/getSplitStyles.d.ts +0 -15
- package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
- package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/insertStyleRule.d.ts +0 -2
- package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
- package/dist/packages/core/src/helpers/themeable.d.ts +0 -10
- package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
- package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
- package/dist/packages/core/src/hooks/useFeatures.d.ts +0 -5
- package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
- package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
- package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
- package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
- package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
- package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
- package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
- package/dist/packages/core/src/index.d.ts.map +0 -1
- package/dist/packages/core/src/static/postProcessStyles.d.ts +0 -7
- package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
- package/dist/packages/core/src/static.d.ts.map +0 -1
- package/dist/packages/core/src/styled.d.ts +0 -16
- package/dist/packages/core/src/styled.d.ts.map +0 -1
- package/dist/packages/core/src/types.d.ts +0 -305
- package/dist/packages/core/src/types.d.ts.map +0 -1
- package/dist/packages/core/src/views/Animated.d.ts +0 -15
- package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
- package/dist/packages/core/src/views/Stack.d.ts +0 -3
- package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
- package/dist/packages/core/src/views/Text.d.ts +0 -3
- package/dist/packages/core/src/views/Text.d.ts.map +0 -1
- package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
- package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
- package/dist/packages/core/src/views/Theme.d.ts +0 -8
- package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
- package/dist/packages/core/src/views/ThemeContext.d.ts +0 -18
- package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
- package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
- package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
- package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
- package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
- package/dist/packages/helpers/src/AllRules.d.ts +0 -3
- package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
- package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
- package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
- package/dist/packages/helpers/src/index.d.ts +0 -5
- package/dist/packages/helpers/src/index.d.ts.map +0 -1
- package/dist/packages/helpers/src/types.d.ts +0 -8
- package/dist/packages/helpers/src/types.d.ts.map +0 -1
- package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
- package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
- package/dist/static/postProcessStyles.js +0 -18
- package/dist/static/postProcessStyles.js.map +0 -7
- package/dist/styled.js +0 -21
- package/dist/styled.js.map +0 -7
- package/dist/views/Animated.js +0 -79
- package/dist/views/Animated.js.map +0 -7
- package/dist/views/SafeAreaProvider.js +0 -30
- package/dist/views/SafeAreaProvider.js.map +0 -7
- package/dist/views/Stack.js.map +0 -7
- package/dist/views/Text.js.map +0 -7
- package/dist/views/TextAncestorContext.js +0 -18
- package/dist/views/TextAncestorContext.js.map +0 -7
- package/dist/views/Theme.js +0 -65
- package/dist/views/Theme.js.map +0 -7
- package/dist/views/ThemeContext.js.map +0 -7
- package/dist/views/ThemeManagerContext.js +0 -61
- package/dist/views/ThemeManagerContext.js.map +0 -7
- package/dist/views/ThemeProvider.js +0 -45
- package/dist/views/ThemeProvider.js.map +0 -7
- package/src/constants/constants.ts +0 -12
- package/src/constants/platform.ts +0 -15
- package/src/constants/pseudos.ts +0 -14
- package/src/constants/rnw.tsx +0 -20
- package/src/createComponent.tsx +0 -612
- package/src/createFont.ts +0 -31
- package/src/createShorthands.ts +0 -5
- package/src/createTamagui.ts +0 -217
- package/src/createTheme.ts +0 -19
- package/src/createTokens.ts +0 -88
- package/src/createVariable.ts +0 -26
- package/src/helpers/addStylesUsingClassname.tsx +0 -60
- package/src/helpers/createMediaStyle.ts +0 -46
- package/src/helpers/createPropMapper.ts +0 -184
- package/src/helpers/createTamaguiProvider.tsx +0 -22
- package/src/helpers/extendStaticConfig.ts +0 -68
- package/src/helpers/fixNativeShadow.native.tsx +0 -27
- package/src/helpers/fixNativeShadow.tsx +0 -2
- package/src/helpers/getSplitStyles.tsx +0 -200
- package/src/helpers/getStylesAtomic.native.ts +0 -3
- package/src/helpers/getStylesAtomic.ts +0 -103
- package/src/helpers/insertStyleRule.tsx +0 -18
- package/src/helpers/isObj.ts +0 -1
- package/src/helpers/isTamaguiElement.tsx +0 -5
- package/src/helpers/matchMedia.native.ts +0 -6
- package/src/helpers/matchMedia.ts +0 -17
- package/src/helpers/themeable.tsx +0 -42
- package/src/helpers/validate.ts +0 -59
- package/src/hooks/useConstant.tsx +0 -10
- package/src/hooks/useFeatures.tsx +0 -79
- package/src/hooks/useMedia.tsx +0 -194
- package/src/hooks/usePressable.tsx +0 -9
- package/src/hooks/useTheme.tsx +0 -106
- package/src/index.ts +0 -32
- package/src/static/postProcessStyles.tsx +0 -20
- package/src/static.ts +0 -22
- package/src/styled.ts +0 -82
- package/src/types.tsx +0 -562
- package/src/views/Animated.tsx +0 -121
- package/src/views/Stack.tsx +0 -21
- package/src/views/Text.tsx +0 -66
- package/src/views/TextAncestorContext.tsx +0 -12
- package/src/views/Theme.tsx +0 -90
- package/src/views/ThemeContext.tsx +0 -5
- package/src/views/ThemeInverse.tsx +0 -22
- package/src/views/ThemeManagerContext.tsx +0 -62
- package/src/views/ThemeProvider.tsx +0 -52
- package/types.d.ts +0 -559
package/src/hooks/useMedia.tsx
DELETED
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { useForceUpdate } from '@tamagui/use-force-update'
|
|
2
|
-
import { useRef } from 'react'
|
|
3
|
-
|
|
4
|
-
import { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'
|
|
5
|
-
import { matchMedia } from '../helpers/matchMedia'
|
|
6
|
-
import {
|
|
7
|
-
ConfigureMediaQueryOptions,
|
|
8
|
-
MediaQueries,
|
|
9
|
-
MediaQueryObject,
|
|
10
|
-
MediaQueryState,
|
|
11
|
-
} from '../types'
|
|
12
|
-
import { useConstant } from './useConstant'
|
|
13
|
-
|
|
14
|
-
export const mediaState: { [key in keyof MediaQueryState]: boolean } = {} as any
|
|
15
|
-
const mediaQueryListeners: { [key: string]: Set<Function> } = {}
|
|
16
|
-
|
|
17
|
-
export const addMediaQueryListener = (key: string, cb: any) => {
|
|
18
|
-
mediaQueryListeners[key] = mediaQueryListeners[key] || new Set()
|
|
19
|
-
mediaQueryListeners[key].add(cb)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const removeMediaQueryListener = (key: string, cb: any) => {
|
|
23
|
-
mediaQueryListeners[key].delete(cb)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
let conf: MediaQueries | null = null
|
|
27
|
-
|
|
28
|
-
export const mediaQueryConfig = new Proxy<MediaQueries>({} as any, {
|
|
29
|
-
get(target, key) {
|
|
30
|
-
if (!conf) {
|
|
31
|
-
throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)
|
|
32
|
-
}
|
|
33
|
-
return Reflect.get(conf, key)
|
|
34
|
-
},
|
|
35
|
-
ownKeys() {
|
|
36
|
-
if (!conf) {
|
|
37
|
-
throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)
|
|
38
|
-
}
|
|
39
|
-
return Object.keys(conf)
|
|
40
|
-
},
|
|
41
|
-
getOwnPropertyDescriptor() {
|
|
42
|
-
return {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
configurable: true,
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
export const getMedia = () => {
|
|
50
|
-
if (!conf) {
|
|
51
|
-
throw new Error(`not configured yet`)
|
|
52
|
-
}
|
|
53
|
-
return mediaState
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export const configureMedia = ({
|
|
57
|
-
queries,
|
|
58
|
-
defaultActive = ['sm', 'xs'],
|
|
59
|
-
}: ConfigureMediaQueryOptions = {}) => {
|
|
60
|
-
if (conf) {
|
|
61
|
-
console.warn(
|
|
62
|
-
`Already configured mediaQueries once (you may have called getMedia() before configureMedia())`
|
|
63
|
-
)
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (queries) {
|
|
67
|
-
conf = queries
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// setup
|
|
71
|
-
for (const key in queries) {
|
|
72
|
-
const str = mediaObjectToString(queries[key])
|
|
73
|
-
try {
|
|
74
|
-
const getMatch = () => matchMedia(str)
|
|
75
|
-
const match = getMatch()
|
|
76
|
-
if (!match || typeof match.addListener !== 'function') {
|
|
77
|
-
// caught below
|
|
78
|
-
throw new Error('⚠️ No match (seeing this in RN sometimes)')
|
|
79
|
-
}
|
|
80
|
-
mediaState[key] = !!match.matches
|
|
81
|
-
match.addListener(() => {
|
|
82
|
-
const next = !!getMatch().matches
|
|
83
|
-
if (next === mediaState[key]) return
|
|
84
|
-
mediaState[key] = next
|
|
85
|
-
const listeners = mediaQueryListeners[key]
|
|
86
|
-
if (listeners?.size) {
|
|
87
|
-
for (const cb of [...listeners]) {
|
|
88
|
-
cb()
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
})
|
|
92
|
-
} catch (err: any) {
|
|
93
|
-
console.error('Error running media query', str, err.message, err.stack)
|
|
94
|
-
const isDefaultActive = defaultActive?.includes(key as any) ?? true
|
|
95
|
-
mediaState[key] = isDefaultActive
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
type UseMediaState = {
|
|
101
|
-
selections: { [key: string]: boolean }
|
|
102
|
-
nextSelections: { [key: string]: boolean }
|
|
103
|
-
isRendering: boolean
|
|
104
|
-
isUnmounted: boolean
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export const useMedia = () => {
|
|
108
|
-
const forceUpdate = useForceUpdate()
|
|
109
|
-
const state = useRef() as React.MutableRefObject<UseMediaState>
|
|
110
|
-
if (!state.current) {
|
|
111
|
-
state.current = {
|
|
112
|
-
selections: {},
|
|
113
|
-
nextSelections: {},
|
|
114
|
-
isUnmounted: false,
|
|
115
|
-
isRendering: true,
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
state.current.isRendering = true
|
|
119
|
-
|
|
120
|
-
// track usage
|
|
121
|
-
useIsomorphicLayoutEffect(() => {
|
|
122
|
-
const st = state.current
|
|
123
|
-
st.isRendering = false
|
|
124
|
-
// delete old
|
|
125
|
-
for (const key in st.selections) {
|
|
126
|
-
if (!(key in st.nextSelections)) {
|
|
127
|
-
removeMediaQueryListener(key, forceUpdate)
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// add new
|
|
131
|
-
for (const key in st.nextSelections) {
|
|
132
|
-
if (!(key in st.selections)) {
|
|
133
|
-
addMediaQueryListener(key, forceUpdate)
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
})
|
|
137
|
-
|
|
138
|
-
// unmount
|
|
139
|
-
useIsomorphicLayoutEffect(() => {
|
|
140
|
-
return () => {
|
|
141
|
-
const st = state.current
|
|
142
|
-
st.isUnmounted = true
|
|
143
|
-
const allKeys = {
|
|
144
|
-
...st.selections,
|
|
145
|
-
...st.nextSelections,
|
|
146
|
-
}
|
|
147
|
-
for (const key in allKeys) {
|
|
148
|
-
removeMediaQueryListener(key, forceUpdate)
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}, [])
|
|
152
|
-
|
|
153
|
-
return useConstant(() => {
|
|
154
|
-
const st = state.current
|
|
155
|
-
return new Proxy(mediaState, {
|
|
156
|
-
get(target, key: string) {
|
|
157
|
-
if (!(key in mediaState)) {
|
|
158
|
-
return Reflect.get(target, key)
|
|
159
|
-
}
|
|
160
|
-
if (!st.isUnmounted) {
|
|
161
|
-
if (st.isRendering) {
|
|
162
|
-
st.nextSelections[key] = true
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
if (key in mediaState) {
|
|
166
|
-
return mediaState[key]
|
|
167
|
-
}
|
|
168
|
-
return Reflect.get(mediaState, key)
|
|
169
|
-
},
|
|
170
|
-
})
|
|
171
|
-
})
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
function camelToHyphen(str: string) {
|
|
175
|
-
return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase()
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
export function mediaObjectToString(query: string | MediaQueryObject) {
|
|
179
|
-
if (typeof query === 'string') {
|
|
180
|
-
return query
|
|
181
|
-
}
|
|
182
|
-
return Object.entries(query)
|
|
183
|
-
.map(([feature, value]) => {
|
|
184
|
-
feature = camelToHyphen(feature)
|
|
185
|
-
if (typeof value === 'string') {
|
|
186
|
-
return `(${feature}: ${value})`
|
|
187
|
-
}
|
|
188
|
-
if (typeof value === 'number' && /[height|width]$/.test(feature)) {
|
|
189
|
-
value = `${value}px`
|
|
190
|
-
}
|
|
191
|
-
return `(${feature}: ${value})`
|
|
192
|
-
})
|
|
193
|
-
.join(' and ')
|
|
194
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Pressable, PressableProps } from 'react-native'
|
|
2
|
-
|
|
3
|
-
const getPressable = Pressable?.['type']?.['render']
|
|
4
|
-
|
|
5
|
-
export const usePressable = (props: PressableProps) => {
|
|
6
|
-
const out = getPressable(props)
|
|
7
|
-
const { children, style, ...pressableProps } = out.props
|
|
8
|
-
return [pressableProps, style] as const
|
|
9
|
-
}
|
package/src/hooks/useTheme.tsx
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { useForceUpdate } from '@tamagui/use-force-update'
|
|
2
|
-
import React, { useContext, useEffect, useMemo, useRef, useState } from 'react'
|
|
3
|
-
|
|
4
|
-
import { useIsomorphicLayoutEffect } from '../constants/platform'
|
|
5
|
-
import { Variable } from '../createVariable'
|
|
6
|
-
import { ThemeName } from '../types'
|
|
7
|
-
import { ThemeContext } from '../views/ThemeContext'
|
|
8
|
-
import { ThemeManagerContext } from '../views/ThemeManagerContext'
|
|
9
|
-
import { GET_DEFAULT_THEME } from '../views/ThemeProvider'
|
|
10
|
-
|
|
11
|
-
type UseThemeState = {
|
|
12
|
-
uuid: Object
|
|
13
|
-
keys: Set<string>
|
|
14
|
-
isRendering: boolean
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const areEqualSets = (a: Set<string>, b: Set<string>) => {
|
|
18
|
-
if (a.size !== b.size) return false
|
|
19
|
-
for (const val in a) {
|
|
20
|
-
if (!b.has(val)) {
|
|
21
|
-
return false
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return true
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export const useThemeName = (opts?: { parent?: true }) => {
|
|
28
|
-
const parent = useContext(ThemeManagerContext)
|
|
29
|
-
const [name, setName] = useState(parent.name)
|
|
30
|
-
|
|
31
|
-
useIsomorphicLayoutEffect(() => {
|
|
32
|
-
return parent.onChangeTheme((next, manager) => {
|
|
33
|
-
setName(opts?.parent ? manager.parentName : next)
|
|
34
|
-
})
|
|
35
|
-
}, [parent])
|
|
36
|
-
|
|
37
|
-
return name || 'light'
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export const useDefaultThemeName = () => {
|
|
41
|
-
return useContext(ThemeContext)[GET_DEFAULT_THEME] as any as ThemeName
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export const useTheme = () => {
|
|
45
|
-
const forceUpdate = useForceUpdate()
|
|
46
|
-
const manager = useContext(ThemeManagerContext)
|
|
47
|
-
const themes = useContext(ThemeContext)
|
|
48
|
-
const state = useRef() as React.MutableRefObject<UseThemeState>
|
|
49
|
-
if (!state.current) {
|
|
50
|
-
state.current = {
|
|
51
|
-
uuid: {},
|
|
52
|
-
keys: new Set(),
|
|
53
|
-
isRendering: true,
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
state.current.isRendering = true
|
|
57
|
-
|
|
58
|
-
// track usage
|
|
59
|
-
useIsomorphicLayoutEffect(() => {
|
|
60
|
-
const st = state.current
|
|
61
|
-
st.isRendering = false
|
|
62
|
-
const cur = manager.keys.get(st.uuid)
|
|
63
|
-
if (!cur || !areEqualSets(st.keys, cur)) {
|
|
64
|
-
manager.track(st.uuid, st.keys)
|
|
65
|
-
}
|
|
66
|
-
})
|
|
67
|
-
|
|
68
|
-
useEffect(() => {
|
|
69
|
-
return manager.onUpdate(state.current.uuid, forceUpdate)
|
|
70
|
-
}, [])
|
|
71
|
-
|
|
72
|
-
const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light
|
|
73
|
-
|
|
74
|
-
return useMemo(
|
|
75
|
-
() => {
|
|
76
|
-
return new Proxy(theme, {
|
|
77
|
-
get(_, key: string) {
|
|
78
|
-
const name = manager.name
|
|
79
|
-
if (!name) {
|
|
80
|
-
return Reflect.get(_, key)
|
|
81
|
-
}
|
|
82
|
-
let activeTheme = themes[name]
|
|
83
|
-
if (!activeTheme) {
|
|
84
|
-
console.error('No theme by name', name, 'only:', themes, 'keeping current theme')
|
|
85
|
-
activeTheme = theme
|
|
86
|
-
}
|
|
87
|
-
const val = activeTheme[key]
|
|
88
|
-
if (process.env.NODE_ENV === 'development') {
|
|
89
|
-
if (typeof val === 'undefined') {
|
|
90
|
-
throw new Error(`No theme value "${String(key)}" in: ${Object.keys(activeTheme)}`)
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (state.current.isRendering) {
|
|
94
|
-
state.current.keys.add(key)
|
|
95
|
-
}
|
|
96
|
-
// TODO costly, can make faster (we need name mapping to og name, but val pointing to new val)
|
|
97
|
-
// console.log('returning new variable', val, key)
|
|
98
|
-
return new Variable({ val: val.val, name: key })
|
|
99
|
-
},
|
|
100
|
-
})
|
|
101
|
-
},
|
|
102
|
-
[
|
|
103
|
-
/* if concurrent mode wanted put manager.name here */
|
|
104
|
-
]
|
|
105
|
-
)
|
|
106
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export * from './createComponent'
|
|
2
|
-
export * from './createShorthands'
|
|
3
|
-
export * from './createTheme'
|
|
4
|
-
export * from './createTamagui'
|
|
5
|
-
export * from './createFont'
|
|
6
|
-
export { createTokens } from './createTokens'
|
|
7
|
-
export * from './createVariable'
|
|
8
|
-
export * from './styled'
|
|
9
|
-
export * from './types'
|
|
10
|
-
|
|
11
|
-
export * from './constants/pseudos'
|
|
12
|
-
export * from './constants/constants'
|
|
13
|
-
export * from './constants/platform'
|
|
14
|
-
export * from './constants/rnw'
|
|
15
|
-
|
|
16
|
-
export * from './helpers/isObj'
|
|
17
|
-
export * from './helpers/getStylesAtomic'
|
|
18
|
-
export * from './helpers/matchMedia'
|
|
19
|
-
export * from './helpers/themeable'
|
|
20
|
-
export * from './helpers/isTamaguiElement'
|
|
21
|
-
|
|
22
|
-
export * from './hooks/useConstant'
|
|
23
|
-
export * from './hooks/useMedia'
|
|
24
|
-
export * from './hooks/useTheme'
|
|
25
|
-
|
|
26
|
-
export * from './views/Animated'
|
|
27
|
-
export * from './views/Stack'
|
|
28
|
-
export * from './views/Text'
|
|
29
|
-
export * from './views/Theme'
|
|
30
|
-
export * from './views/ThemeInverse'
|
|
31
|
-
export * from './views/ThemeProvider'
|
|
32
|
-
export * from './views/TextAncestorContext'
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { getSplitStyles } from '../helpers/getSplitStyles'
|
|
2
|
-
import { StaticConfigParsed, TamaguiInternalConfig, ThemeObject } from '../types'
|
|
3
|
-
|
|
4
|
-
// used only by static extractor
|
|
5
|
-
|
|
6
|
-
export const postProcessStyles = (
|
|
7
|
-
inStyles: any,
|
|
8
|
-
staticConfig: StaticConfigParsed,
|
|
9
|
-
theme: ThemeObject
|
|
10
|
-
) => {
|
|
11
|
-
const { style, viewProps, pseudos, classNames } = getSplitStyles(inStyles, staticConfig, theme)
|
|
12
|
-
// flattening
|
|
13
|
-
const next = {}
|
|
14
|
-
for (const s of style) {
|
|
15
|
-
if (!s) continue
|
|
16
|
-
Object.assign(next, s)
|
|
17
|
-
}
|
|
18
|
-
Object.assign(next, pseudos)
|
|
19
|
-
return { style: next, viewProps, classNames }
|
|
20
|
-
}
|
package/src/static.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// only stuff that gets extracted or needed by tamagui-static
|
|
2
|
-
|
|
3
|
-
export * from './styled'
|
|
4
|
-
export * from './createComponent'
|
|
5
|
-
export * from './createFont'
|
|
6
|
-
export * from './createTokens'
|
|
7
|
-
export * from './createTamagui'
|
|
8
|
-
export * from './constants/constants'
|
|
9
|
-
|
|
10
|
-
export * from './hooks/useMedia'
|
|
11
|
-
export * from './hooks/useTheme'
|
|
12
|
-
|
|
13
|
-
export * from './helpers/isObj'
|
|
14
|
-
export * from './helpers/getStylesAtomic'
|
|
15
|
-
export * from './helpers/getSplitStyles'
|
|
16
|
-
export * from '@tamagui/helpers'
|
|
17
|
-
|
|
18
|
-
export * from './constants/pseudos'
|
|
19
|
-
|
|
20
|
-
// -- below exports are only bundled compile-time --
|
|
21
|
-
|
|
22
|
-
export * from './static/postProcessStyles'
|
package/src/styled.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
|
|
3
|
-
import { createComponent } from './createComponent'
|
|
4
|
-
import { extendStaticConfig } from './helpers/extendStaticConfig'
|
|
5
|
-
import { MediaProps, StaticComponent, StaticConfig, TamaguiConfig, Themes, Tokens } from './types'
|
|
6
|
-
|
|
7
|
-
export function styled<
|
|
8
|
-
ParentComponent extends StaticComponent | React.Component<any>,
|
|
9
|
-
Variants extends GetVariants<ParentComponent>
|
|
10
|
-
>(
|
|
11
|
-
Component: ParentComponent,
|
|
12
|
-
options?: GetProps<ParentComponent> & {
|
|
13
|
-
variants?: Variants
|
|
14
|
-
},
|
|
15
|
-
staticExtractionOptions?: StaticConfig
|
|
16
|
-
) {
|
|
17
|
-
const staticConfigProps: StaticConfig = (() => {
|
|
18
|
-
if (options) {
|
|
19
|
-
const { variants, ...defaultProps } = options
|
|
20
|
-
return { ...staticExtractionOptions, variants, defaultProps }
|
|
21
|
-
}
|
|
22
|
-
return {}
|
|
23
|
-
})()
|
|
24
|
-
const config = extendStaticConfig(Component, staticConfigProps)
|
|
25
|
-
const component = createComponent(config!) // error is good here its on init
|
|
26
|
-
type VariantProps = GetVariantProps<Variants>
|
|
27
|
-
return component as StaticComponent<
|
|
28
|
-
Omit<GetProps<ParentComponent>, keyof VariantProps> & VariantProps & MediaProps<VariantProps>
|
|
29
|
-
// leave this out it was causing infinite recursion type issues
|
|
30
|
-
// VariantProps
|
|
31
|
-
>
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// type ParentVariants = A extends StaticComponent<any, infer Variants> ? Variants : {}
|
|
35
|
-
|
|
36
|
-
export type GetProps<A> = A extends StaticComponent<infer Props>
|
|
37
|
-
? Props
|
|
38
|
-
: A extends React.Component<infer Props>
|
|
39
|
-
? Props
|
|
40
|
-
: {}
|
|
41
|
-
|
|
42
|
-
export type GetVariants<ParentComponent extends StaticComponent | React.Component<any>> = void | {
|
|
43
|
-
[key: string]: {
|
|
44
|
-
[key: string]:
|
|
45
|
-
| Partial<GetProps<ParentComponent>>
|
|
46
|
-
| ((
|
|
47
|
-
val: any,
|
|
48
|
-
config: {
|
|
49
|
-
tokens: TamaguiConfig['tokens']
|
|
50
|
-
theme: Themes extends { [key: string]: infer B } ? B : unknown
|
|
51
|
-
props: GetProps<ParentComponent>
|
|
52
|
-
}
|
|
53
|
-
) => Partial<GetProps<ParentComponent>>)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export type GetVariantProps<Variants> = Variants extends void
|
|
58
|
-
? {}
|
|
59
|
-
: {
|
|
60
|
-
// ensure variants actually defined
|
|
61
|
-
[Key in keyof Variants]?: keyof Variants[Key] extends `...${infer VariantSpread}`
|
|
62
|
-
? VariantSpread extends keyof Tokens
|
|
63
|
-
? keyof Tokens[VariantSpread] extends string | number
|
|
64
|
-
? `$${keyof Tokens[VariantSpread]}`
|
|
65
|
-
: unknown
|
|
66
|
-
: unknown
|
|
67
|
-
: keyof Variants[Key] extends 'true'
|
|
68
|
-
? boolean
|
|
69
|
-
: keyof Exclude<Variants[Key], undefined>
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// type X = { ok: 1 }
|
|
73
|
-
// type Y = { okk: 2; ok: 3 }
|
|
74
|
-
// type Z = X & Y
|
|
75
|
-
// type Z2 = Z
|
|
76
|
-
|
|
77
|
-
// TODO get name
|
|
78
|
-
// const displayName = `styled(Component)`
|
|
79
|
-
// Object.defineProperty(component, 'name', {
|
|
80
|
-
// value: displayName,
|
|
81
|
-
// writable: false,
|
|
82
|
-
// })
|