@tamagui/web 1.46.2 → 1.47.0

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 +83 -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 +75 -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} +63 -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 +83 -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 +74 -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} +56 -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 +143 -140
  92. package/src/createTamagui.ts +0 -1
  93. package/src/helpers/ThemeManager.tsx +10 -6
  94. package/src/helpers/getSplitStyles.tsx +139 -172
  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} +71 -165
  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,55 @@
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
+ const variantValue = resolveVariants(key, value, styleProps, styleState, "");
36
28
  if (variantValue) {
37
29
  return variantValue;
38
30
  }
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]];
31
+ }
32
+ let shouldReturn = false;
33
+ if (key in conf.shorthands) {
34
+ shouldReturn = true;
35
+ key = conf.shorthands[key];
36
+ }
37
+ if (value) {
38
+ if (value[0] === "$") {
39
+ value = getToken(key, value, styleProps, styleState);
40
+ } else if (isVariable(value)) {
41
+ value = resolveVariableValue(value, styleProps);
53
42
  }
54
- };
55
- return mapper;
43
+ }
44
+ if (shouldReturn || value != null) {
45
+ return expandStyle(key, value) || [[key, value]];
46
+ }
56
47
  };
57
- const resolveVariants = (key, value, styleState, defaultProps, returnVariablesAs, parentVariantKey, avoidDefaultProps = false) => {
48
+ const resolveVariants = (key, value, styleProps, styleState, parentVariantKey) => {
58
49
  const { staticConfig, conf, debug } = styleState;
59
50
  const { variants } = staticConfig;
60
- if (!variants || !(key in variants) || value == null) {
51
+ if (!variants)
61
52
  return;
62
- }
63
53
  let variantValue = getVariantDefinition(variants[key], key, value, conf);
64
54
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
65
55
  console.groupCollapsed(`\u2666\uFE0F\u2666\uFE0F\u2666\uFE0F resolve variant ${key}`);
@@ -85,30 +75,13 @@ const resolveVariants = (key, value, styleState, defaultProps, returnVariablesAs
85
75
  }
86
76
  if (typeof variantValue === "function") {
87
77
  const fn = variantValue;
88
- variantValue = fn(
89
- value,
90
- getVariantExtras(styleState, defaultProps, avoidDefaultProps)
91
- );
78
+ variantValue = fn(value, getVariantExtras(styleState));
92
79
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
93
80
  console.groupCollapsed(" expanded functional variant", key);
94
81
  console.log({ fn, variantValue });
95
82
  console.groupEnd();
96
83
  }
97
84
  }
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
85
  let fontFamilyResult;
113
86
  if (isObj(variantValue)) {
114
87
  const fontFamilyUpdate = variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily];
@@ -122,11 +95,9 @@ const resolveVariants = (key, value, styleState, defaultProps, returnVariablesAs
122
95
  variantValue = resolveTokensAndVariants(
123
96
  key,
124
97
  variantValue,
98
+ styleProps,
125
99
  styleState,
126
- defaultProps,
127
- returnVariablesAs,
128
- parentVariantKey,
129
- avoidDefaultProps
100
+ parentVariantKey
130
101
  );
131
102
  }
132
103
  if (variantValue) {
@@ -153,7 +124,7 @@ function getFontFamilyFromNameOrVariable(input, conf) {
153
124
  }
154
125
  }
155
126
  } else if (typeof input === "string") {
156
- if ((input == null ? void 0 : input[0]) === "$") {
127
+ if (input[0] === "$") {
157
128
  return input;
158
129
  }
159
130
  }
@@ -163,7 +134,7 @@ const fontFamilyCache = /* @__PURE__ */ new WeakMap();
163
134
  const getPropMappedFontFamily = (expanded) => {
164
135
  return expanded && fontFamilyCache.get(expanded);
165
136
  };
166
- const resolveTokensAndVariants = (key, value, styleState, defaultProps, returnVariablesAs, parentVariantKey, avoidDefaultProps) => {
137
+ const resolveTokensAndVariants = (key, value, styleProps, styleState, parentVariantKey) => {
167
138
  var _a;
168
139
  const { conf, staticConfig, debug, theme } = styleState;
169
140
  const { variants } = staticConfig;
@@ -175,19 +146,12 @@ const resolveTokensAndVariants = (key, value, styleState, defaultProps, returnVa
175
146
  const fKey = conf.shorthands[rKey] || rKey;
176
147
  const val = value[rKey];
177
148
  if (variants && fKey in variants) {
149
+ styleState.curProps[fKey] = val;
178
150
  if (parentVariantKey && parentVariantKey === key) {
179
151
  res[fKey] = // SYNC WITH *1
180
- val[0] === "$" ? getToken(fKey, val, styleState, returnVariablesAs) : val;
152
+ val[0] === "$" ? getToken(fKey, val, styleProps, styleState) : val;
181
153
  } else {
182
- const variantOut = resolveVariants(
183
- fKey,
184
- val,
185
- styleState,
186
- defaultProps,
187
- returnVariablesAs,
188
- key,
189
- avoidDefaultProps
190
- );
154
+ const variantOut = resolveVariants(fKey, val, styleProps, styleState, key);
191
155
  if (variantOut) {
192
156
  for (const [key2, val2] of variantOut) {
193
157
  if (val2 == null)
@@ -204,27 +168,19 @@ const resolveTokensAndVariants = (key, value, styleState, defaultProps, returnVa
204
168
  continue;
205
169
  }
206
170
  if (isVariable(val)) {
207
- res[fKey] = !isWeb || returnVariablesAs === "value" ? val.val : val.variable;
171
+ res[fKey] = resolveVariableValue(val, styleProps);
208
172
  continue;
209
173
  }
210
174
  if (typeof val === "string") {
211
175
  const fVal = (
212
176
  // SYNC WITH *1
213
- val[0] === "$" ? getToken(fKey, val, styleState, returnVariablesAs) : val
177
+ val[0] === "$" ? getToken(fKey, val, styleProps, styleState) : val
214
178
  );
215
179
  res[fKey] = fVal;
216
180
  continue;
217
181
  }
218
182
  if (isObj(val)) {
219
- const subObject = resolveTokensAndVariants(
220
- fKey,
221
- val,
222
- styleState,
223
- defaultProps,
224
- returnVariablesAs,
225
- key,
226
- avoidDefaultProps
227
- );
183
+ const subObject = resolveTokensAndVariants(fKey, val, styleProps, styleState, key);
228
184
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
229
185
  console.log(`object`, fKey, subObject);
230
186
  }
@@ -270,14 +226,14 @@ const fontShorthand = {
270
226
  fontSize: "size",
271
227
  fontWeight: "weight"
272
228
  };
273
- const getToken = (key, value, styleState, resolveAs, debug) => {
229
+ const getToken = (key, value, styleProps, styleState) => {
274
230
  var _a, _b;
275
231
  const { theme, conf, languageContext, fontFamily } = styleState;
276
232
  const tokensParsed = conf.tokensParsed;
277
233
  let valOrVar;
278
234
  let hasSet = false;
279
235
  if (value in theme) {
280
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
236
+ if (process.env.NODE_ENV === "development" && styleState.debug === "verbose") {
281
237
  console.log(` - getting theme value for ${key} from ${value} = ${theme[value].val}`);
282
238
  }
283
239
  valOrVar = theme[value];
@@ -327,60 +283,28 @@ const getToken = (key, value, styleState, resolveAs, debug) => {
327
283
  }
328
284
  }
329
285
  if (hasSet) {
330
- const out = resolveVariableValue(key, valOrVar, resolveAs);
286
+ const out = resolveVariableValue(valOrVar, styleProps);
331
287
  return out;
332
288
  }
333
- if (process.env.NODE_ENV === "development" && isDevTools && debug === "verbose") {
289
+ if (process.env.NODE_ENV === "development" && isDevTools && styleState.debug === "verbose") {
334
290
  console.groupCollapsed(" \uFE52 propMap (val)", key, value);
335
- console.log({ valOrVar, theme, hasSet, resolveAs }, theme[key]);
291
+ console.log({ valOrVar, theme, hasSet }, theme[key]);
336
292
  console.groupEnd();
337
293
  }
338
294
  return value;
339
295
  };
340
- function resolveVariableValue(key, valOrVar, resolveAs = "auto") {
296
+ function resolveVariableValue(valOrVar, { resolveVariablesAs }) {
341
297
  if (isVariable(valOrVar)) {
342
- if (resolveAs === "variable") {
343
- return valOrVar;
344
- }
345
- if (!isWeb || resolveAs === "value") {
298
+ if (!isWeb || resolveVariablesAs === "value") {
346
299
  return valOrVar.val;
347
300
  }
348
301
  return valOrVar.variable;
349
302
  }
350
303
  return valOrVar;
351
304
  }
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
305
  export {
382
- createPropMapper,
383
306
  getFontFamilyFromNameOrVariable,
384
- getPropMappedFontFamily
307
+ getPropMappedFontFamily,
308
+ propMapper
385
309
  };
386
- //# sourceMappingURL=createPropMapper.js.map
310
+ //# 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
  }