@tamagui/core 1.0.1-beta.71 → 1.0.1-beta.74
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 +4 -6
- package/dist/cjs/Tamagui.js.map +1 -1
- package/dist/cjs/ThemeManager.js +3 -5
- package/dist/cjs/ThemeManager.js.map +1 -1
- package/dist/cjs/conf.js +11 -11
- package/dist/cjs/conf.js.map +2 -2
- package/dist/cjs/constants/rnw.js +1 -2
- package/dist/cjs/constants/rnw.js.map +1 -1
- package/dist/cjs/createComponent.js +16 -23
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createFont.js +2 -3
- package/dist/cjs/createFont.js.map +1 -1
- package/dist/cjs/createShorthands.js +0 -2
- package/dist/cjs/createShorthands.js.map +1 -1
- package/dist/cjs/createTamagui.js +4 -7
- package/dist/cjs/createTamagui.js.map +1 -1
- package/dist/cjs/createTheme.js +2 -3
- package/dist/cjs/createTheme.js.map +1 -1
- package/dist/cjs/createTokens.js +0 -2
- package/dist/cjs/createTokens.js.map +1 -1
- package/dist/cjs/createVariable.js +4 -10
- package/dist/cjs/createVariable.js.map +1 -1
- package/dist/cjs/createVariables.js +2 -3
- package/dist/cjs/createVariables.js.map +1 -1
- package/dist/cjs/helpers/areEqualSets.js +2 -3
- package/dist/cjs/helpers/areEqualSets.js.map +1 -1
- package/dist/cjs/helpers/calc.js +4 -5
- package/dist/cjs/helpers/calc.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.js +2 -3
- package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
- package/dist/cjs/helpers/createPropMapper.js +12 -15
- package/dist/cjs/helpers/createPropMapper.js.map +1 -1
- package/dist/cjs/helpers/createShallowUpdate.js +0 -2
- package/dist/cjs/helpers/createShallowUpdate.js.map +1 -1
- package/dist/cjs/helpers/createTamaguiProvider.js +2 -4
- package/dist/cjs/helpers/createTamaguiProvider.js.map +1 -1
- package/dist/cjs/helpers/extendStaticConfig.js +2 -4
- package/dist/cjs/helpers/extendStaticConfig.js.map +1 -1
- package/dist/cjs/helpers/fixNativeShadow.js +2 -3
- package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
- package/dist/cjs/helpers/fixNativeShadow.native.js +0 -2
- package/dist/cjs/helpers/fixNativeShadow.native.js.map +1 -1
- package/dist/cjs/helpers/generateAtomicStyles.js +11 -21
- package/dist/cjs/helpers/generateAtomicStyles.js.map +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.js +0 -2
- package/dist/cjs/helpers/getExpandedShorthands.js.map +1 -1
- package/dist/cjs/helpers/getSize.js +4 -5
- package/dist/cjs/helpers/getSize.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +8 -12
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getStackSize.js +2 -3
- package/dist/cjs/helpers/getStackSize.js.map +1 -1
- package/dist/cjs/helpers/getStylesAtomic.js +0 -3
- package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
- package/dist/cjs/helpers/getStylesAtomic.native.js +0 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/getTextSize.js +2 -3
- package/dist/cjs/helpers/getTextSize.js.map +1 -1
- package/dist/cjs/helpers/getVariantExtras.js +0 -2
- package/dist/cjs/helpers/getVariantExtras.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.js +3 -8
- package/dist/cjs/helpers/insertStyleRule.js.map +1 -1
- package/dist/cjs/helpers/isObj.js +1 -2
- package/dist/cjs/helpers/isObj.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiComponent.js +0 -2
- package/dist/cjs/helpers/isTamaguiComponent.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.js +2 -3
- package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.js +2 -3
- package/dist/cjs/helpers/matchMedia.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.native.js +1 -2
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/mergeProps.js +2 -3
- package/dist/cjs/helpers/mergeProps.js.map +1 -1
- package/dist/cjs/helpers/mergeTransform.js +2 -3
- package/dist/cjs/helpers/mergeTransform.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeVariables.js +1 -3
- package/dist/cjs/helpers/proxyThemeVariables.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.js +2 -3
- package/dist/cjs/helpers/registerCSSVariable.js.map +1 -1
- package/dist/cjs/helpers/themeable.js +2 -4
- package/dist/cjs/helpers/themeable.js.map +1 -1
- package/dist/cjs/helpers/validate.js +6 -7
- package/dist/cjs/helpers/validate.js.map +1 -1
- package/dist/cjs/helpers/withStaticProperties.js +2 -3
- package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
- package/dist/cjs/helpers/wrapThemeManagerContext.js +0 -2
- package/dist/cjs/helpers/wrapThemeManagerContext.js.map +1 -1
- package/dist/cjs/hooks/useConstant.js +0 -2
- package/dist/cjs/hooks/useConstant.js.map +1 -1
- package/dist/cjs/hooks/useFeatures.js +7 -13
- package/dist/cjs/hooks/useFeatures.js.map +2 -2
- package/dist/cjs/hooks/useId.js +0 -3
- package/dist/cjs/hooks/useId.js.map +1 -1
- package/dist/cjs/hooks/useIsMounted.js +0 -2
- package/dist/cjs/hooks/useIsMounted.js.map +1 -1
- package/dist/cjs/hooks/useIsTouchDevice.js +2 -3
- package/dist/cjs/hooks/useIsTouchDevice.js.map +1 -1
- package/dist/cjs/hooks/useMedia.js +11 -15
- package/dist/cjs/hooks/useMedia.js.map +1 -1
- package/dist/cjs/hooks/usePressable.js +2 -3
- package/dist/cjs/hooks/usePressable.js.map +1 -1
- package/dist/cjs/hooks/useTheme.js +10 -11
- package/dist/cjs/hooks/useTheme.js.map +1 -1
- package/dist/cjs/hooks/useUnmountEffect.js +0 -2
- package/dist/cjs/hooks/useUnmountEffect.js.map +1 -1
- package/dist/cjs/insertFont.js +1 -5
- package/dist/cjs/insertFont.js.map +2 -2
- package/dist/cjs/styled.js +0 -2
- package/dist/cjs/styled.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/views/Slot.js +2 -5
- package/dist/cjs/views/Slot.js.map +1 -1
- package/dist/cjs/views/TextAncestorContext.js +2 -3
- package/dist/cjs/views/TextAncestorContext.js.map +1 -1
- package/dist/cjs/views/Theme.js +2 -3
- package/dist/cjs/views/Theme.js.map +1 -1
- package/dist/cjs/views/ThemeInverse.js +2 -4
- package/dist/cjs/views/ThemeInverse.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.js +2 -3
- package/dist/cjs/views/ThemeProvider.js.map +1 -1
- package/dist/cjs/views/ThemeReset.js +2 -3
- package/dist/cjs/views/ThemeReset.js.map +1 -1
- package/dist/esm/Tamagui.js +4 -7
- package/dist/esm/Tamagui.js.map +1 -1
- package/dist/esm/ThemeManager.js +3 -6
- package/dist/esm/ThemeManager.js.map +1 -1
- package/dist/esm/conf.js +11 -12
- package/dist/esm/conf.js.map +2 -2
- package/dist/esm/constants/rnw.js +1 -3
- package/dist/esm/constants/rnw.js.map +1 -1
- package/dist/esm/createComponent.js +15 -24
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createFont.js +2 -4
- package/dist/esm/createFont.js.map +1 -1
- package/dist/esm/createShorthands.js +0 -3
- package/dist/esm/createShorthands.js.map +1 -1
- package/dist/esm/createTamagui.js +4 -8
- package/dist/esm/createTamagui.js.map +1 -1
- package/dist/esm/createTheme.js +2 -4
- package/dist/esm/createTheme.js.map +1 -1
- package/dist/esm/createTokens.js +0 -3
- package/dist/esm/createTokens.js.map +1 -1
- package/dist/esm/createVariable.js +4 -11
- package/dist/esm/createVariable.js.map +1 -1
- package/dist/esm/createVariables.js +2 -4
- package/dist/esm/createVariables.js.map +1 -1
- package/dist/esm/helpers/areEqualSets.js +2 -4
- package/dist/esm/helpers/areEqualSets.js.map +1 -1
- package/dist/esm/helpers/calc.js +4 -6
- package/dist/esm/helpers/calc.js.map +1 -1
- package/dist/esm/helpers/createMediaStyle.js +2 -4
- package/dist/esm/helpers/createMediaStyle.js.map +1 -1
- package/dist/esm/helpers/createPropMapper.js +12 -16
- package/dist/esm/helpers/createPropMapper.js.map +1 -1
- package/dist/esm/helpers/createShallowUpdate.js +0 -3
- package/dist/esm/helpers/createShallowUpdate.js.map +1 -1
- package/dist/esm/helpers/createTamaguiProvider.js +2 -5
- package/dist/esm/helpers/createTamaguiProvider.js.map +1 -1
- package/dist/esm/helpers/extendStaticConfig.js +2 -5
- package/dist/esm/helpers/extendStaticConfig.js.map +1 -1
- package/dist/esm/helpers/fixNativeShadow.js +2 -4
- package/dist/esm/helpers/fixNativeShadow.js.map +1 -1
- package/dist/esm/helpers/fixNativeShadow.native.js +0 -3
- package/dist/esm/helpers/fixNativeShadow.native.js.map +1 -1
- package/dist/esm/helpers/generateAtomicStyles.js +11 -22
- package/dist/esm/helpers/generateAtomicStyles.js.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.js +0 -3
- package/dist/esm/helpers/getExpandedShorthands.js.map +1 -1
- package/dist/esm/helpers/getSize.js +4 -6
- package/dist/esm/helpers/getSize.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +8 -13
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getStackSize.js +2 -4
- package/dist/esm/helpers/getStackSize.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.js +0 -4
- package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.native.js +0 -3
- package/dist/esm/helpers/getStylesAtomic.native.js.map +1 -1
- package/dist/esm/helpers/getTextSize.js +2 -4
- package/dist/esm/helpers/getTextSize.js.map +1 -1
- package/dist/esm/helpers/getVariantExtras.js +0 -3
- package/dist/esm/helpers/getVariantExtras.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.js +3 -9
- package/dist/esm/helpers/insertStyleRule.js.map +1 -1
- package/dist/esm/helpers/isObj.js +1 -3
- package/dist/esm/helpers/isObj.js.map +1 -1
- package/dist/esm/helpers/isTamaguiComponent.js +0 -3
- package/dist/esm/helpers/isTamaguiComponent.js.map +1 -1
- package/dist/esm/helpers/isTamaguiElement.js +2 -4
- package/dist/esm/helpers/isTamaguiElement.js.map +1 -1
- package/dist/esm/helpers/matchMedia.js +2 -4
- package/dist/esm/helpers/matchMedia.js.map +1 -1
- package/dist/esm/helpers/matchMedia.native.js +1 -3
- package/dist/esm/helpers/matchMedia.native.js.map +1 -1
- package/dist/esm/helpers/mergeProps.js +2 -4
- package/dist/esm/helpers/mergeProps.js.map +1 -1
- package/dist/esm/helpers/mergeTransform.js +2 -4
- package/dist/esm/helpers/mergeTransform.js.map +1 -1
- package/dist/esm/helpers/proxyThemeVariables.js +1 -4
- package/dist/esm/helpers/proxyThemeVariables.js.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.js +2 -4
- package/dist/esm/helpers/registerCSSVariable.js.map +1 -1
- package/dist/esm/helpers/themeable.js +2 -5
- package/dist/esm/helpers/themeable.js.map +1 -1
- package/dist/esm/helpers/validate.js +6 -8
- package/dist/esm/helpers/validate.js.map +1 -1
- package/dist/esm/helpers/withStaticProperties.js +2 -4
- package/dist/esm/helpers/withStaticProperties.js.map +1 -1
- package/dist/esm/helpers/wrapThemeManagerContext.js +0 -3
- package/dist/esm/helpers/wrapThemeManagerContext.js.map +1 -1
- package/dist/esm/hooks/useConstant.js +0 -3
- package/dist/esm/hooks/useConstant.js.map +1 -1
- package/dist/esm/hooks/useFeatures.js +7 -14
- package/dist/esm/hooks/useFeatures.js.map +2 -2
- package/dist/esm/hooks/useId.js +0 -4
- package/dist/esm/hooks/useId.js.map +1 -1
- package/dist/esm/hooks/useIsMounted.js +0 -3
- package/dist/esm/hooks/useIsMounted.js.map +1 -1
- package/dist/esm/hooks/useIsTouchDevice.js +2 -4
- package/dist/esm/hooks/useIsTouchDevice.js.map +1 -1
- package/dist/esm/hooks/useMedia.js +11 -16
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/usePressable.js +2 -4
- package/dist/esm/hooks/usePressable.js.map +1 -1
- package/dist/esm/hooks/useTheme.js +10 -12
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/hooks/useUnmountEffect.js +0 -3
- package/dist/esm/hooks/useUnmountEffect.js.map +1 -1
- package/dist/esm/insertFont.js +1 -6
- package/dist/esm/insertFont.js.map +2 -2
- package/dist/esm/styled.js +0 -3
- package/dist/esm/styled.js.map +1 -1
- package/dist/esm/views/Slot.js +2 -6
- package/dist/esm/views/Slot.js.map +1 -1
- package/dist/esm/views/TextAncestorContext.js +2 -4
- package/dist/esm/views/TextAncestorContext.js.map +1 -1
- package/dist/esm/views/Theme.js +2 -4
- package/dist/esm/views/Theme.js.map +1 -1
- package/dist/esm/views/ThemeInverse.js +2 -5
- package/dist/esm/views/ThemeInverse.js.map +1 -1
- package/dist/esm/views/ThemeProvider.js +2 -4
- package/dist/esm/views/ThemeProvider.js.map +1 -1
- package/dist/esm/views/ThemeReset.js +2 -4
- package/dist/esm/views/ThemeReset.js.map +1 -1
- package/dist/jsx/Tamagui.js +4 -7
- package/dist/jsx/ThemeManager.js +3 -6
- package/dist/jsx/conf.js +11 -12
- package/dist/jsx/constants/rnw.js +1 -3
- package/dist/jsx/createComponent.js +15 -24
- package/dist/jsx/createFont.js +2 -4
- package/dist/jsx/createShorthands.js +0 -3
- package/dist/jsx/createTamagui.js +4 -8
- package/dist/jsx/createTheme.js +2 -4
- package/dist/jsx/createTokens.js +0 -3
- package/dist/jsx/createVariable.js +4 -11
- package/dist/jsx/createVariables.js +2 -4
- package/dist/jsx/helpers/areEqualSets.js +2 -4
- package/dist/jsx/helpers/calc.js +4 -6
- package/dist/jsx/helpers/createMediaStyle.js +2 -4
- package/dist/jsx/helpers/createPropMapper.js +12 -16
- package/dist/jsx/helpers/createShallowUpdate.js +0 -3
- package/dist/jsx/helpers/createTamaguiProvider.js +2 -5
- package/dist/jsx/helpers/extendStaticConfig.js +2 -5
- package/dist/jsx/helpers/fixNativeShadow.js +2 -4
- package/dist/jsx/helpers/fixNativeShadow.native.js +0 -3
- package/dist/jsx/helpers/generateAtomicStyles.js +11 -22
- package/dist/jsx/helpers/getExpandedShorthands.js +0 -3
- package/dist/jsx/helpers/getSize.js +4 -6
- package/dist/jsx/helpers/getSplitStyles.js +8 -13
- package/dist/jsx/helpers/getStackSize.js +2 -4
- package/dist/jsx/helpers/getStylesAtomic.js +0 -4
- package/dist/jsx/helpers/getStylesAtomic.native.js +0 -3
- package/dist/jsx/helpers/getTextSize.js +2 -4
- package/dist/jsx/helpers/getVariantExtras.js +0 -3
- package/dist/jsx/helpers/insertStyleRule.js +3 -9
- package/dist/jsx/helpers/isObj.js +1 -3
- package/dist/jsx/helpers/isTamaguiComponent.js +0 -3
- package/dist/jsx/helpers/isTamaguiElement.js +2 -4
- package/dist/jsx/helpers/matchMedia.js +2 -4
- package/dist/jsx/helpers/matchMedia.native.js +1 -3
- package/dist/jsx/helpers/mergeProps.js +2 -4
- package/dist/jsx/helpers/mergeTransform.js +2 -4
- package/dist/jsx/helpers/proxyThemeVariables.js +1 -4
- package/dist/jsx/helpers/registerCSSVariable.js +2 -4
- package/dist/jsx/helpers/themeable.js +2 -5
- package/dist/jsx/helpers/validate.js +6 -8
- package/dist/jsx/helpers/withStaticProperties.js +2 -4
- package/dist/jsx/helpers/wrapThemeManagerContext.js +0 -3
- package/dist/jsx/hooks/useConstant.js +0 -3
- package/dist/jsx/hooks/useFeatures.js +7 -14
- package/dist/jsx/hooks/useId.js +0 -4
- package/dist/jsx/hooks/useIsMounted.js +0 -3
- package/dist/jsx/hooks/useIsTouchDevice.js +2 -4
- package/dist/jsx/hooks/useMedia.js +11 -16
- package/dist/jsx/hooks/usePressable.js +2 -4
- package/dist/jsx/hooks/useTheme.js +10 -12
- package/dist/jsx/hooks/useUnmountEffect.js +0 -3
- package/dist/jsx/insertFont.js +1 -6
- package/dist/jsx/styled.js +0 -3
- package/dist/jsx/views/Slot.js +2 -6
- package/dist/jsx/views/TextAncestorContext.js +2 -4
- package/dist/jsx/views/Theme.js +2 -4
- package/dist/jsx/views/ThemeInverse.js +2 -5
- package/dist/jsx/views/ThemeProvider.js +2 -4
- package/dist/jsx/views/ThemeReset.js +2 -4
- package/package.json +6 -6
- package/types/conf.d.ts +1 -1
- package/types/conf.d.ts.map +1 -1
- package/types/types.d.ts +1 -0
- package/types/types.d.ts.map +1 -1
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
const allSelectors = {};
|
|
4
2
|
const insertedSelectors = {};
|
|
5
3
|
const insertedTransforms = {};
|
|
6
|
-
const getAllSelectors =
|
|
7
|
-
const getInsertedRules =
|
|
8
|
-
const getAllTransforms =
|
|
4
|
+
const getAllSelectors = () => allSelectors;
|
|
5
|
+
const getInsertedRules = () => Object.values(insertedSelectors);
|
|
6
|
+
const getAllTransforms = () => insertedTransforms;
|
|
9
7
|
function addTransform(identifier, css, rule) {
|
|
10
8
|
const s = css.indexOf("transform:");
|
|
11
9
|
if (s === -1) {
|
|
@@ -24,7 +22,6 @@ function addTransform(identifier, css, rule) {
|
|
|
24
22
|
const value = css.slice(startI, endI);
|
|
25
23
|
insertedTransforms[identifier] = value;
|
|
26
24
|
}
|
|
27
|
-
__name(addTransform, "addTransform");
|
|
28
25
|
const isClient = typeof document !== "undefined";
|
|
29
26
|
let hasInsertedSinceUpdate = true;
|
|
30
27
|
function updateInserted() {
|
|
@@ -64,7 +61,6 @@ function updateInserted() {
|
|
|
64
61
|
}
|
|
65
62
|
hasInsertedSinceUpdate = false;
|
|
66
63
|
}
|
|
67
|
-
__name(updateInserted, "updateInserted");
|
|
68
64
|
updateInserted();
|
|
69
65
|
const sheet = isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
|
|
70
66
|
function updateInsertedCache(identifier, rule) {
|
|
@@ -76,7 +72,6 @@ function updateInsertedCache(identifier, rule) {
|
|
|
76
72
|
addTransform(identifier, rule);
|
|
77
73
|
}
|
|
78
74
|
}
|
|
79
|
-
__name(updateInsertedCache, "updateInsertedCache");
|
|
80
75
|
function insertStyleRule(identifier, rule) {
|
|
81
76
|
if (allSelectors[identifier])
|
|
82
77
|
return;
|
|
@@ -85,7 +80,6 @@ function insertStyleRule(identifier, rule) {
|
|
|
85
80
|
allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule : true;
|
|
86
81
|
sheet == null ? void 0 : sheet.insertRule(rule, sheet.cssRules.length);
|
|
87
82
|
}
|
|
88
|
-
__name(insertStyleRule, "insertStyleRule");
|
|
89
83
|
export {
|
|
90
84
|
getAllSelectors,
|
|
91
85
|
getAllTransforms,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/insertStyleRule.tsx"],
|
|
4
4
|
"sourcesContent": ["// this needs to check if its inserted already? 99% of the time it is\n// this should avoid re-inserts, but need to test the perf trade-offs\n// i tested with the site itself and the initial insert was trivial\n\nconst allSelectors = {}\nconst insertedSelectors = {}\nexport const insertedTransforms = {}\n\nexport const getAllSelectors = () => allSelectors\nexport const getInsertedRules = () => Object.values(insertedSelectors)\nexport const getAllTransforms = () => insertedTransforms\n\n// keep transforms in map for merging later\nfunction addTransform(identifier: string, css: string, rule?: CSSRule) {\n const s = css.indexOf('transform:')\n if (s === -1) {\n if (process.env.NODE_ENV === 'development') {\n console.groupCollapsed(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`)\n console.log('rule:', rule)\n console.trace()\n console.groupEnd()\n } else {\n console.error(`Missing transform`, identifier, css, rule)\n }\n return\n }\n const startI = s + 'transform:'.length\n const endI = css.indexOf(';')\n const value = css.slice(startI, endI)\n insertedTransforms[identifier] = value\n}\n\nconst isClient = typeof document !== 'undefined'\n\n// gets existing ones (client side)\n// takes ~0.1ms for a fairly large page\n// used now for three things:\n// 1. debugging at dev time\n// 2. avoid duplicate insert styles at runtime\n// 3. used now for merging transforms atomically\nlet hasInsertedSinceUpdate = true\n\nexport function updateInserted() {\n if (process.env.NODE_ENV === 'test') return\n if (!isClient) return\n if (!hasInsertedSinceUpdate) {\n console.warn('hasnt inserted since')\n return\n }\n const sheets = document.styleSheets\n if (!sheets) return\n for (let i = 0; i < sheets.length; i++) {\n const rules = sheets[i].cssRules\n const firstRule = rules[0]\n if (!(firstRule instanceof CSSStyleRule)) continue\n const firstSelector = firstRule.selectorText\n if (!firstSelector) continue\n if (firstSelector === ':root' || firstSelector.startsWith('._')) {\n for (let i = 0; i < rules.length; i++) {\n const rule = rules.item(i)\n if (!(rule instanceof CSSStyleRule)) continue\n const identifier = rule.selectorText.slice(1)\n if (!allSelectors[identifier]) {\n allSelectors[identifier] = process.env.NODE_ENV === 'development' ? rule.cssText : true\n if (identifier.startsWith('_transform')) {\n addTransform(identifier, rule.cssText, rule)\n }\n }\n }\n }\n }\n hasInsertedSinceUpdate = false\n}\n\nupdateInserted()\n\nconst sheet = isClient ? document.head.appendChild(document.createElement('style')).sheet : null\n\nexport function updateInsertedCache(identifier: string, rule: string) {\n if (insertedSelectors[identifier]) return\n insertedSelectors[identifier] = rule\n const isTransform = identifier.startsWith('_transform')\n if (isTransform) {\n addTransform(identifier, rule)\n }\n}\n\nexport function insertStyleRule(identifier: string, rule: string) {\n if (allSelectors[identifier]) return\n hasInsertedSinceUpdate = true\n updateInsertedCache(identifier, rule)\n allSelectors[identifier] = process.env.NODE_ENV === 'development' ? rule : true\n sheet?.insertRule(rule, sheet.cssRules.length)\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAIA,MAAM,eAAe,CAAC;AACtB,MAAM,oBAAoB,CAAC;AACpB,MAAM,qBAAqB,CAAC;AAE5B,MAAM,kBAAkB,MAAM;AAC9B,MAAM,mBAAmB,MAAM,OAAO,OAAO,iBAAiB;AAC9D,MAAM,mBAAmB,MAAM;AAGtC,sBAAsB,YAAoB,KAAa,MAAgB;AACrE,QAAM,IAAI,IAAI,QAAQ,YAAY;AAClC,MAAI,MAAM,IAAI;AACZ,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ,eAAe,0DAAqD,YAAY;AACxF,cAAQ,IAAI,SAAS,IAAI;AACzB,cAAQ,MAAM;AACd,cAAQ,SAAS;AAAA,IACnB,OAAO;AACL,cAAQ,MAAM,qBAAqB,YAAY,KAAK,IAAI;AAAA,IAC1D;AACA;AAAA,EACF;AACA,QAAM,SAAS,IAAI,aAAa;AAChC,QAAM,OAAO,IAAI,QAAQ,GAAG;AAC5B,QAAM,QAAQ,IAAI,MAAM,QAAQ,IAAI;AACpC,qBAAmB,cAAc;AACnC;AAEA,MAAM,WAAW,OAAO,aAAa;AAQrC,IAAI,yBAAyB;AAEtB,0BAA0B;AAC/B,MAAI,QAAQ,IAAI,aAAa;AAAQ;AACrC,MAAI,CAAC;AAAU;AACf,MAAI,CAAC,wBAAwB;AAC3B,YAAQ,KAAK,sBAAsB;AACnC;AAAA,EACF;AACA,QAAM,SAAS,SAAS;AACxB,MAAI,CAAC;AAAQ;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,QAAQ,OAAO,GAAG;AACxB,UAAM,YAAY,MAAM;AACxB,QAAI,CAAE,sBAAqB;AAAe;AAC1C,UAAM,gBAAgB,UAAU;AAChC,QAAI,CAAC;AAAe;AACpB,QAAI,kBAAkB,WAAW,cAAc,WAAW,IAAI,GAAG;AAC/D,eAAS,KAAI,GAAG,KAAI,MAAM,QAAQ,MAAK;AACrC,cAAM,OAAO,MAAM,KAAK,EAAC;AACzB,YAAI,CAAE,iBAAgB;AAAe;AACrC,cAAM,aAAa,KAAK,aAAa,MAAM,CAAC;AAC5C,YAAI,CAAC,aAAa,aAAa;AAC7B,uBAAa,cAAc,QAAQ,IAAI,aAAa,gBAAgB,KAAK,UAAU;AACnF,cAAI,WAAW,WAAW,YAAY,GAAG;AACvC,yBAAa,YAAY,KAAK,SAAS,IAAI;AAAA,UAC7C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,2BAAyB;AAC3B;AAEA,eAAe;AAEf,MAAM,QAAQ,WAAW,SAAS,KAAK,YAAY,SAAS,cAAc,OAAO,CAAC,EAAE,QAAQ;AAErF,6BAA6B,YAAoB,MAAc;AACpE,MAAI,kBAAkB;AAAa;AACnC,oBAAkB,cAAc;AAChC,QAAM,cAAc,WAAW,WAAW,YAAY;AACtD,MAAI,aAAa;AACf,iBAAa,YAAY,IAAI;AAAA,EAC/B;AACF;AAEO,yBAAyB,YAAoB,MAAc;AAChE,MAAI,aAAa;AAAa;AAC9B,2BAAyB;AACzB,sBAAoB,YAAY,IAAI;AACpC,eAAa,cAAc,QAAQ,IAAI,aAAa,gBAAgB,OAAO;AAC3E,iCAAO,WAAW,MAAM,MAAM,SAAS;AACzC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const isObj = /* @__PURE__ */ __name((x) => x && !Array.isArray(x) && typeof x === "object", "isObj");
|
|
1
|
+
const isObj = (x) => x && !Array.isArray(x) && typeof x === "object";
|
|
4
2
|
export {
|
|
5
3
|
isObj
|
|
6
4
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/isObj.ts"],
|
|
4
4
|
"sourcesContent": ["export const isObj = (x: any) => x && !Array.isArray(x) && typeof x === 'object'\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAO,MAAM,QAAQ,CAAC,MAAW,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,OAAO,MAAM;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
function isTamaguiComponent(comp, name) {
|
|
4
2
|
const config = comp && comp["staticConfig"];
|
|
5
3
|
if (!config || !config.parsed)
|
|
@@ -9,7 +7,6 @@ function isTamaguiComponent(comp, name) {
|
|
|
9
7
|
}
|
|
10
8
|
return true;
|
|
11
9
|
}
|
|
12
|
-
__name(isTamaguiComponent, "isTamaguiComponent");
|
|
13
10
|
export {
|
|
14
11
|
isTamaguiComponent
|
|
15
12
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/isTamaguiComponent.tsx"],
|
|
4
4
|
"sourcesContent": ["import { StaticConfig, StaticConfigParsed } from '../types'\n\nexport function isTamaguiComponent<A extends any>(\n comp: A,\n name?: string\n): comp is A & {\n staticConfig: StaticConfig\n} {\n const config = comp && (comp['staticConfig'] as StaticConfigParsed | undefined)\n if (!config || !config.parsed) return false\n if (name) {\n return name === config.componentName\n }\n return true\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAEO,4BACL,MACA,MAGA;AACA,QAAM,SAAS,QAAS,KAAK;AAC7B,MAAI,CAAC,UAAU,CAAC,OAAO;AAAQ,WAAO;AACtC,MAAI,MAAM;AACR,WAAO,SAAS,OAAO;AAAA,EACzB;AACA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import { isValidElement } from "react";
|
|
4
2
|
import { isTamaguiComponent } from "./isTamaguiComponent";
|
|
5
|
-
const isTamaguiElement =
|
|
3
|
+
const isTamaguiElement = (child, name) => {
|
|
6
4
|
return isValidElement(child) && isTamaguiComponent(child.type, name);
|
|
7
|
-
}
|
|
5
|
+
};
|
|
8
6
|
export {
|
|
9
7
|
isTamaguiElement
|
|
10
8
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/isTamaguiElement.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { isValidElement } from 'react'\n\nimport { isTamaguiComponent } from './isTamaguiComponent'\n\nexport const isTamaguiElement = (child: any, name?: string): child is React.ReactElement => {\n return isValidElement(child) && isTamaguiComponent(child.type, name)\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;AAEA;AAEO,MAAM,mBAAmB,CAAC,OAAY,SAA+C;AAC1F,SAAO,eAAe,KAAK,KAAK,mBAAmB,MAAM,MAAM,IAAI;AACrE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__PURE__ */ __name(function matchMediaFallback(query) {
|
|
1
|
+
const matchMedia = typeof window !== "undefined" && window.matchMedia || function matchMediaFallback(query) {
|
|
4
2
|
return {
|
|
5
3
|
addListener() {
|
|
6
4
|
if (process.env.NODE_ENV === "development" && !process.env.IS_STATIC && process.env.TAMAGUI_TARGET !== "web") {
|
|
@@ -11,7 +9,7 @@ const matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__P
|
|
|
11
9
|
},
|
|
12
10
|
matches: false
|
|
13
11
|
};
|
|
14
|
-
}
|
|
12
|
+
};
|
|
15
13
|
export {
|
|
16
14
|
matchMedia
|
|
17
15
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/matchMedia.ts"],
|
|
4
4
|
"sourcesContent": ["export const matchMedia =\n (typeof window !== 'undefined' && window.matchMedia) ||\n (function matchMediaFallback(query: string) {\n return {\n addListener() {\n if (\n process.env.NODE_ENV === 'development' &&\n !process.env.IS_STATIC &&\n process.env.TAMAGUI_TARGET !== 'web'\n ) {\n console.log('warning: matchMedia not loading! Is native picking up .native.js files?')\n }\n },\n removeListener() {},\n matches: false,\n }\n } as any)\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAO,MAAM,aACV,OAAO,WAAW,eAAe,OAAO,cACxC,4BAA4B,OAAe;AAC1C,SAAO;AAAA,IACL,cAAc;AACZ,UACE,QAAQ,IAAI,aAAa,iBACzB,CAAC,QAAQ,IAAI,aACb,QAAQ,IAAI,mBAAmB,OAC/B;AACA,gBAAQ,IAAI,yEAAyE;AAAA,MACvF;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,IAAC;AAAA,IAClB,SAAS;AAAA,EACX;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import MediaQueryList from "@expo/match-media/build/MediaQueryList.js";
|
|
4
|
-
const matchMedia =
|
|
2
|
+
const matchMedia = (media) => new MediaQueryList(media);
|
|
5
3
|
globalThis["matchMedia"] = matchMedia;
|
|
6
4
|
export {
|
|
7
5
|
matchMedia
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/matchMedia.native.ts"],
|
|
4
4
|
"sourcesContent": ["import MediaQueryList from '@expo/match-media/build/MediaQueryList.js'\n\nexport const matchMedia = (media: string) => new MediaQueryList(media)\n\n// @ts-ignore\nglobalThis['matchMedia'] = matchMedia\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;AAEO,MAAM,aAAa,CAAC,UAAkB,IAAI,eAAe,KAAK;AAGrE,WAAW,gBAAgB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const mergeProps = /* @__PURE__ */ __name((a, b) => {
|
|
1
|
+
const mergeProps = (a, b) => {
|
|
4
2
|
const out = {};
|
|
5
3
|
for (const key in a) {
|
|
6
4
|
if (!(key in b)) {
|
|
@@ -11,7 +9,7 @@ const mergeProps = /* @__PURE__ */ __name((a, b) => {
|
|
|
11
9
|
out[key] = b[key];
|
|
12
10
|
}
|
|
13
11
|
return out;
|
|
14
|
-
}
|
|
12
|
+
};
|
|
15
13
|
export {
|
|
16
14
|
mergeProps
|
|
17
15
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/mergeProps.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Preserves prop ordering, so that the order most closely matches the last spread objects\n * Useful for having { ...defaultProps, ...props } that ensure props ordering is always kept\n *\n * Given:\n * mergeProps({ a: 1, b: 2 }, { b: 1, a: 2 })\n * The final key order will be:\n * b, a\n */\n\nexport const mergeProps = (a: Object, b: Object) => {\n const out = {}\n\n for (const key in a) {\n if (!(key in b)) {\n out[key] = a[key]\n }\n }\n\n for (const key in b) {\n out[key] = b[key]\n }\n\n return out\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAUO,MAAM,aAAa,CAAC,GAAW,MAAc;AAClD,QAAM,MAAM,CAAC;AAEb,aAAW,OAAO,GAAG;AACnB,QAAI,CAAE,QAAO,IAAI;AACf,UAAI,OAAO,EAAE;AAAA,IACf;AAAA,EACF;AAEA,aAAW,OAAO,GAAG;AACnB,QAAI,OAAO,EAAE;AAAA,EACf;AAEA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const mergeTransform = /* @__PURE__ */ __name((obj, key, val, backwards = false) => {
|
|
1
|
+
const mergeTransform = (obj, key, val, backwards = false) => {
|
|
4
2
|
obj.transform || (obj.transform = []);
|
|
5
3
|
obj.transform[backwards ? "unshift" : "push"]({ [mapTransformKeys[key] || key]: val });
|
|
6
|
-
}
|
|
4
|
+
};
|
|
7
5
|
const mapTransformKeys = {
|
|
8
6
|
x: "translateX",
|
|
9
7
|
y: "translateY"
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/mergeTransform.ts"],
|
|
4
4
|
"sourcesContent": ["import { ViewStyle } from 'react-native'\n\nexport const mergeTransform = (obj: ViewStyle, key: string, val: any, backwards = false) => {\n obj.transform ||= []\n obj.transform[backwards ? 'unshift' : 'push']({ [mapTransformKeys[key] || key]: val } as any)\n}\nconst mapTransformKeys = {\n x: 'translateX',\n y: 'translateY',\n}\nexport const invertMapTransformKeys = {\n translateX: 'x',\n translateY: 'y',\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAEO,MAAM,iBAAiB,CAAC,KAAgB,KAAa,KAAU,YAAY,UAAU;AAC1F,MAAI,aAAJ,KAAI,YAAc,CAAC;AACnB,MAAI,UAAU,YAAY,YAAY,QAAQ,EAAE,CAAC,iBAAiB,QAAQ,MAAM,IAAI,CAAQ;AAC9F;AACA,MAAM,mBAAmB;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AACL;AACO,MAAM,yBAAyB;AAAA,EACpC,YAAY;AAAA,EACZ,YAAY;AACd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
function proxyThemeVariables(obj) {
|
|
4
2
|
return new Proxy(obj, {
|
|
5
3
|
has(target, key) {
|
|
@@ -10,8 +8,7 @@ function proxyThemeVariables(obj) {
|
|
|
10
8
|
}
|
|
11
9
|
});
|
|
12
10
|
}
|
|
13
|
-
|
|
14
|
-
const removeStarting$ = /* @__PURE__ */ __name((str) => typeof str === "string" && str[0] === "$" ? str.slice(1) : str, "removeStarting$");
|
|
11
|
+
const removeStarting$ = (str) => typeof str === "string" && str[0] === "$" ? str.slice(1) : str;
|
|
15
12
|
export {
|
|
16
13
|
proxyThemeVariables
|
|
17
14
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/proxyThemeVariables.tsx"],
|
|
4
4
|
"sourcesContent": ["export function proxyThemeVariables<A extends Object>(obj: A): A {\n return new Proxy<A>(obj, {\n has(target, key) {\n return Reflect.has(target, removeStarting$(key))\n },\n get(target, key) {\n return Reflect.get(target, removeStarting$(key))\n },\n })\n}\n\nconst removeStarting$ = (str: string | symbol) =>\n typeof str === 'string' && str[0] === '$' ? str.slice(1) : str\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAO,6BAA+C,KAAW;AAC/D,SAAO,IAAI,MAAS,KAAK;AAAA,IACvB,IAAI,QAAQ,KAAK;AACf,aAAO,QAAQ,IAAI,QAAQ,gBAAgB,GAAG,CAAC;AAAA,IACjD;AAAA,IACA,IAAI,QAAQ,KAAK;AACf,aAAO,QAAQ,IAAI,QAAQ,gBAAgB,GAAG,CAAC;AAAA,IACjD;AAAA,EACF,CAAC;AACH;AAEA,MAAM,kBAAkB,CAAC,QACvB,OAAO,QAAQ,YAAY,IAAI,OAAO,MAAM,IAAI,MAAM,CAAC,IAAI;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import { createCSSVariable } from "../createVariable";
|
|
4
|
-
const registerCSSVariable =
|
|
2
|
+
const registerCSSVariable = (v) => {
|
|
5
3
|
tokensValueToVariable.set(v.val, v);
|
|
6
4
|
const val = `--${createCSSVariable(v.name, false)}:${typeof v.val === "number" ? `${v.val}px` : v.val}`;
|
|
7
5
|
tokenRules.add(val);
|
|
8
6
|
return val;
|
|
9
|
-
}
|
|
7
|
+
};
|
|
10
8
|
const tokensValueToVariable = /* @__PURE__ */ new Map();
|
|
11
9
|
const tokenRules = /* @__PURE__ */ new Set();
|
|
12
10
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/registerCSSVariable.ts"],
|
|
4
4
|
"sourcesContent": ["import { Variable, createCSSVariable } from '../createVariable'\n\nexport const registerCSSVariable = (v: Variable) => {\n tokensValueToVariable.set(v.val, v)\n const val = `--${createCSSVariable(v.name, false)}:${\n typeof v.val === 'number' ? `${v.val}px` : v.val\n }`\n tokenRules.add(val)\n return val\n}\n\nexport const tokensValueToVariable = new Map<string, Variable>()\nexport const tokenRules = new Set<string>()\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;AAEO,MAAM,sBAAsB,CAAC,MAAgB;AAClD,wBAAsB,IAAI,EAAE,KAAK,CAAC;AAClC,QAAM,MAAM,KAAK,kBAAkB,EAAE,MAAM,KAAK,KAC9C,OAAO,EAAE,QAAQ,WAAW,GAAG,EAAE,UAAU,EAAE;AAE/C,aAAW,IAAI,GAAG;AAClB,SAAO;AACT;AAEO,MAAM,wBAAwB,oBAAI,IAAsB;AACxD,MAAM,aAAa,oBAAI,IAAY;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import React, { forwardRef } from "react";
|
|
4
2
|
import { Theme } from "../views/Theme";
|
|
5
3
|
import { ThemeInverse } from "../views/ThemeInverse";
|
|
6
4
|
function themeable(component, opts) {
|
|
7
|
-
const withThemeComponent = forwardRef(
|
|
5
|
+
const withThemeComponent = forwardRef(function WithTheme(props, ref) {
|
|
8
6
|
const { themeInverse, theme, ...rest } = props;
|
|
9
7
|
const element = React.createElement(component, { ...rest, ref });
|
|
10
8
|
if (themeInverse) {
|
|
@@ -17,12 +15,11 @@ function themeable(component, opts) {
|
|
|
17
15
|
}, element);
|
|
18
16
|
}
|
|
19
17
|
return element;
|
|
20
|
-
}
|
|
18
|
+
});
|
|
21
19
|
const withTheme = withThemeComponent;
|
|
22
20
|
withTheme.displayName = `Themed(${(component == null ? void 0 : component.displayName) || (component == null ? void 0 : component.name) || "Anonymous"})`;
|
|
23
21
|
return withTheme;
|
|
24
22
|
}
|
|
25
|
-
__name(themeable, "themeable");
|
|
26
23
|
export {
|
|
27
24
|
themeable
|
|
28
25
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/themeable.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { forwardRef } from 'react'\n\nimport { ThemeName } from '../types'\nimport { Theme } from '../views/Theme'\nimport { ThemeInverse } from '../views/ThemeInverse'\n\nexport type ThemeableProps = {\n theme?: ThemeName | string | null\n themeInverse?: boolean\n}\n\nexport function themeable<Component extends (props: any) => any>(\n component: Component,\n opts?: { componentName?: string }\n) {\n const withThemeComponent = forwardRef(function WithTheme(props: any, ref) {\n const { themeInverse, theme, ...rest } = props\n const element = React.createElement(component, { ...rest, ref } as any)\n if (themeInverse) {\n return <ThemeInverse>{element}</ThemeInverse>\n }\n if (theme || opts) {\n return (\n <Theme componentName={opts?.componentName} name={(theme as any) || null}>\n {element}\n </Theme>\n )\n }\n return element\n })\n\n const withTheme: any = withThemeComponent\n withTheme.displayName = `Themed(${\n (component as any)?.displayName || (component as any)?.name || 'Anonymous'\n })`\n\n return withTheme as Component extends (props: infer P) => infer R\n ? (\n props: Omit<P, 'theme' | 'themeInverse'> & {\n theme?: ThemeName | null\n themeInverse?: boolean\n }\n ) => R\n : unknown\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;AAGA;AACA;AAOO,mBACL,WACA,MACA;AACA,QAAM,qBAAqB,WAAW,mBAAmB,OAAY,KAAK;AACxE,UAAM,EAAE,cAAc,UAAU,SAAS;AACzC,UAAM,UAAU,MAAM,cAAc,WAAW,EAAE,GAAG,MAAM,IAAI,CAAQ;AACtE,QAAI,cAAc;AAChB,aAAO,oCAAC,oBAAc,OAAQ;AAAA,IAChC;AACA,QAAI,SAAS,MAAM;AACjB,aACE,oCAAC;AAAA,QAAM,eAAe,6BAAM;AAAA,QAAe,MAAO,SAAiB;AAAA,SAChE,OACH;AAAA,IAEJ;AACA,WAAO;AAAA,EACT,CAAC;AAED,QAAM,YAAiB;AACvB,YAAU,cAAc,UACrB,wCAAmB,gBAAgB,wCAAmB,SAAQ;AAGjE,SAAO;AAQT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
const { default: ow } = require("@tamagui/ow/dev-only");
|
|
4
2
|
let Config;
|
|
5
3
|
let Tokens;
|
|
6
4
|
let FontRequired;
|
|
7
5
|
let FontOptional;
|
|
8
|
-
const validateConfig =
|
|
6
|
+
const validateConfig = (conf) => {
|
|
9
7
|
if (!conf) {
|
|
10
8
|
console.warn("no conf?");
|
|
11
9
|
return;
|
|
@@ -15,15 +13,15 @@ const validateConfig = /* @__PURE__ */ __name((conf) => {
|
|
|
15
13
|
} catch (err) {
|
|
16
14
|
console.warn("Given config:\n", JSON.stringify(conf, null, 2), err);
|
|
17
15
|
}
|
|
18
|
-
}
|
|
19
|
-
const validateTokens =
|
|
16
|
+
};
|
|
17
|
+
const validateTokens = (tokens) => {
|
|
20
18
|
try {
|
|
21
19
|
ow(tokens, Tokens);
|
|
22
20
|
} catch (err) {
|
|
23
21
|
console.warn("Given tokens:\n", JSON.stringify(tokens, null, 2), err);
|
|
24
22
|
}
|
|
25
|
-
}
|
|
26
|
-
const validateFont =
|
|
23
|
+
};
|
|
24
|
+
const validateFont = (font) => {
|
|
27
25
|
try {
|
|
28
26
|
const { style, transform, color, ...required } = font;
|
|
29
27
|
ow(required, FontRequired);
|
|
@@ -31,7 +29,7 @@ const validateFont = /* @__PURE__ */ __name((font) => {
|
|
|
31
29
|
} catch (err) {
|
|
32
30
|
console.warn("Given font:\n", JSON.stringify(font, null, 2), err);
|
|
33
31
|
}
|
|
34
|
-
}
|
|
32
|
+
};
|
|
35
33
|
if (process.env.NODE_ENV === "development") {
|
|
36
34
|
const fontReq = {
|
|
37
35
|
family: ow.string,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/validate.ts"],
|
|
4
4
|
"sourcesContent": ["// published a patched version that works on native\n// @ts-ignore\nconst { default: ow } = require('@tamagui/ow/dev-only')\n\nlet Config: any\nlet Tokens: any\nlet FontRequired: any\nlet FontOptional: any\n\nexport const validateConfig = (conf: any) => {\n if (!conf) {\n console.warn('no conf?')\n return\n }\n try {\n ow(conf, Config)\n } catch (err: any) {\n console.warn('Given config:\\n', JSON.stringify(conf, null, 2), err)\n }\n}\n\nexport const validateTokens = (tokens: any) => {\n try {\n ow(tokens, Tokens)\n } catch (err: any) {\n console.warn('Given tokens:\\n', JSON.stringify(tokens, null, 2), err)\n }\n}\n\nexport const validateFont = (font: any) => {\n try {\n const { style, transform, color, ...required } = font\n ow(required, FontRequired)\n ow({ style, transform, color }, FontOptional)\n } catch (err: any) {\n console.warn('Given font:\\n', JSON.stringify(font, null, 2), err)\n }\n}\n\nif (process.env.NODE_ENV === 'development') {\n const fontReq = {\n family: ow.string,\n size: ow.object.nonEmpty.valuesOfType(ow.number),\n lineHeight: ow.object.nonEmpty.valuesOfType(ow.number),\n weight: ow.object.nonEmpty.valuesOfType(ow.string),\n letterSpacing: ow.object.nonEmpty.valuesOfType(ow.number),\n }\n const fontOpt = {\n style: ow.optional.object.valuesOfType(ow.string),\n transform: ow.optional.object.valuesOfType(ow.string),\n color: ow.optional.object.valuesOfType(ow.any(ow.string, ow.object)),\n }\n\n Config = ow.object.exactShape({\n defaultTheme: ow.optional.string,\n disableRootThemeClass: ow.optional.boolean,\n shorthands: ow.optional.object.valuesOfType(ow.string),\n themes: ow.object.valuesOfType(ow.object),\n tokens: ow.object.valuesOfType(ow.object),\n media: ow.object.valuesOfType(ow.object),\n animations: ow.object.valuesOfType(ow.object),\n fonts: ow.object.valuesOfType(\n ow.object.partialShape({\n ...fontReq,\n ...fontOpt,\n })\n ),\n })\n\n FontRequired = ow.object.exactShape(fontReq)\n FontOptional = ow.object.partialShape(fontOpt)\n\n Tokens = ow.object.exactShape({\n size: ow.object.nonEmpty.valuesOfType(ow.any(ow.number, ow.object)),\n space: ow.object.nonEmpty.valuesOfType(ow.any(ow.number, ow.object)),\n zIndex: ow.object.nonEmpty.valuesOfType(ow.any(ow.number, ow.object)),\n radius: ow.object.nonEmpty.valuesOfType(ow.any(ow.number, ow.object)),\n color: ow.object.nonEmpty.valuesOfType(ow.any(ow.string, ow.object)),\n })\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAEA,MAAM,EAAE,SAAS,OAAO,QAAQ,sBAAsB;AAEtD,IAAI;AACJ,IAAI;AACJ,IAAI;AACJ,IAAI;AAEG,MAAM,iBAAiB,CAAC,SAAc;AAC3C,MAAI,CAAC,MAAM;AACT,YAAQ,KAAK,UAAU;AACvB;AAAA,EACF;AACA,MAAI;AACF,OAAG,MAAM,MAAM;AAAA,EACjB,SAAS,KAAP;AACA,YAAQ,KAAK,mBAAmB,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,GAAG;AAAA,EACpE;AACF;AAEO,MAAM,iBAAiB,CAAC,WAAgB;AAC7C,MAAI;AACF,OAAG,QAAQ,MAAM;AAAA,EACnB,SAAS,KAAP;AACA,YAAQ,KAAK,mBAAmB,KAAK,UAAU,QAAQ,MAAM,CAAC,GAAG,GAAG;AAAA,EACtE;AACF;AAEO,MAAM,eAAe,CAAC,SAAc;AACzC,MAAI;AACF,UAAM,EAAE,OAAO,WAAW,UAAU,aAAa;AACjD,OAAG,UAAU,YAAY;AACzB,OAAG,EAAE,OAAO,WAAW,MAAM,GAAG,YAAY;AAAA,EAC9C,SAAS,KAAP;AACA,YAAQ,KAAK,iBAAiB,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,GAAG;AAAA,EAClE;AACF;AAEA,IAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAM,UAAU;AAAA,IACd,QAAQ,GAAG;AAAA,IACX,MAAM,GAAG,OAAO,SAAS,aAAa,GAAG,MAAM;AAAA,IAC/C,YAAY,GAAG,OAAO,SAAS,aAAa,GAAG,MAAM;AAAA,IACrD,QAAQ,GAAG,OAAO,SAAS,aAAa,GAAG,MAAM;AAAA,IACjD,eAAe,GAAG,OAAO,SAAS,aAAa,GAAG,MAAM;AAAA,EAC1D;AACA,QAAM,UAAU;AAAA,IACd,OAAO,GAAG,SAAS,OAAO,aAAa,GAAG,MAAM;AAAA,IAChD,WAAW,GAAG,SAAS,OAAO,aAAa,GAAG,MAAM;AAAA,IACpD,OAAO,GAAG,SAAS,OAAO,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAAA,EACrE;AAEA,WAAS,GAAG,OAAO,WAAW;AAAA,IAC5B,cAAc,GAAG,SAAS;AAAA,IAC1B,uBAAuB,GAAG,SAAS;AAAA,IACnC,YAAY,GAAG,SAAS,OAAO,aAAa,GAAG,MAAM;AAAA,IACrD,QAAQ,GAAG,OAAO,aAAa,GAAG,MAAM;AAAA,IACxC,QAAQ,GAAG,OAAO,aAAa,GAAG,MAAM;AAAA,IACxC,OAAO,GAAG,OAAO,aAAa,GAAG,MAAM;AAAA,IACvC,YAAY,GAAG,OAAO,aAAa,GAAG,MAAM;AAAA,IAC5C,OAAO,GAAG,OAAO,aACf,GAAG,OAAO,aAAa;AAAA,MACrB,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC,CACH;AAAA,EACF,CAAC;AAED,iBAAe,GAAG,OAAO,WAAW,OAAO;AAC3C,iBAAe,GAAG,OAAO,aAAa,OAAO;AAE7C,WAAS,GAAG,OAAO,WAAW;AAAA,IAC5B,MAAM,GAAG,OAAO,SAAS,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAAA,IAClE,OAAO,GAAG,OAAO,SAAS,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAAA,IACnE,QAAQ,GAAG,OAAO,SAAS,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAAA,IACpE,QAAQ,GAAG,OAAO,SAAS,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAAA,IACpE,OAAO,GAAG,OAAO,SAAS,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAAA,EACrE,CAAC;AACH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const withStaticProperties = /* @__PURE__ */ __name(function(component, staticProps) {
|
|
1
|
+
const withStaticProperties = function(component, staticProps) {
|
|
4
2
|
Object.assign(component, staticProps);
|
|
5
3
|
return component;
|
|
6
|
-
}
|
|
4
|
+
};
|
|
7
5
|
export {
|
|
8
6
|
withStaticProperties
|
|
9
7
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/withStaticProperties.tsx"],
|
|
4
4
|
"sourcesContent": ["export const withStaticProperties = function <A extends Function, B>(\n component: A,\n staticProps: B\n): A & B {\n Object.assign(component, staticProps)\n return component as any\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAO,MAAM,uBAAuB,SAClC,WACA,aACO;AACP,SAAO,OAAO,WAAW,WAAW;AACpC,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import React from "react";
|
|
4
2
|
import { ThemeManagerContext } from "../ThemeManager";
|
|
5
3
|
function wrapThemeManagerContext(children, themeManager) {
|
|
@@ -7,7 +5,6 @@ function wrapThemeManagerContext(children, themeManager) {
|
|
|
7
5
|
value: themeManager
|
|
8
6
|
}, children) : children;
|
|
9
7
|
}
|
|
10
|
-
__name(wrapThemeManagerContext, "wrapThemeManagerContext");
|
|
11
8
|
export {
|
|
12
9
|
wrapThemeManagerContext
|
|
13
10
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/wrapThemeManagerContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import React from 'react'\n\nimport { ThemeManager, ThemeManagerContext } from '../ThemeManager'\n\nexport function wrapThemeManagerContext(children: any, themeManager?: ThemeManager | null) {\n return themeManager ? (\n <ThemeManagerContext.Provider value={themeManager}>{children}</ThemeManagerContext.Provider>\n ) : (\n children\n )\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;AAEA;AAEO,iCAAiC,UAAe,cAAoC;AACzF,SAAO,eACL,oCAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KAAe,QAAS,IAE7D;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import { useRef } from "react";
|
|
4
2
|
function useConstant(fn) {
|
|
5
3
|
const ref = useRef();
|
|
@@ -8,7 +6,6 @@ function useConstant(fn) {
|
|
|
8
6
|
}
|
|
9
7
|
return ref.current.v;
|
|
10
8
|
}
|
|
11
|
-
__name(useConstant, "useConstant");
|
|
12
9
|
export {
|
|
13
10
|
useConstant
|
|
14
11
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useConstant.tsx"],
|
|
4
4
|
"sourcesContent": ["import { useRef } from 'react'\n\ntype ResultBox<T> = { v: T }\nexport function useConstant<T>(fn: () => T): T {\n const ref = useRef<ResultBox<T>>()\n if (!ref.current) {\n ref.current = { v: fn() }\n }\n return ref.current.v\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;AAGO,qBAAwB,IAAgB;AAC7C,QAAM,MAAM,OAAqB;AACjC,MAAI,CAAC,IAAI,SAAS;AAChB,QAAI,UAAU,EAAE,GAAG,GAAG,EAAE;AAAA,EAC1B;AACA,SAAO,IAAI,QAAQ;AACrB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import React from "react";
|
|
4
2
|
import { useIsomorphicLayoutEffect } from "../constants/platform";
|
|
5
3
|
import { getSubStyle } from "../helpers/getSplitStyles";
|
|
6
4
|
import { addMediaQueryListener, mediaState, removeMediaQueryListener } from "./useMedia";
|
|
7
|
-
const createDefinition =
|
|
5
|
+
const createDefinition = ({
|
|
8
6
|
Component,
|
|
9
7
|
propNames
|
|
10
8
|
}) => ({
|
|
11
9
|
isEnabled: (props) => propNames.some((name) => !!props[name]),
|
|
12
10
|
Component
|
|
13
|
-
})
|
|
11
|
+
});
|
|
14
12
|
let featureDefinitions = null;
|
|
15
|
-
const useFeatures =
|
|
13
|
+
const useFeatures = (props, utils) => {
|
|
16
14
|
if (!featureDefinitions) {
|
|
17
15
|
featureDefinitions = loadFeatures();
|
|
18
16
|
}
|
|
@@ -33,14 +31,13 @@ const useFeatures = /* @__PURE__ */ __name((props, utils) => {
|
|
|
33
31
|
elements,
|
|
34
32
|
enabled
|
|
35
33
|
};
|
|
36
|
-
}
|
|
34
|
+
};
|
|
37
35
|
function loadFeatures() {
|
|
38
36
|
return {
|
|
39
37
|
animation: loadAnimationFeature(),
|
|
40
38
|
mediaQuery: loadMediaQueryFeature()
|
|
41
39
|
};
|
|
42
40
|
}
|
|
43
|
-
__name(loadFeatures, "loadFeatures");
|
|
44
41
|
function loadAnimationFeature() {
|
|
45
42
|
return createDefinition({
|
|
46
43
|
Component: ({ _utils, ...props }) => {
|
|
@@ -64,11 +61,11 @@ function loadAnimationFeature() {
|
|
|
64
61
|
pseudos,
|
|
65
62
|
onDidAnimate,
|
|
66
63
|
staticConfig,
|
|
67
|
-
getStyle({ isEntering, exitVariant, enterVariant } = {}) {
|
|
64
|
+
getStyle({ isExiting, isEntering, exitVariant, enterVariant } = {}) {
|
|
68
65
|
var _a, _b, _c, _d;
|
|
69
66
|
const style = inStyle || {};
|
|
70
|
-
const enterStyle = isEntering
|
|
71
|
-
const exitStyle =
|
|
67
|
+
const enterStyle = isEntering ? enterVariant && ((_a = staticConfig.variants) == null ? void 0 : _a[enterVariant]["true"]) ? getSubStyle((_b = staticConfig.variants) == null ? void 0 : _b[enterVariant]["true"], staticConfig, theme, props, state) || pseudos.enterStyle : pseudos.enterStyle : null;
|
|
68
|
+
const exitStyle = isExiting ? exitVariant && ((_c = staticConfig.variants) == null ? void 0 : _c[exitVariant]["true"]) ? getSubStyle((_d = staticConfig.variants) == null ? void 0 : _d[exitVariant]["true"], staticConfig, theme, props, state) || pseudos.exitStyle : pseudos.exitStyle : null;
|
|
72
69
|
ensureBaseHasDefaults(style, enterStyle, pseudos.hoverStyle, pseudos.focusStyle, pseudos.pressStyle, pseudos.pressStyle);
|
|
73
70
|
enterStyle && merge(style, enterStyle);
|
|
74
71
|
state.hover && pseudos.hoverStyle && merge(style, pseudos.hoverStyle);
|
|
@@ -88,7 +85,6 @@ function loadAnimationFeature() {
|
|
|
88
85
|
propNames: ["animation"]
|
|
89
86
|
});
|
|
90
87
|
}
|
|
91
|
-
__name(loadAnimationFeature, "loadAnimationFeature");
|
|
92
88
|
const defaults = {
|
|
93
89
|
left: 0,
|
|
94
90
|
right: 0,
|
|
@@ -132,7 +128,6 @@ function ensureBaseHasDefaults(base, ...pseudos) {
|
|
|
132
128
|
}
|
|
133
129
|
}
|
|
134
130
|
}
|
|
135
|
-
__name(ensureBaseHasDefaults, "ensureBaseHasDefaults");
|
|
136
131
|
function merge(base, next) {
|
|
137
132
|
if (!next.transform || !base.transform) {
|
|
138
133
|
Object.assign(base, next);
|
|
@@ -150,7 +145,6 @@ function merge(base, next) {
|
|
|
150
145
|
}
|
|
151
146
|
}
|
|
152
147
|
}
|
|
153
|
-
__name(merge, "merge");
|
|
154
148
|
function loadMediaQueryFeature() {
|
|
155
149
|
const mediaPropNames = Object.keys(mediaState);
|
|
156
150
|
return createDefinition({
|
|
@@ -171,7 +165,6 @@ function loadMediaQueryFeature() {
|
|
|
171
165
|
propNames: mediaPropNames
|
|
172
166
|
});
|
|
173
167
|
}
|
|
174
|
-
__name(loadMediaQueryFeature, "loadMediaQueryFeature");
|
|
175
168
|
export {
|
|
176
169
|
useFeatures
|
|
177
170
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useFeatures.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { RefObject } from 'react'\nimport { View, ViewStyle } from 'react-native'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getSubStyle } from '../helpers/getSplitStyles'\nimport {\n PseudoStyles,\n SplitStyleState,\n StaticConfigParsed,\n TamaguiComponentState,\n UseAnimationHook,\n UseAnimationProps,\n} from '../types'\nimport { addMediaQueryListener, mediaState, removeMediaQueryListener } from './useMedia'\n\ntype FeatureDefinition = {\n isEnabled: (props: any) => boolean\n Component: any\n}\n\ntype FeatureUtils = {\n forceUpdate: Function\n state: SplitStyleState\n setStateShallow: (next: Partial<TamaguiComponentState>) => void\n useAnimations?: UseAnimationHook\n pseudos: PseudoStyles\n style: ViewStyle | null | undefined\n staticConfig: StaticConfigParsed\n theme: any\n onDidAnimate?: () => void\n hostRef: RefObject<HTMLElement | View>\n}\n\nconst createDefinition = ({\n Component,\n propNames,\n}: {\n Component: (props: { _utils: FeatureUtils; [key: string]: any }) => void\n propNames: string[]\n}): FeatureDefinition => ({\n isEnabled: (props: any) => propNames.some((name) => !!props[name]),\n Component,\n})\n\nlet featureDefinitions: Record<string, FeatureDefinition> | null = null\n\ntype FeatureKeys = keyof ReturnType<typeof loadFeatures>\n\nexport const useFeatures = (props: any, utils?: FeatureUtils) => {\n if (!featureDefinitions) {\n featureDefinitions = loadFeatures()\n }\n const elements: JSX.Element[] = []\n const enabled: { [key in FeatureKeys]?: boolean } = {}\n for (const name in featureDefinitions) {\n const { isEnabled, Component } = featureDefinitions[name]\n if (isEnabled(props) && Component) {\n enabled[name] = true\n elements.push(<Component key={name} {...props} _utils={utils} />)\n }\n }\n return {\n elements,\n enabled,\n }\n}\n\nfunction loadFeatures() {\n return {\n // loads animations and sets state with the results\n animation: loadAnimationFeature(),\n\n // will update the parent whenever media query changes\n // no need on web, media queries are inserted and run in css\n mediaQuery: loadMediaQueryFeature(),\n } as const\n}\n\nfunction loadAnimationFeature() {\n return createDefinition({\n Component: ({ _utils, ...props }) => {\n const {\n state,\n useAnimations,\n pseudos,\n style: inStyle,\n setStateShallow,\n staticConfig,\n theme,\n onDidAnimate,\n } = _utils\n\n if (!useAnimations) {\n console.error('no useAnimations hook provided')\n return null\n }\n\n // we always have .animation set\n const propsWithAnimation = props as UseAnimationProps\n\n const res = useAnimations(propsWithAnimation, {\n state,\n pseudos,\n onDidAnimate,\n staticConfig,\n getStyle({ isEntering, exitVariant, enterVariant } = {}) {\n // we have to merge such that transforms keys all exist\n const style = inStyle || {}\n\n const enterStyle
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import React, { RefObject } from 'react'\nimport { View, ViewStyle } from 'react-native'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getSubStyle } from '../helpers/getSplitStyles'\nimport {\n PseudoStyles,\n SplitStyleState,\n StaticConfigParsed,\n TamaguiComponentState,\n UseAnimationHook,\n UseAnimationProps,\n} from '../types'\nimport { addMediaQueryListener, mediaState, removeMediaQueryListener } from './useMedia'\n\ntype FeatureDefinition = {\n isEnabled: (props: any) => boolean\n Component: any\n}\n\ntype FeatureUtils = {\n forceUpdate: Function\n state: SplitStyleState\n setStateShallow: (next: Partial<TamaguiComponentState>) => void\n useAnimations?: UseAnimationHook\n pseudos: PseudoStyles\n style: ViewStyle | null | undefined\n staticConfig: StaticConfigParsed\n theme: any\n onDidAnimate?: () => void\n hostRef: RefObject<HTMLElement | View>\n}\n\nconst createDefinition = ({\n Component,\n propNames,\n}: {\n Component: (props: { _utils: FeatureUtils; [key: string]: any }) => void\n propNames: string[]\n}): FeatureDefinition => ({\n isEnabled: (props: any) => propNames.some((name) => !!props[name]),\n Component,\n})\n\nlet featureDefinitions: Record<string, FeatureDefinition> | null = null\n\ntype FeatureKeys = keyof ReturnType<typeof loadFeatures>\n\nexport const useFeatures = (props: any, utils?: FeatureUtils) => {\n if (!featureDefinitions) {\n featureDefinitions = loadFeatures()\n }\n const elements: JSX.Element[] = []\n const enabled: { [key in FeatureKeys]?: boolean } = {}\n for (const name in featureDefinitions) {\n const { isEnabled, Component } = featureDefinitions[name]\n if (isEnabled(props) && Component) {\n enabled[name] = true\n elements.push(<Component key={name} {...props} _utils={utils} />)\n }\n }\n return {\n elements,\n enabled,\n }\n}\n\nfunction loadFeatures() {\n return {\n // loads animations and sets state with the results\n animation: loadAnimationFeature(),\n\n // will update the parent whenever media query changes\n // no need on web, media queries are inserted and run in css\n mediaQuery: loadMediaQueryFeature(),\n } as const\n}\n\nfunction loadAnimationFeature() {\n return createDefinition({\n Component: ({ _utils, ...props }) => {\n const {\n state,\n useAnimations,\n pseudos,\n style: inStyle,\n setStateShallow,\n staticConfig,\n theme,\n onDidAnimate,\n } = _utils\n\n if (!useAnimations) {\n console.error('no useAnimations hook provided')\n return null\n }\n\n // we always have .animation set\n const propsWithAnimation = props as UseAnimationProps\n\n const res = useAnimations(propsWithAnimation, {\n state,\n pseudos,\n onDidAnimate,\n staticConfig,\n getStyle({ isExiting, isEntering, exitVariant, enterVariant } = {}) {\n // we have to merge such that transforms keys all exist\n const style = inStyle || {}\n\n const enterStyle = isEntering\n ? enterVariant && staticConfig.variants?.[enterVariant]['true']\n ? getSubStyle(\n staticConfig.variants?.[enterVariant]['true'],\n staticConfig,\n theme,\n props,\n state\n ) || pseudos.enterStyle\n : null || pseudos.enterStyle\n : null\n\n const exitStyle = isExiting\n ? exitVariant && staticConfig.variants?.[exitVariant]['true']\n ? getSubStyle(\n staticConfig.variants?.[exitVariant]['true'],\n staticConfig,\n theme,\n props,\n state\n ) || pseudos.exitStyle\n : null || pseudos.exitStyle\n : null\n\n // if you have hoverStyle={{ scale: 1.1 }} and don't have scale set on the base style\n // no animation will run! this is really confusing. this will look at all variants,\n // and fill in base styles if they don't exist. eg:\n // input:\n // base: {}\n // hoverStyle: { scale: 2 }\n // enterStyle: { x: 100 }\n // output:\n // base: { x: 0, scale: 1 }\n ensureBaseHasDefaults(\n style,\n enterStyle,\n pseudos.hoverStyle,\n pseudos.focusStyle,\n pseudos.pressStyle,\n pseudos.pressStyle\n )\n\n enterStyle && merge(style, enterStyle)\n state.hover && pseudos.hoverStyle && merge(style, pseudos.hoverStyle)\n state.focus && pseudos.focusStyle && merge(style, pseudos.focusStyle)\n state.press && pseudos.pressStyle && merge(style, pseudos.pressStyle)\n exitStyle && merge(style, exitStyle)\n\n return style\n },\n //, delay\n })\n\n useIsomorphicLayoutEffect(() => {\n setStateShallow({\n animation: res,\n })\n }, [res])\n\n return null\n },\n propNames: ['animation'],\n })\n}\n\nconst defaults = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n opacity: 1,\n translateX: 0,\n translateY: 0,\n skew: 0,\n skewX: 0,\n skewY: 0,\n scale: 1,\n rotate: '0deg',\n rotateY: '0deg',\n rotateX: '0deg',\n}\n\nfunction ensureBaseHasDefaults(base: ViewStyle, ...pseudos: (ViewStyle | null | undefined)[]) {\n for (const pseudo of pseudos) {\n if (!pseudo) continue\n for (const key in pseudo) {\n const val = pseudo[key]\n if (key === 'transform') {\n for (const t of val) {\n const tkey = Object.keys(t)[0]\n const defaultVal = defaults[tkey]\n const tDefaultVal = { [tkey]: defaultVal } as any\n if (!base.transform) {\n base.transform = [tDefaultVal]\n } else {\n if (!base.transform.find((x) => x[tkey])) {\n base.transform.push(tDefaultVal)\n }\n }\n }\n } else {\n if (!(key in base)) {\n base[key] = defaults[key]\n }\n }\n }\n }\n}\n\nfunction merge(base: ViewStyle, next: ViewStyle) {\n if (!next.transform || !base.transform) {\n Object.assign(base, next)\n return\n }\n const { transform, ...rest } = next\n Object.assign(base, rest)\n for (const t of transform) {\n const key = Object.keys(t)[0]\n const existing = base.transform.find((x) => key in x)\n if (existing) {\n existing[key] = t[key]\n } else {\n base.transform.push(t)\n }\n }\n}\n\nfunction loadMediaQueryFeature() {\n const mediaPropNames = Object.keys(mediaState)\n\n return createDefinition({\n Component: (props: any) => {\n const mediaKeys = mediaPropNames.filter((x) => x in props)\n\n useIsomorphicLayoutEffect(() => {\n for (const key of mediaKeys) {\n addMediaQueryListener(key, props._utils.forceUpdate)\n }\n return () => {\n for (const key of mediaKeys) {\n removeMediaQueryListener(key, props._utils.forceUpdate)\n }\n }\n }, [mediaKeys.join(',')])\n\n return null\n },\n propNames: mediaPropNames,\n })\n}\n\n// TODO\n// measureLayout: createDefinition({\n// Component: (props) => {\n// console.log('measure', props)\n// return null\n// },\n// propNames: ['onLayout'],\n// }),\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|