@tamagui/web 1.26.0 → 1.27.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 (220) hide show
  1. package/dist/cjs/helpers/createPropMapper.js +1 -11
  2. package/dist/cjs/helpers/createPropMapper.js.map +1 -1
  3. package/dist/cjs/helpers/createVariantContext.js +41 -0
  4. package/dist/cjs/helpers/createVariantContext.js.map +6 -0
  5. package/dist/cjs/helpers/getThemeCSSRules.js +3 -3
  6. package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
  7. package/dist/esm/helpers/createPropMapper.js +1 -11
  8. package/dist/esm/helpers/createPropMapper.js.map +1 -1
  9. package/dist/esm/helpers/createVariantContext.js +17 -0
  10. package/dist/esm/helpers/createVariantContext.js.map +6 -0
  11. package/dist/esm/helpers/getThemeCSSRules.js +3 -3
  12. package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
  13. package/package.json +9 -9
  14. package/src/helpers/createPropMapper.ts +2 -12
  15. package/src/helpers/getThemeCSSRules.ts +6 -3
  16. package/src/types.tsx +5 -0
  17. package/types/helpers/createVariantContext.d.ts.map +1 -0
  18. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  19. package/types/types.d.ts +1 -0
  20. package/types/types.d.ts.map +1 -1
  21. package/dist/cjs/helpers/accessibilityDirectMap.js +0 -76
  22. package/dist/cjs/helpers/accessibilityDirectMap.js.map +0 -6
  23. package/dist/cjs/helpers/memoizeArgumentsWeak.js +0 -57
  24. package/dist/cjs/helpers/memoizeArgumentsWeak.js.map +0 -6
  25. package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js +0 -31
  26. package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js.map +0 -6
  27. package/dist/esm/Tamagui.mjs +0 -45
  28. package/dist/esm/Tamagui.mjs.map +0 -6
  29. package/dist/esm/config.mjs +0 -90
  30. package/dist/esm/config.mjs.map +0 -6
  31. package/dist/esm/constants/accessibilityDirectMap.mjs +0 -52
  32. package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -6
  33. package/dist/esm/constants/constants.mjs +0 -22
  34. package/dist/esm/constants/constants.mjs.map +0 -6
  35. package/dist/esm/constants/isDevTools.mjs +0 -13
  36. package/dist/esm/constants/isDevTools.mjs.map +0 -6
  37. package/dist/esm/contexts/AnimationDriverContext.mjs +0 -6
  38. package/dist/esm/contexts/AnimationDriverContext.mjs.map +0 -6
  39. package/dist/esm/contexts/ButtonNestingContext.mjs +0 -6
  40. package/dist/esm/contexts/ButtonNestingContext.mjs.map +0 -6
  41. package/dist/esm/contexts/FontLanguageContext.mjs +0 -6
  42. package/dist/esm/contexts/FontLanguageContext.mjs.map +0 -6
  43. package/dist/esm/contexts/TextAncestorContext.mjs +0 -6
  44. package/dist/esm/contexts/TextAncestorContext.mjs.map +0 -6
  45. package/dist/esm/createComponent.mjs +0 -880
  46. package/dist/esm/createComponent.mjs.map +0 -6
  47. package/dist/esm/createFont.mjs +0 -45
  48. package/dist/esm/createFont.mjs.map +0 -6
  49. package/dist/esm/createShorthands.mjs +0 -7
  50. package/dist/esm/createShorthands.mjs.map +0 -6
  51. package/dist/esm/createTamagui.mjs +0 -203
  52. package/dist/esm/createTamagui.mjs.map +0 -6
  53. package/dist/esm/createTheme.mjs +0 -7
  54. package/dist/esm/createTheme.mjs.map +0 -6
  55. package/dist/esm/createTokens.mjs +0 -15
  56. package/dist/esm/createTokens.mjs.map +0 -6
  57. package/dist/esm/createVariable.mjs +0 -78
  58. package/dist/esm/createVariable.mjs.map +0 -6
  59. package/dist/esm/createVariables.mjs +0 -35
  60. package/dist/esm/createVariables.mjs.map +0 -6
  61. package/dist/esm/helpers/ThemeManager.mjs +0 -256
  62. package/dist/esm/helpers/ThemeManager.mjs.map +0 -6
  63. package/dist/esm/helpers/ThemeManagerContext.mjs +0 -6
  64. package/dist/esm/helpers/ThemeManagerContext.mjs.map +0 -6
  65. package/dist/esm/helpers/accessibilityDirectMap.js +0 -52
  66. package/dist/esm/helpers/accessibilityDirectMap.js.map +0 -6
  67. package/dist/esm/helpers/accessibilityDirectMap.mjs +0 -52
  68. package/dist/esm/helpers/accessibilityDirectMap.mjs.map +0 -6
  69. package/dist/esm/helpers/createChainedWeakCache.mjs +0 -39
  70. package/dist/esm/helpers/createChainedWeakCache.mjs.map +0 -6
  71. package/dist/esm/helpers/createMediaStyle.mjs +0 -42
  72. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -6
  73. package/dist/esm/helpers/createPropMapper.mjs +0 -414
  74. package/dist/esm/helpers/createPropMapper.mjs.map +0 -6
  75. package/dist/esm/helpers/createProxy.mjs +0 -19
  76. package/dist/esm/helpers/createProxy.mjs.map +0 -6
  77. package/dist/esm/helpers/defaultOffset.mjs +0 -5
  78. package/dist/esm/helpers/defaultOffset.mjs.map +0 -6
  79. package/dist/esm/helpers/expandStyle.mjs +0 -65
  80. package/dist/esm/helpers/expandStyle.mjs.map +0 -6
  81. package/dist/esm/helpers/expandStyles.mjs +0 -52
  82. package/dist/esm/helpers/expandStyles.mjs.map +0 -6
  83. package/dist/esm/helpers/extendStaticConfig.mjs +0 -67
  84. package/dist/esm/helpers/extendStaticConfig.mjs.map +0 -6
  85. package/dist/esm/helpers/getAnimationDriver.mjs +0 -8
  86. package/dist/esm/helpers/getAnimationDriver.mjs.map +0 -6
  87. package/dist/esm/helpers/getExpandedShorthands.mjs +0 -15
  88. package/dist/esm/helpers/getExpandedShorthands.mjs.map +0 -6
  89. package/dist/esm/helpers/getFontLanguage.mjs +0 -5
  90. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -6
  91. package/dist/esm/helpers/getSplitStyles.mjs +0 -879
  92. package/dist/esm/helpers/getSplitStyles.mjs.map +0 -6
  93. package/dist/esm/helpers/getStylesAtomic.mjs +0 -193
  94. package/dist/esm/helpers/getStylesAtomic.mjs.map +0 -6
  95. package/dist/esm/helpers/getStylesAtomic.native.mjs +0 -12
  96. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +0 -6
  97. package/dist/esm/helpers/getThemeCSSRules.mjs +0 -113
  98. package/dist/esm/helpers/getThemeCSSRules.mjs.map +0 -6
  99. package/dist/esm/helpers/getThemeCSSRules.native.mjs +0 -7
  100. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +0 -6
  101. package/dist/esm/helpers/getVariantExtras.mjs +0 -67
  102. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -6
  103. package/dist/esm/helpers/insertStyleRule.mjs +0 -191
  104. package/dist/esm/helpers/insertStyleRule.mjs.map +0 -6
  105. package/dist/esm/helpers/isObj.mjs +0 -5
  106. package/dist/esm/helpers/isObj.mjs.map +0 -6
  107. package/dist/esm/helpers/isTamaguiComponent.mjs +0 -8
  108. package/dist/esm/helpers/isTamaguiComponent.mjs.map +0 -6
  109. package/dist/esm/helpers/isTamaguiElement.mjs +0 -9
  110. package/dist/esm/helpers/isTamaguiElement.mjs.map +0 -6
  111. package/dist/esm/helpers/matchMedia.mjs +0 -17
  112. package/dist/esm/helpers/matchMedia.mjs.map +0 -6
  113. package/dist/esm/helpers/matchMedia.native.mjs +0 -23
  114. package/dist/esm/helpers/matchMedia.native.mjs.map +0 -6
  115. package/dist/esm/helpers/memoizeArgumentsWeak.js +0 -33
  116. package/dist/esm/helpers/memoizeArgumentsWeak.js.map +0 -6
  117. package/dist/esm/helpers/memoizeArgumentsWeak.mjs +0 -33
  118. package/dist/esm/helpers/memoizeArgumentsWeak.mjs.map +0 -6
  119. package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js +0 -30
  120. package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js.map +0 -6
  121. package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs +0 -30
  122. package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs.map +0 -6
  123. package/dist/esm/helpers/mergeProps.mjs +0 -40
  124. package/dist/esm/helpers/mergeProps.mjs.map +0 -6
  125. package/dist/esm/helpers/normalizeColor.mjs +0 -31
  126. package/dist/esm/helpers/normalizeColor.mjs.map +0 -6
  127. package/dist/esm/helpers/normalizeShadow.mjs +0 -23
  128. package/dist/esm/helpers/normalizeShadow.mjs.map +0 -6
  129. package/dist/esm/helpers/normalizeShadow.native.mjs +0 -31
  130. package/dist/esm/helpers/normalizeShadow.native.mjs.map +0 -6
  131. package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -5
  132. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -6
  133. package/dist/esm/helpers/normalizeStylePropKeys.native.mjs +0 -16
  134. package/dist/esm/helpers/normalizeStylePropKeys.native.mjs.map +0 -6
  135. package/dist/esm/helpers/normalizeValueWithProperty.mjs +0 -110
  136. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +0 -6
  137. package/dist/esm/helpers/proxyThemeVariables.mjs +0 -16
  138. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -6
  139. package/dist/esm/helpers/pseudoDescriptors.mjs +0 -29
  140. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -6
  141. package/dist/esm/helpers/registerCSSVariable.mjs +0 -14
  142. package/dist/esm/helpers/registerCSSVariable.mjs.map +0 -6
  143. package/dist/esm/helpers/themeable.mjs +0 -28
  144. package/dist/esm/helpers/themeable.mjs.map +0 -6
  145. package/dist/esm/helpers/themes.mjs +0 -51
  146. package/dist/esm/helpers/themes.mjs.map +0 -6
  147. package/dist/esm/helpers/timer.mjs +0 -11
  148. package/dist/esm/helpers/timer.mjs.map +0 -6
  149. package/dist/esm/helpers/useShallowSetState.mjs +0 -23
  150. package/dist/esm/helpers/useShallowSetState.mjs.map +0 -6
  151. package/dist/esm/helpers/warnOnce.mjs +0 -14
  152. package/dist/esm/helpers/warnOnce.mjs.map +0 -6
  153. package/dist/esm/helpers/withStaticProperties.mjs +0 -9
  154. package/dist/esm/helpers/withStaticProperties.mjs.map +0 -6
  155. package/dist/esm/hooks/getThemeUnwrapped.mjs +0 -9
  156. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +0 -6
  157. package/dist/esm/hooks/useAnimationDriver.mjs +0 -13
  158. package/dist/esm/hooks/useAnimationDriver.mjs.map +0 -6
  159. package/dist/esm/hooks/useId.mjs +0 -5
  160. package/dist/esm/hooks/useId.mjs.map +0 -6
  161. package/dist/esm/hooks/useIsTouchDevice.mjs +0 -9
  162. package/dist/esm/hooks/useIsTouchDevice.mjs.map +0 -6
  163. package/dist/esm/hooks/useMedia.mjs +0 -233
  164. package/dist/esm/hooks/useMedia.mjs.map +0 -6
  165. package/dist/esm/hooks/useProps.mjs +0 -10
  166. package/dist/esm/hooks/useProps.mjs.map +0 -6
  167. package/dist/esm/hooks/useSafeRef.mjs +0 -35
  168. package/dist/esm/hooks/useSafeRef.mjs.map +0 -6
  169. package/dist/esm/hooks/useServerHooks.mjs +0 -11
  170. package/dist/esm/hooks/useServerHooks.mjs.map +0 -6
  171. package/dist/esm/hooks/useStyle.mjs +0 -37
  172. package/dist/esm/hooks/useStyle.mjs.map +0 -6
  173. package/dist/esm/hooks/useTheme.mjs +0 -282
  174. package/dist/esm/hooks/useTheme.mjs.map +0 -6
  175. package/dist/esm/hooks/useThemeName.mjs +0 -28
  176. package/dist/esm/hooks/useThemeName.mjs.map +0 -6
  177. package/dist/esm/index.mjs +0 -87
  178. package/dist/esm/index.mjs.map +0 -6
  179. package/dist/esm/inject-styles.mjs +0 -16
  180. package/dist/esm/inject-styles.mjs.map +0 -6
  181. package/dist/esm/insertFont.mjs +0 -67
  182. package/dist/esm/insertFont.mjs.map +0 -6
  183. package/dist/esm/setupHooks.mjs +0 -9
  184. package/dist/esm/setupHooks.mjs.map +0 -6
  185. package/dist/esm/setupReactNative.mjs +0 -25
  186. package/dist/esm/setupReactNative.mjs.map +0 -6
  187. package/dist/esm/styled.mjs +0 -89
  188. package/dist/esm/styled.mjs.map +0 -6
  189. package/dist/esm/types.mjs +0 -1
  190. package/dist/esm/types.mjs.map +0 -6
  191. package/dist/esm/views/AnimationDriverProvider.mjs +0 -9
  192. package/dist/esm/views/AnimationDriverProvider.mjs.map +0 -6
  193. package/dist/esm/views/FontLanguage.mjs +0 -17
  194. package/dist/esm/views/FontLanguage.mjs.map +0 -6
  195. package/dist/esm/views/FontLanguage.native.mjs +0 -11
  196. package/dist/esm/views/FontLanguage.native.mjs.map +0 -6
  197. package/dist/esm/views/FontLanguage.types.mjs +0 -1
  198. package/dist/esm/views/FontLanguage.types.mjs.map +0 -6
  199. package/dist/esm/views/Slot.mjs +0 -66
  200. package/dist/esm/views/Slot.mjs.map +0 -6
  201. package/dist/esm/views/Stack.mjs +0 -13
  202. package/dist/esm/views/Stack.mjs.map +0 -6
  203. package/dist/esm/views/TamaguiProvider.mjs +0 -57
  204. package/dist/esm/views/TamaguiProvider.mjs.map +0 -6
  205. package/dist/esm/views/Text.mjs +0 -71
  206. package/dist/esm/views/Text.mjs.map +0 -6
  207. package/dist/esm/views/Theme.mjs +0 -75
  208. package/dist/esm/views/Theme.mjs.map +0 -6
  209. package/dist/esm/views/ThemeDebug.mjs +0 -96
  210. package/dist/esm/views/ThemeDebug.mjs.map +0 -6
  211. package/dist/esm/views/ThemeDebug.native.mjs +0 -11
  212. package/dist/esm/views/ThemeDebug.native.mjs.map +0 -6
  213. package/dist/esm/views/ThemeProvider.mjs +0 -45
  214. package/dist/esm/views/ThemeProvider.mjs.map +0 -6
  215. package/types/helpers/accessibilityDirectMap.d.ts +0 -2
  216. package/types/helpers/accessibilityDirectMap.d.ts.map +0 -1
  217. package/types/helpers/memoizeArgumentsWeak.d.ts +0 -5
  218. package/types/helpers/memoizeArgumentsWeak.d.ts.map +0 -1
  219. package/types/helpers/memoizeFunctionByArgumentsReference.d.ts +0 -11
  220. package/types/helpers/memoizeFunctionByArgumentsReference.d.ts.map +0 -1
