@tamagui/web 1.46.2 → 1.47.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.
Files changed (173) hide show
  1. package/dist/cjs/constants/constants.js +15 -15
  2. package/dist/cjs/constants/constants.js.map +1 -1
  3. package/dist/cjs/createComponent.js +82 -106
  4. package/dist/cjs/createComponent.js.map +1 -1
  5. package/dist/cjs/createTamagui.js +0 -1
  6. package/dist/cjs/createTamagui.js.map +1 -1
  7. package/dist/cjs/helpers/ThemeManager.js +6 -5
  8. package/dist/cjs/helpers/ThemeManager.js.map +1 -1
  9. package/dist/cjs/helpers/getSplitStyles.js +78 -98
  10. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  11. package/dist/cjs/helpers/getStylesAtomic.js +7 -7
  12. package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
  13. package/dist/cjs/helpers/getVariantExtras.js +2 -10
  14. package/dist/cjs/helpers/getVariantExtras.js.map +1 -1
  15. package/dist/cjs/helpers/isTamaguiComponent.js +1 -1
  16. package/dist/cjs/helpers/isTamaguiComponent.js.map +1 -1
  17. package/dist/cjs/helpers/mergeProps.js +6 -14
  18. package/dist/cjs/helpers/mergeProps.js.map +1 -1
  19. package/dist/cjs/helpers/normalizeColor.js +2 -1
  20. package/dist/cjs/helpers/normalizeColor.js.map +1 -1
  21. package/dist/cjs/helpers/normalizeValueWithProperty.js +5 -56
  22. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +1 -1
  23. package/dist/cjs/helpers/{createPropMapper.js → propMapper.js} +64 -139
  24. package/dist/cjs/helpers/propMapper.js.map +6 -0
  25. package/dist/cjs/helpers/pseudoDescriptors.js +0 -1
  26. package/dist/cjs/helpers/pseudoDescriptors.js.map +1 -1
  27. package/dist/cjs/helpers/useShallowSetState.js +9 -17
  28. package/dist/cjs/helpers/useShallowSetState.js.map +1 -1
  29. package/dist/cjs/helpers/withStaticProperties.js +9 -0
  30. package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
  31. package/dist/cjs/hooks/useMedia.js +7 -9
  32. package/dist/cjs/hooks/useMedia.js.map +1 -1
  33. package/dist/cjs/hooks/useStyle.js +5 -2
  34. package/dist/cjs/hooks/useStyle.js.map +1 -1
  35. package/dist/cjs/hooks/useTheme.js +28 -32
  36. package/dist/cjs/hooks/useTheme.js.map +1 -1
  37. package/dist/cjs/index.js +2 -2
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/views/Stack.js +1 -4
  40. package/dist/cjs/views/Stack.js.map +1 -1
  41. package/dist/cjs/views/Theme.js +2 -2
  42. package/dist/cjs/views/Theme.js.map +1 -1
  43. package/dist/cjs/views/ThemeDebug.js +2 -2
  44. package/dist/cjs/views/ThemeDebug.js.map +1 -1
  45. package/dist/esm/constants/constants.js +14 -13
  46. package/dist/esm/constants/constants.js.map +1 -1
  47. package/dist/esm/createComponent.js +82 -106
  48. package/dist/esm/createComponent.js.map +1 -1
  49. package/dist/esm/createTamagui.js +0 -1
  50. package/dist/esm/createTamagui.js.map +1 -1
  51. package/dist/esm/helpers/ThemeManager.js +6 -5
  52. package/dist/esm/helpers/ThemeManager.js.map +1 -1
  53. package/dist/esm/helpers/getSplitStyles.js +77 -97
  54. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  55. package/dist/esm/helpers/getStylesAtomic.js +7 -7
  56. package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
  57. package/dist/esm/helpers/getVariantExtras.js +2 -10
  58. package/dist/esm/helpers/getVariantExtras.js.map +1 -1
  59. package/dist/esm/helpers/isTamaguiComponent.js +1 -1
  60. package/dist/esm/helpers/isTamaguiComponent.js.map +1 -1
  61. package/dist/esm/helpers/mergeProps.js +6 -14
  62. package/dist/esm/helpers/mergeProps.js.map +1 -1
  63. package/dist/esm/helpers/normalizeColor.js +2 -1
  64. package/dist/esm/helpers/normalizeColor.js.map +1 -1
  65. package/dist/esm/helpers/normalizeValueWithProperty.js +5 -56
  66. package/dist/esm/helpers/normalizeValueWithProperty.js.map +1 -1
  67. package/dist/esm/helpers/{createPropMapper.js → propMapper.js} +57 -132
  68. package/dist/esm/helpers/propMapper.js.map +6 -0
  69. package/dist/esm/helpers/pseudoDescriptors.js +0 -1
  70. package/dist/esm/helpers/pseudoDescriptors.js.map +1 -1
  71. package/dist/esm/helpers/useShallowSetState.js +9 -17
  72. package/dist/esm/helpers/useShallowSetState.js.map +1 -1
  73. package/dist/esm/helpers/withStaticProperties.js +9 -0
  74. package/dist/esm/helpers/withStaticProperties.js.map +1 -1
  75. package/dist/esm/hooks/useMedia.js +8 -10
  76. package/dist/esm/hooks/useMedia.js.map +1 -1
  77. package/dist/esm/hooks/useStyle.js +5 -2
  78. package/dist/esm/hooks/useStyle.js.map +1 -1
  79. package/dist/esm/hooks/useTheme.js +28 -32
  80. package/dist/esm/hooks/useTheme.js.map +1 -1
  81. package/dist/esm/index.js +1 -1
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/views/Stack.js +1 -4
  84. package/dist/esm/views/Stack.js.map +1 -1
  85. package/dist/esm/views/Theme.js +2 -2
  86. package/dist/esm/views/Theme.js.map +1 -1
  87. package/dist/esm/views/ThemeDebug.js +2 -2
  88. package/dist/esm/views/ThemeDebug.js.map +1 -1
  89. package/package.json +9 -9
  90. package/src/constants/constants.ts +15 -11
  91. package/src/createComponent.tsx +142 -140
  92. package/src/createTamagui.ts +0 -1
  93. package/src/helpers/ThemeManager.tsx +10 -6
  94. package/src/helpers/getSplitStyles.tsx +144 -173
  95. package/src/helpers/getStylesAtomic.ts +7 -7
  96. package/src/helpers/getVariantExtras.tsx +15 -31
  97. package/src/helpers/isTamaguiComponent.tsx +3 -3
  98. package/src/helpers/mergeProps.ts +5 -20
  99. package/src/helpers/normalizeColor.ts +2 -1
  100. package/src/helpers/normalizeValueWithProperty.ts +8 -64
  101. package/src/helpers/{createPropMapper.ts → propMapper.ts} +72 -164
  102. package/src/helpers/pseudoDescriptors.ts +0 -1
  103. package/src/helpers/useShallowSetState.tsx +10 -16
  104. package/src/helpers/withStaticProperties.tsx +13 -0
  105. package/src/hooks/useMedia.tsx +15 -10
  106. package/src/hooks/useStyle.tsx +7 -4
  107. package/src/hooks/useTheme.tsx +36 -47
  108. package/src/index.ts +1 -1
  109. package/src/types.tsx +20 -33
  110. package/src/views/Stack.tsx +1 -4
  111. package/src/views/Theme.tsx +3 -3
  112. package/src/views/ThemeDebug.tsx +2 -2
  113. package/types/constants/constants.d.ts +0 -15
  114. package/types/constants/constants.d.ts.map +1 -1
  115. package/types/createComponent.d.ts +5 -8
  116. package/types/createComponent.d.ts.map +1 -1
  117. package/types/createTamagui.d.ts.map +1 -1
  118. package/types/helpers/ThemeManager.d.ts +1 -1
  119. package/types/helpers/ThemeManager.d.ts.map +1 -1
  120. package/types/helpers/getSplitStyles.d.ts +3 -7
  121. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  122. package/types/helpers/getVariantExtras.d.ts +1 -1
  123. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  124. package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
  125. package/types/helpers/mergeProps.d.ts +1 -1
  126. package/types/helpers/mergeProps.d.ts.map +1 -1
  127. package/types/helpers/normalizeColor.d.ts.map +1 -1
  128. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  129. package/types/helpers/{createPropMapper.d.ts → propMapper.d.ts} +3 -3
  130. package/types/helpers/propMapper.d.ts.map +1 -0
  131. package/types/helpers/pseudoDescriptors.d.ts.map +1 -1
  132. package/types/helpers/useShallowSetState.d.ts.map +1 -1
  133. package/types/helpers/withStaticProperties.d.ts.map +1 -1
  134. package/types/hooks/useMedia.d.ts.map +1 -1
  135. package/types/hooks/useStyle.d.ts +2 -2
  136. package/types/hooks/useStyle.d.ts.map +1 -1
  137. package/types/hooks/useTheme.d.ts +7 -13
  138. package/types/hooks/useTheme.d.ts.map +1 -1
  139. package/types/index.d.ts +1 -1
  140. package/types/index.d.ts.map +1 -1
  141. package/types/styled.d.ts +1 -1
  142. package/types/types.d.ts +17 -25
  143. package/types/types.d.ts.map +1 -1
  144. package/types/views/Stack.d.ts.map +1 -1
  145. package/dist/cjs/helpers/createPropMapper.js.map +0 -6
  146. package/dist/cjs/helpers/parseStaticConfig.js +0 -40
  147. package/dist/cjs/helpers/parseStaticConfig.js.map +0 -6
  148. package/dist/cjs/helpers/swapFontFaceOnWeight.js +0 -63
  149. package/dist/cjs/helpers/swapFontFaceOnWeight.js.map +0 -6
  150. package/dist/cjs/hooks/useSafeRef.js +0 -59
  151. package/dist/cjs/hooks/useSafeRef.js.map +0 -6
  152. package/dist/cjs/hooks/useServerHooks.js +0 -36
  153. package/dist/cjs/hooks/useServerHooks.js.map +0 -6
  154. package/dist/esm/helpers/createPropMapper.js.map +0 -6
  155. package/dist/esm/helpers/parseStaticConfig.js +0 -16
  156. package/dist/esm/helpers/parseStaticConfig.js.map +0 -6
  157. package/dist/esm/helpers/swapFontFaceOnWeight.js +0 -39
  158. package/dist/esm/helpers/swapFontFaceOnWeight.js.map +0 -6
  159. package/dist/esm/hooks/useSafeRef.js +0 -35
  160. package/dist/esm/hooks/useSafeRef.js.map +0 -6
  161. package/dist/esm/hooks/useServerHooks.js +0 -11
  162. package/dist/esm/hooks/useServerHooks.js.map +0 -6
  163. package/src/helpers/parseStaticConfig.ts +0 -14
  164. package/src/hooks/useSafeRef.ts +0 -45
  165. package/types/helpers/createPropMapper.d.ts.map +0 -1
  166. package/types/helpers/parseStaticConfig.d.ts +0 -3
  167. package/types/helpers/parseStaticConfig.d.ts.map +0 -1
  168. package/types/helpers/swapFontFaceOnWeight.d.ts +0 -4
  169. package/types/helpers/swapFontFaceOnWeight.d.ts.map +0 -1
  170. package/types/hooks/useSafeRef.d.ts +0 -4
  171. package/types/hooks/useSafeRef.d.ts.map +0 -1
  172. package/types/hooks/useServerHooks.d.ts +0 -4
  173. package/types/hooks/useServerHooks.d.ts.map +0 -1
