@tamagui/core 1.0.1-rc.8 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Pressability.js +32 -0
- package/dist/cjs/Pressability.js.map +7 -0
- package/dist/cjs/Pressability.native.js +32 -0
- package/dist/cjs/Pressability.native.js.map +7 -0
- package/dist/cjs/ThemeContext.js +30 -0
- package/dist/cjs/ThemeContext.js.map +7 -0
- package/dist/cjs/ThemeManager.js +211 -0
- package/dist/cjs/ThemeManager.js.map +7 -0
- package/dist/cjs/conf.js +70 -0
- package/dist/cjs/conf.js.map +7 -0
- package/dist/cjs/constants/platform.js +4 -10
- package/dist/cjs/constants/platform.js.map +2 -2
- package/dist/cjs/constants/rnw.native.js +28 -0
- package/dist/cjs/constants/rnw.native.js.map +7 -0
- package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +1 -1
- package/dist/cjs/createComponent.js +25 -27
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createTamagui.js +4 -1
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/defaultComponentState.js +2 -0
- package/dist/cjs/defaultComponentState.js.map +7 -0
- package/dist/cjs/helpers/ThemeManager.js +4 -2
- package/dist/cjs/helpers/ThemeManager.js.map +2 -2
- package/dist/cjs/helpers/Unwrap.js +29 -0
- package/dist/cjs/helpers/Unwrap.js.map +7 -0
- package/dist/cjs/helpers/assignNativePropsToWeb.js.map +1 -1
- package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +1 -1
- package/dist/cjs/helpers/cache.js +7 -11
- package/dist/cjs/helpers/cache.js.map +2 -2
- package/dist/cjs/helpers/calc.js.map +2 -2
- package/dist/cjs/helpers/createShallowUpdate.js +9 -12
- package/dist/cjs/helpers/createShallowUpdate.js.map +1 -1
- package/dist/cjs/helpers/createTamaguiProvider.js +65 -0
- package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
- package/dist/cjs/helpers/cssHash.js +51 -0
- package/dist/cjs/helpers/cssHash.js.map +7 -0
- package/dist/cjs/helpers/expandStyle.js +29 -41
- package/dist/cjs/helpers/expandStyle.js.map +2 -2
- package/dist/cjs/helpers/expandStyle.test.js +10 -0
- package/dist/cjs/helpers/expandStyle.test.js.map +7 -0
- package/dist/cjs/helpers/getFont.js +2 -6
- package/dist/cjs/helpers/getFont.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.js +22 -23
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStackSize.js.map +1 -1
- package/dist/cjs/helpers/getStylesAtomic.js +10 -11
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/insertStyleRule.js +58 -27
- package/dist/cjs/helpers/insertStyleRule.js.map +3 -3
- package/dist/cjs/helpers/nativeGestureHandler.native.js +19 -0
- package/dist/cjs/helpers/nativeGestureHandler.native.js.map +7 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.js +3 -3
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/cjs/helpers/startTransition.js +1 -4
- package/dist/cjs/helpers/startTransition.js.map +2 -2
- package/dist/cjs/helpers/themeable.js +2 -2
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/wrapThemeManagerContext.js +37 -0
- package/dist/cjs/helpers/wrapThemeManagerContext.js.map +7 -0
- package/dist/cjs/hooks/useConstant.js +0 -3
- package/dist/cjs/hooks/useConstant.js.map +2 -2
- package/dist/cjs/hooks/useElementLayout.js +1 -1
- package/dist/cjs/hooks/useElementLayout.js.map +2 -2
- package/dist/cjs/hooks/useFeatures.js +201 -0
- package/dist/cjs/hooks/useFeatures.js.map +7 -0
- package/dist/cjs/hooks/useIsMounted.js.map +1 -1
- package/dist/cjs/hooks/useIsSSR.js +6 -10
- package/dist/cjs/hooks/useIsSSR.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +5 -0
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/usePressable.js.map +1 -1
- package/dist/cjs/hooks/usePrevious.js +1 -0
- package/dist/cjs/hooks/usePrevious.js.map +7 -0
- package/dist/cjs/hooks/useTheme.js +45 -50
- package/dist/cjs/hooks/useTheme.js.map +3 -3
- package/dist/cjs/hooks/useUnmountEffect.js.map +1 -1
- package/dist/cjs/styled.js +12 -0
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/views/TamaguiProvider.js +3 -0
- package/dist/cjs/views/TamaguiProvider.js.map +2 -2
- package/dist/cjs/views/TextAncestorContext.js +44 -0
- package/dist/cjs/views/TextAncestorContext.js.map +7 -0
- package/dist/cjs/views/Theme.js +15 -21
- package/dist/cjs/views/Theme.js.map +3 -3
- package/dist/cjs/views/ThemeInverse.js +20 -21
- package/dist/cjs/views/ThemeInverse.js.map +2 -2
- package/dist/cjs/views/ThemeReset.js +5 -10
- package/dist/cjs/views/ThemeReset.js.map +3 -3
- package/dist/esm/Pressability.js +7 -0
- package/dist/esm/Pressability.js.map +7 -0
- package/dist/esm/Pressability.native.js +7 -0
- package/dist/esm/Pressability.native.js.map +7 -0
- package/dist/esm/ThemeContext.js +6 -0
- package/dist/esm/ThemeContext.js.map +7 -0
- package/dist/esm/ThemeManager.js +185 -0
- package/dist/esm/ThemeManager.js.map +7 -0
- package/dist/esm/conf.js +39 -0
- package/dist/esm/conf.js.map +7 -0
- package/dist/esm/constants/platform.js +3 -7
- package/dist/esm/constants/platform.js.map +2 -2
- package/dist/esm/constants/rnw.native.js +5 -0
- package/dist/esm/constants/rnw.native.js.map +7 -0
- package/dist/esm/contexts/ButtonInsideButtonContext.js.map +1 -1
- package/dist/esm/createComponent.js +26 -28
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createTamagui.js +9 -2
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/defaultComponentState.js +1 -0
- package/dist/esm/defaultComponentState.js.map +7 -0
- package/dist/esm/helpers/ThemeManager.js +4 -2
- package/dist/esm/helpers/ThemeManager.js.map +2 -2
- package/dist/esm/helpers/Unwrap.js +5 -0
- package/dist/esm/helpers/Unwrap.js.map +7 -0
- package/dist/esm/helpers/assignNativePropsToWeb.js.map +1 -1
- package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +1 -1
- package/dist/esm/helpers/cache.js +7 -10
- package/dist/esm/helpers/cache.js.map +2 -2
- package/dist/esm/helpers/calc.js.map +2 -2
- package/dist/esm/helpers/createShallowUpdate.js +9 -12
- package/dist/esm/helpers/createShallowUpdate.js.map +1 -1
- package/dist/esm/helpers/createTamaguiProvider.js +38 -0
- package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
- package/dist/esm/helpers/cssHash.js +27 -0
- package/dist/esm/helpers/cssHash.js.map +7 -0
- package/dist/esm/helpers/expandStyle.js +26 -38
- package/dist/esm/helpers/expandStyle.js.map +2 -2
- package/dist/esm/helpers/expandStyle.test.js +9 -0
- package/dist/esm/helpers/expandStyle.test.js.map +7 -0
- package/dist/esm/helpers/getFont.js +2 -6
- package/dist/esm/helpers/getFont.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js +24 -24
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getStackSize.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.js +10 -11
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +56 -26
- package/dist/esm/helpers/insertStyleRule.js.map +3 -3
- package/dist/esm/helpers/nativeGestureHandler.native.js +2 -0
- package/dist/esm/helpers/nativeGestureHandler.native.js.map +7 -0
- package/dist/esm/helpers/normalizeValueWithProperty.js +3 -3
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/esm/helpers/startTransition.js.map +1 -1
- package/dist/esm/helpers/themeable.js +2 -2
- package/dist/esm/helpers/themeable.js.map +2 -2
- package/dist/esm/helpers/wrapThemeManagerContext.js +11 -0
- package/dist/esm/helpers/wrapThemeManagerContext.js.map +7 -0
- package/dist/esm/hooks/useConstant.js +1 -4
- package/dist/esm/hooks/useConstant.js.map +2 -2
- package/dist/esm/hooks/useElementLayout.js +1 -1
- package/dist/esm/hooks/useElementLayout.js.map +2 -2
- package/dist/esm/hooks/useFeatures.js +174 -0
- package/dist/esm/hooks/useFeatures.js.map +7 -0
- package/dist/esm/hooks/useIsMounted.js.map +1 -1
- package/dist/esm/hooks/useIsSSR.js +8 -12
- package/dist/esm/hooks/useIsSSR.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +4 -0
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/usePressable.js.map +1 -1
- package/dist/esm/hooks/usePrevious.js +1 -0
- package/dist/esm/hooks/usePrevious.js.map +7 -0
- package/dist/esm/hooks/useTheme.js +45 -50
- package/dist/esm/hooks/useTheme.js.map +3 -3
- package/dist/esm/hooks/useUnmountEffect.js.map +1 -1
- package/dist/esm/styled.js +12 -0
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.js +3 -0
- package/dist/esm/views/TamaguiProvider.js.map +2 -2
- package/dist/esm/views/TextAncestorContext.js +15 -0
- package/dist/esm/views/TextAncestorContext.js.map +7 -0
- package/dist/esm/views/Theme.js +14 -14
- package/dist/esm/views/Theme.js.map +2 -2
- package/dist/esm/views/ThemeInverse.js +15 -20
- package/dist/esm/views/ThemeInverse.js.map +2 -2
- package/dist/esm/views/ThemeReset.js +4 -6
- package/dist/esm/views/ThemeReset.js.map +2 -2
- package/package.json +13 -14
- package/src/createComponent.tsx +47 -43
- package/src/createTamagui.ts +10 -2
- package/src/helpers/ThemeManager.tsx +7 -2
- package/src/helpers/cache.ts +7 -9
- package/src/helpers/expandStyle.ts +27 -41
- package/src/helpers/getSplitStyles.tsx +40 -23
- package/src/helpers/getStylesAtomic.ts +15 -15
- package/src/helpers/insertStyleRule.tsx +68 -38
- package/src/helpers/normalizeValueWithProperty.ts +3 -3
- package/src/helpers/themeable.tsx +3 -3
- package/src/hooks/useElementLayout.tsx +1 -1
- package/src/hooks/useMedia.tsx +3 -0
- package/src/hooks/useTheme.tsx +67 -48
- package/src/styled.tsx +15 -0
- package/src/views/TamaguiProvider.tsx +6 -0
- package/src/views/Theme.tsx +15 -22
- package/types/createComponent.d.ts +1 -1
- package/types/helpers/ThemeManager.d.ts +1 -1
- package/types/helpers/cache.d.ts +2 -4
- package/types/helpers/insertStyleRule.d.ts +2 -1
- package/types/helpers/themeable.d.ts +1 -1
- package/types/hooks/useMedia.d.ts +1 -0
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/views/Theme.d.ts +1 -1
|
@@ -21,21 +21,17 @@ __export(cache_exports, {
|
|
|
21
21
|
cache: () => cache
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(cache_exports);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.v = {};
|
|
27
|
-
}
|
|
24
|
+
const v = {};
|
|
25
|
+
const cache = {
|
|
28
26
|
get(key, valStr) {
|
|
29
27
|
var _a;
|
|
30
|
-
return (_a =
|
|
31
|
-
}
|
|
28
|
+
return (_a = v[key]) == null ? void 0 : _a[valStr];
|
|
29
|
+
},
|
|
32
30
|
set(key, valStr, object) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this.v[key][valStr] = object;
|
|
31
|
+
v[key] ?? (v[key] = {});
|
|
32
|
+
v[key][valStr] = object;
|
|
36
33
|
}
|
|
37
|
-
}
|
|
38
|
-
const cache = new Cache();
|
|
34
|
+
};
|
|
39
35
|
// Annotate the CommonJS export names for ESM import in node:
|
|
40
36
|
0 && (module.exports = {
|
|
41
37
|
cache
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/cache.ts"],
|
|
4
|
-
"sourcesContent": ["type Value = Object | Array<any> | string | number\n\nexport type Style = { [key: string]: Value }\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,MAAM,
|
|
4
|
+
"sourcesContent": ["type Value = Object | Array<any> | string | number\n\nexport type Style = { [key: string]: Value }\n\nconst v: Record<string, any> = {}\n\nexport const cache = {\n get(key: string, valStr: string) {\n return v[key]?.[valStr]\n },\n\n set(key: string, valStr: string, object: any) {\n v[key] ??= {}\n v[key][valStr] = object\n },\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,MAAM,IAAyB,CAAC;AAEzB,MAAM,QAAQ;AAAA,EACnB,IAAI,KAAa,QAAgB;AAPnC;AAQI,YAAO,OAAE,SAAF,mBAAS;AAAA,EAClB;AAAA,EAEA,IAAI,KAAa,QAAgB,QAAa;AAC5C,wBAAW,CAAC;AACZ,MAAE,KAAK,UAAU;AAAA,EACnB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/calc.ts"],
|
|
4
4
|
"sourcesContent": ["import { isWeb } from '../constants/platform'\nimport { getVariableVariable } from '../createVariable'\nimport { FontLineHeightTokens, FontSizeTokens, SizeTokens, SpaceTokens } from '../types'\n\n/**\n * Simple calc() that handles native + web\n * on web: outputs a calc() string\n * on native: outputs a plain number\n */\n\nexport type CalcVal =\n | string\n | number\n | SizeTokens\n | SpaceTokens\n | FontSizeTokens\n | FontLineHeightTokens\n\nconst operators = {\n '+': (a: number, b: number) => a + b,\n '-': (a: number, b: number) => a - b,\n '/': (a: number, b: number) => a / b,\n '*': (a: number, b: number) => a * b,\n}\n\ntype Operator = keyof typeof operators\n\nexport const calc = (...valuesAndOperators: (CalcVal | Operator)[]) => {\n if (isWeb) {\n let res = 'calc('\n for (const cur of valuesAndOperators) {\n if (operators[cur as any]) {\n // spaces are significant\n res += ' ' + cur + ' '\n } else {\n res += convertToVariableOrNumber(cur)\n }\n }\n return res + ')'\n }\n\n let res = 0\n let nextOp: any = null\n for (const cur of valuesAndOperators) {\n if (operators[cur as any]) {\n nextOp = operators[cur as any]\n } else {\n if (nextOp) {\n res = nextOp(res, cur)\n nextOp = null\n } else {\n res = +cur\n }\n }\n }\n return res\n}\n\nconst convertToVariableOrNumber = (v: any) => {\n const varOrVal = getVariableVariable(v)\n if (typeof varOrVal === 'number') {\n return `${varOrVal}px`\n }\n return varOrVal\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsB;AACtB,4BAAoC;AAiBpC,MAAM,YAAY;AAAA,EAChB,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AACrC;AAIO,MAAM,OAAO,IAAI,uBAA+C;AACrE,MAAI,uBAAO;AACT,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsB;AACtB,4BAAoC;AAiBpC,MAAM,YAAY;AAAA,EAChB,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AACrC;AAIO,MAAM,OAAO,IAAI,uBAA+C;AACrE,MAAI,uBAAO;AACT,QAAI,OAAM;AACV,eAAW,OAAO,oBAAoB;AACpC,UAAI,UAAU,MAAa;AAEzB,gBAAO,MAAM,MAAM;AAAA,MACrB,OAAO;AACL,gBAAO,0BAA0B,GAAG;AAAA,MACtC;AAAA,IACF;AACA,WAAO,OAAM;AAAA,EACf;AAEA,MAAI,MAAM;AACV,MAAI,SAAc;AAClB,aAAW,OAAO,oBAAoB;AACpC,QAAI,UAAU,MAAa;AACzB,eAAS,UAAU;AAAA,IACrB,OAAO;AACL,UAAI,QAAQ;AACV,cAAM,OAAO,KAAK,GAAG;AACrB,iBAAS;AAAA,MACX,OAAO;AACL,cAAM,CAAC;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,MAAM,4BAA4B,CAAC,MAAW;AAC5C,QAAM,WAAW,+CAAoB,CAAC;AACtC,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO,GAAG;AAAA,EACZ;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -23,19 +23,16 @@ __export(createShallowUpdate_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(createShallowUpdate_exports);
|
|
24
24
|
var import_react = require("react");
|
|
25
25
|
function createShallowUpdate(setter) {
|
|
26
|
-
return (0, import_react.useCallback)(
|
|
27
|
-
(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return { ...prev, ...next };
|
|
32
|
-
}
|
|
26
|
+
return (0, import_react.useCallback)((next) => {
|
|
27
|
+
setter((prev) => {
|
|
28
|
+
for (const key in next) {
|
|
29
|
+
if (prev[key] !== next[key]) {
|
|
30
|
+
return { ...prev, ...next };
|
|
33
31
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
);
|
|
32
|
+
}
|
|
33
|
+
return prev;
|
|
34
|
+
});
|
|
35
|
+
}, [setter]);
|
|
39
36
|
}
|
|
40
37
|
// Annotate the CommonJS export names for ESM import in node:
|
|
41
38
|
0 && (module.exports = {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/createShallowUpdate.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useCallback } from 'react'\n\nexport function createShallowUpdate<State extends Object>(\n setter: React.Dispatch<React.SetStateAction<State>>\n) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useCallback(\n (next: Partial<State>) => {\n setter((prev) => {\n for (const key in next) {\n if (prev[key] !== next[key]) {\n return { ...prev, ...next }\n }\n }\n return prev\n })\n },\n [setter]\n )\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAE5B,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAE5B,6BACL,QACA;AAEA,SAAO,8BACL,CAAC,SAAyB;AACxB,WAAO,CAAC,SAAS;AACf,iBAAW,OAAO,MAAM;AACtB,YAAI,KAAK,SAAS,KAAK,MAAM;AAC3B,iBAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAAA,QAC5B;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GACA,CAAC,MAAM,CACT;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
|
+
var createTamaguiProvider_exports = {};
|
|
23
|
+
__export(createTamaguiProvider_exports, {
|
|
24
|
+
createTamaguiProvider: () => createTamaguiProvider
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(createTamaguiProvider_exports);
|
|
27
|
+
var React = __toESM(require("react"));
|
|
28
|
+
var import_platform = require("../constants/platform");
|
|
29
|
+
var import_ButtonInsideButtonContext = require("../contexts/ButtonInsideButtonContext");
|
|
30
|
+
var import_TextAncestorContext = require("../views/TextAncestorContext");
|
|
31
|
+
var import_ThemeProvider = require("../views/ThemeProvider");
|
|
32
|
+
function createTamaguiProvider(config) {
|
|
33
|
+
return function TamaguiProvider({
|
|
34
|
+
disableInjectCSS,
|
|
35
|
+
children,
|
|
36
|
+
...themePropsProvider
|
|
37
|
+
}) {
|
|
38
|
+
if (import_platform.isClient) {
|
|
39
|
+
React.useLayoutEffect(() => {
|
|
40
|
+
if (disableInjectCSS)
|
|
41
|
+
return;
|
|
42
|
+
const style = document.createElement("style");
|
|
43
|
+
style.appendChild(document.createTextNode(config.getCSS()));
|
|
44
|
+
document.head.appendChild(style);
|
|
45
|
+
return () => {
|
|
46
|
+
document.head.removeChild(style);
|
|
47
|
+
};
|
|
48
|
+
}, [disableInjectCSS]);
|
|
49
|
+
}
|
|
50
|
+
return /* @__PURE__ */ React.createElement(import_ButtonInsideButtonContext.ButtonInsideButtonContext.Provider, {
|
|
51
|
+
value: false
|
|
52
|
+
}, /* @__PURE__ */ React.createElement(import_TextAncestorContext.TextAncestorProvider, null, /* @__PURE__ */ React.createElement(import_ThemeProvider.ThemeProvider, {
|
|
53
|
+
themes: config.themes,
|
|
54
|
+
defaultTheme: config.defaultTheme || "light",
|
|
55
|
+
themeClassNameOnRoot: config.themeClassNameOnRoot,
|
|
56
|
+
disableRootThemeClass: config.disableRootThemeClass,
|
|
57
|
+
...themePropsProvider
|
|
58
|
+
}, children)));
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
62
|
+
0 && (module.exports = {
|
|
63
|
+
createTamaguiProvider
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=createTamaguiProvider.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/createTamaguiProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\n\nimport { isClient } from '../constants/platform'\nimport { ButtonInsideButtonContext } from '../contexts/ButtonInsideButtonContext'\nimport { TamaguiInternalConfig, TamaguiProviderProps } from '../types'\nimport { TextAncestorProvider } from '../views/TextAncestorContext'\nimport { ThemeProvider } from '../views/ThemeProvider'\n\nexport function createTamaguiProvider(config: TamaguiInternalConfig) {\n return function TamaguiProvider({\n disableInjectCSS,\n children,\n ...themePropsProvider\n }: TamaguiProviderProps) {\n // inject CSS if asked to (not SSR compliant)\n if (isClient) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n if (disableInjectCSS) return\n const style = document.createElement('style')\n style.appendChild(document.createTextNode(config.getCSS()))\n document.head.appendChild(style)\n return () => {\n document.head.removeChild(style)\n }\n }, [disableInjectCSS])\n }\n\n return (\n <ButtonInsideButtonContext.Provider value={false}>\n <TextAncestorProvider>\n <ThemeProvider\n themes={config.themes}\n defaultTheme={config.defaultTheme || 'light'}\n themeClassNameOnRoot={config.themeClassNameOnRoot}\n disableRootThemeClass={config.disableRootThemeClass}\n {...themePropsProvider}\n >\n {children}\n </ThemeProvider>\n </TextAncestorProvider>\n </ButtonInsideButtonContext.Provider>\n )\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AAEvB,sBAAyB;AACzB,uCAA0C;AAE1C,iCAAqC;AACrC,2BAA8B;AAEvB,+BAA+B,QAA+B;AACnE,SAAO,yBAAyB;AAAA,IAC9B;AAAA,IACA;AAAA,OACG;AAAA,KACoB;AAEvB,QAAI,0BAAU;AAEZ,YAAM,gBAAgB,MAAM;AAC1B,YAAI;AAAkB;AACtB,cAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC;AAC1D,iBAAS,KAAK,YAAY,KAAK;AAC/B,eAAO,MAAM;AACX,mBAAS,KAAK,YAAY,KAAK;AAAA,QACjC;AAAA,MACF,GAAG,CAAC,gBAAgB,CAAC;AAAA,IACvB;AAEA,WACE,oCAAC,2DAA0B,UAA1B;AAAA,MAAmC,OAAO;AAAA,OACzC,oCAAC,uDACC,oCAAC;AAAA,MACC,QAAQ,OAAO;AAAA,MACf,cAAc,OAAO,gBAAgB;AAAA,MACrC,sBAAsB,OAAO;AAAA,MAC7B,uBAAuB,OAAO;AAAA,MAC7B,GAAG;AAAA,OAEH,QACH,CACF,CACF;AAAA,EAEJ;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var cssHash_exports = {};
|
|
20
|
+
__export(cssHash_exports, {
|
|
21
|
+
cssHash: () => cssHash
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(cssHash_exports);
|
|
24
|
+
var import_helpers = require("@tamagui/helpers");
|
|
25
|
+
function cssHash(val, maxLen = 10) {
|
|
26
|
+
if (val.length < maxLen) {
|
|
27
|
+
let res = "";
|
|
28
|
+
for (let i = 0; i < val.length; i++) {
|
|
29
|
+
const char = val[i];
|
|
30
|
+
if (specials[char]) {
|
|
31
|
+
res += specials[char];
|
|
32
|
+
} else {
|
|
33
|
+
res += validCSS.test(char) ? char : "_" + char.charCodeAt(0).toString();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return res;
|
|
37
|
+
}
|
|
38
|
+
return (0, import_helpers.simpleHash)(val);
|
|
39
|
+
}
|
|
40
|
+
const validCSS = /[a-z0-9]/i;
|
|
41
|
+
const specials = {
|
|
42
|
+
".": "dot",
|
|
43
|
+
",": "_",
|
|
44
|
+
"%": "pct",
|
|
45
|
+
"-": "neg"
|
|
46
|
+
};
|
|
47
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
+
0 && (module.exports = {
|
|
49
|
+
cssHash
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=cssHash.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/cssHash.ts"],
|
|
4
|
+
"sourcesContent": ["import { simpleHash } from '@tamagui/helpers'\n\n// not sure it's worth the extra weight, could be dev time though\n// affordances for simple values\nexport function cssHash(val: string, maxLen = 10) {\n if (val.length < maxLen) {\n let res = ''\n for (let i = 0; i < val.length; i++) {\n const char = val[i]\n if (specials[char]) {\n res += specials[char]\n } else {\n res += validCSS.test(char) ? char : '_' + char.charCodeAt(0).toString()\n }\n }\n return res\n }\n return simpleHash(val)\n}\n\nconst validCSS = /[a-z0-9]/i\n\nconst specials = {\n '.': 'dot',\n ',': '_',\n '%': 'pct',\n '-': 'neg',\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA2B;AAIpB,iBAAiB,KAAa,SAAS,IAAI;AAChD,MAAI,IAAI,SAAS,QAAQ;AACvB,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,YAAM,OAAO,IAAI;AACjB,UAAI,SAAS,OAAO;AAClB,eAAO,SAAS;AAAA,MAClB,OAAO;AACL,eAAO,SAAS,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,CAAC,EAAE,SAAS;AAAA,MACxE;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,SAAO,+BAAW,GAAG;AACvB;AAEA,MAAM,WAAW;AAEjB,MAAM,WAAW;AAAA,EACf,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -3,9 +3,9 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target,
|
|
7
|
-
for (var name in
|
|
8
|
-
__defProp(target, name, { get:
|
|
6
|
+
var __export = (target, all2) => {
|
|
7
|
+
for (var name in all2)
|
|
8
|
+
__defProp(target, name, { get: all2[name], enumerable: true });
|
|
9
9
|
};
|
|
10
10
|
var __copyProps = (to, from, except, desc) => {
|
|
11
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
@@ -22,6 +22,7 @@ __export(expandStyle_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(expandStyle_exports);
|
|
24
24
|
var import_constants = require("@tamagui/constants");
|
|
25
|
+
var _a;
|
|
25
26
|
function expandStyle(key, value) {
|
|
26
27
|
if (process.env.TAMAGUI_TARGET === "web") {
|
|
27
28
|
if (key === "flex") {
|
|
@@ -41,63 +42,50 @@ function expandStyle(key, value) {
|
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
43
44
|
switch (key) {
|
|
44
|
-
case "aspectRatio": {
|
|
45
|
-
return [[key, value.toString()]];
|
|
46
|
-
}
|
|
47
45
|
case "textAlignVertical": {
|
|
48
46
|
return [["verticalAlign", value === "center" ? "middle" : value]];
|
|
49
47
|
}
|
|
50
|
-
case "textDecorationLine": {
|
|
51
|
-
return [["textDecorationLine", value]];
|
|
52
|
-
}
|
|
53
48
|
case "writingDirection": {
|
|
54
49
|
return [["direction", value]];
|
|
55
50
|
}
|
|
56
51
|
}
|
|
57
52
|
}
|
|
58
|
-
const longKey =
|
|
53
|
+
const longKey = EXPANSIONS[key];
|
|
59
54
|
if (longKey) {
|
|
60
55
|
return longKey.map((key2) => {
|
|
61
56
|
return [key2, value];
|
|
62
57
|
});
|
|
63
58
|
}
|
|
64
59
|
}
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
],
|
|
60
|
+
const all = ["Top", "Right", "Bottom", "Left"];
|
|
61
|
+
const horiz = ["Right", "Left"];
|
|
62
|
+
const vert = ["Top", "Bottom"];
|
|
63
|
+
const xy = ["X", "Y"];
|
|
64
|
+
const EXPANSIONS = {
|
|
65
|
+
borderColor: ["TopColor", "RightColor", "BottomColor", "LeftColor"],
|
|
72
66
|
borderRadius: [
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
67
|
+
"TopLeftRadius",
|
|
68
|
+
"TopRightRadius",
|
|
69
|
+
"BottomRightRadius",
|
|
70
|
+
"BottomLeftRadius"
|
|
77
71
|
],
|
|
78
|
-
borderWidth: [
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
marginVertical: ["marginTop", "marginBottom"],
|
|
87
|
-
overscrollBehavior: ["overscrollBehaviorX", "overscrollBehaviorY"],
|
|
88
|
-
padding: ["paddingTop", "paddingRight", "paddingBottom", "paddingLeft"],
|
|
89
|
-
paddingHorizontal: ["paddingRight", "paddingLeft"],
|
|
90
|
-
paddingVertical: ["paddingTop", "paddingBottom"],
|
|
72
|
+
borderWidth: ["TopWidth", "RightWidth", "BottomWidth", "LeftWidth"],
|
|
73
|
+
margin: all,
|
|
74
|
+
marginHorizontal: horiz,
|
|
75
|
+
marginVertical: vert,
|
|
76
|
+
overscrollBehavior: xy,
|
|
77
|
+
padding: all,
|
|
78
|
+
paddingHorizontal: horiz,
|
|
79
|
+
paddingVertical: vert,
|
|
91
80
|
...import_constants.isWeb && {
|
|
92
|
-
borderStyle: [
|
|
93
|
-
|
|
94
|
-
"borderRightStyle",
|
|
95
|
-
"borderBottomStyle",
|
|
96
|
-
"borderLeftStyle"
|
|
97
|
-
],
|
|
98
|
-
overflow: ["overflowX", "overflowY"]
|
|
81
|
+
borderStyle: ["TopStyle", "RightStyle", "BottomStyle", "LeftStyle"],
|
|
82
|
+
overflow: xy
|
|
99
83
|
}
|
|
100
84
|
};
|
|
85
|
+
for (const parent in EXPANSIONS) {
|
|
86
|
+
const prefix = parent.slice(0, ((_a = /[A-Z]/.exec(parent)) == null ? void 0 : _a.index) ?? parent.length);
|
|
87
|
+
EXPANSIONS[parent] = EXPANSIONS[parent].map((k) => `${prefix}${k}`);
|
|
88
|
+
}
|
|
101
89
|
// Annotate the CommonJS export names for ESM import in node:
|
|
102
90
|
0 && (module.exports = {
|
|
103
91
|
expandStyle
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/expandStyle.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { isWeb } from '@tamagui/constants'\n\nexport function expandStyle(key: string, value: any) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (key === 'flex') {\n // The 'flex' property value in React Native must be a positive integer,\n // 0, or -1.\n if (value <= -1) {\n return [\n ['flexGrow', 0],\n ['flexShrink', 1],\n ['flexBasis', 'auto'],\n ]\n }\n // normalizing to better align with native\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n if (value >= 0) {\n return [\n ['flexGrow', value],\n ['flexShrink', 1],\n ]\n }\n return\n }\n\n // web only\n switch (key) {\n case '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,uBAAsB;
|
|
4
|
+
"sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { isWeb } from '@tamagui/constants'\n\nexport function expandStyle(key: string, value: any) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (key === 'flex') {\n // The 'flex' property value in React Native must be a positive integer,\n // 0, or -1.\n if (value <= -1) {\n return [\n ['flexGrow', 0],\n ['flexShrink', 1],\n ['flexBasis', 'auto'],\n ]\n }\n // normalizing to better align with native\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n if (value >= 0) {\n return [\n ['flexGrow', value],\n ['flexShrink', 1],\n ]\n }\n return\n }\n\n // web only\n switch (key) {\n case 'textAlignVertical': {\n return [['verticalAlign', value === 'center' ? 'middle' : value]]\n }\n case 'writingDirection': {\n return [['direction', value]]\n }\n }\n }\n\n const longKey = EXPANSIONS[key]\n if (longKey) {\n return longKey.map((key) => {\n return [key, value]\n })\n }\n}\n\nconst all = ['Top', 'Right', 'Bottom', 'Left']\nconst horiz = ['Right', 'Left']\nconst vert = ['Top', 'Bottom']\nconst xy = ['X', 'Y']\n\nconst EXPANSIONS: Record<string, string[]> = {\n borderColor: ['TopColor', 'RightColor', 'BottomColor', 'LeftColor'],\n borderRadius: [\n 'TopLeftRadius',\n 'TopRightRadius',\n 'BottomRightRadius',\n 'BottomLeftRadius',\n ],\n borderWidth: ['TopWidth', 'RightWidth', 'BottomWidth', 'LeftWidth'],\n margin: all,\n marginHorizontal: horiz,\n marginVertical: vert,\n overscrollBehavior: xy,\n padding: all,\n paddingHorizontal: horiz,\n paddingVertical: vert,\n ...(isWeb && {\n // react-native only supports borderStyle\n borderStyle: ['TopStyle', 'RightStyle', 'BottomStyle', 'LeftStyle'],\n // react-native doesn't support X / Y\n overflow: xy,\n }),\n}\n\nfor (const parent in EXPANSIONS) {\n const prefix = parent.slice(0, /[A-Z]/.exec(parent)?.index ?? parent.length)\n EXPANSIONS[parent] = EXPANSIONS[parent].map((k) => `${prefix}${k}`)\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,uBAAsB;AALtB;AAOO,SAAS,YAAY,KAAa,OAAY;AACnD,MAAI,QAAQ,IAAI,mBAAmB,OAAO;AACxC,QAAI,QAAQ,QAAQ;AAGlB,UAAI,SAAS,IAAI;AACf,eAAO;AAAA,UACL,CAAC,YAAY,CAAC;AAAA,UACd,CAAC,cAAc,CAAC;AAAA,UAChB,CAAC,aAAa,MAAM;AAAA,QACtB;AAAA,MACF;AAGA,UAAI,SAAS,GAAG;AACd,eAAO;AAAA,UACL,CAAC,YAAY,KAAK;AAAA,UAClB,CAAC,cAAc,CAAC;AAAA,QAClB;AAAA,MACF;AACA;AAAA,IACF;AAGA,YAAQ;AAAA,WACD,qBAAqB;AACxB,eAAO,CAAC,CAAC,iBAAiB,UAAU,WAAW,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,WACK,oBAAoB;AACvB,eAAO,CAAC,CAAC,aAAa,KAAK,CAAC;AAAA,MAC9B;AAAA;AAAA,EAEJ;AAEA,QAAM,UAAU,WAAW;AAC3B,MAAI,SAAS;AACX,WAAO,QAAQ,IAAI,CAACA,SAAQ;AAC1B,aAAO,CAACA,MAAK,KAAK;AAAA,IACpB,CAAC;AAAA,EACH;AACF;AAEA,MAAM,MAAM,CAAC,OAAO,SAAS,UAAU,MAAM;AAC7C,MAAM,QAAQ,CAAC,SAAS,MAAM;AAC9B,MAAM,OAAO,CAAC,OAAO,QAAQ;AAC7B,MAAM,KAAK,CAAC,KAAK,GAAG;AAEpB,MAAM,aAAuC;AAAA,EAC3C,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA,EAClE,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA,EAClE,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,GAAI,0BAAS;AAAA,IAEX,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA,IAElE,UAAU;AAAA,EACZ;AACF;AAEA,WAAW,UAAU,YAAY;AAC/B,QAAM,SAAS,OAAO,MAAM,KAAG,aAAQ,KAAK,MAAM,MAAnB,mBAAsB,UAAS,OAAO,MAAM;AAC3E,aAAW,UAAU,WAAW,QAAQ,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG;AACpE;",
|
|
6
6
|
"names": ["key"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var import_vitest = require("vitest");
|
|
3
|
+
var import_expandStyle = require("./expandStyle");
|
|
4
|
+
(0, import_vitest.test)(`should expand webkit user-select`, () => {
|
|
5
|
+
(0, import_vitest.expect)((0, import_expandStyle.expandStyle)("userSelect", "none")).toStrictEqual([
|
|
6
|
+
["userSelect", "none"],
|
|
7
|
+
["WebkitUserSelect", "none"]
|
|
8
|
+
]);
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=expandStyle.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/expandStyle.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { expect, test } from 'vitest'\n\nimport { expandStyle } from './expandStyle'\n\ntest(`should expand webkit user-select`, () => {\n expect(expandStyle('userSelect', 'none')).toStrictEqual([\n ['userSelect', 'none'],\n ['WebkitUserSelect', 'none'],\n ])\n})\n"],
|
|
5
|
+
"mappings": ";AAAA,oBAA6B;AAE7B,yBAA4B;AAE5B,wBAAK,oCAAoC,MAAM;AAC7C,4BAAO,oCAAY,cAAc,MAAM,CAAC,EAAE,cAAc;AAAA,IACtD,CAAC,cAAc,MAAM;AAAA,IACrB,CAAC,oBAAoB,MAAM;AAAA,EAC7B,CAAC;AACH,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -27,9 +27,7 @@ const getFont = (val = "$4", { fonts, theme, props }) => {
|
|
|
27
27
|
const family = (0, import_createVariable.getVariableValue)(props.fontFamily) || "$body";
|
|
28
28
|
const font = fonts[family] || fonts["$body"];
|
|
29
29
|
if (!font) {
|
|
30
|
-
|
|
31
|
-
console.warn("\u26A0\uFE0F no font found", { family, fontTokens: Object.keys(fonts), val });
|
|
32
|
-
}
|
|
30
|
+
console.warn("\u26A0\uFE0F no font found", { family, fontTokens: Object.keys(fonts), val });
|
|
33
31
|
return {};
|
|
34
32
|
}
|
|
35
33
|
const fontFamily = font.family;
|
|
@@ -52,9 +50,7 @@ const getFont = (val = "$4", { fonts, theme, props }) => {
|
|
|
52
50
|
};
|
|
53
51
|
if (process.env.NODE_ENV === "development") {
|
|
54
52
|
if (props["debug"]) {
|
|
55
|
-
console.
|
|
56
|
-
console.log({ style, props, font });
|
|
57
|
-
console.groupEnd();
|
|
53
|
+
console.log("getFont", val, style, "from props", props);
|
|
58
54
|
}
|
|
59
55
|
}
|
|
60
56
|
return style;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getFont.tsx"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { getVariableValue } from '../createVariable'\nimport { FontSizeTokens, TextProps, VariantSpreadFunction } from '../types'\n\nexport const getFont: VariantSpreadFunction<TextProps, FontSizeTokens> = (\n val = '$4',\n { fonts, theme, props }\n) => {\n const family = getVariableValue(props.fontFamily) || '$body'\n const font = fonts[family] || fonts['$body']\n if (!font) {\n console.warn('\u26A0\uFE0F no font found', { family, fontTokens: Object.keys(fonts), val })\n return {} as any\n }\n const fontFamily = font.family\n const fontSize = props.fontSize || font.size[val]\n const lineHeight = props.lineHeight || font.lineHeight[val]\n const fontWeight = props.fontWeight || font.weight[val]\n const letterSpacing = props.letterSpacing || font.letterSpacing[val]\n const fontStyle = props.fontStyle || font.style?.[val]\n const textTransform = props.textTransform || font.transform?.[val]\n const color = props.color || font.color?.[val] || theme.color\n const style = {\n color,\n fontStyle,\n textTransform,\n fontFamily,\n fontWeight,\n letterSpacing,\n fontSize,\n lineHeight,\n }\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log('getFont', val, style, 'from props', props)\n }\n }\n return style\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAiC;AAG1B,MAAM,UAA4D,CACvE,MAAM,MACN,EAAE,OAAO,OAAO,YACb;AANL;AAOE,QAAM,SAAS,4CAAiB,MAAM,UAAU,KAAK;AACrD,QAAM,OAAO,MAAM,WAAW,MAAM;AACpC,MAAI,CAAC,MAAM;AACT,YAAQ,KAAK,8BAAoB,EAAE,QAAQ,YAAY,OAAO,KAAK,KAAK,GAAG,IAAI,CAAC;AAChF,WAAO,CAAC;AAAA,EACV;AACA,QAAM,aAAa,KAAK;AACxB,QAAM,WAAW,MAAM,YAAY,KAAK,KAAK;AAC7C,QAAM,aAAa,MAAM,cAAc,KAAK,WAAW;AACvD,QAAM,aAAa,MAAM,cAAc,KAAK,OAAO;AACnD,QAAM,gBAAgB,MAAM,iBAAiB,KAAK,cAAc;AAChE,QAAM,YAAY,MAAM,aAAa,YAAK,UAAL,mBAAa;AAClD,QAAM,gBAAgB,MAAM,iBAAiB,YAAK,cAAL,mBAAiB;AAC9D,QAAM,QAAQ,MAAM,SAAS,YAAK,UAAL,mBAAa,SAAQ,MAAM;AACxD,QAAM,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,MAAM,UAAU;AAClB,cAAQ,IAAI,WAAW,KAAK,OAAO,cAAc,KAAK;AAAA,IACxD;AAAA,EACF;AACA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -124,8 +124,11 @@ const accessibilityRoleToWebRole = {
|
|
|
124
124
|
none: "presentation",
|
|
125
125
|
summary: "region"
|
|
126
126
|
};
|
|
127
|
-
const isMediaKey = (key) => Boolean(key[0] === "$" && import_useMedia.
|
|
127
|
+
const isMediaKey = (key) => Boolean(key[0] === "$" && import_useMedia.mediaKeysWithAndWithout$.has(key));
|
|
128
128
|
const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, languageContext, elementType, debug) => {
|
|
129
|
+
if (cache.has(props)) {
|
|
130
|
+
return cache.get(props);
|
|
131
|
+
}
|
|
129
132
|
conf = conf || (0, import_config.getConfig)();
|
|
130
133
|
const { shorthands } = conf;
|
|
131
134
|
const {
|
|
@@ -209,8 +212,7 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
209
212
|
if (keyInit === "className")
|
|
210
213
|
continue;
|
|
211
214
|
const valInit = props[keyInit];
|
|
212
|
-
|
|
213
|
-
if (expandedKey) {
|
|
215
|
+
if (keyInit in shorthands) {
|
|
214
216
|
keyInit = shorthands[keyInit];
|
|
215
217
|
}
|
|
216
218
|
if (keyInit in usedKeys)
|
|
@@ -219,8 +221,8 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
219
221
|
continue;
|
|
220
222
|
if (!import_constants.isWeb && keyInit.startsWith("data-"))
|
|
221
223
|
continue;
|
|
222
|
-
if (
|
|
223
|
-
if (
|
|
224
|
+
if (typeof valInit === "string" && valInit[0] === "_") {
|
|
225
|
+
if (keyInit in validStyleProps || keyInit.includes("-")) {
|
|
224
226
|
if (shouldDoClasses) {
|
|
225
227
|
classNames[keyInit] = valInit;
|
|
226
228
|
} else {
|
|
@@ -300,20 +302,11 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
300
302
|
}
|
|
301
303
|
break;
|
|
302
304
|
}
|
|
303
|
-
case "
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
}
|
|
305
|
+
case "accessibilityLabelledBy":
|
|
306
|
+
case "accessibilityFlowTo":
|
|
307
|
+
case "accessibilityControls":
|
|
307
308
|
case "accessibilityDescribedBy": {
|
|
308
|
-
viewProps[
|
|
309
|
-
break;
|
|
310
|
-
}
|
|
311
|
-
case "accessibilityFlowTo": {
|
|
312
|
-
viewProps["aria-flowto"] = processIDRefList(valInit);
|
|
313
|
-
break;
|
|
314
|
-
}
|
|
315
|
-
case "accessibilityLabelledBy": {
|
|
316
|
-
viewProps["aria-labelledby"] = processIDRefList(valInit);
|
|
309
|
+
viewProps[`aria-${keyInit.replace("accessibility", "").toLowerCase()}`] = processIDRefList(valInit);
|
|
317
310
|
break;
|
|
318
311
|
}
|
|
319
312
|
case "accessibilityKeyShortcuts": {
|
|
@@ -370,7 +363,7 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
370
363
|
let isMedia = isMediaKey(keyInit);
|
|
371
364
|
let isPseudo = import_helpers.validPseudoKeys[keyInit];
|
|
372
365
|
if (!(isMedia || isPseudo || (variants == null ? void 0 : variants[keyInit]) || validStyleProps[keyInit] || shorthands[keyInit])) {
|
|
373
|
-
if (import_constants.isWeb && keyInit.
|
|
366
|
+
if (import_constants.isWeb && keyInit.indexOf("ccessibility") > 0) {
|
|
374
367
|
continue;
|
|
375
368
|
}
|
|
376
369
|
usedKeys[keyInit] = 1;
|
|
@@ -453,7 +446,10 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
453
446
|
}
|
|
454
447
|
}
|
|
455
448
|
} else {
|
|
456
|
-
|
|
449
|
+
let isDisabled = !state[descriptor.stateKey || descriptor.name];
|
|
450
|
+
if (!import_constants.isClient && isEnter) {
|
|
451
|
+
isDisabled = false;
|
|
452
|
+
}
|
|
457
453
|
if (!isDisabled) {
|
|
458
454
|
usedKeys[key] || (usedKeys[key] = 1);
|
|
459
455
|
}
|
|
@@ -557,7 +553,7 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
557
553
|
if (key === "fontFamily" && !fontFamily && valInit && val) {
|
|
558
554
|
fontFamily = valInit[0] === "$" ? valInit : val;
|
|
559
555
|
}
|
|
560
|
-
if (validStyleProps
|
|
556
|
+
if (key in validStyleProps) {
|
|
561
557
|
mergeStyle(styleState, key, val);
|
|
562
558
|
continue;
|
|
563
559
|
}
|
|
@@ -662,7 +658,8 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
662
658
|
state,
|
|
663
659
|
rulesToInsert,
|
|
664
660
|
parentSplitStyles,
|
|
665
|
-
flatTransforms
|
|
661
|
+
flatTransforms,
|
|
662
|
+
result
|
|
666
663
|
};
|
|
667
664
|
for (const key in { ...result, ...logs }) {
|
|
668
665
|
console.log(key, logs[key]);
|
|
@@ -670,6 +667,7 @@ const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, la
|
|
|
670
667
|
console.groupEnd();
|
|
671
668
|
}
|
|
672
669
|
}
|
|
670
|
+
cache.set(props, result);
|
|
673
671
|
return result;
|
|
674
672
|
};
|
|
675
673
|
function mergeClassName(transforms, classNames, key, val, isMediaOrPseudo = false) {
|
|
@@ -681,7 +679,8 @@ function mergeClassName(transforms, classNames, key, val, isMediaOrPseudo = fals
|
|
|
681
679
|
let transform = import_insertStyleRule.insertedTransforms[val];
|
|
682
680
|
if (import_constants.isClient) {
|
|
683
681
|
if (!transform) {
|
|
684
|
-
(
|
|
682
|
+
console.warn(`got a new ting`);
|
|
683
|
+
(0, import_insertStyleRule.scanAllSheets)();
|
|
685
684
|
transform = import_insertStyleRule.insertedTransforms[val];
|
|
686
685
|
if (process.env.NODE_ENV === "development") {
|
|
687
686
|
if (!transform) {
|