@@ -1,233 +0,0 @@
1
- import { useEffect, useMemo, useSyncExternalStore } from "react";
2
- import { getConfig } from "../config";
3
- import { createProxy } from "../helpers/createProxy";
4
- import { matchMedia } from "../helpers/matchMedia";
5
- import { useSafeRef } from "./useSafeRef";
6
- let mediaState = (
7
- // development only safeguard
8
- process.env.NODE_ENV === "development" ? createProxy(
9
- {},
10
- {
11
- get(target, key) {
12
- if (typeof key === "string" && key[0] === "$" && // dont error on $$typeof
13
- key[1] !== "$") {
14
- throw new Error(`Access mediaState should not use "$": ${key}`);
15
- }
16
- return Reflect.get(target, key);
17
- }
18
- }
19
- ) : {}
20
- );
21
- const mediaQueryConfig = {};
22
- const getMedia = () => mediaState;
23
- const mediaKeysWithAndWithout$ = /* @__PURE__ */ new Set();
24
- let initState;
25
- const getInitialMediaState = () => {
26
- return (getConfig().disableSSR ? mediaState : initState) || {};
27
- };
28
- let mediaKeysOrdered;
29
- const getMediaKeyImportance = (key) => {
30
- if (process.env.NODE_ENV === "development" && key[0] === "$") {
31
- throw new Error("use short key");
32
- }
33
- return mediaKeysOrdered.indexOf(key) + 2;
34
- };
35
- const dispose = /* @__PURE__ */ new Set();
36
- const configureMedia = (config) => {
37
- const { media, mediaQueryDefaultActive } = config;
38
- if (!media)
39
- return;
40
- for (const key in media) {
41
- mediaState[key] = (mediaQueryDefaultActive == null ? void 0 : mediaQueryDefaultActive[key]) || false;
42
- mediaKeysWithAndWithout$.add(key);
43
- mediaKeysWithAndWithout$.add(`$${key}`);
44
- }
45
- Object.assign(mediaQueryConfig, media);
46
- initState = { ...mediaState };
47
- updateCurrentState();
48
- mediaKeysOrdered = Object.keys(media);
49
- if (config.disableSSR) {
50
- setupMediaListeners();
51
- }
52
- };
53
- function unlisten() {
54
- dispose.forEach((cb) => cb());
55
- dispose.clear();
56
- }
57
- let configuredKey = "";
58
- function setupMediaListeners() {
59
- const nextKey = JSON.stringify(mediaQueryConfig);
60
- if (nextKey === configuredKey)
61
- return;
62
- configuredKey = nextKey;
63
- unlisten();
64
- for (const key in mediaQueryConfig) {
65
- let update2 = function() {
66
- const next = !!getMatch().matches;
67
- if (next === mediaState[key])
68
- return;
69
- mediaState = { ...mediaState, [key]: next };
70
- updateCurrentState();
71
- };
72
- var update = update2;
73
- const str = mediaObjectToString(mediaQueryConfig[key]);
74
- const getMatch = () => matchMedia(str);
75
- const match = getMatch();
76
- if (!match) {
77
- throw new Error("\u26A0\uFE0F No match");
78
- }
79
- match.addListener(update2);
80
- dispose.add(() => {
81
- match.removeListener(update2);
82
- });
83
- update2();
84
- }
85
- }
86
- function useMediaListeners(config) {
87
- if (config.disableSSR)
88
- return;
89
- useEffect(() => {
90
- setupMediaListeners();
91
- }, []);
92
- }
93
- const listeners = /* @__PURE__ */ new Set();
94
- let flushing = false;
95
- function updateCurrentState() {
96
- if (flushing)
97
- return;
98
- flushing = true;
99
- Promise.resolve().then(() => {
100
- flushing = false;
101
- listeners.forEach((cb) => cb(mediaState));
102
- });
103
- }
104
- const shouldUpdate = /* @__PURE__ */ new WeakMap();
105
- function setMediaShouldUpdate(ref, props) {
106
- return shouldUpdate.set(ref, props);
107
- }
108
- function subscribe(subscriber) {
109
- listeners.add(subscriber);
110
- return () => listeners.delete(subscriber);
111
- }
112
- function useMedia(uid, debug) {
113
- const internal = useSafeRef(void 0);
114
- if (!internal.current) {
115
- internal.current = {
116
- prev: initState
117
- };
118
- }
119
- const state = useSyncExternalStore(
120
- subscribe,
121
- () => {
122
- const { touched, prev } = internal.current;
123
- const componentState = uid ? shouldUpdate.get(uid) : void 0;
124
- if ((componentState == null ? void 0 : componentState.enabled) === false) {
125
- return prev;
126
- }
127
- const testKeys = (componentState == null ? void 0 : componentState.keys) ?? ((!componentState || componentState.enabled) && touched ? [...touched] : null);
128
- const hasntUpdated = !testKeys || (testKeys == null ? void 0 : testKeys.every((key) => mediaState[key] === prev[key]));
129
- if (hasntUpdated) {
130
- return prev;
131
- }
132
- internal.current.prev = mediaState;
133
- return mediaState;
134
- },
135
- () => initState
136
- );
137
- return useMemo(() => {
138
- return new Proxy(state, {
139
- get(_, key) {
140
- if (typeof key === "string") {
141
- internal.current.touched ||= /* @__PURE__ */ new Set();
142
- internal.current.touched.add(key);
143
- }
144
- return Reflect.get(state, key);
145
- }
146
- });
147
- }, [state]);
148
- }
149
- function useMediaPropsActive(props, opts) {
150
- const media = useMedia();
151
- const shouldExpandShorthands = opts == null ? void 0 : opts.expandShorthands;
152
- return useMemo(() => {
153
- const config = getConfig();
154
- const next = {};
155
- const importancesUsed = {};
156
- const propNames = Object.keys(props);
157
- for (let i = propNames.length - 1; i >= 0; i--) {
158
- let key = propNames[i];
159
- const val = props[key];
160
- if (key[0] === "$") {
161
- const mediaKey = key.slice(1);
162
- if (!media[mediaKey])
163
- continue;
164
- if (val && typeof val === "object") {
165
- const subKeys = Object.keys(val);
166
- for (let j = subKeys.length; j--; j >= 0) {
167
- let subKey = subKeys[j];
168
- const value = val[subKey];
169
- if (shouldExpandShorthands) {
170
- subKey = config.shorthands[subKey] || subKey;
171
- }
172
- mergeMediaByImportance(next, mediaKey, subKey, value, importancesUsed);
173
- }
174
- }
175
- } else {
176
- if (shouldExpandShorthands) {
177
- key = config.shorthands[key] || key;
178
- }
179
- mergeMediaByImportance(next, "", key, val, importancesUsed);
180
- }
181
- }
182
- return next;
183
- }, [media, props]);
184
- }
185
- const getMediaImportanceIfMoreImportant = (mediaKey, key, importancesUsed) => {
186
- const importance = getMediaKeyImportance(mediaKey);
187
- return !importancesUsed[key] || importance > importancesUsed[key] ? importance : null;
188
- };
189
- function mergeMediaByImportance(onto, mediaKey, key, value, importancesUsed) {
190
- const importance = getMediaImportanceIfMoreImportant(mediaKey, key, importancesUsed);
191
- if (importance === null) {
192
- return false;
193
- }
194
- importancesUsed[key] = importance;
195
- onto[key] = value;
196
- return true;
197
- }
198
- function camelToHyphen(str) {
199
- return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase();
200
- }
201
- function mediaObjectToString(query) {
202
- if (typeof query === "string") {
203
- return query;
204
- }
205
- return Object.entries(query).map(([feature, value]) => {
206
- feature = camelToHyphen(feature);
207
- if (typeof value === "string") {
208
- return `(${feature}: ${value})`;
209
- }
210
- if (typeof value === "number" && /[height|width]$/.test(feature)) {
211
- value = `${value}px`;
212
- }
213
- return `(${feature}: ${value})`;
214
- }).join(" and ");
215
- }
216
- export {
217
- configureMedia,
218
- getInitialMediaState,
219
- getMedia,
220
- getMediaImportanceIfMoreImportant,
221
- getMediaKeyImportance,
222
- mediaKeysWithAndWithout$,
223
- mediaObjectToString,
224
- mediaQueryConfig,
225
- mediaState,
226
- mergeMediaByImportance,
227
- setMediaShouldUpdate,
228
- setupMediaListeners,
229
- useMedia,
230
- useMediaListeners,
231
- useMediaPropsActive
232
- };
233
- //# sourceMappingURL=useMedia.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useMedia.tsx"],
4
- "mappings": "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",
5
- "names": ["update"]
6
- }
@@ -1,10 +0,0 @@
1
- import { useMediaPropsActive } from "./useMedia";
2
- function useProps(props, opts) {
3
- return useMediaPropsActive(props, {
4
- expandShorthands: !(opts == null ? void 0 : opts.disableExpandShorthands)
5
- });
6
- }
7
- export {
8
- useProps
9
- };
10
- //# sourceMappingURL=useProps.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useProps.tsx"],
4
- "mappings": "AAAA,SAAS,2BAA2B;AAQ7B,SAAS,SACd,OACA,MAMA;AACA,SAAO,oBAAoB,OAAO;AAAA,IAChC,kBAAkB,EAAC,6BAAM;AAAA,EAC3B,CAAC;AACH;",
5
- "names": []
6
- }
@@ -1,35 +0,0 @@
1
- import { useIsomorphicLayoutEffect } from "@tamagui/constants";
2
- import { useRef } from "react";
3
- const useSafeRef = (initialValue) => {
4
- const rawRef = useRef();
5
- if (!rawRef.current) {
6
- rawRef.current = {
7
- hold: true,
8
- next: initialValue,
9
- cur: initialValue,
10
- ref: {
11
- get current() {
12
- return raw.hold ? raw.cur : raw.next;
13
- },
14
- set current(v) {
15
- if (!raw.hold) {
16
- raw.next = v;
17
- }
18
- raw.cur = v;
19
- }
20
- }
21
- };
22
- }
23
- const raw = rawRef.current;
24
- raw.hold = true;
25
- raw.cur = raw.next;
26
- useIsomorphicLayoutEffect(() => {
27
- raw.hold = false;
28
- raw.next = raw.cur;
29
- });
30
- return raw.ref;
31
- };
32
- export {
33
- useSafeRef
34
- };
35
- //# sourceMappingURL=useSafeRef.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useSafeRef.ts"],
4
- "mappings": "AAAA,SAAS,iCAAiC;AAC1C,SAAS,cAAc;AAahB,MAAM,aAAa,CAAI,iBAAoB;AAChD,QAAM,SAAS,OAAe;AAC9B,MAAI,CAAC,OAAO,SAAS;AACnB,WAAO,UAAU;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,QACH,IAAI,UAAU;AACZ,iBAAO,IAAI,OAAO,IAAI,MAAM,IAAI;AAAA,QAClC;AAAA,QACA,IAAI,QAAQ,GAAG;AACb,cAAI,CAAC,IAAI,MAAM;AACb,gBAAI,OAAO;AAAA,UACb;AACA,cAAI,MAAM;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,MAAc,OAAO;AAC3B,MAAI,OAAO;AACX,MAAI,MAAM,IAAI;AACd,4BAA0B,MAAM;AAC9B,QAAI,OAAO;AACX,QAAI,OAAO,IAAI;AAAA,EACjB,CAAC;AAED,SAAO,IAAI;AACb;",
5
- "names": []
6
- }
@@ -1,11 +0,0 @@
1
- import { isRSC } from "@tamagui/constants";
2
- import { useRef, useState } from "react";
3
- const useServerState = isRSC ? (val) => [val, idFn] : useState;
4
- const useServerRef = isRSC ? (val) => ({ current: val }) : useRef;
5
- const idFn = () => {
6
- };
7
- export {
8
- useServerRef,
9
- useServerState
10
- };
11
- //# sourceMappingURL=useServerHooks.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useServerHooks.tsx"],
4
- "mappings": "AAAA,SAAS,aAAa;AACtB,SAAS,QAAQ,gBAAgB;AAE1B,MAAM,iBAAiB,QACxB,CAAC,QAAa,CAAC,KAAK,IAAI,IAC1B;AAEG,MAAM,eAAe,QACtB,CAAC,SAAc,EAAE,SAAS,IAAI,KAChC;AAEJ,MAAM,OAAO,MAAM;AAAC;",
5
- "names": []
6
- }
@@ -1,37 +0,0 @@
1
- import { isRSC, isWeb } from "@tamagui/constants";
2
- import { useContext } from "react";
3
- import { FontLanguageContext } from "../contexts/FontLanguageContext";
4
- import { TextAncestorContext } from "../contexts/TextAncestorContext";
5
- import { useSplitStyles } from "../helpers/getSplitStyles";
6
- import { useMedia } from "./useMedia";
7
- import { useTheme } from "./useTheme";
8
- function useStyle(base, style, options) {
9
- const isText = base.staticConfig.isText;
10
- const hasTextAncestor = !!(isWeb && isText ? useContext(TextAncestorContext) : false);
11
- const languageContext = isRSC ? null : useContext(FontLanguageContext);
12
- const theme = useTheme();
13
- const media = useMedia();
14
- const out = useSplitStyles(
15
- style,
16
- base.staticConfig,
17
- theme,
18
- {
19
- ...options,
20
- mediaState: media,
21
- hasTextAncestor,
22
- resolveVariablesAs: "auto"
23
- },
24
- null,
25
- languageContext || void 0,
26
- isText ? "span" : "div",
27
- options == null ? void 0 : options.debug
28
- );
29
- return {
30
- style: Object.keys(out.style).length ? out.style : null,
31
- classNames: out.classNames
32
- };
33
- }
34
- export {
35
- useStyle
36
- };
37
- //# sourceMappingURL=useStyle.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useStyle.tsx"],
4
- "mappings": "AAAA,SAAS,OAAO,aAAa;AAC7B,SAAS,kBAAkB;AAE3B,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAQ/B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AAElB,SAAS,SAId,MACA,OACA,SACA;AACA,QAAM,SAAS,KAAK,aAAa;AACjC,QAAM,kBAAkB,CAAC,EAAE,SAAS,SAAS,WAAW,mBAAmB,IAAI;AAC/E,QAAM,kBAAkB,QAAQ,OAAO,WAAW,mBAAmB;AACrE,QAAM,QAAQ,SAAS;AACvB,QAAM,QAAQ,SAAS;AACvB,QAAM,MAAM;AAAA,IACV;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,MACE,GAAI;AAAA,MACJ,YAAY;AAAA,MACZ;AAAA,MACA,oBAAoB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,SAAS,SAAS;AAAA,IAClB,mCAAS;AAAA,EACX;AACA,SAAO;AAAA,IACL,OAAO,OAAO,KAAK,IAAI,KAAK,EAAE,SAAS,IAAI,QAAQ;AAAA,IACnD,YAAY,IAAI;AAAA,EAClB;AACF;",
5
- "names": []
6
- }
@@ -1,282 +0,0 @@
1
- import { isClient, isRSC, isServer, isWeb } from "@tamagui/constants";
2
- import { useContext, useEffect, useLayoutEffect, useMemo, useState } from "react";
3
- import { getConfig } from "../config";
4
- import { isDevTools } from "../constants/isDevTools";
5
- import { createProxy } from "../helpers/createProxy";
6
- import {
7
- ThemeManager,
8
- getNonComponentParentManager
9
- } from "../helpers/ThemeManager";
10
- import { ThemeManagerContext } from "../helpers/ThemeManagerContext";
11
- import { GetThemeUnwrapped } from "./getThemeUnwrapped";
12
- import { useServerRef } from "./useServerHooks";
13
- const emptyProps = { name: null };
14
- function getDefaultThemeProxied() {
15
- const config = getConfig();
16
- const name = Object.keys(config.themes)[0];
17
- return getThemeProxied({
18
- theme: config.themes[name],
19
- name
20
- });
21
- }
22
- const useTheme = (props = emptyProps) => {
23
- var _a;
24
- return (isRSC ? null : (_a = useThemeWithState(props)) == null ? void 0 : _a.theme) || getDefaultThemeProxied();
25
- };
26
- const useThemeWithState = (props) => {
27
- const keys = useServerRef([]);
28
- const changedTheme = useChangeThemeEffect(
29
- props,
30
- false,
31
- keys.current,
32
- isClient ? () => {
33
- var _a;
34
- return ((_a = props.shouldUpdate) == null ? void 0 : _a.call(props)) ?? keys.current.length === 0;
35
- } : void 0
36
- );
37
- const { themeManager, theme, name, className } = changedTheme;
38
- if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
39
- console.groupCollapsed(" \u{1F539} useTheme =>", name);
40
- const logs = { ...props, name, className, ...isDevTools && { theme } };
41
- for (const key in logs) {
42
- console.log(" ", key, logs[key]);
43
- }
44
- console.groupEnd();
45
- }
46
- if (!changedTheme.theme) {
47
- if (process.env.NODE_ENV === "development") {
48
- console.warn("No theme found", name, props, themeManager);
49
- }
50
- return null;
51
- }
52
- const proxiedTheme = useMemo(() => {
53
- return getThemeProxied(changedTheme, keys.current);
54
- }, [theme, name, className, themeManager]);
55
- return {
56
- ...changedTheme,
57
- theme: proxiedTheme
58
- };
59
- };
60
- function getThemeProxied({
61
- theme,
62
- themeManager
63
- }, keys) {
64
- return createProxy(theme, {
65
- has(_, key) {
66
- if (typeof key === "string") {
67
- if (key[0] === "$")
68
- key = key.slice(1);
69
- return themeManager == null ? void 0 : themeManager.allKeys.has(key);
70
- }
71
- return Reflect.has(theme, key);
72
- },
73
- get(_, key) {
74
- if (key === GetThemeUnwrapped) {
75
- return theme;
76
- }
77
- if (key === "__proto__" || key === "$typeof" || typeof key !== "string" || !themeManager) {
78
- return Reflect.get(_, key);
79
- }
80
- const keyString = key[0] === "$" ? key.slice(1) : key;
81
- const val = themeManager.getValue(keyString);
82
- if (val && keys) {
83
- return new Proxy(val, {
84
- // when they touch the actual value we only track it
85
- // if its a variable (web), its ignored!
86
- get(_2, subkey) {
87
- if (subkey === "val" && !keys.includes(keyString)) {
88
- keys.push(keyString);
89
- }
90
- return Reflect.get(val, subkey);
91
- }
92
- });
93
- }
94
- return val;
95
- }
96
- });
97
- }
98
- const activeThemeManagers = /* @__PURE__ */ new Set();
99
- const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
100
- if (isRSC) {
101
- return {
102
- isNewTheme: false,
103
- ...createState().state,
104
- themeManager: null
105
- };
106
- }
107
- const {
108
- // @ts-expect-error internal use only
109
- disable
110
- } = props;
111
- let parentManager = useContext(ThemeManagerContext);
112
- if (!disable) {
113
- parentManager = getNonComponentParentManager(parentManager);
114
- }
115
- if (disable) {
116
- if (!parentManager)
117
- throw `\u274C`;
118
- return {
119
- isNewTheme: false,
120
- ...parentManager.state,
121
- themeManager: parentManager
122
- };
123
- }
124
- const [themeState, setThemeState] = useState(createState);
125
- const { state, mounted, isNewTheme, themeManager } = themeState;
126
- const isInversingOnMount = Boolean(!themeState.mounted && props.inverse);
127
- function getShouldUpdateTheme(manager = themeManager, nextState, prevState = state, forceShouldChange = false) {
128
- const next = nextState || manager.getState(props, parentManager);
129
- if (!next)
130
- return;
131
- if ((disableUpdate == null ? void 0 : disableUpdate()) === true)
132
- return;
133
- if (!forceShouldChange && !manager.getStateShouldChange(next, prevState))
134
- return;
135
- return next;
136
- }
137
- if (!isServer) {
138
- useLayoutEffect(() => {
139
- if (props.inverse && !mounted) {
140
- setThemeState({ ...themeState, mounted: true });
141
- return;
142
- }
143
- if (isNewTheme && themeManager) {
144
- activeThemeManagers.add(themeManager);
145
- }
146
- const nextState = getShouldUpdateTheme(themeManager);
147
- if (nextState) {
148
- if (isNewTheme) {
149
- themeManager.updateState(nextState, true);
150
- }
151
- setThemeState(createState);
152
- } else {
153
- if (isNewTheme) {
154
- setThemeState(createState);
155
- }
156
- }
157
- const selfListenerDispose = themeManager.onChangeTheme((_a, _b, forced) => {
158
- if (forced) {
159
- setThemeState((prev) => createState(prev, true));
160
- }
161
- });
162
- const disposeChangeListener = parentManager == null ? void 0 : parentManager.onChangeTheme((name, manager) => {
163
- const shouldUpdate = Boolean((keys == null ? void 0 : keys.length) || isNewTheme);
164
- if (process.env.NODE_ENV === "development" && props.debug) {
165
- const logs = { shouldUpdate, props, name, manager, keys };
166
- console.log(` \u{1F538} onChange`, themeManager.id, logs);
167
- }
168
- if (shouldUpdate) {
169
- setThemeState(createState);
170
- }
171
- }, themeManager.id);
172
- return () => {
173
- selfListenerDispose();
174
- disposeChangeListener == null ? void 0 : disposeChangeListener();
175
- activeThemeManagers.delete(themeManager);
176
- };
177
- }, [
178
- parentManager,
179
- isNewTheme,
180
- props.componentName,
181
- props.inverse,
182
- props.name,
183
- props.reset,
184
- themeState.mounted
185
- ]);
186
- if (process.env.NODE_ENV === "development") {
187
- useEffect(() => {
188
- globalThis["TamaguiThemeManagers"] ??= /* @__PURE__ */ new Set();
189
- globalThis["TamaguiThemeManagers"].add(themeManager);
190
- return () => {
191
- globalThis["TamaguiThemeManagers"].delete(themeManager);
192
- };
193
- }, [themeManager]);
194
- }
195
- }
196
- if (isInversingOnMount) {
197
- if (!parentManager)
198
- throw "\u274C";
199
- return {
200
- isNewTheme: false,
201
- ...parentManager.state,
202
- className: "",
203
- themeManager: parentManager
204
- };
205
- }
206
- return {
207
- ...state,
208
- isNewTheme,
209
- themeManager
210
- };
211
- function createState(prev, force = false) {
212
- if (prev && (disableUpdate == null ? void 0 : disableUpdate())) {
213
- return prev;
214
- }
215
- let themeManager2;
216
- let state2;
217
- const getNewThemeManager = () => {
218
- return new ThemeManager(props, root ? "root" : parentManager);
219
- };
220
- if (prev == null ? void 0 : prev.themeManager) {
221
- themeManager2 = prev.themeManager;
222
- const forceChange = Boolean(keys == null ? void 0 : keys.length);
223
- const next = themeManager2.getState(props, parentManager);
224
- const nextState = getShouldUpdateTheme(themeManager2, next, prev.state, forceChange);
225
- if (nextState) {
226
- state2 = nextState;
227
- if (!prev.isNewTheme || !isWeb) {
228
- themeManager2 = getNewThemeManager();
229
- } else {
230
- themeManager2.updateState(nextState, true);
231
- }
232
- } else {
233
- if (prev.isNewTheme) {
234
- if (parentManager && !next) {
235
- themeManager2 = parentManager;
236
- }
237
- }
238
- }
239
- } else {
240
- themeManager2 = getNewThemeManager();
241
- }
242
- const isNewTheme2 = Boolean(themeManager2 !== parentManager);
243
- const mounted2 = !props.inverse ? true : root || (prev == null ? void 0 : prev.mounted);
244
- if (!state2) {
245
- state2 = isNewTheme2 ? { ...themeManager2.state } : { ...parentManager.state };
246
- }
247
- if (!force && state2.name === (prev == null ? void 0 : prev.state.name)) {
248
- return prev;
249
- }
250
- const response = {
251
- state: state2,
252
- themeManager: themeManager2,
253
- isNewTheme: isNewTheme2,
254
- mounted: mounted2
255
- };
256
- if (process.env.NODE_ENV === "development" && props["debug"]) {
257
- console.groupCollapsed(` \u{1F537} ${themeManager2.id} useChangeThemeEffect createState`);
258
- const parentState = { ...parentManager == null ? void 0 : parentManager.state };
259
- const parentId = parentManager == null ? void 0 : parentManager.id;
260
- const themeManagerState = { ...themeManager2.state };
261
- console.log({
262
- props,
263
- parentState,
264
- parentId,
265
- themeManager: themeManager2,
266
- prev,
267
- response,
268
- themeManagerState
269
- });
270
- console.groupEnd();
271
- }
272
- return response;
273
- }
274
- };
275
- export {
276
- activeThemeManagers,
277
- getThemeProxied,
278
- useChangeThemeEffect,
279
- useTheme,
280
- useThemeWithState
281
- };
282
- //# sourceMappingURL=useTheme.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useTheme.tsx"],
4
- "mappings": "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",
5
- "names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
6
- }