@@ -1,18 +1,17 @@
1
1
  import { pseudoDescriptors } from "./pseudoDescriptors";
2
- const mergeProps = (a, b, leaveOutClassNames = false, inverseShorthands) => {
2
+ const mergeProps = (a, b, inverseShorthands) => {
3
3
  const out = {};
4
- const outCns = leaveOutClassNames ? {} : null;
5
4
  for (const key in a) {
6
- mergeProp(out, outCns, a, b, key, leaveOutClassNames, inverseShorthands);
5
+ mergeProp(out, a, b, key, inverseShorthands);
7
6
  }
8
7
  if (b) {
9
8
  for (const key in b) {
10
- mergeProp(out, outCns, b, void 0, key, leaveOutClassNames, inverseShorthands);
9
+ mergeProp(out, b, void 0, key, inverseShorthands);
11
10
  }
12
11
  }
13
- return [out, outCns];
12
+ return out;
14
13
  };
15
- function mergeProp(out, outCns, a, b, key, leaveOutClassNames, inverseShorthands) {
14
+ function mergeProp(out, a, b, key, inverseShorthands) {
16
15
  const shorthand = (inverseShorthands == null ? void 0 : inverseShorthands[key]) || null;
17
16
  if (b && (key in b || shorthand && shorthand in b)) {
18
17
  return;
@@ -25,14 +24,7 @@ function mergeProp(out, outCns, a, b, key, leaveOutClassNames, inverseShorthands
25
24
  };
26
25
  return;
27
26
  }
28
- if (shorthand) {
29
- key = shorthand;
30
- }
31
- if (leaveOutClassNames && (val == null ? void 0 : val[0]) === "_") {
32
- outCns[key] = val;
33
- } else {
34
- out[key] = val;
35
- }
27
+ out[shorthand || key] = val;
36
28
  }
37
29
  export {
38
30
  mergeProps
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/mergeProps.ts"],
4
- "mappings": "AAcA,SAAS,yBAAyB;AAI3B,MAAM,aAAa,CACxB,GACA,GACA,qBAAqB,OACrB,sBACG;AACH,QAAM,MAAiB,CAAC;AACxB,QAAM,SAAoB,qBAAqB,CAAC,IAAK;AACrD,aAAW,OAAO,GAAG;AACnB,cAAU,KAAK,QAAQ,GAAG,GAAG,KAAK,oBAAoB,iBAAiB;AAAA,EACzE;AACA,MAAI,GAAG;AACL,eAAW,OAAO,GAAG;AACnB,gBAAU,KAAK,QAAQ,GAAG,QAAW,KAAK,oBAAoB,iBAAiB;AAAA,IACjF;AAAA,EACF;AACA,SAAO,CAAC,KAAK,MAAM;AACrB;AAEA,SAAS,UACP,KACA,QACA,GACA,GACA,KACA,oBACA,mBACA;AACA,QAAM,aAAY,uDAAoB,SAAQ;AAC9C,MAAI,MAAM,OAAO,KAAM,aAAa,aAAa,IAAK;AACpD;AAAA,EACF;AACA,QAAM,MAAM,EAAE,GAAG;AACjB,MAAI,OAAO,mBAAmB;AAC5B,QAAI,GAAG,IAAI;AAAA,MACT,GAAG,IAAI,GAAG;AAAA,MACV,GAAG;AAAA,IACL;AACA;AAAA,EACF;AACA,MAAI,WAAW;AACb,UAAM;AAAA,EACR;AACA,MAAI,uBAAsB,2BAAM,QAAO,KAAK;AAC1C,WAAO,GAAG,IAAI;AAAA,EAChB,OAAO;AACL,QAAI,GAAG,IAAI;AAAA,EACb;AACF;",
4
+ "mappings": "AAcA,SAAS,yBAAyB;AAI3B,MAAM,aAAa,CAAC,GAAW,GAAY,sBAAkC;AAClF,QAAM,MAAiB,CAAC;AACxB,aAAW,OAAO,GAAG;AACnB,cAAU,KAAK,GAAG,GAAG,KAAK,iBAAiB;AAAA,EAC7C;AACA,MAAI,GAAG;AACL,eAAW,OAAO,GAAG;AACnB,gBAAU,KAAK,GAAG,QAAW,KAAK,iBAAiB;AAAA,IACrD;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,UACP,KACA,GACA,GACA,KACA,mBACA;AACA,QAAM,aAAY,uDAAoB,SAAQ;AAC9C,MAAI,MAAM,OAAO,KAAM,aAAa,aAAa,IAAK;AACpD;AAAA,EACF;AACA,QAAM,MAAM,EAAE,GAAG;AACjB,MAAI,OAAO,mBAAmB;AAC5B,QAAI,GAAG,IAAI;AAAA,MACT,GAAG,IAAI,GAAG;AAAA,MACV,GAAG;AAAA,IACL;AACA;AAAA,EACF;AACA,MAAI,aAAa,GAAG,IAAI;AAC1B;",
5
5
  "names": []
6
6
  }
@@ -12,7 +12,8 @@ const normalizeColor = (color, opacity) => {
12
12
  const colorProcessed = NCC.normalizeCSSColor(color);
13
13
  if (typeof colorProcessed === "number") {
14
14
  const { r, g, b, a } = rgba(colorProcessed);
15
- const alpha = (opacity ?? a ?? 1).toFixed(2);
15
+ const o = +(opacity ?? a ?? 1);
16
+ const alpha = o.toFixed(2);
16
17
  return `rgba(${r},${g},${b},${alpha})`;
17
18
  }
18
19
  if (process.env.TAMAGUI_TARGET === "native") {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/normalizeColor.ts"],
4
- "mappings": "AAAA,SAAS,aAAa;AACtB,YAAY,SAAS;AAEd,MAAM,OAAO,IAAI;AACjB,MAAM,QAAQ,IAAI;AAElB,MAAM,iBAAiB,CAAC,OAAuB,YAAqB;AACzE,MAAI,CAAC;AAAO;AACZ,MAAI,MAAM,CAAC,MAAM;AAAK,WAAO;AAC7B,MAAI,SAAS,YAAY;AAAG,WAAO;AACnC,QAAM,iBAAiB,IAAI,kBAAkB,KAAK;AAClD,MAAI,OAAO,mBAAmB,UAAU;AACtC,UAAM,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,KAAK,cAAc;AAC1C,UAAM,SAAS,WAAW,KAAK,GAAG,QAAQ,CAAC;AAC3C,WAAO,QAAQ,KAAK,KAAK,KAAK;AAAA,EAChC;AACA,MAAI,QAAQ,IAAI,mBAAmB,UAAU;AAC3C,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ,KAAK,wBAAwB,OAAO;AAAA,IAC9C;AAEA;AAAA,EACF;AACA,SAAO;AACT;",
4
+ "mappings": "AAAA,SAAS,aAAa;AACtB,YAAY,SAAS;AAEd,MAAM,OAAO,IAAI;AACjB,MAAM,QAAQ,IAAI;AAElB,MAAM,iBAAiB,CAAC,OAAuB,YAAqB;AACzE,MAAI,CAAC;AAAO;AACZ,MAAI,MAAM,CAAC,MAAM;AAAK,WAAO;AAC7B,MAAI,SAAS,YAAY;AAAG,WAAO;AACnC,QAAM,iBAAiB,IAAI,kBAAkB,KAAK;AAClD,MAAI,OAAO,mBAAmB,UAAU;AACtC,UAAM,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,KAAK,cAAc;AAC1C,UAAM,IAAI,EAAE,WAAW,KAAK;AAC5B,UAAM,QAAQ,EAAE,QAAQ,CAAC;AACzB,WAAO,QAAQ,KAAK,KAAK,KAAK;AAAA,EAChC;AACA,MAAI,QAAQ,IAAI,mBAAmB,UAAU;AAC3C,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ,KAAK,wBAAwB,OAAO;AAAA,IAC9C;AAEA;AAAA,EACF;AACA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,68 +1,17 @@
1
1
  import { isWeb } from "@tamagui/constants";
2
+ import { stylePropsUnitless } from "@tamagui/helpers";
2
3
  import { getAllSelectors } from "./insertStyleRule";
3
- import { names, normalizeColor } from "./normalizeColor";
4
- import { normalizeStylePropKeys } from "./normalizeStylePropKeys";
5
- const colorCache = /* @__PURE__ */ new Map();
6
4
  function normalizeValueWithProperty(value, property) {
7
- if (property && property in unitlessNumbers) {
5
+ if (!isWeb)
8
6
  return value;
9
- }
10
7
  let res = value;
11
- if (property && (property in normalizeStylePropKeys || value in names)) {
12
- if (colorCache.has(value)) {
13
- return colorCache.get(value);
14
- }
15
- res = normalizeColor(value);
16
- if (colorCache.size > 1e3) {
17
- colorCache.clear();
18
- }
19
- colorCache.set(value, res);
20
- } else if (isWeb && typeof value === "number" && (property === void 0 || !(property in unitlessNumbers || property in stringNumbers))) {
8
+ if ((property === void 0 || !(property in stylePropsUnitless)) && typeof value === "number") {
21
9
  res = `${value}px`;
22
- } else if (isWeb && property !== void 0 && property in stringNumbers) {
10
+ } else if (property !== void 0) {
23
11
  res = `${res}`;
24
12
  }
25
13
  return res;
26
14
  }
27
- const stringNumbers = {
28
- zIndex: true
29
- };
30
- const unitlessNumbers = {
31
- WebkitLineClamp: true,
32
- animationIterationCount: true,
33
- aspectRatio: true,
34
- borderImageOutset: true,
35
- borderImageSlice: true,
36
- borderImageWidth: true,
37
- columnCount: true,
38
- flex: true,
39
- flexGrow: true,
40
- flexOrder: true,
41
- flexPositive: true,
42
- flexShrink: true,
43
- flexNegative: true,
44
- fontWeight: true,
45
- gridRow: true,
46
- gridRowEnd: true,
47
- gridRowGap: true,
48
- gridRowStart: true,
49
- gridColumn: true,
50
- gridColumnEnd: true,
51
- gridColumnGap: true,
52
- gridColumnStart: true,
53
- lineClamp: true,
54
- opacity: true,
55
- order: true,
56
- orphans: true,
57
- tabSize: true,
58
- widows: true,
59
- zoom: true,
60
- scale: true,
61
- scaleX: true,
62
- scaleY: true,
63
- scaleZ: true,
64
- shadowOpacity: true
65
- };
66
15
  const rcache = {};
67
16
  function reverseMapClassNameToValue(key, className) {
68
17
  const selectors = getAllSelectors();
@@ -82,7 +31,7 @@ function reverseMapClassNameToValue(key, className) {
82
31
  let res;
83
32
  if (cssVal.startsWith("var(")) {
84
33
  res = cssVal;
85
- } else if (unitlessNumbers[key]) {
34
+ } else if (stylePropsUnitless[key]) {
86
35
  res = +cssVal;
87
36
  } else if (cssVal.endsWith("px")) {
88
37
  res = +cssVal.replace("px", "");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/normalizeValueWithProperty.ts"],
4
- "mappings": "AAKA,SAAS,aAAa;AAEtB,SAAS,uBAAuB;AAChC,SAAS,OAAO,sBAAsB;AACtC,SAAS,8BAA8B;AAEvC,MAAM,aAAa,oBAAI,IAAI;AAEpB,SAAS,2BAA2B,OAAY,UAAwB;AAC7E,MAAI,YAAY,YAAY,iBAAiB;AAC3C,WAAO;AAAA,EACT;AACA,MAAI,MAAM;AACV,MAAI,aAAa,YAAY,0BAA0B,SAAS,QAAQ;AACtE,QAAI,WAAW,IAAI,KAAK,GAAG;AACzB,aAAO,WAAW,IAAI,KAAK;AAAA,IAC7B;AACA,UAAM,eAAe,KAAK;AAE1B,QAAI,WAAW,OAAO,KAAM;AAC1B,iBAAW,MAAM;AAAA,IACnB;AACA,eAAW,IAAI,OAAO,GAAG;AAAA,EAC3B,WACE,SACA,OAAO,UAAU,aAChB,aAAa,UACZ,EAAE,YAAY,mBAAmB,YAAY,iBAC/C;AACA,UAAM,GAAG;AAAA,EACX,WAAW,SAAS,aAAa,UAAa,YAAY,eAAe;AACvE,UAAM,GAAG;AAAA,EACX;AACA,SAAO;AACT;AAEA,MAAM,gBAAgB;AAAA,EACpB,QAAQ;AACV;AAEA,MAAM,kBAAkB;AAAA,EACtB,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,eAAe;AACjB;AAIA,MAAM,SAAS,CAAC;AACT,SAAS,2BAA2B,KAAa,WAAmB;AACzE,QAAM,YAAY,gBAAgB;AAClC,QAAM,UAAU,UAAU,SAAS;AACnC,MAAI,OAAO,OAAO,GAAG;AACnB,WAAO,OAAO,OAAO;AAAA,EACvB;AAEA,MAAI,CAAC,SAAS;AACZ,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ;AAAA,QACN,yBAAyB,8BAA8B;AAAA,MACzD;AAAA,IACF;AACA;AAAA,EACF;AACA,QAAM,SAAS,QAAQ,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,EAAE,EAAE,KAAK;AAClE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM,GAAG;AAC7B,UAAM;AAAA,EACR,WAAW,gBAAgB,GAAG,GAAG;AAC/B,UAAM,CAAC;AAAA,EACT,WAAW,OAAO,SAAS,IAAI,GAAG;AAChC,UAAM,CAAC,OAAO,QAAQ,MAAM,EAAE;AAAA,EAChC,OAAO;AACL,UAAM;AAAA,EACR;AACA,SAAO,OAAO,IAAI;AAClB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAE1C,QAAI,OAAO,QAAQ,YAAY,MAAM,GAAG,GAAG;AAEzC,cAAQ,IAAI,sCAAsC;AAAA,QAChD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;",
4
+ "mappings": "AAKA,SAAS,aAAa;AACtB,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAIzB,SAAS,2BAA2B,OAAY,UAAwB;AAC7E,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,MAAM;AACV,OACG,aAAa,UAAa,EAAE,YAAY,wBACzC,OAAO,UAAU,UACjB;AACA,UAAM,GAAG;AAAA,EACX,WAAW,aAAa,QAAW;AACjC,UAAM,GAAG;AAAA,EACX;AACA,SAAO;AACT;AAIA,MAAM,SAAS,CAAC;AACT,SAAS,2BAA2B,KAAa,WAAmB;AACzE,QAAM,YAAY,gBAAgB;AAClC,QAAM,UAAU,UAAU,SAAS;AACnC,MAAI,OAAO,OAAO,GAAG;AACnB,WAAO,OAAO,OAAO;AAAA,EACvB;AAEA,MAAI,CAAC,SAAS;AACZ,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ;AAAA,QACN,yBAAyB,8BAA8B;AAAA,MACzD;AAAA,IACF;AACA;AAAA,EACF;AACA,QAAM,SAAS,QAAQ,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,EAAE,EAAE,KAAK;AAClE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM,GAAG;AAC7B,UAAM;AAAA,EACR,WAAW,mBAAmB,GAAG,GAAG;AAClC,UAAM,CAAC;AAAA,EACT,WAAW,OAAO,SAAS,IAAI,GAAG;AAChC,UAAM,CAAC,OAAO,QAAQ,MAAM,EAAE;AAAA,EAChC,OAAO;AACL,UAAM;AAAA,EACR;AACA,SAAO,OAAO,IAAI;AAClB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAE1C,QAAI,OAAO,QAAQ,YAAY,MAAM,GAAG,GAAG;AAEzC,cAAQ,IAAI,sCAAsC;AAAA,QAChD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,65 +1,56 @@
1
1
  import { isAndroid, isWeb } from "@tamagui/constants";
2
+ import { tokenCategories } from "@tamagui/helpers";
2
3
  import { isDevTools } from "../constants/isDevTools";
3
4
  import { getVariableValue, isVariable } from "../createVariable";
4
5
  import { expandStyle } from "./expandStyle";
5
6
  import { expandStylesAndRemoveNullishValues } from "./expandStyles";
6
7
  import { getFontsForLanguage, getVariantExtras } from "./getVariantExtras";
7
8
  import { isObj } from "./isObj";
8
- import { mergeProps } from "./mergeProps";
9
9
  import { pseudoDescriptors } from "./pseudoDescriptors";
10
- const createPropMapper = (staticConfig) => {
11
- const defaultProps = mergeProps(staticConfig.defaultProps || {}, {}, false)[0];
12
- const mapper = (key, value, styleStateIn, subPropsIn, avoidDefaultProps = false) => {
13
- if (!(process.env.TAMAGUI_TARGET === "native" && isAndroid)) {
14
- if (key === "elevationAndroid")
15
- return;
16
- }
17
- const subProps = styleStateIn.state.fallbackProps || subPropsIn;
18
- const styleState = subProps ? {
19
- ...styleStateIn,
20
- curProps: subProps
21
- } : styleStateIn;
22
- const { conf, state, fontFamily } = styleState;
23
- const returnVariablesAs = state.resolveVariablesAs === "value" ? "value" : "auto";
24
- if (process.env.NODE_ENV === "development" && fontFamily && fontFamily[0] === "$" && !(fontFamily in conf.fontsParsed)) {
25
- console.warn(`Warning: no fontFamily "${fontFamily}" found in config: ${Object.keys(conf.fontsParsed).join(", ")}`);
10
+ const propMapper = (key, value, styleStateIn, subPropsIn) => {
11
+ if (!(process.env.TAMAGUI_TARGET === "native" && isAndroid)) {
12
+ if (key === "elevationAndroid")
13
+ return;
14
+ }
15
+ const subProps = styleStateIn.styleProps.fallbackProps || subPropsIn;
16
+ const styleState = subProps ? new Proxy(styleStateIn, {
17
+ get(_, k) {
18
+ return k === "curProps" ? subProps : Reflect.get(_, k);
26
19
  }
27
- const variantValue = resolveVariants(
28
- key,
29
- value,
30
- styleState,
31
- defaultProps,
32
- returnVariablesAs,
33
- "",
34
- avoidDefaultProps
35
- );
20
+ }) : styleStateIn;
21
+ const { conf, styleProps, fontFamily, staticConfig } = styleState;
22
+ const { variants } = staticConfig;
23
+ if (process.env.NODE_ENV === "development" && fontFamily && fontFamily[0] === "$" && !(fontFamily in conf.fontsParsed)) {
24
+ console.warn(`Warning: no fontFamily "${fontFamily}" found in config: ${Object.keys(conf.fontsParsed).join(", ")}`);
25
+ }
26
+ if (variants && key in variants && value != null) {
27
+ styleState.curProps[key] = value;
28
+ const variantValue = resolveVariants(key, value, styleProps, styleState, "");
36
29
  if (variantValue) {
37
30
  return variantValue;
38
31
  }
39
- let shouldReturn = false;
40
- if (key in conf.shorthands) {
41
- shouldReturn = true;
42
- key = conf.shorthands[key];
43
- }
44
- if (value) {
45
- if (value[0] === "$") {
46
- value = getToken(key, value, styleState, returnVariablesAs);
47
- } else if (isVariable(value)) {
48
- value = resolveVariableValue(key, value, returnVariablesAs);
49
- }
50
- }
51
- if (shouldReturn || value != null) {
52
- return expandStyle(key, value) || [[key, value]];
32
+ }
33
+ let shouldReturn = false;
34
+ if (key in conf.shorthands) {
35
+ shouldReturn = true;
36
+ key = conf.shorthands[key];
37
+ }
38
+ if (value) {
39
+ if (value[0] === "$") {
40
+ value = getToken(key, value, styleProps, styleState);
41
+ } else if (isVariable(value)) {
42
+ value = resolveVariableValue(value, styleProps);
53
43
  }
54
- };
55
- return mapper;
44
+ }
45
+ if (shouldReturn || value != null) {
46
+ return expandStyle(key, value) || [[key, value]];
47
+ }
56
48
  };
57
- const resolveVariants = (key, value, styleState, defaultProps, returnVariablesAs, parentVariantKey, avoidDefaultProps = false) => {
49
+ const resolveVariants = (key, value, styleProps, styleState, parentVariantKey) => {
58
50
  const { staticConfig, conf, debug } = styleState;
59
51
  const { variants } = staticConfig;
60
- if (!variants || !(key in variants) || value == null) {
52
+ if (!variants)
61
53
  return;
62
- }
63
54
  let variantValue = getVariantDefinition(variants[key], key, value, conf);
64
55
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
65
56
  console.groupCollapsed(`\u2666\uFE0F\u2666\uFE0F\u2666\uFE0F resolve variant ${key}`);
@@ -85,30 +76,13 @@ const resolveVariants = (key, value, styleState, defaultProps, returnVariablesAs
85
76
  }
86
77
  if (typeof variantValue === "function") {
87
78
  const fn = variantValue;
88
- variantValue = fn(
89
- value,
90
- getVariantExtras(styleState, defaultProps, avoidDefaultProps)
91
- );
79
+ variantValue = fn(value, getVariantExtras(styleState));
92
80
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
93
81
  console.groupCollapsed(" expanded functional variant", key);
94
82
  console.log({ fn, variantValue });
95
83
  console.groupEnd();
96
84
  }
97
85
  }
98
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
99
- console.log(` attaching updated curProps`, {
100
- new: variantValue,
101
- before: styleState.curProps,
102
- after: {
103
- ...styleState.curProps,
104
- ...variantValue
105
- }
106
- });
107
- }
108
- styleState.curProps = {
109
- ...styleState.curProps,
110
- ...variantValue
111
- };
112
86
  let fontFamilyResult;
113
87
  if (isObj(variantValue)) {
114
88
  const fontFamilyUpdate = variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily];
@@ -122,11 +96,9 @@ const resolveVariants = (key, value, styleState, defaultProps, returnVariablesAs
122
96
  variantValue = resolveTokensAndVariants(
123
97
  key,
124
98
  variantValue,
99
+ styleProps,
125
100
  styleState,
126
- defaultProps,
127
- returnVariablesAs,
128
- parentVariantKey,
129
- avoidDefaultProps
101
+ parentVariantKey
130
102
  );
131
103
  }
132
104
  if (variantValue) {
@@ -153,7 +125,7 @@ function getFontFamilyFromNameOrVariable(input, conf) {
153
125
  }
154
126
  }
155
127
  } else if (typeof input === "string") {
156
- if ((input == null ? void 0 : input[0]) === "$") {
128
+ if (input[0] === "$") {
157
129
  return input;
158
130
  }
159
131
  }
@@ -163,7 +135,7 @@ const fontFamilyCache = /* @__PURE__ */ new WeakMap();
163
135
  const getPropMappedFontFamily = (expanded) => {
164
136
  return expanded && fontFamilyCache.get(expanded);
165
137
  };
166
- const resolveTokensAndVariants = (key, value, styleState, defaultProps, returnVariablesAs, parentVariantKey, avoidDefaultProps) => {
138
+ const resolveTokensAndVariants = (key, value, styleProps, styleState, parentVariantKey) => {
167
139
  var _a;
168
140
  const { conf, staticConfig, debug, theme } = styleState;
169
141
  const { variants } = staticConfig;
@@ -175,19 +147,12 @@ const resolveTokensAndVariants = (key, value, styleState, defaultProps, returnVa
175
147
  const fKey = conf.shorthands[rKey] || rKey;
176
148
  const val = value[rKey];
177
149
  if (variants && fKey in variants) {
150
+ styleState.curProps[fKey] = val;
178
151
  if (parentVariantKey && parentVariantKey === key) {
179
152
  res[fKey] = // SYNC WITH *1
180
- val[0] === "$" ? getToken(fKey, val, styleState, returnVariablesAs) : val;
153
+ val[0] === "$" ? getToken(fKey, val, styleProps, styleState) : val;
181
154
  } else {
182
- const variantOut = resolveVariants(
183
- fKey,
184
- val,
185
- styleState,
186
- defaultProps,
187
- returnVariablesAs,
188
- key,
189
- avoidDefaultProps
190
- );
155
+ const variantOut = resolveVariants(fKey, val, styleProps, styleState, key);
191
156
  if (variantOut) {
192
157
  for (const [key2, val2] of variantOut) {
193
158
  if (val2 == null)
@@ -204,27 +169,19 @@ const resolveTokensAndVariants = (key, value, styleState, defaultProps, returnVa
204
169
  continue;
205
170
  }
206
171
  if (isVariable(val)) {
207
- res[fKey] = !isWeb || returnVariablesAs === "value" ? val.val : val.variable;
172
+ res[fKey] = resolveVariableValue(val, styleProps);
208
173
  continue;
209
174
  }
210
175
  if (typeof val === "string") {
211
176
  const fVal = (
212
177
  // SYNC WITH *1
213
- val[0] === "$" ? getToken(fKey, val, styleState, returnVariablesAs) : val
178
+ val[0] === "$" ? getToken(fKey, val, styleProps, styleState) : val
214
179
  );
215
180
  res[fKey] = fVal;
216
181
  continue;
217
182
  }
218
183
  if (isObj(val)) {
219
- const subObject = resolveTokensAndVariants(
220
- fKey,
221
- val,
222
- styleState,
223
- defaultProps,
224
- returnVariablesAs,
225
- key,
226
- avoidDefaultProps
227
- );
184
+ const subObject = resolveTokensAndVariants(fKey, val, styleProps, styleState, key);
228
185
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
229
186
  console.log(`object`, fKey, subObject);
230
187
  }
@@ -270,14 +227,14 @@ const fontShorthand = {
270
227
  fontSize: "size",
271
228
  fontWeight: "weight"
272
229
  };
273
- const getToken = (key, value, styleState, resolveAs, debug) => {
230
+ const getToken = (key, value, styleProps, styleState) => {
274
231
  var _a, _b;
275
232
  const { theme, conf, languageContext, fontFamily } = styleState;
276
233
  const tokensParsed = conf.tokensParsed;
277
234
  let valOrVar;
278
235
  let hasSet = false;
279
236
  if (value in theme) {
280
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
237
+ if (process.env.NODE_ENV === "development" && styleState.debug === "verbose") {
281
238
  console.log(` - getting theme value for ${key} from ${value} = ${theme[value].val}`);
282
239
  }
283
240
  valOrVar = theme[value];
@@ -327,60 +284,28 @@ const getToken = (key, value, styleState, resolveAs, debug) => {
327
284
  }
328
285
  }
329
286
  if (hasSet) {
330
- const out = resolveVariableValue(key, valOrVar, resolveAs);
287
+ const out = resolveVariableValue(valOrVar, styleProps);
331
288
  return out;
332
289
  }
333
- if (process.env.NODE_ENV === "development" && isDevTools && debug === "verbose") {
290
+ if (process.env.NODE_ENV === "development" && isDevTools && styleState.debug === "verbose") {
334
291
  console.groupCollapsed(" \uFE52 propMap (val)", key, value);
335
- console.log({ valOrVar, theme, hasSet, resolveAs }, theme[key]);
292
+ console.log({ valOrVar, theme, hasSet }, theme[key]);
336
293
  console.groupEnd();
337
294
  }
338
295
  return value;
339
296
  };
340
- function resolveVariableValue(key, valOrVar, resolveAs = "auto") {
297
+ function resolveVariableValue(valOrVar, { resolveVariablesAs }) {
341
298
  if (isVariable(valOrVar)) {
342
- if (resolveAs === "variable") {
343
- return valOrVar;
344
- }
345
- if (!isWeb || resolveAs === "value") {
299
+ if (!isWeb || resolveVariablesAs === "value") {
346
300
  return valOrVar.val;
347
301
  }
348
302
  return valOrVar.variable;
349
303
  }
350
304
  return valOrVar;
351
305
  }
352
- const tokenCategories = {
353
- radius: {
354
- borderRadius: true,
355
- borderTopLeftRadius: true,
356
- borderTopRightRadius: true,
357
- borderBottomLeftRadius: true,
358
- borderBottomRightRadius: true
359
- },
360
- size: {
361
- width: true,
362
- height: true,
363
- minWidth: true,
364
- minHeight: true,
365
- maxWidth: true,
366
- maxHeight: true
367
- },
368
- zIndex: {
369
- zIndex: true
370
- },
371
- color: {
372
- color: true,
373
- backgroundColor: true,
374
- borderColor: true,
375
- borderBottomColor: true,
376
- borderTopColor: true,
377
- borderLeftColor: true,
378
- borderRightColor: true
379
- }
380
- };
381
306
  export {
382
- createPropMapper,
383
307
  getFontFamilyFromNameOrVariable,
384
- getPropMappedFontFamily
308
+ getPropMappedFontFamily,
309
+ propMapper
385
310
  };
386
- //# sourceMappingURL=createPropMapper.js.map
311
+ //# sourceMappingURL=propMapper.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/propMapper.ts"],
4
+ "mappings": "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",
5
+ "names": ["key", "val"]
6
+ }
@@ -19,7 +19,6 @@ const pseudoDescriptors = {
19
19
  },
20
20
  exitStyle: {
21
21
  name: "exit",
22
- stateKey: "isExiting",
23
22
  priority: 5
24
23
  }
25
24
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/pseudoDescriptors.ts"],
4
- "mappings": "AAEO,MAAM,oBAGT;AAAA,EACF,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AACF;",
4
+ "mappings": "AAEO,MAAM,oBAGT;AAAA,EACF,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;",
5
5
  "names": []
6
6
  }
@@ -1,21 +1,13 @@
1
- import { useCallback } from "react";
2
1
  function useShallowSetState(setter, debug, debugName) {
3
- return useCallback(
4
- (next) => {
5
- setter((prev) => {
6
- for (const key in next) {
7
- if (prev[key] !== next[key]) {
8
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
9
- console.warn(` \u25B2 setState ${debugName}`, next);
10
- }
11
- return { ...prev, ...next };
12
- }
13
- }
14
- return prev;
15
- });
16
- },
17
- [setter]
18
- );
2
+ return (next) => setter((prev) => shallow(prev, next));
3
+ }
4
+ function shallow(prev, next) {
5
+ for (const key in next) {
6
+ if (prev[key] !== next[key]) {
7
+ return { ...prev, ...next };
8
+ }
9
+ }
10
+ return prev;
19
11
  }
20
12
  export {
21
13
  useShallowSetState
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/useShallowSetState.tsx"],
4
- "mappings": "AAAA,SAAgB,mBAAmB;AAI5B,SAAS,mBACd,QACA,OACA,WACA;AACA,SAAO;AAAA,IACL,CAAC,SAAyB;AACxB,aAAO,CAAC,SAAS;AACf,mBAAW,OAAO,MAAM;AACtB,cAAI,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG;AAC3B,gBAAI,QAAQ,IAAI,aAAa,iBAAiB,UAAU,WAAW;AACjE,sBAAQ,KAAK,oBAAe,aAAa,IAAI;AAAA,YAC/C;AACA,mBAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAAA,UAC5B;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACF;",
4
+ "mappings": "AAIO,SAAS,mBACd,QACA,OACA,WACA;AACA,SAAO,CAAC,SAAyB,OAAO,CAAC,SAAS,QAAQ,MAAM,IAAI,CAAC;AACvE;AAEA,SAAS,QAAQ,MAAM,MAAM;AAC3B,aAAW,OAAO,MAAM;AACtB,QAAI,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG;AAC3B,aAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAAA,IAC5B;AAAA,EACF;AACA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,14 @@
1
+ const WarnReAssignSymbol = Symbol();
1
2
  const withStaticProperties = function(component, staticProps) {
2
3
  const next = typeof component === "function" ? component : { ...component };
4
+ if (process.env.NODE_ENV === "development") {
5
+ if (next[WarnReAssignSymbol]) {
6
+ throw new Error(
7
+ `Error: You're calling withStaticProperties() on a component that already has withStaticProperties() assigned to it! This will cause super strange errors.`
8
+ );
9
+ }
10
+ next[WarnReAssignSymbol] = true;
11
+ }
3
12
  Object.assign(next, staticProps);
4
13
  return next;
5
14
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/withStaticProperties.tsx"],
4
- "mappings": "AAAO,MAAM,uBAAuB,SAClC,WACA,aACO;AAEP,QAAM,OAAO,OAAO,cAAc,aAAa,YAAY,EAAE,GAAI,UAAkB;AACnF,SAAO,OAAO,MAAM,WAAW;AAC/B,SAAO;AACT;",
4
+ "mappings": "AAAA,MAAM,qBAAqB,OAAO;AAE3B,MAAM,uBAAuB,SAClC,WACA,aACO;AAEP,QAAM,OAAO,OAAO,cAAc,aAAa,YAAY,EAAE,GAAI,UAAkB;AAGnF,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,KAAK,kBAAkB,GAAG;AAC5B,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AACA,SAAK,kBAAkB,IAAI;AAAA,EAC7B;AAEA,SAAO,OAAO,MAAM,WAAW;AAC/B,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,10 +1,9 @@
1
1
  import { useIsomorphicLayoutEffect } from "@tamagui/constants";
2
- import { useMemo, useSyncExternalStore } from "react";
2
+ import { useMemo, useRef, useSyncExternalStore } from "react";
3
3
  import { getConfig } from "../config";
4
4
  import { createProxy } from "../helpers/createProxy";
5
5
  import { matchMedia } from "../helpers/matchMedia";
6
6
  import { pseudoDescriptors } from "../helpers/pseudoDescriptors";
7
- import { useSafeRef } from "./useSafeRef";
8
7
  let mediaState = (
9
8
  // development only safeguard
10
9
  process.env.NODE_ENV === "development" ? createProxy(
@@ -23,7 +22,7 @@ let mediaState = (
23
22
  const mediaQueryConfig = {};
24
23
  const getMedia = () => mediaState;
25
24
  const mediaKeys = /* @__PURE__ */ new Set();
26
- const isMediaKey = (key) => mediaKeys.has(key) || key.startsWith("$platform-") || key.startsWith("$theme-");
25
+ const isMediaKey = (key) => mediaKeys.has(key) || key[0] === "$" && (key.startsWith("$platform-") || key.startsWith("$theme-"));
27
26
  let initState;
28
27
  const getInitialMediaState = () => {
29
28
  return (getConfig().disableSSR ? mediaState : initState) || {};
@@ -117,18 +116,16 @@ function subscribe(subscriber) {
117
116
  return () => listeners.delete(subscriber);
118
117
  }
119
118
  function useMedia(uid, debug) {
120
- const internal = useSafeRef(void 0);
121
- if (!internal.current) {
122
- internal.current = {
123
- prev: initState
124
- };
125
- }
119
+ const internal = useRef();
126
120
  const state = useSyncExternalStore(
127
121
  subscribe,
128
122
  () => {
123
+ if (!internal.current) {
124
+ return initState;
125
+ }
129
126
  const { touched, prev } = internal.current;
130
127
  const componentState = uid ? shouldUpdate.get(uid) : void 0;
131
- if ((componentState == null ? void 0 : componentState.enabled) === false) {
128
+ if (!(componentState == null ? void 0 : componentState.enabled) === false) {
132
129
  return prev;
133
130
  }
134
131
  const testKeys = (componentState == null ? void 0 : componentState.keys) ?? ((!componentState || componentState.enabled) && touched ? [...touched] : null);
@@ -145,6 +142,7 @@ function useMedia(uid, debug) {
145
142
  return new Proxy(state, {
146
143
  get(_, key) {
147
144
  if (typeof key === "string") {
145
+ internal.current ||= { prev: initState };
148
146
  internal.current.touched ||= /* @__PURE__ */ new Set();
149
147
  internal.current.touched.add(key);
150
148
  }