@tamagui/core 1.0.0-alpha.1 → 1.0.0-alpha.10

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.
Files changed (228) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/constants/constants.js +50 -0
  3. package/{_ → dist/cjs}/constants/constants.js.map +2 -2
  4. package/dist/cjs/constants/platform.js +43 -0
  5. package/dist/cjs/constants/platform.js.map +7 -0
  6. package/dist/cjs/constants/pseudos.js +25 -0
  7. package/{_ → dist/cjs}/constants/pseudos.js.map +2 -2
  8. package/{_ → dist/cjs}/constants/rnw.js +9 -3
  9. package/{_ → dist/cjs}/constants/rnw.js.map +2 -2
  10. package/dist/cjs/createComponent.js +531 -0
  11. package/dist/cjs/createComponent.js.map +7 -0
  12. package/dist/cjs/createFont.js +50 -0
  13. package/dist/cjs/createFont.js.map +7 -0
  14. package/{_ → dist/cjs}/createShorthands.js +9 -3
  15. package/{_ → dist/cjs}/createShorthands.js.map +2 -2
  16. package/dist/cjs/createTamagui.js +206 -0
  17. package/dist/cjs/createTamagui.js.map +7 -0
  18. package/dist/cjs/createTheme.js +42 -0
  19. package/{_ → dist/cjs}/createTheme.js.map +2 -2
  20. package/dist/cjs/createTokens.js +55 -0
  21. package/dist/cjs/createTokens.js.map +7 -0
  22. package/dist/cjs/createVariable.js +47 -0
  23. package/dist/cjs/createVariable.js.map +7 -0
  24. package/dist/cjs/helpers/addStylesUsingClassname.js +79 -0
  25. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  26. package/dist/cjs/helpers/createMediaStyle.js +56 -0
  27. package/{_ → dist/cjs}/helpers/createMediaStyle.js.map +2 -2
  28. package/dist/cjs/helpers/createPropMapper.js +190 -0
  29. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  30. package/dist/cjs/helpers/createTamaguiProvider.js +74 -0
  31. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  32. package/dist/cjs/helpers/extendStaticConfig.js +82 -0
  33. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  34. package/dist/cjs/helpers/fixNativeShadow.js +14 -0
  35. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  36. package/{_ → dist/cjs}/helpers/fixNativeShadow.native.js +9 -3
  37. package/{_ → dist/cjs}/helpers/fixNativeShadow.native.js.map +2 -2
  38. package/dist/cjs/helpers/getSplitStyles.js +180 -0
  39. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  40. package/dist/cjs/helpers/getStylesAtomic.js +117 -0
  41. package/{_ → dist/cjs}/helpers/getStylesAtomic.js.map +2 -2
  42. package/dist/cjs/helpers/getStylesAtomic.native.js +16 -0
  43. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  44. package/dist/cjs/helpers/insertStyleRule.js +46 -0
  45. package/{_ → dist/cjs}/helpers/insertStyleRule.js.map +2 -2
  46. package/dist/cjs/helpers/isObj.js +13 -0
  47. package/dist/cjs/helpers/isObj.js.map +7 -0
  48. package/dist/cjs/helpers/isTamaguiElement.js +33 -0
  49. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  50. package/dist/cjs/helpers/matchMedia.js +24 -0
  51. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  52. package/dist/cjs/helpers/matchMedia.native.js +31 -0
  53. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  54. package/dist/cjs/helpers/themeable.js +78 -0
  55. package/{_ → dist/cjs}/helpers/themeable.js.map +2 -2
  56. package/dist/cjs/helpers/validate.js +82 -0
  57. package/dist/cjs/helpers/validate.js.map +7 -0
  58. package/dist/cjs/hooks/useConstant.js +37 -0
  59. package/{_ → dist/cjs}/hooks/useConstant.js.map +2 -2
  60. package/dist/cjs/hooks/useFeatures.js +100 -0
  61. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  62. package/{_ → dist/cjs}/hooks/useMedia.js +59 -28
  63. package/dist/cjs/hooks/useMedia.js.map +7 -0
  64. package/dist/cjs/hooks/usePressable.js +50 -0
  65. package/{_ → dist/cjs}/hooks/usePressable.js.map +2 -2
  66. package/dist/cjs/hooks/useTheme.js +111 -0
  67. package/dist/cjs/hooks/useTheme.js.map +7 -0
  68. package/dist/cjs/index.js +55 -0
  69. package/dist/cjs/index.js.map +7 -0
  70. package/dist/cjs/static/postProcessStyles.js +40 -0
  71. package/{_ → dist/cjs}/static/postProcessStyles.js.map +2 -2
  72. package/dist/cjs/static.js +34 -0
  73. package/dist/cjs/static.js.map +7 -0
  74. package/dist/cjs/styled.js +72 -0
  75. package/dist/cjs/styled.js.map +7 -0
  76. package/dist/cjs/types.js +4 -0
  77. package/dist/cjs/types.js.map +7 -0
  78. package/dist/cjs/views/Animated.js +129 -0
  79. package/{_ → dist/cjs}/views/Animated.js.map +2 -2
  80. package/dist/cjs/views/Stack.js +51 -0
  81. package/{_ → dist/cjs}/views/Stack.js.map +2 -2
  82. package/dist/cjs/views/Text.js +93 -0
  83. package/{_ → dist/cjs}/views/Text.js.map +2 -2
  84. package/dist/cjs/views/TextAncestorContext.js +41 -0
  85. package/{_ → dist/cjs}/views/TextAncestorContext.js.map +2 -2
  86. package/dist/cjs/views/Theme.js +88 -0
  87. package/dist/cjs/views/Theme.js.map +7 -0
  88. package/dist/cjs/views/ThemeContext.js +29 -0
  89. package/{_ → dist/cjs}/views/ThemeContext.js.map +2 -2
  90. package/dist/cjs/views/ThemeInverse.js +48 -0
  91. package/{_ → dist/cjs}/views/ThemeInverse.js.map +3 -3
  92. package/dist/cjs/views/ThemeManagerContext.js +84 -0
  93. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  94. package/dist/cjs/views/ThemeProvider.js +67 -0
  95. package/{_ → dist/cjs}/views/ThemeProvider.js.map +2 -2
  96. package/dist/createComponent.js +50 -32
  97. package/dist/createComponent.js.map +2 -2
  98. package/dist/createFont.js +4 -0
  99. package/dist/createFont.js.map +2 -2
  100. package/dist/createTamagui.js +11 -2
  101. package/dist/createTamagui.js.map +2 -2
  102. package/dist/createTokens.js +4 -0
  103. package/dist/createTokens.js.map +2 -2
  104. package/dist/createVariable.js +3 -0
  105. package/dist/createVariable.js.map +2 -2
  106. package/dist/helpers/createPropMapper.js +2 -2
  107. package/dist/helpers/createPropMapper.js.map +1 -1
  108. package/dist/helpers/getSplitStyles.js +13 -23
  109. package/dist/helpers/getSplitStyles.js.map +2 -2
  110. package/dist/helpers/isComponent.js +10 -0
  111. package/dist/helpers/isComponent.js.map +7 -0
  112. package/dist/helpers/isTamaguiComponent.js +10 -0
  113. package/dist/helpers/isTamaguiComponent.js.map +7 -0
  114. package/dist/helpers/isTamaguiElement.js +10 -0
  115. package/dist/helpers/isTamaguiElement.js.map +7 -0
  116. package/dist/helpers/matchMedia.js +3 -0
  117. package/dist/helpers/matchMedia.js.map +2 -2
  118. package/dist/helpers/matchMedia.native.js +1 -0
  119. package/dist/helpers/matchMedia.native.js.map +2 -2
  120. package/dist/helpers/validate.js +60 -0
  121. package/dist/helpers/validate.js.map +7 -0
  122. package/dist/helpers/validateConfig.js +46 -0
  123. package/dist/helpers/validateConfig.js.map +7 -0
  124. package/dist/helpers/validateTokens.js +29 -0
  125. package/dist/helpers/validateTokens.js.map +7 -0
  126. package/dist/hooks/useFeatures.js +39 -51
  127. package/dist/hooks/useFeatures.js.map +2 -2
  128. package/dist/hooks/useMedia.js +1 -1
  129. package/dist/hooks/useMedia.js.map +2 -2
  130. package/dist/hooks/useTheme.js +5 -9
  131. package/dist/hooks/useTheme.js.map +2 -2
  132. package/dist/index.cjs +273 -196
  133. package/dist/index.cjs.map +3 -3
  134. package/dist/index.js +1 -2
  135. package/dist/index.js.map +2 -2
  136. package/dist/views/Theme.js +16 -7
  137. package/dist/views/Theme.js.map +2 -2
  138. package/dist/views/ThemeInverse.js +0 -1
  139. package/dist/views/ThemeInverse.js.map +2 -2
  140. package/dist/views/ThemeManagerContext.js +11 -5
  141. package/dist/views/ThemeManagerContext.js.map +2 -2
  142. package/package.json +19 -10
  143. package/src/createComponent.tsx +57 -41
  144. package/src/createFont.ts +5 -0
  145. package/src/createTamagui.ts +11 -1
  146. package/src/createTokens.ts +6 -1
  147. package/src/createVariable.ts +4 -0
  148. package/src/helpers/createPropMapper.ts +2 -2
  149. package/src/helpers/getSplitStyles.tsx +16 -26
  150. package/src/helpers/isTamaguiElement.tsx +5 -0
  151. package/src/helpers/matchMedia.native.ts +3 -0
  152. package/src/helpers/matchMedia.ts +9 -1
  153. package/src/helpers/validate.ts +59 -0
  154. package/src/hooks/useFeatures.tsx +54 -53
  155. package/src/hooks/useMedia.tsx +2 -2
  156. package/src/hooks/useTheme.tsx +7 -8
  157. package/src/index.ts +1 -2
  158. package/src/types.tsx +3 -2
  159. package/src/views/Theme.tsx +26 -9
  160. package/src/views/ThemeInverse.tsx +0 -1
  161. package/src/views/ThemeManagerContext.tsx +18 -6
  162. package/types.d.ts +10 -9
  163. package/.ultra.cache.json +0 -1
  164. package/_/constants/constants.js +0 -14
  165. package/_/constants/platform.js +0 -20
  166. package/_/constants/platform.js.map +0 -7
  167. package/_/constants/pseudos.js +0 -18
  168. package/_/createComponent.js +0 -427
  169. package/_/createComponent.js.map +0 -7
  170. package/_/createTamagui.js +0 -122
  171. package/_/createTamagui.js.map +0 -7
  172. package/_/createTheme.js +0 -20
  173. package/_/createTokens.js +0 -29
  174. package/_/createTokens.js.map +0 -7
  175. package/_/createVariable.js +0 -22
  176. package/_/createVariable.js.map +0 -7
  177. package/_/helpers/addStylesUsingClassname.js +0 -32
  178. package/_/helpers/addStylesUsingClassname.js.map +0 -7
  179. package/_/helpers/createMediaStyle.js +0 -34
  180. package/_/helpers/createTamaguiProvider.js +0 -42
  181. package/_/helpers/createTamaguiProvider.js.map +0 -7
  182. package/_/helpers/extendStaticConfig.js +0 -176
  183. package/_/helpers/extendStaticConfig.js.map +0 -7
  184. package/_/helpers/fixNativeShadow.js +0 -8
  185. package/_/helpers/fixNativeShadow.js.map +0 -7
  186. package/_/helpers/getSplitStyles.js +0 -160
  187. package/_/helpers/getSplitStyles.js.map +0 -7
  188. package/_/helpers/getStylesAtomic.js +0 -84
  189. package/_/helpers/getStylesAtomic.native.js +0 -10
  190. package/_/helpers/getStylesAtomic.native.js.map +0 -7
  191. package/_/helpers/insertStyleRule.js +0 -24
  192. package/_/helpers/matchMedia.js +0 -15
  193. package/_/helpers/matchMedia.js.map +0 -7
  194. package/_/helpers/matchMedia.native.js +0 -8
  195. package/_/helpers/matchMedia.native.js.map +0 -7
  196. package/_/helpers/themeable.js +0 -26
  197. package/_/hooks/useConstant.js +0 -15
  198. package/_/hooks/useFeatures.js +0 -75
  199. package/_/hooks/useFeatures.js.map +0 -7
  200. package/_/hooks/useForceUpdate.js +0 -28
  201. package/_/hooks/useForceUpdate.js.map +0 -7
  202. package/_/hooks/useMedia.js.map +0 -7
  203. package/_/hooks/usePressable.js +0 -14
  204. package/_/hooks/useTheme.js +0 -94
  205. package/_/hooks/useTheme.js.map +0 -7
  206. package/_/index.js +0 -30
  207. package/_/index.js.map +0 -7
  208. package/_/static/postProcessStyles.js +0 -18
  209. package/_/static.js +0 -12
  210. package/_/static.js.map +0 -7
  211. package/_/styled.js +0 -21
  212. package/_/styled.js.map +0 -7
  213. package/_/types.js +0 -1
  214. package/_/types.js.map +0 -7
  215. package/_/views/Animated.js +0 -79
  216. package/_/views/Stack.js +0 -12
  217. package/_/views/Text.js +0 -60
  218. package/_/views/TextAncestorContext.js +0 -19
  219. package/_/views/Theme.js +0 -57
  220. package/_/views/Theme.js.map +0 -7
  221. package/_/views/ThemeContext.js +0 -6
  222. package/_/views/ThemeInverse.js +0 -27
  223. package/_/views/ThemeManagerContext.js +0 -56
  224. package/_/views/ThemeManagerContext.js.map +0 -7
  225. package/_/views/ThemeProvider.js +0 -45
  226. package/src/hooks/useForceUpdate.tsx +0 -26
  227. package/src/views/SafeAreaProvider.tsx +0 -33
  228. package/tsconfig.json +0 -8
package/_/createTokens.js DELETED
@@ -1,29 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { createVariable } from "./createVariable";
4
- function createTokens(tokens) {
5
- return setupTokens(tokens);
6
- }
7
- __name(createTokens, "createTokens");
8
- function setupTokens(tokens) {
9
- return mapTokensToVariables(tokens);
10
- }
11
- __name(setupTokens, "setupTokens");
12
- const mapTokensToVariables = /* @__PURE__ */ __name((tokens, parentPath = "") => {
13
- const res = {};
14
- for (const key in tokens) {
15
- const val = tokens[key];
16
- const name = parentPath ? `${parentPath}-${key}` : key;
17
- if (val && typeof val === "object") {
18
- res[key] = mapTokensToVariables(tokens[key], name);
19
- } else {
20
- res[key] = createVariable({ val, name });
21
- }
22
- }
23
- return res;
24
- }, "mapTokensToVariables");
25
- export {
26
- createTokens,
27
- mapTokensToVariables
28
- };
29
- //# sourceMappingURL=createTokens.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/createTokens.ts"],
4
- "sourcesContent": ["import { Variable, createVariable } from './createVariable'\nimport { CreateTokens } from './types'\n\n// tokens.color.dark.red ===>{ var: `color-dark-red`, val: '' }\n\nexport function createTokens<T extends CreateTokens>(tokens: T): MakeTokens<T> {\n // @ts-ignore\n return setupTokens(tokens)\n}\n\nfunction setupTokens(tokens: any) {\n return mapTokensToVariables(tokens)\n}\n\nexport const mapTokensToVariables = (\n tokens: CreateTokens,\n parentPath = ''\n): CreateTokens<Variable> => {\n const res = {}\n for (const key in tokens) {\n const val = tokens[key]\n const name = parentPath ? `${parentPath}-${key}` : key\n if (val && typeof val === 'object') {\n res[key] = mapTokensToVariables(tokens[key], name)\n } else {\n res[key] = createVariable({ val, name })\n }\n }\n // @ts-expect-error\n return res\n}\n\n// verbose but gives us nice types...\ntype MakeTokens<T> = T extends {\n font: infer A\n fontSize: infer B\n lineHeight: infer C\n letterSpace: infer D\n color: infer E\n space: infer F\n size: infer G\n radius: infer H\n zIndex: infer J\n}\n ? {\n font: {\n [key in keyof A]: Variable\n }\n fontSize: {\n [key in keyof B]: Variable\n }\n lineHeight: {\n [key in keyof C]: Variable\n }\n letterSpace: {\n [key in keyof D]: Variable\n }\n color: {\n [key in keyof E]: Variable\n }\n space: {\n [key in keyof F]: Variable\n }\n size: {\n [key in keyof G]: Variable\n }\n radius: {\n [key in keyof H]: Variable\n }\n zIndex: {\n [key in keyof J]: Variable\n }\n }\n : never\n"],
5
- "mappings": ";;AAAA;AAKO,sBAA8C,QAA0B;AAE7E,SAAO,YAAY;AAAA;AAFL;AAKhB,qBAAqB,QAAa;AAChC,SAAO,qBAAqB;AAAA;AADrB;AAIF,MAAM,uBAAuB,wBAClC,QACA,aAAa,OACc;AAC3B,QAAM,MAAM;AACZ,aAAW,OAAO,QAAQ;AACxB,UAAM,MAAM,OAAO;AACnB,UAAM,OAAO,aAAa,GAAG,cAAc,QAAQ;AACnD,QAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,UAAI,OAAO,qBAAqB,OAAO,MAAM;AAAA,WACxC;AACL,UAAI,OAAO,eAAe,EAAE,KAAK;AAAA;AAAA;AAIrC,SAAO;AAAA,GAf2B;",
6
- "names": []
7
- }
@@ -1,22 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { isWeb } from "./constants/platform";
4
- class Variable {
5
- constructor({ val, name }) {
6
- this.val = val;
7
- this.name = name;
8
- this.variable = isWeb ? `var(--${name})` : this.val;
9
- }
10
- }
11
- __name(Variable, "Variable");
12
- const createVariable = /* @__PURE__ */ __name((props) => new Variable(props), "createVariable");
13
- function isVariable(v) {
14
- return v instanceof Variable;
15
- }
16
- __name(isVariable, "isVariable");
17
- export {
18
- Variable,
19
- createVariable,
20
- isVariable
21
- };
22
- //# sourceMappingURL=createVariable.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/createVariable.ts"],
4
- "sourcesContent": ["import { isWeb } from './constants/platform'\n\nexport class Variable {\n name: string\n val: string | number\n variable: string | number\n\n constructor({ val, name }: VariableIn) {\n // converting to px breaks rn\n this.val = val //typeof val === 'string' ? val : `${val}px`\n this.name = name\n this.variable = isWeb ? `var(--${name})` : this.val\n }\n}\n\ntype VariableIn = { val: string | number; name: string }\n\nexport const createVariable = (props: VariableIn) => new Variable(props)\n\nexport function isVariable(v: Variable | any): v is Variable {\n return v instanceof Variable\n}\n"],
5
- "mappings": ";;AAAA;AAEO,eAAe;AAAA,EAKpB,YAAY,EAAE,KAAK,QAAoB;AAErC,SAAK,MAAM;AACX,SAAK,OAAO;AACZ,SAAK,WAAW,QAAQ,SAAS,UAAU,KAAK;AAAA;AAAA;AAT7C;AAeA,MAAM,iBAAiB,wBAAC,UAAsB,IAAI,SAAS,QAApC;AAEvB,oBAAoB,GAAkC;AAC3D,SAAO,aAAa;AAAA;AADN;",
6
- "names": []
7
- }
@@ -1,32 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { getStylesAtomic } from "./getStylesAtomic";
4
- import { insertStyleRule } from "./insertStyleRule";
5
- let added = {};
6
- function addStylesUsingClassname(styles) {
7
- let className = "";
8
- for (const style of styles) {
9
- if (!style)
10
- continue;
11
- if (Array.isArray(style)) {
12
- className += " " + addStylesUsingClassname(style);
13
- continue;
14
- }
15
- for (const { identifier, rules } of getStylesAtomic(style)) {
16
- className += ` ${identifier}`;
17
- if (added[identifier]) {
18
- continue;
19
- }
20
- added[identifier] = true;
21
- for (const rule of rules) {
22
- insertStyleRule(rule);
23
- }
24
- }
25
- }
26
- return className;
27
- }
28
- __name(addStylesUsingClassname, "addStylesUsingClassname");
29
- export {
30
- addStylesUsingClassname
31
- };
32
- //# sourceMappingURL=addStylesUsingClassname.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/addStylesUsingClassname.tsx"],
4
- "sourcesContent": ["import { getStylesAtomic } from './getStylesAtomic'\nimport { insertStyleRule } from './insertStyleRule'\n\nlet added = {}\n\n// TODO use upcoming react method for inserting\n\nexport function addStylesUsingClassname(styles: any[]) {\n let className = ''\n for (const style of styles) {\n if (!style) continue\n if (Array.isArray(style)) {\n className += ' ' + addStylesUsingClassname(style)\n continue\n }\n for (const { identifier, rules } of getStylesAtomic(style)) {\n className += ` ${identifier}`\n if (added[identifier]) {\n continue\n }\n added[identifier] = true\n for (const rule of rules) {\n insertStyleRule(rule)\n }\n }\n }\n return className\n}\n"],
5
- "mappings": ";;AAAA;AACA;AAEA,IAAI,QAAQ;AAIL,iCAAiC,QAAe;AACrD,MAAI,YAAY;AAChB,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC;AAAO;AACZ,QAAI,MAAM,QAAQ,QAAQ;AACxB,mBAAa,MAAM,wBAAwB;AAC3C;AAAA;AAEF,eAAW,EAAE,YAAY,WAAW,gBAAgB,QAAQ;AAC1D,mBAAa,IAAI;AACjB,UAAI,MAAM,aAAa;AACrB;AAAA;AAEF,YAAM,cAAc;AACpB,iBAAW,QAAQ,OAAO;AACxB,wBAAgB;AAAA;AAAA;AAAA;AAItB,SAAO;AAAA;AAnBO;",
6
- "names": []
7
- }
@@ -1,34 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { mediaObjectToString } from "../hooks/useMedia";
4
- const MEDIA_SEP = "_";
5
- const createMediaStyle = /* @__PURE__ */ __name(({ identifier, rules }, mediaKey, mediaQueries, negate, importance = 0) => {
6
- const mediaKeys = Object.keys(mediaQueries);
7
- const mediaKeyPrecendence = mediaKeys.reduce((acc, cur, i) => {
8
- acc[cur] = new Array(importance + 1).fill(":root").join("");
9
- return acc;
10
- }, {});
11
- const negKey = negate ? "0" : "";
12
- const ogPrefix = identifier.slice(0, identifier.indexOf("-") + 1);
13
- const nextIdentifier = `${identifier.replace(ogPrefix, `${ogPrefix}${MEDIA_SEP}${mediaKey}${negKey}${MEDIA_SEP}`)}`;
14
- const screenStr = negate ? "not all" : "screen";
15
- const mediaSelector = mediaObjectToString(mediaQueries[mediaKey]);
16
- const mediaQuery = `${screenStr} and ${mediaSelector}`;
17
- const precendencePrefix = mediaKeyPrecendence[mediaKey];
18
- const styleInner = rules[0].replace(identifier, nextIdentifier);
19
- let styleRule = "";
20
- if (styleInner.includes("@media")) {
21
- styleRule = styleInner.replace("{", ` and ${mediaQuery} {`);
22
- } else {
23
- styleRule = `@media ${mediaQuery} { ${precendencePrefix} ${styleInner} }`;
24
- }
25
- return {
26
- styleRule,
27
- identifier: nextIdentifier
28
- };
29
- }, "createMediaStyle");
30
- export {
31
- MEDIA_SEP,
32
- createMediaStyle
33
- };
34
- //# sourceMappingURL=createMediaStyle.js.map
@@ -1,42 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import * as React from "react";
4
- import { Platform } from "react-native";
5
- import {
6
- SafeAreaProvider,
7
- initialWindowMetrics as defaultInitialWindowMetrics
8
- } from "react-native-safe-area-context";
9
- import { TextAncestorProvider } from "../views/TextAncestorContext";
10
- import { ThemeProvider } from "../views/ThemeProvider";
11
- function createTamaguiProvider(themeProps) {
12
- let defaultMetrics = null;
13
- return /* @__PURE__ */ __name(function TamaguiProvider({
14
- initialWindowMetrics,
15
- fallback,
16
- children,
17
- ...themePropsProvider
18
- }) {
19
- if (!initialWindowMetrics && !defaultMetrics) {
20
- defaultMetrics = Platform.select({
21
- web: {
22
- frame: { x: 0, y: 0, width: 0, height: 0 },
23
- insets: { top: 0, left: 0, right: 0, bottom: 0 }
24
- },
25
- default: defaultInitialWindowMetrics
26
- });
27
- }
28
- return /* @__PURE__ */ React.createElement(TextAncestorProvider, null, /* @__PURE__ */ React.createElement(SafeAreaProvider, {
29
- initialMetrics: initialWindowMetrics != null ? initialWindowMetrics : defaultMetrics
30
- }, /* @__PURE__ */ React.createElement(ThemeProvider, {
31
- ...themeProps,
32
- ...themePropsProvider
33
- }, /* @__PURE__ */ React.createElement(React.Suspense, {
34
- fallback: fallback || null
35
- }, children))));
36
- }, "TamaguiProvider");
37
- }
38
- __name(createTamaguiProvider, "createTamaguiProvider");
39
- export {
40
- createTamaguiProvider
41
- };
42
- //# sourceMappingURL=createTamaguiProvider.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/createTamaguiProvider.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport { Platform } from 'react-native'\nimport {\n Metrics,\n SafeAreaProvider,\n initialWindowMetrics as defaultInitialWindowMetrics,\n} from 'react-native-safe-area-context'\n\nimport { TamaguiProviderProps } from '../types'\nimport { TextAncestorProvider } from '../views/TextAncestorContext'\nimport { ThemeProvider, ThemeProviderProps } from '../views/ThemeProvider'\n\nexport function createTamaguiProvider(themeProps: ThemeProviderProps) {\n let defaultMetrics: Metrics | null = null\n return function TamaguiProvider({\n initialWindowMetrics,\n fallback,\n children,\n ...themePropsProvider\n }: TamaguiProviderProps) {\n if (!initialWindowMetrics && !defaultMetrics) {\n defaultMetrics = Platform.select({\n web: {\n frame: { x: 0, y: 0, width: 0, height: 0 },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n },\n default: defaultInitialWindowMetrics,\n })\n }\n return (\n <TextAncestorProvider>\n <SafeAreaProvider initialMetrics={initialWindowMetrics ?? defaultMetrics}>\n <ThemeProvider {...themeProps} {...themePropsProvider}>\n <React.Suspense fallback={fallback || null}>{children}</React.Suspense>\n </ThemeProvider>\n </SafeAreaProvider>\n </TextAncestorProvider>\n )\n }\n}\n"],
5
- "mappings": ";;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAEO,+BAA+B,YAAgC;AACpE,MAAI,iBAAiC;AACrC,SAAO,gDAAyB;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,OACG;AAAA,KACoB;AACvB,QAAI,CAAC,wBAAwB,CAAC,gBAAgB;AAC5C,uBAAiB,SAAS,OAAO;AAAA,QAC/B,KAAK;AAAA,UACH,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ;AAAA,UACvC,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ;AAAA;AAAA,QAE/C,SAAS;AAAA;AAAA;AAGb,WACE,oCAAC,sBAAD,MACE,oCAAC,kBAAD;AAAA,MAAkB,gBAAgB,sDAAwB;AAAA,OACxD,oCAAC,eAAD;AAAA,SAAmB;AAAA,SAAgB;AAAA,OACjC,oCAAC,MAAM,UAAP;AAAA,MAAgB,UAAU,YAAY;AAAA,OAAO;AAAA,KAnBhD;AAAA;AAFO;",
6
- "names": []
7
- }
@@ -1,176 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { getTamaguiConfig } from "../createTamagui";
4
- import { Variable } from "../createVariable";
5
- function extendStaticConfig(Component, config = {}) {
6
- var _a, _b;
7
- const a = Component || {};
8
- if (!a.staticConfig) {
9
- a.staticConfig = {
10
- Component
11
- };
12
- }
13
- return parseStaticConfig({
14
- ...a.staticConfig,
15
- variants: {
16
- ...a.staticConfig.variants,
17
- ...config.variants
18
- },
19
- isText: config.isText || a.staticConfig.isText || false,
20
- neverFlatten: (_a = config.neverFlatten) != null ? _a : a.staticConfig.neverFlatten,
21
- ensureOverriddenProp: (_b = config.ensureOverriddenProp) != null ? _b : a.staticConfig.ensureOverriddenProp,
22
- validStyles: config.validStyles ? {
23
- ...a.staticConfig.validStyles,
24
- ...config.validStyles
25
- } : a.staticConfig.validStyles,
26
- validPropsExtra: {
27
- ...a.staticConfig.validPropsExtra,
28
- ...config.validPropsExtra
29
- },
30
- defaultProps: {
31
- ...a.staticConfig.defaultProps,
32
- ...config.defaultProps
33
- }
34
- });
35
- }
36
- __name(extendStaticConfig, "extendStaticConfig");
37
- function parseStaticConfig(c) {
38
- const variants = c.variants;
39
- let variantsParsed;
40
- return {
41
- ...c,
42
- parsed: true,
43
- propMapper(key, value, theme) {
44
- var _a;
45
- const conf = getTamaguiConfig();
46
- if (!conf) {
47
- console.trace("err");
48
- return;
49
- }
50
- if (variants && !variantsParsed) {
51
- variantsParsed = parseVariants(variants, conf);
52
- }
53
- const variant = variantsParsed == null ? void 0 : variantsParsed[key];
54
- if (variant) {
55
- const tokenKey = typeof value === "string" && value[0] === "$" ? value.slice(1) : value;
56
- const val = tokenKey === true ? variant["true"] : (_a = variant[tokenKey]) != null ? _a : value;
57
- let res;
58
- if (typeof val === "function") {
59
- res = val(tokenKey, { tokens: conf.tokens, theme });
60
- } else {
61
- res = val;
62
- }
63
- if (res) {
64
- for (const rKey in res) {
65
- const fKey = conf.shorthands[rKey] || rKey;
66
- if (rKey !== fKey) {
67
- delete res[rKey];
68
- }
69
- const val2 = res[rKey];
70
- if (val2 instanceof Variable) {
71
- res[fKey] = val2.variable;
72
- } else if (val2) {
73
- const fVal = val2[0] === "$" ? getToken(fKey, val2, conf) : val2;
74
- res[fKey] = fVal;
75
- } else {
76
- }
77
- }
78
- }
79
- return res;
80
- }
81
- let shouldReturn = false;
82
- if (conf.shorthands[key]) {
83
- shouldReturn = true;
84
- key = conf.shorthands[key];
85
- }
86
- if (value && value[0] === "$") {
87
- shouldReturn = true;
88
- value = getToken(key, value, conf);
89
- }
90
- if (value instanceof Variable) {
91
- shouldReturn = true;
92
- value = value.variable;
93
- }
94
- if (shouldReturn) {
95
- return {
96
- [key]: value
97
- };
98
- }
99
- }
100
- };
101
- }
102
- __name(parseStaticConfig, "parseStaticConfig");
103
- const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed, themeParsed }) => {
104
- if (themeParsed[value]) {
105
- return themeParsed[value].variable;
106
- }
107
- for (const cat in tokenCategories) {
108
- if (tokenCategories[cat][key]) {
109
- const res = tokensParsed[cat][value];
110
- if (res) {
111
- return res.variable;
112
- } else {
113
- const themeVar = themeParsed[value];
114
- if (themeVar) {
115
- return themeVar.variable;
116
- }
117
- }
118
- }
119
- }
120
- const spaceVar = tokensParsed.space[value];
121
- if (spaceVar) {
122
- return spaceVar.variable;
123
- }
124
- return value;
125
- }, "getToken");
126
- const tokenCategories = {
127
- size: {
128
- width: true,
129
- height: true,
130
- minWidth: true,
131
- minHeight: true,
132
- maxWidth: true,
133
- maxHeight: true
134
- },
135
- font: {
136
- fontFamily: true
137
- },
138
- fontSize: {
139
- fontSize: true
140
- },
141
- lineHeight: {
142
- lineHeight: true
143
- },
144
- color: {
145
- color: true,
146
- backgroundColor: true,
147
- borderColor: true,
148
- borderBottomColor: true,
149
- borderTopColor: true,
150
- borderLeftColor: true,
151
- borderRightColor: true
152
- }
153
- };
154
- function parseVariants(variants, conf) {
155
- return Object.keys(variants).reduce((acc, key) => {
156
- acc[key] = Object.keys(variants[key]).reduce((vacc, vkey) => {
157
- if (vkey.startsWith("...")) {
158
- const tokenKey = vkey.slice(3);
159
- const tokens = conf.tokens[tokenKey];
160
- for (const tkey in tokens) {
161
- vacc[tkey] = variants[key][vkey];
162
- }
163
- } else {
164
- vacc[vkey] = variants[key][vkey];
165
- }
166
- return vacc;
167
- }, {});
168
- return acc;
169
- }, {});
170
- }
171
- __name(parseVariants, "parseVariants");
172
- export {
173
- extendStaticConfig,
174
- parseStaticConfig
175
- };
176
- //# sourceMappingURL=extendStaticConfig.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/extendStaticConfig.ts"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { getTamaguiConfig } from '../createTamagui'\nimport { Variable } from '../createVariable'\nimport { StaticComponent, StaticConfig, StaticConfigParsed, TamaguiInternalConfig } from '../types'\n\nexport function extendStaticConfig(\n // can be undefined when loading with @tamagui/fake-react-native\n // could be fixed a bit cleaner\n Component?: StaticComponent | React.Component<any>,\n config: StaticConfig = {}\n): StaticConfigParsed | null {\n const a = (Component || {}) as any\n if (!a.staticConfig) {\n // if no static config, we are extending an external component\n a.staticConfig = {\n Component,\n }\n }\n\n return parseStaticConfig({\n ...a.staticConfig,\n variants: {\n ...a.staticConfig.variants,\n ...config.variants,\n },\n isText: config.isText || a.staticConfig.isText || false,\n neverFlatten: config.neverFlatten ?? a.staticConfig.neverFlatten,\n ensureOverriddenProp: config.ensureOverriddenProp ?? a.staticConfig.ensureOverriddenProp,\n validStyles: config.validStyles\n ? {\n ...a.staticConfig.validStyles,\n ...config.validStyles,\n }\n : a.staticConfig.validStyles,\n validPropsExtra: {\n ...a.staticConfig.validPropsExtra,\n ...config.validPropsExtra,\n },\n defaultProps: {\n ...a.staticConfig.defaultProps,\n ...config.defaultProps,\n },\n })\n}\n\nexport function parseStaticConfig(c: StaticConfig): StaticConfigParsed {\n const variants = c.variants\n let variantsParsed\n return {\n ...c,\n parsed: true,\n\n propMapper(key: string, value: any, theme: any) {\n const conf = getTamaguiConfig()\n if (!conf) {\n console.trace('err')\n return\n }\n if (variants && !variantsParsed) {\n variantsParsed = parseVariants(variants, conf)\n }\n\n // expand variants\n const variant = variantsParsed?.[key]\n if (variant) {\n const tokenKey = typeof value === 'string' && value[0] === '$' ? value.slice(1) : value\n const val = tokenKey === true ? variant['true'] : variant[tokenKey] ?? value\n\n let res: any\n if (typeof val === 'function') {\n res = val(tokenKey, { tokens: conf.tokens, theme })\n } else {\n res = val\n }\n\n if (res) {\n for (const rKey in res) {\n const fKey = conf.shorthands[rKey] || rKey\n if (rKey !== fKey) {\n delete res[rKey]\n }\n const val = res[rKey]\n if (val instanceof Variable) {\n res[fKey] = val.variable\n } else if (val) {\n const fVal = val[0] === '$' ? getToken(fKey, val, conf) : val\n res[fKey] = fVal\n } else {\n // nullish values can't be tokens\n }\n }\n }\n\n return res\n }\n\n let shouldReturn = false\n\n // handle shorthands\n if (conf.shorthands[key]) {\n shouldReturn = true\n key = conf.shorthands[key]\n }\n\n if (value && value[0] === '$') {\n shouldReturn = true\n value = getToken(key, value, conf)\n }\n\n if (value instanceof Variable) {\n shouldReturn = true\n value = value.variable\n }\n\n if (shouldReturn) {\n return {\n [key]: value,\n }\n }\n },\n }\n}\n\nconst getToken = (\n key: string,\n value: string,\n { tokensParsed, themeParsed }: TamaguiInternalConfig\n) => {\n if (themeParsed[value]) {\n return themeParsed[value].variable\n }\n for (const cat in tokenCategories) {\n if (tokenCategories[cat][key]) {\n const res = tokensParsed[cat][value]\n if (res) {\n return res.variable\n } else {\n const themeVar = themeParsed[value]\n if (themeVar) {\n return themeVar.variable\n }\n }\n }\n }\n const spaceVar = tokensParsed.space[value]\n if (spaceVar) {\n return spaceVar.variable\n }\n return value\n}\n\n// just specificy the least costly, all else go to `space` (most keys - we can exclude)\n\nconst tokenCategories = {\n size: {\n width: true,\n height: true,\n minWidth: true,\n minHeight: true,\n maxWidth: true,\n maxHeight: true,\n },\n font: {\n fontFamily: true,\n },\n fontSize: {\n fontSize: true,\n },\n lineHeight: {\n lineHeight: true,\n },\n color: {\n color: true,\n backgroundColor: true,\n borderColor: true,\n borderBottomColor: true,\n borderTopColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n },\n}\n\nfunction parseVariants(variants: any, conf: TamaguiInternalConfig) {\n return Object.keys(variants).reduce((acc, key) => {\n acc[key] = Object.keys(variants[key]).reduce((vacc, vkey) => {\n if (vkey.startsWith('...')) {\n const tokenKey = vkey.slice(3)\n const tokens = conf.tokens[tokenKey]\n for (const tkey in tokens) {\n vacc[tkey] = variants[key][vkey]\n }\n // explode\n // acc[vkey] = variants[key][vkey]\n } else {\n vacc[vkey] = variants[key][vkey]\n }\n return vacc\n }, {})\n return acc\n }, {})\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,8 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- const fixNativeShadow = /* @__PURE__ */ __name((a) => {
4
- }, "fixNativeShadow");
5
- export {
6
- fixNativeShadow
7
- };
8
- //# sourceMappingURL=fixNativeShadow.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/fixNativeShadow.tsx"],
4
- "sourcesContent": ["// only native of course\nexport const fixNativeShadow = (a: any) => {}\n"],
5
- "mappings": ";;AACO,MAAM,kBAAkB,wBAAC,MAAW;AAAA,GAAZ;",
6
- "names": []
7
- }
@@ -1,160 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import {
4
- AllRules,
5
- stylePropsText,
6
- stylePropsTransform,
7
- validStyles,
8
- validStylesPseudo
9
- } from "@tamagui/helpers";
10
- import { isWeb } from "../constants/platform";
11
- import { mediaQueryConfig } from "../hooks/useMedia";
12
- import { createMediaStyle } from "./createMediaStyle";
13
- import { fixNativeShadow } from "./fixNativeShadow";
14
- import { getStylesAtomic } from "./getStylesAtomic";
15
- import { insertStyleRule } from "./insertStyleRule";
16
- const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, isSplittingDefaultProps) => {
17
- const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
18
- const viewProps = {};
19
- const style = [];
20
- const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps;
21
- let pseudos = null;
22
- let cur = null;
23
- let classNames = null;
24
- for (const keyInit in props) {
25
- const valInit = props[keyInit];
26
- if (keyInit[0] === "$") {
27
- const mediaKey = keyInit.slice(1);
28
- if (!mediaQueryConfig[mediaKey]) {
29
- viewProps[keyInit] = valInit;
30
- continue;
31
- }
32
- const mediaProps = { ...props, ...valInit };
33
- const mediaStyle = getSubStyle(valInit, staticConfig, theme);
34
- const mediaStyles = getStylesAtomic(mediaStyle);
35
- if (process.env.NODE_ENV === "development") {
36
- if (props["debug"]) {
37
- console.log("mediaStyles", keyInit, { mediaProps, mediaStyle, mediaStyles });
38
- }
39
- }
40
- for (const style2 of mediaStyles) {
41
- if (isWeb) {
42
- const out2 = createMediaStyle(style2, mediaKey, mediaQueryConfig);
43
- classNames = classNames || [];
44
- classNames.push(out2.identifier);
45
- AllRules.add(out2.styleRule);
46
- insertStyleRule(out2.styleRule);
47
- if (process.env.NODE_ENV === "development" && props["debug"]) {
48
- console.log("mediaProp", style2.identifier, out2, mediaProps, mediaStyle, mediaStyles);
49
- }
50
- } else {
51
- console.log("TODO native media style logic");
52
- }
53
- }
54
- continue;
55
- }
56
- if (validStylesPseudo[keyInit]) {
57
- if (!valInit)
58
- continue;
59
- pseudos = pseudos || {};
60
- pseudos[keyInit] = getSubStyle(valInit, staticConfig, theme);
61
- continue;
62
- }
63
- const out = staticConfig.propMapper(keyInit, valInit, theme);
64
- const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out);
65
- for (const [key, val] of expanded) {
66
- const keyFirstChar = key[0];
67
- if (key === "style" || keyFirstChar === "_" && key.startsWith("_style")) {
68
- if (cur) {
69
- fixNativeShadow(cur);
70
- style.push(cur);
71
- cur = null;
72
- }
73
- fixNativeShadow(val);
74
- style.push(val);
75
- continue;
76
- }
77
- if (key === "flex") {
78
- cur = cur || {};
79
- Object.assign(cur, {
80
- flexGrow: val,
81
- flexShrink: 1
82
- });
83
- continue;
84
- }
85
- if (!isWeb && key === "pointerEvents") {
86
- viewProps[key] = val;
87
- continue;
88
- }
89
- if (validStyleProps[key]) {
90
- if (key in stylePropsTransform) {
91
- cur = cur || {};
92
- mergeTransform(cur, key, val);
93
- continue;
94
- }
95
- cur = cur || {};
96
- cur[key] = val;
97
- continue;
98
- }
99
- if (!blacklistProps[key]) {
100
- viewProps[key] = val;
101
- }
102
- }
103
- }
104
- if (cur) {
105
- fixNativeShadow(cur);
106
- style.push(cur);
107
- }
108
- if (process.env.NODE_ENV === "development") {
109
- if (props["debug"]) {
110
- console.log(" \u{1F95A} splitProps:", { props, viewProps, style });
111
- }
112
- }
113
- return {
114
- viewProps,
115
- style,
116
- pseudos,
117
- classNames
118
- };
119
- }, "getSplitStyles");
120
- const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme) => {
121
- const styleOut = {};
122
- for (const key in styleIn) {
123
- const val = styleIn[key];
124
- const out = staticConfig.propMapper(key, val, theme);
125
- const expanded = out === true || !out ? [[key, val]] : Object.entries(out);
126
- for (const [skey, sval] of expanded) {
127
- if (skey in stylePropsTransform) {
128
- mergeTransform(styleOut, skey, sval);
129
- } else {
130
- styleOut[skey] = sval;
131
- }
132
- }
133
- }
134
- fixNativeShadow(styleOut);
135
- return styleOut;
136
- }, "getSubStyle");
137
- const blacklistDefaultProps = {
138
- ...validStyles,
139
- ...stylePropsText
140
- };
141
- const blacklistFinalProps = {
142
- ...blacklistDefaultProps,
143
- tag: true,
144
- debug: true,
145
- space: true,
146
- hitSlop: true
147
- };
148
- const mapTransformKeys = {
149
- x: "translateX",
150
- y: "translateY"
151
- };
152
- const mergeTransform = /* @__PURE__ */ __name((obj, key, val) => {
153
- const transform = obj.transform ? Array.isArray(obj.transform) ? obj.transform : [obj.transform] : [];
154
- transform.push({ [mapTransformKeys[key] || key]: val });
155
- obj.transform = transform;
156
- }, "mergeTransform");
157
- export {
158
- getSplitStyles
159
- };
160
- //# sourceMappingURL=getSplitStyles.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/getSplitStyles.tsx"],
4
- "sourcesContent": ["import {\n AllRules,\n stylePropsText,\n stylePropsTransform,\n validStyles,\n validStylesPseudo,\n} from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { isWeb } from '../constants/platform'\nimport { mediaQueryConfig } from '../hooks/useMedia'\nimport { StaticConfigParsed, ThemeObject } from '../types'\nimport { createMediaStyle } from './createMediaStyle'\nimport { fixNativeShadow } from './fixNativeShadow'\nimport { getStylesAtomic } from './getStylesAtomic'\nimport { insertStyleRule } from './insertStyleRule'\n\nexport type SplitStyles = ReturnType<typeof getSplitStyles>\n\n// TODO run over this, should be able to cut it down quite a bit\n\nexport const getSplitStyles = (\n props: { [key: string]: any },\n staticConfig: StaticConfigParsed,\n theme: ThemeObject,\n isSplittingDefaultProps?: boolean\n) => {\n const validStyleProps = staticConfig.isText ? stylePropsText : validStyles\n const viewProps: Record<string, any> = {}\n const style: any[] = []\n const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps\n\n let pseudos: { hoverStyle?: ViewStyle; pressStyle?: ViewStyle } | null = null\n let cur: ViewStyle | null = null\n let classNames: string[] | null = null\n\n for (const keyInit in props) {\n // be sure to sync next few lines below to getSubStyle (*1)\n const valInit = props[keyInit]\n\n // media\n if (keyInit[0] === '$') {\n const mediaKey = keyInit.slice(1)\n\n if (!mediaQueryConfig[mediaKey]) {\n // this isn't a media key, pass through\n viewProps[keyInit] = valInit\n continue\n }\n\n // dont check if media is active, we just apply *all* media styles\n // we combine the media props on top regular props, could proxy this\n // TODO test proxy here instead of merge\n const mediaProps = { ...props, ...valInit }\n // TODO media + hover\n const mediaStyle = getSubStyle(valInit, staticConfig, theme)\n const mediaStyles = getStylesAtomic(mediaStyle)\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log('mediaStyles', keyInit, { mediaProps, mediaStyle, mediaStyles })\n }\n }\n for (const style of mediaStyles) {\n if (isWeb) {\n const out = createMediaStyle(style, mediaKey, mediaQueryConfig)\n classNames = classNames || []\n classNames.push(out.identifier)\n AllRules.add(out.styleRule)\n insertStyleRule(out.styleRule)\n if (process.env.NODE_ENV === 'development' && props['debug']) {\n console.log('mediaProp', style.identifier, out, mediaProps, mediaStyle, mediaStyles)\n }\n } else {\n console.log('TODO native media style logic')\n }\n }\n continue\n }\n\n // pseudo\n if (validStylesPseudo[keyInit]) {\n if (!valInit) continue\n pseudos = pseudos || {}\n pseudos[keyInit] = getSubStyle(valInit, staticConfig, theme)\n continue\n }\n\n const out = staticConfig.propMapper(keyInit, valInit, theme)\n const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out)\n for (const [key, val] of expanded) {\n // const val = valueMap(valInit) ?? valInit\n const keyFirstChar = key[0]\n if (key === 'style' || (keyFirstChar === '_' && key.startsWith('_style'))) {\n if (cur) {\n // process last\n fixNativeShadow(cur)\n style.push(cur)\n cur = null\n }\n fixNativeShadow(val)\n style.push(val)\n continue\n }\n // expand flex so it merged with flexShrink etc properly\n // TODO this shouldn't be here...\n if (key === 'flex') {\n cur = cur || {}\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n // TODO this fixed a behavior but need to find / document / test\n Object.assign(cur, {\n flexGrow: val,\n flexShrink: 1,\n })\n continue\n }\n if (!isWeb && key === 'pointerEvents') {\n viewProps[key] = val\n continue\n }\n if (validStyleProps[key]) {\n // transforms\n if (key in stylePropsTransform) {\n cur = cur || {}\n mergeTransform(cur, key, val)\n continue\n }\n cur = cur || {}\n cur[key] = val\n continue\n }\n // TODO this blacklist should be configurable + better set up\n if (!blacklistProps[key]) {\n viewProps[key] = val\n }\n }\n }\n // push last style\n if (cur) {\n fixNativeShadow(cur)\n style.push(cur)\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log(' \uD83E\uDD5A splitProps:', { props, viewProps, style })\n }\n }\n\n return {\n viewProps,\n style,\n pseudos,\n classNames,\n }\n}\n\nconst getSubStyle = (\n styleIn: Object,\n staticConfig: StaticConfigParsed,\n theme: ThemeObject\n): ViewStyle => {\n const styleOut: ViewStyle = {}\n for (const key in styleIn) {\n // be sure to sync next few lines below to loop above (*1)\n const val = styleIn[key]\n const out = staticConfig.propMapper(key, val, theme)\n const expanded = out === true || !out ? [[key, val]] : Object.entries(out)\n for (const [skey, sval] of expanded) {\n // const sval = valueMap(valInit)\n if (skey in stylePropsTransform) {\n mergeTransform(styleOut, skey, sval)\n } else {\n styleOut[skey] = sval\n }\n }\n }\n fixNativeShadow(styleOut)\n return styleOut\n}\n\nconst blacklistDefaultProps = {\n ...validStyles,\n ...stylePropsText,\n}\n\nconst blacklistFinalProps = {\n ...blacklistDefaultProps,\n tag: true,\n debug: true,\n space: true,\n hitSlop: true,\n}\n\nconst mapTransformKeys = {\n x: 'translateX',\n y: 'translateY',\n}\n\nconst mergeTransform = (obj: ViewStyle, key: string, val: any) => {\n const transform: any[] = obj.transform\n ? Array.isArray(obj.transform)\n ? obj.transform\n : [obj.transform]\n : []\n transform.push({ [mapTransformKeys[key] || key]: val })\n obj.transform = transform\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }