@tamagui/web 1.88.13 → 1.89.0-1706360676826

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 (278) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/createComponent.js +1 -1
  3. package/dist/cjs/createComponent.js.map +1 -1
  4. package/dist/cjs/createTamagui.js.map +1 -1
  5. package/dist/cjs/createTamagui.native.js.map +1 -1
  6. package/dist/cjs/createVariables.js.map +1 -1
  7. package/dist/cjs/createVariables.native.js.map +1 -1
  8. package/dist/cjs/helpers/getSplitStyles.js +1 -1
  9. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  10. package/dist/cjs/helpers/getSplitStyles.native.js +1 -1
  11. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  12. package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
  13. package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
  14. package/dist/cjs/helpers/propMapper.js.map +1 -1
  15. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  16. package/dist/cjs/helpers/registerCSSVariable.js.map +1 -1
  17. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  18. package/dist/cjs/hooks/useTheme.js.map +1 -1
  19. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  20. package/dist/cjs/insertFont.js.map +1 -1
  21. package/dist/cjs/insertFont.native.js.map +1 -1
  22. package/dist/cjs/setupHooks.js.map +1 -1
  23. package/dist/cjs/setupHooks.native.js.map +1 -1
  24. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  25. package/dist/cjs/views/Slot.js.map +1 -1
  26. package/dist/cjs/views/Slot.native.js.map +1 -1
  27. package/dist/cjs/views/Theme.js.map +1 -1
  28. package/dist/cjs/views/Theme.native.js.map +1 -1
  29. package/dist/esm/Tamagui.mjs +43 -0
  30. package/dist/esm/config.mjs +51 -0
  31. package/dist/esm/constants/accessibilityDirectMap.mjs +50 -0
  32. package/dist/esm/constants/constants.mjs +16 -0
  33. package/dist/esm/constants/isDevTools.mjs +7 -0
  34. package/dist/esm/contexts/ComponentContext.mjs +13 -0
  35. package/dist/esm/createComponent.js +1 -1
  36. package/dist/esm/createComponent.js.map +1 -1
  37. package/dist/esm/createComponent.mjs +771 -0
  38. package/dist/esm/createFont.mjs +18 -0
  39. package/dist/esm/createShorthands.mjs +4 -0
  40. package/dist/esm/createTamagui.js.map +1 -1
  41. package/dist/esm/createTamagui.mjs +206 -0
  42. package/dist/esm/createTamagui.native.js.map +1 -1
  43. package/dist/esm/createTheme.mjs +2 -0
  44. package/dist/esm/createTokens.mjs +5 -0
  45. package/dist/esm/createVariable.mjs +48 -0
  46. package/dist/esm/createVariables.js.map +1 -1
  47. package/dist/esm/createVariables.mjs +35 -0
  48. package/dist/esm/createVariables.native.js.map +1 -1
  49. package/dist/esm/defaultComponentState.mjs +16 -0
  50. package/dist/esm/helpers/ThemeManager.mjs +156 -0
  51. package/dist/esm/helpers/ThemeManagerContext.mjs +3 -0
  52. package/dist/esm/helpers/createMediaStyle.mjs +71 -0
  53. package/dist/esm/helpers/createShallowSetState.mjs +17 -0
  54. package/dist/esm/helpers/createStyledContext.mjs +35 -0
  55. package/dist/esm/helpers/defaultOffset.mjs +5 -0
  56. package/dist/esm/helpers/expandStyle.mjs +38 -0
  57. package/dist/esm/helpers/expandStyles.mjs +15 -0
  58. package/dist/esm/helpers/getExpandedShorthands.mjs +9 -0
  59. package/dist/esm/helpers/getFontLanguage.mjs +2 -0
  60. package/dist/esm/helpers/getGroupPropParts.mjs +13 -0
  61. package/dist/esm/helpers/getSplitStyles.js +1 -1
  62. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  63. package/dist/esm/helpers/getSplitStyles.mjs +643 -0
  64. package/dist/esm/helpers/getSplitStyles.native.js +1 -1
  65. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  66. package/dist/esm/helpers/getStylesAtomic.js +1 -4
  67. package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
  68. package/dist/esm/helpers/getStylesAtomic.mjs +150 -0
  69. package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
  70. package/dist/esm/helpers/getThemeCSSRules.mjs +87 -0
  71. package/dist/esm/helpers/getVariantExtras.mjs +43 -0
  72. package/dist/esm/helpers/insertStyleRule.mjs +177 -0
  73. package/dist/esm/helpers/isObj.mjs +2 -0
  74. package/dist/esm/helpers/isTamaguiComponent.mjs +5 -0
  75. package/dist/esm/helpers/isTamaguiElement.mjs +4 -0
  76. package/dist/esm/helpers/log.mjs +4 -0
  77. package/dist/esm/helpers/matchMedia.mjs +11 -0
  78. package/dist/esm/helpers/mergeProps.mjs +21 -0
  79. package/dist/esm/helpers/mergeVariants.mjs +16 -0
  80. package/dist/esm/helpers/normalizeColor.mjs +17 -0
  81. package/dist/esm/helpers/normalizeShadow.mjs +23 -0
  82. package/dist/esm/helpers/normalizeStyle.mjs +23 -0
  83. package/dist/esm/helpers/normalizeStylePropKeys.mjs +2 -0
  84. package/dist/esm/helpers/normalizeValueWithProperty.mjs +32 -0
  85. package/dist/esm/helpers/objectIdentityKey.mjs +15 -0
  86. package/dist/esm/helpers/propMapper.js.map +1 -1
  87. package/dist/esm/helpers/propMapper.mjs +239 -0
  88. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  89. package/dist/esm/helpers/proxyThemeToParents.mjs +36 -0
  90. package/dist/esm/helpers/proxyThemeVariables.mjs +12 -0
  91. package/dist/esm/helpers/pseudoDescriptors.mjs +34 -0
  92. package/dist/esm/helpers/registerCSSVariable.js.map +1 -1
  93. package/dist/esm/helpers/registerCSSVariable.mjs +7 -0
  94. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  95. package/dist/esm/helpers/themeable.mjs +33 -0
  96. package/dist/esm/helpers/themes.mjs +14 -0
  97. package/dist/esm/helpers/timer.mjs +8 -0
  98. package/dist/esm/hooks/useConfiguration.mjs +20 -0
  99. package/dist/esm/hooks/useDisableSSR.mjs +5 -0
  100. package/dist/esm/hooks/useIsTouchDevice.mjs +4 -0
  101. package/dist/esm/hooks/useMedia.mjs +146 -0
  102. package/dist/esm/hooks/useProps.mjs +40 -0
  103. package/dist/esm/hooks/useTheme.js +1 -4
  104. package/dist/esm/hooks/useTheme.js.map +1 -1
  105. package/dist/esm/hooks/useTheme.mjs +222 -0
  106. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  107. package/dist/esm/hooks/useThemeName.mjs +15 -0
  108. package/dist/esm/index.mjs +61 -0
  109. package/dist/esm/inject-styles.mjs +13 -0
  110. package/dist/esm/insertFont.js.map +1 -1
  111. package/dist/esm/insertFont.mjs +44 -0
  112. package/dist/esm/insertFont.native.js.map +1 -1
  113. package/dist/esm/interfaces/CSSColorNames.mjs +0 -0
  114. package/dist/esm/interfaces/GetRef.mjs +0 -0
  115. package/dist/esm/interfaces/KeyTypes.mjs +0 -0
  116. package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -0
  117. package/dist/esm/interfaces/Role.mjs +0 -0
  118. package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -0
  119. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -0
  120. package/dist/esm/interfaces/TamaguiComponentState.mjs +0 -0
  121. package/dist/esm/interfaces/WebOnlyPressEvents.mjs +0 -0
  122. package/dist/esm/internalWithTheme.mjs +14 -0
  123. package/dist/esm/setupHooks.js.map +1 -1
  124. package/dist/esm/setupHooks.mjs +5 -0
  125. package/dist/esm/setupHooks.native.js.map +1 -1
  126. package/dist/esm/setupReactNative.mjs +24 -0
  127. package/dist/esm/styled.mjs +56 -0
  128. package/dist/esm/type-utils.mjs +0 -0
  129. package/dist/esm/types.mjs +2 -0
  130. package/dist/esm/views/Configuration.mjs +12 -0
  131. package/dist/esm/views/FontLanguage.mjs +13 -0
  132. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  133. package/dist/esm/views/FontLanguage.types.mjs +0 -0
  134. package/dist/esm/views/Slot.js.map +1 -1
  135. package/dist/esm/views/Slot.mjs +53 -0
  136. package/dist/esm/views/Slot.native.js.map +1 -1
  137. package/dist/esm/views/Stack.mjs +10 -0
  138. package/dist/esm/views/TamaguiProvider.mjs +32 -0
  139. package/dist/esm/views/Text.mjs +64 -0
  140. package/dist/esm/views/Theme.js.map +1 -1
  141. package/dist/esm/views/Theme.mjs +104 -0
  142. package/dist/esm/views/Theme.native.js.map +1 -1
  143. package/dist/esm/views/ThemeDebug.mjs +57 -0
  144. package/dist/esm/views/ThemeProvider.mjs +20 -0
  145. package/dist/esm/views/View.mjs +9 -0
  146. package/package.json +10 -10
  147. package/src/config.ts +1 -1
  148. package/src/contexts/ComponentContext.tsx +1 -1
  149. package/src/createComponent.tsx +5 -5
  150. package/src/createFont.ts +1 -1
  151. package/src/createShorthands.ts +1 -1
  152. package/src/createTamagui.ts +4 -3
  153. package/src/createTokens.ts +2 -2
  154. package/src/createVariables.ts +2 -1
  155. package/src/defaultComponentState.tsx +1 -1
  156. package/src/helpers/ThemeManager.tsx +1 -1
  157. package/src/helpers/createShallowSetState.tsx +2 -2
  158. package/src/helpers/expandStyle.ts +1 -1
  159. package/src/helpers/getExpandedShorthands.ts +1 -1
  160. package/src/helpers/getSplitStyles.tsx +5 -0
  161. package/src/helpers/getStylesAtomic.ts +4 -6
  162. package/src/helpers/getThemeCSSRules.ts +2 -1
  163. package/src/helpers/getVariantExtras.tsx +2 -2
  164. package/src/helpers/isTamaguiComponent.tsx +1 -1
  165. package/src/helpers/isTamaguiElement.tsx +1 -1
  166. package/src/helpers/matchMedia.native.ts +1 -1
  167. package/src/helpers/matchMedia.ts +1 -1
  168. package/src/helpers/propMapper.ts +2 -1
  169. package/src/helpers/proxyThemeToParents.ts +1 -1
  170. package/src/helpers/registerCSSVariable.ts +3 -2
  171. package/src/helpers/themeable.tsx +1 -1
  172. package/src/hooks/useDisableSSR.tsx +1 -1
  173. package/src/hooks/useProps.tsx +1 -1
  174. package/src/hooks/useTheme.tsx +4 -6
  175. package/src/hooks/useThemeName.tsx +1 -1
  176. package/src/insertFont.ts +4 -3
  177. package/src/interfaces/GetRef.tsx +2 -2
  178. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -2
  179. package/src/interfaces/TamaguiComponentState.tsx +1 -1
  180. package/src/interfaces/WebOnlyPressEvents.tsx +1 -1
  181. package/src/setupHooks.ts +4 -8
  182. package/src/setupReactNative.ts +1 -1
  183. package/src/styled.tsx +1 -1
  184. package/src/types.tsx +8 -8
  185. package/src/views/FontLanguage.native.tsx +0 -1
  186. package/src/views/FontLanguage.types.ts +2 -2
  187. package/src/views/Slot.tsx +2 -1
  188. package/src/views/TamaguiProvider.tsx +1 -1
  189. package/src/views/Text.tsx +1 -1
  190. package/src/views/Theme.tsx +2 -1
  191. package/src/views/ThemeDebug.native.tsx +2 -2
  192. package/src/views/ThemeDebug.tsx +2 -2
  193. package/types/config.d.ts +1 -1
  194. package/types/config.d.ts.map +1 -1
  195. package/types/contexts/ComponentContext.d.ts +1 -1
  196. package/types/contexts/ComponentContext.d.ts.map +1 -1
  197. package/types/createComponent.d.ts +1 -1
  198. package/types/createComponent.d.ts.map +1 -1
  199. package/types/createFont.d.ts +1 -1
  200. package/types/createFont.d.ts.map +1 -1
  201. package/types/createShorthands.d.ts +1 -1
  202. package/types/createShorthands.d.ts.map +1 -1
  203. package/types/createTamagui.d.ts +1 -1
  204. package/types/createTamagui.d.ts.map +1 -1
  205. package/types/createTokens.d.ts +2 -2
  206. package/types/createTokens.d.ts.map +1 -1
  207. package/types/createVariables.d.ts +1 -1
  208. package/types/createVariables.d.ts.map +1 -1
  209. package/types/defaultComponentState.d.ts +1 -1
  210. package/types/defaultComponentState.d.ts.map +1 -1
  211. package/types/helpers/ThemeManager.d.ts +1 -1
  212. package/types/helpers/ThemeManager.d.ts.map +1 -1
  213. package/types/helpers/createShallowSetState.d.ts +2 -2
  214. package/types/helpers/createShallowSetState.d.ts.map +1 -1
  215. package/types/helpers/expandStyle.d.ts +1 -1
  216. package/types/helpers/expandStyle.d.ts.map +1 -1
  217. package/types/helpers/getExpandedShorthands.d.ts +1 -1
  218. package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
  219. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  220. package/types/helpers/getStylesAtomic.d.ts +2 -2
  221. package/types/helpers/getStylesAtomic.d.ts.map +1 -1
  222. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  223. package/types/helpers/getVariantExtras.d.ts +2 -2
  224. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  225. package/types/helpers/isTamaguiComponent.d.ts +1 -1
  226. package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
  227. package/types/helpers/isTamaguiElement.d.ts +1 -1
  228. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  229. package/types/helpers/matchMedia.d.ts +1 -1
  230. package/types/helpers/matchMedia.d.ts.map +1 -1
  231. package/types/helpers/matchMedia.native.d.ts +1 -1
  232. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  233. package/types/helpers/propMapper.d.ts.map +1 -1
  234. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  235. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  236. package/types/helpers/registerCSSVariable.d.ts +2 -2
  237. package/types/helpers/registerCSSVariable.d.ts.map +1 -1
  238. package/types/helpers/themeable.d.ts +1 -1
  239. package/types/helpers/themeable.d.ts.map +1 -1
  240. package/types/hooks/useDisableSSR.d.ts +1 -1
  241. package/types/hooks/useDisableSSR.d.ts.map +1 -1
  242. package/types/hooks/useProps.d.ts +1 -1
  243. package/types/hooks/useProps.d.ts.map +1 -1
  244. package/types/hooks/useTheme.d.ts +3 -2
  245. package/types/hooks/useTheme.d.ts.map +1 -1
  246. package/types/hooks/useThemeName.d.ts +1 -1
  247. package/types/hooks/useThemeName.d.ts.map +1 -1
  248. package/types/insertFont.d.ts +2 -2
  249. package/types/insertFont.d.ts.map +1 -1
  250. package/types/interfaces/GetRef.d.ts +2 -2
  251. package/types/interfaces/GetRef.d.ts.map +1 -1
  252. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -2
  253. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  254. package/types/interfaces/TamaguiComponentState.d.ts +1 -1
  255. package/types/interfaces/TamaguiComponentState.d.ts.map +1 -1
  256. package/types/interfaces/WebOnlyPressEvents.d.ts +1 -1
  257. package/types/interfaces/WebOnlyPressEvents.d.ts.map +1 -1
  258. package/types/setupHooks.d.ts +3 -3
  259. package/types/setupHooks.d.ts.map +1 -1
  260. package/types/setupReactNative.d.ts +1 -1
  261. package/types/setupReactNative.d.ts.map +1 -1
  262. package/types/styled.d.ts +1 -1
  263. package/types/styled.d.ts.map +1 -1
  264. package/types/types.d.ts +8 -8
  265. package/types/types.d.ts.map +1 -1
  266. package/types/views/FontLanguage.native.d.ts.map +1 -1
  267. package/types/views/FontLanguage.types.d.ts +2 -2
  268. package/types/views/FontLanguage.types.d.ts.map +1 -1
  269. package/types/views/Slot.d.ts +1 -1
  270. package/types/views/Slot.d.ts.map +1 -1
  271. package/types/views/Text.d.ts +1 -1
  272. package/types/views/Text.d.ts.map +1 -1
  273. package/types/views/Theme.d.ts +1 -1
  274. package/types/views/Theme.d.ts.map +1 -1
  275. package/types/views/ThemeDebug.d.ts +2 -2
  276. package/types/views/ThemeDebug.d.ts.map +1 -1
  277. package/types/views/ThemeDebug.native.d.ts +2 -2
  278. package/types/views/ThemeDebug.native.d.ts.map +1 -1
@@ -0,0 +1,18 @@
1
+ const fontWeights = ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
2
+ processSection = (section, keys, defaultValue) => {
3
+ if (typeof section == "string") return section;
4
+ const sectionKeys = Object.keys(section);
5
+ let fillValue = section[sectionKeys[0]];
6
+ return Object.fromEntries([... /* @__PURE__ */new Set([...keys, ...sectionKeys])].map(key => {
7
+ const value = section[key] ?? defaultValue ?? fillValue;
8
+ return fillValue = value, defaultValue = value, [key, value];
9
+ }));
10
+ },
11
+ createFont = font => {
12
+ const sizeKeys = Object.keys(font.size),
13
+ processedFont = Object.fromEntries(Object.entries(font).map(([key, section]) => [key, processSection(section, key === "face" ? fontWeights : sizeKeys, key === "face" ? {
14
+ normal: font.family
15
+ } : void 0)]));
16
+ return Object.freeze(processedFont);
17
+ };
18
+ export { createFont };
@@ -0,0 +1,4 @@
1
+ function createShorthands(shorthands) {
2
+ return Object.freeze(shorthands);
3
+ }
4
+ export { createShorthands };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createTamagui.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["declarations", "key"]
6
6
  }
@@ -0,0 +1,206 @@
1
+ import { isWeb } from "@tamagui/constants";
2
+ import { configListeners, setConfig, setTokens } from "./config.mjs";
3
+ import { createVariables } from "./createVariables.mjs";
4
+ import { getThemeCSSRules } from "./helpers/getThemeCSSRules.mjs";
5
+ import { getAllRules, listenForSheetChanges, scanAllSheets } from "./helpers/insertStyleRule.mjs";
6
+ import { proxyThemesToParents } from "./helpers/proxyThemeToParents.mjs";
7
+ import { registerCSSVariable, variableToCSS } from "./helpers/registerCSSVariable.mjs";
8
+ import { ensureThemeVariable } from "./helpers/themes.mjs";
9
+ import { configureMedia } from "./hooks/useMedia.mjs";
10
+ import { parseFont, registerFontVariables } from "./insertFont.mjs";
11
+ import { Tamagui } from "./Tamagui.mjs";
12
+ const createdConfigs = /* @__PURE__ */new WeakMap();
13
+ function createTamagui(configIn) {
14
+ if (createdConfigs.has(configIn)) return configIn;
15
+ const tokensParsed = {},
16
+ tokens = createVariables(configIn.tokens || {});
17
+ if (configIn.tokens) {
18
+ const tokensMerged = {};
19
+ for (const cat in tokens) {
20
+ tokensParsed[cat] = {}, tokensMerged[cat] = {};
21
+ const tokenCat = tokens[cat];
22
+ for (const key in tokenCat) {
23
+ const val = tokenCat[key],
24
+ prefixedKey = `$${key}`;
25
+ tokensParsed[cat][prefixedKey] = val, tokensMerged[cat][prefixedKey] = val, tokensMerged[cat][key] = val;
26
+ }
27
+ }
28
+ setTokens(tokensMerged);
29
+ }
30
+ let foundThemes;
31
+ if (configIn.themes) {
32
+ const noThemes = Object.keys(configIn.themes).length === 0;
33
+ foundThemes = scanAllSheets(noThemes, tokensParsed);
34
+ }
35
+ listenForSheetChanges();
36
+ let fontSizeTokens = null,
37
+ fontsParsed;
38
+ if (configIn.fonts) {
39
+ const fontTokens = Object.fromEntries(Object.entries(configIn.fonts).map(([k, v]) => [k, createVariables(v, "f", !0)]));
40
+ fontsParsed = (() => {
41
+ const res = {};
42
+ for (const familyName in fontTokens) {
43
+ const font = fontTokens[familyName],
44
+ fontParsed = parseFont(font);
45
+ res[`$${familyName}`] = fontParsed, !fontSizeTokens && fontParsed.size && (fontSizeTokens = new Set(Object.keys(fontParsed.size)));
46
+ }
47
+ return res;
48
+ })();
49
+ }
50
+ const specificTokens = {},
51
+ themeConfig = (() => {
52
+ const cssRuleSets = [];
53
+ if (process.env.TAMAGUI_DOES_SSR_CSS !== "true" &&
54
+ // we can leave this out if mutating, only need the js for getThemeCSSRules
55
+ process.env.TAMAGUI_DOES_SSR_CSS !== "mutates-themes") {
56
+ const declarations = [],
57
+ fontDeclarations = {};
58
+ for (const key in tokens) for (const skey in tokens[key]) {
59
+ const variable = tokens[key][skey];
60
+ if (specificTokens[`$${key}.${skey}`] = variable, process.env.NODE_ENV === "development" && typeof variable > "u") throw new Error(`No value for tokens.${key}.${skey}:
61
+ ${JSON.stringify(variable, null, 2)}`);
62
+ isWeb && (registerCSSVariable(variable), declarations.push(variableToCSS(variable, key === "zIndex")));
63
+ }
64
+ if (isWeb) {
65
+ let declarationsToRuleSet = function (decs, selector = "") {
66
+ return `:root${selector} {${sep}${[...decs].join(`;${sep}`)}${sep}}`;
67
+ };
68
+ for (const key in fontsParsed) {
69
+ const fontParsed = fontsParsed[key],
70
+ [name, language] = key.includes("_") ? key.split("_") : [key],
71
+ fontVars = registerFontVariables(fontParsed);
72
+ fontDeclarations[key] = {
73
+ name: name.slice(1),
74
+ declarations: fontVars,
75
+ language
76
+ };
77
+ }
78
+ const sep = process.env.NODE_ENV === "development" ? configIn.cssStyleSeparator || " " : "";
79
+ if (cssRuleSets.push(declarationsToRuleSet(declarations)), fontDeclarations) for (const key in fontDeclarations) {
80
+ const {
81
+ name,
82
+ declarations: declarations2,
83
+ language = "default"
84
+ } = fontDeclarations[key],
85
+ fontSelector = `.font_${name}`,
86
+ langSelector = `:root .t_lang-${name}-${language} ${fontSelector}`,
87
+ selectors = language === "default" ? ` ${fontSelector}, ${langSelector}` : langSelector,
88
+ specificRuleSet = declarationsToRuleSet(declarations2, selectors);
89
+ cssRuleSets.push(specificRuleSet);
90
+ }
91
+ }
92
+ }
93
+ const themesIn = {
94
+ ...configIn.themes
95
+ },
96
+ dedupedThemes = foundThemes ?? getThemesDeduped(themesIn);
97
+ return {
98
+ themes: proxyThemesToParents(dedupedThemes),
99
+ cssRuleSets,
100
+ getThemeRulesSets() {
101
+ let themeRuleSets = [];
102
+ if (isWeb) for (const {
103
+ names,
104
+ theme
105
+ } of dedupedThemes) {
106
+ const nextRules = getThemeCSSRules({
107
+ config: configIn,
108
+ themeName: names[0],
109
+ names,
110
+ theme
111
+ });
112
+ themeRuleSets = [...themeRuleSets, ...nextRules];
113
+ }
114
+ return themeRuleSets;
115
+ }
116
+ };
117
+ })(),
118
+ shorthands = configIn.shorthands || {};
119
+ let lastCSSInsertedRulesIndex = -1;
120
+ const getCSS = ({
121
+ separator = `
122
+ `,
123
+ sinceLastCall,
124
+ exclude
125
+ } = {}) => {
126
+ if (sinceLastCall && lastCSSInsertedRulesIndex >= 0) {
127
+ const rules = getAllRules();
128
+ return lastCSSInsertedRulesIndex = rules.length, rules.slice(lastCSSInsertedRulesIndex).join(separator);
129
+ }
130
+ lastCSSInsertedRulesIndex = 0;
131
+ const runtimeStyles = getAllRules().join(separator);
132
+ return exclude === "design-system" ? runtimeStyles : `${`._ovs-contain {overscroll-behavior:contain;}
133
+ .is_Text .is_Text {display:inline-flex;}
134
+ ._dsp_contents {display:contents;}
135
+ ${themeConfig.cssRuleSets.join(separator)}`}
136
+ ${exclude ? "" : themeConfig.getThemeRulesSets().join(separator)}
137
+ ${runtimeStyles}`;
138
+ },
139
+ getNewCSS = opts => getCSS({
140
+ ...opts,
141
+ sinceLastCall: !0
142
+ });
143
+ let defaultFontName = configIn.defaultFont ||
144
+ // uses font named "body" if present for compat
145
+ configIn.fonts && ("body" in configIn.fonts ? "body" : "");
146
+ !defaultFontName && configIn.fonts && (defaultFontName = Object.keys(configIn.fonts)[0]), defaultFontName?.[0] === "$" && (defaultFontName = defaultFontName.slice(1));
147
+ const defaultFont = `$${defaultFontName}`,
148
+ config = {
149
+ fonts: {},
150
+ onlyAllowShorthands: !1,
151
+ fontLanguages: [],
152
+ animations: {},
153
+ media: {},
154
+ ...configIn,
155
+ unset: {
156
+ fontFamily: configIn.defaultFont ? defaultFont : void 0,
157
+ ...configIn.unset
158
+ },
159
+ settings: {
160
+ webContainerType: "inline-size",
161
+ ...configIn.settings
162
+ },
163
+ tokens,
164
+ // vite made this into a function if it wasn't set
165
+ shorthands,
166
+ inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k])) : {},
167
+ themes: themeConfig.themes,
168
+ fontsParsed: fontsParsed || {},
169
+ themeConfig,
170
+ tokensParsed,
171
+ parsed: !0,
172
+ getNewCSS,
173
+ getCSS,
174
+ defaultFont,
175
+ fontSizeTokens: fontSizeTokens || /* @__PURE__ */new Set(),
176
+ specificTokens
177
+ // const tokens = [...getToken(tokens.size[0])]
178
+ // .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }
179
+ };
180
+
181
+ return configureMedia(config), setConfig(config), createdConfigs.set(config, !0), configListeners.size && (configListeners.forEach(cb => cb(config)), configListeners.clear()), process.env.NODE_ENV === "development" && (process.env.DEBUG?.startsWith("tamagui") && console.info("Tamagui config:", config), globalThis.Tamagui || (globalThis.Tamagui = Tamagui)), config;
182
+ }
183
+ function getThemesDeduped(themes) {
184
+ const dedupedThemes = [],
185
+ existing = /* @__PURE__ */new Map();
186
+ for (const themeName in themes) {
187
+ const darkOrLightSpecificPrefix = themeName.startsWith("dark") ? "dark" : themeName.startsWith("light") ? "light" : "",
188
+ rawTheme = themes[themeName],
189
+ key = darkOrLightSpecificPrefix + JSON.stringify(Object.entries(rawTheme).sort((a, b) => a[0] > b[0] ? -1 : 1));
190
+ if (existing.has(key)) {
191
+ existing.get(key).names.push(themeName);
192
+ continue;
193
+ }
194
+ const theme = {
195
+ ...rawTheme
196
+ };
197
+ for (const key2 in theme) ensureThemeVariable(theme, key2);
198
+ const deduped = {
199
+ names: [themeName],
200
+ theme
201
+ };
202
+ dedupedThemes.push(deduped), existing.set(key, deduped);
203
+ }
204
+ return dedupedThemes;
205
+ }
206
+ export { createTamagui };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createTamagui.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["declarationsToRuleSet", "declarations", "key"]
6
6
  }
@@ -0,0 +1,2 @@
1
+ const createTheme = theme => theme;
2
+ export { createTheme };
@@ -0,0 +1,5 @@
1
+ import { createVariables } from "./createVariables.mjs";
2
+ function createTokens(tokens) {
3
+ return createVariables(tokens);
4
+ }
5
+ export { createTokens };
@@ -0,0 +1,48 @@
1
+ import { isWeb } from "@tamagui/constants";
2
+ import { simpleHash } from "@tamagui/helpers";
3
+ import { getConfig } from "./config.mjs";
4
+ const IS_VAR = "isVar",
5
+ createVariable = (props, skipHash = !1) => {
6
+ if (!skipHash && isVariable(props)) return props;
7
+ const {
8
+ key,
9
+ name,
10
+ val
11
+ } = props;
12
+ return {
13
+ [IS_VAR]: !0,
14
+ key,
15
+ name: skipHash ? "" : simpleHash(name, 40),
16
+ val,
17
+ variable: isWeb ? skipHash ? `var(--${name})` : createCSSVariable(name) : ""
18
+ };
19
+ };
20
+ function variableToString(vrble, getValue = !1) {
21
+ return isVariable(vrble) ? !getValue && isWeb && vrble.variable ? vrble.variable : `${vrble.val}` : `${vrble || ""}`;
22
+ }
23
+ function isVariable(v) {
24
+ return v && typeof v == "object" && IS_VAR in v;
25
+ }
26
+ function getVariable(nameOrVariable) {
27
+ if (setDidGetVariableValue(!0), isVariable(nameOrVariable)) return variableToString(nameOrVariable);
28
+ const tokens = getConfig().tokensParsed;
29
+ return variableToString(tokens[nameOrVariable] ?? nameOrVariable);
30
+ }
31
+ let accessed = !1;
32
+ const setDidGetVariableValue = val => accessed = val,
33
+ didGetVariableValue = () => accessed;
34
+ function getVariableValue(v) {
35
+ return isVariable(v) ? (setDidGetVariableValue(!0), v.val) : v;
36
+ }
37
+ function getVariableName(v) {
38
+ return isVariable(v) ? v.name : v;
39
+ }
40
+ function getVariableVariable(v) {
41
+ return isVariable(v) ? v.variable : v;
42
+ }
43
+ const createCSSVariable = (nameProp, includeVar = !0) => {
44
+ if (process.env.NODE_ENV === "development" && (!nameProp || typeof nameProp != "string")) throw new Error(`createCSSVariable expected string, got: ${nameProp}`);
45
+ const name = simpleHash(nameProp, 60);
46
+ return includeVar ? `var(--${name})` : name;
47
+ };
48
+ export { createCSSVariable, createVariable, didGetVariableValue, getVariable, getVariableName, getVariableValue, getVariableVariable, isVariable, setDidGetVariableValue, variableToString };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createVariables.ts"],
4
- "mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAmB,gBAAgB,kBAAkB;AAcrD,MAAM,QAAQ,oBAAI,QAAQ,GAIb,kBAAkB,CAC7B,QACA,aAAa,IACb,SAAS,OACiB;AAC1B,MAAI,MAAM,IAAI,MAAM;AAAG,WAAO;AAE9B,QAAM,MAAW,CAAC;AAClB,MAAI,IAAI;AACR,WAAS,SAAS,QAAQ;AACxB;AACA,UAAM,MAAM,OAAO,KAAK,GAClB,aAAa,MAAM,CAAC,MAAM,KAC1B,gBAAgB,aAAa,QAAQ,IAAI,KAAK,IAC9C,MAAM,aAAa,cAAc,MAAM,CAAC,IAAI;AAClD,QAAI,WAAW,GAAG,GAAG;AACnB,UAAI,GAAG,IAAI;AACX;AAAA,IACF;AACA,UAAM,UAAU,WAAW,GAAG;AAC9B,QAAI,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,IAAI;AAE1C,QADA,OAAO,aAAa,GAAG,UAAU,IAAI,IAAI,KAAK,SAC1C,OAAO,OAAO,OAAQ,UAAU;AAElC,UAAI,GAAG,IAAI;AAAA,QACT,OAAO,GAAG;AAAA,QACV;AAAA,QACA;AAAA;AAAA,MACF;AACA;AAAA,IACF;AACA,UAAM,aAAa,WAAW,GAAG,IAC7B,MACA,eAAe,EAAE,KAAK,MAAM,KAAK,cAAc,CAAC;AACpD,QAAI,GAAG,IAAI;AAAA,EACb;AAEA,eAAM,IAAI,KAAK,EAAI,GACZ;AACT;",
4
+ "mappings": "AAAA,SAAS,kBAAkB;AAG3B,SAAS,gBAAgB,kBAAkB;AAc3C,MAAM,QAAQ,oBAAI,QAAQ,GAIb,kBAAkB,CAC7B,QACA,aAAa,IACb,SAAS,OACiB;AAC1B,MAAI,MAAM,IAAI,MAAM;AAAG,WAAO;AAE9B,QAAM,MAAW,CAAC;AAClB,MAAI,IAAI;AACR,WAAS,SAAS,QAAQ;AACxB;AACA,UAAM,MAAM,OAAO,KAAK,GAClB,aAAa,MAAM,CAAC,MAAM,KAC1B,gBAAgB,aAAa,QAAQ,IAAI,KAAK,IAC9C,MAAM,aAAa,cAAc,MAAM,CAAC,IAAI;AAClD,QAAI,WAAW,GAAG,GAAG;AACnB,UAAI,GAAG,IAAI;AACX;AAAA,IACF;AACA,UAAM,UAAU,WAAW,GAAG;AAC9B,QAAI,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,IAAI;AAE1C,QADA,OAAO,aAAa,GAAG,UAAU,IAAI,IAAI,KAAK,SAC1C,OAAO,OAAO,OAAQ,UAAU;AAElC,UAAI,GAAG,IAAI;AAAA,QACT,OAAO,GAAG;AAAA,QACV;AAAA,QACA;AAAA;AAAA,MACF;AACA;AAAA,IACF;AACA,UAAM,aAAa,WAAW,GAAG,IAC7B,MACA,eAAe,EAAE,KAAK,MAAM,KAAK,cAAc,CAAC;AACpD,QAAI,GAAG,IAAI;AAAA,EACb;AAEA,eAAM,IAAI,KAAK,EAAI,GACZ;AACT;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,35 @@
1
+ import { simpleHash } from "@tamagui/helpers";
2
+ import { createVariable, isVariable } from "./createVariable.mjs";
3
+ const cache = /* @__PURE__ */new WeakMap(),
4
+ createVariables = (tokens, parentPath = "", isFont = !1) => {
5
+ if (cache.has(tokens)) return tokens;
6
+ const res = {};
7
+ let i = 0;
8
+ for (let keyIn in tokens) {
9
+ i++;
10
+ const val = tokens[keyIn],
11
+ isPrefixed = keyIn[0] === "$",
12
+ keyWithPrefix = isPrefixed ? keyIn : `$${keyIn}`,
13
+ key = isPrefixed ? keyWithPrefix.slice(1) : keyIn;
14
+ if (isVariable(val)) {
15
+ res[key] = val;
16
+ continue;
17
+ }
18
+ const niceKey = simpleHash(key);
19
+ let name = isFont ? niceKey.slice(0, 2) : i;
20
+ if (name = parentPath ? `${parentPath}-${name}` : niceKey, val && typeof val == "object") {
21
+ res[key] = createVariables(tokens[key], name, !1
22
+ /* note: don't pass isFont down, we want to avoid it past the first level */);
23
+
24
+ continue;
25
+ }
26
+ const finalValue = isVariable(val) ? val : createVariable({
27
+ val,
28
+ name,
29
+ key: keyWithPrefix
30
+ });
31
+ res[key] = finalValue;
32
+ }
33
+ return cache.set(res, !0), res;
34
+ };
35
+ export { createVariables };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createVariables.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA2B,6BAE3B,wBAAqD;AAcrD,MAAM,QAAQ,oBAAI,QAAQ,GAIb,kBAAkB,CAC7B,QACA,aAAa,IACb,SAAS,OACiB;AAC1B,MAAI,MAAM,IAAI,MAAM;AAAG,WAAO;AAE9B,QAAM,MAAW,CAAC;AAClB,MAAI,IAAI;AACR,WAAS,SAAS,QAAQ;AACxB;AACA,UAAM,MAAM,OAAO,KAAK,GAClB,aAAa,MAAM,CAAC,MAAM,KAC1B,gBAAgB,aAAa,QAAQ,IAAI,KAAK,IAC9C,MAAM,aAAa,cAAc,MAAM,CAAC,IAAI;AAClD,YAAI,kCAAW,GAAG,GAAG;AACnB,UAAI,GAAG,IAAI;AACX;AAAA,IACF;AACA,UAAM,cAAU,2BAAW,GAAG;AAC9B,QAAI,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,IAAI;AAE1C,QADA,OAAO,aAAa,GAAG,UAAU,IAAI,IAAI,KAAK,SAC1C,OAAO,OAAO,OAAQ,UAAU;AAElC,UAAI,GAAG,IAAI;AAAA,QACT,OAAO,GAAG;AAAA,QACV;AAAA,QACA;AAAA;AAAA,MACF;AACA;AAAA,IACF;AACA,UAAM,iBAAa,kCAAW,GAAG,IAC7B,UACA,sCAAe,EAAE,KAAK,MAAM,KAAK,cAAc,CAAC;AACpD,QAAI,GAAG,IAAI;AAAA,EACb;AAEA,eAAM,IAAI,KAAK,EAAI,GACZ;AACT;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA2B,6BAG3B,wBAA2C;AAc3C,MAAM,QAAQ,oBAAI,QAAQ,GAIb,kBAAkB,CAC7B,QACA,aAAa,IACb,SAAS,OACiB;AAC1B,MAAI,MAAM,IAAI,MAAM;AAAG,WAAO;AAE9B,QAAM,MAAW,CAAC;AAClB,MAAI,IAAI;AACR,WAAS,SAAS,QAAQ;AACxB;AACA,UAAM,MAAM,OAAO,KAAK,GAClB,aAAa,MAAM,CAAC,MAAM,KAC1B,gBAAgB,aAAa,QAAQ,IAAI,KAAK,IAC9C,MAAM,aAAa,cAAc,MAAM,CAAC,IAAI;AAClD,YAAI,kCAAW,GAAG,GAAG;AACnB,UAAI,GAAG,IAAI;AACX;AAAA,IACF;AACA,UAAM,cAAU,2BAAW,GAAG;AAC9B,QAAI,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,IAAI;AAE1C,QADA,OAAO,aAAa,GAAG,UAAU,IAAI,IAAI,KAAK,SAC1C,OAAO,OAAO,OAAQ,UAAU;AAElC,UAAI,GAAG,IAAI;AAAA,QACT,OAAO,GAAG;AAAA,QACV;AAAA,QACA;AAAA;AAAA,MACF;AACA;AAAA,IACF;AACA,UAAM,iBAAa,kCAAW,GAAG,IAC7B,UACA,sCAAe,EAAE,KAAK,MAAM,KAAK,cAAc,CAAC;AACpD,QAAI,GAAG,IAAI;AAAA,EACb;AAEA,eAAM,IAAI,KAAK,EAAI,GACZ;AACT;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,16 @@
1
+ const defaultComponentState = {
2
+ hover: !1,
3
+ press: !1,
4
+ pressIn: !1,
5
+ focus: !1,
6
+ unmounted: !0
7
+ },
8
+ defaultComponentStateMounted = {
9
+ ...defaultComponentState,
10
+ unmounted: !1
11
+ },
12
+ defaultComponentStateShouldEnter = {
13
+ ...defaultComponentState,
14
+ unmounted: "should-enter"
15
+ };
16
+ export { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter };
@@ -0,0 +1,156 @@
1
+ import { isWeb } from "@tamagui/constants";
2
+ import { getThemes } from "../config.mjs";
3
+ import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from "../constants/constants.mjs";
4
+ const emptyState = {
5
+ name: ""
6
+ };
7
+ function getHasThemeUpdatingProps(props) {
8
+ return !!(props.name || props.componentName || props.inverse || props.reset);
9
+ }
10
+ let uid = 0;
11
+ class ThemeManager {
12
+ constructor(props = {}, parentManager) {
13
+ this.props = props;
14
+ if (uid = (uid + 1) % Number.MAX_VALUE, this.id = uid, parentManager === "root") {
15
+ this.updateStateFromProps(props, !1);
16
+ return;
17
+ }
18
+ if (!parentManager) throw process.env.NODE_ENV !== "production" ? new Error("No parent manager given, this is likely due to duplicated Tamagui dependencies. Check your lockfile for mis-matched versions. It could also be from an error somewhere else in your stack causing Tamagui to recieve undefined context, you can try putting some ErrorBoundary components around other areas of your app, or a Suspense boundary.") : "\u274C 000";
19
+ if (this.parentManager = parentManager, !this.updateStateFromProps(props, !1)) return parentManager;
20
+ }
21
+ id = 0;
22
+ themeListeners = /* @__PURE__ */new Set();
23
+ parentManager = null;
24
+ state = emptyState;
25
+ updateStateFromProps(props = this.props || {}, shouldNotify = !0) {
26
+ if (this.props = props, props.forceTheme) return this.state.theme = props.forceTheme, this.state.name = props.name || "", this.updateState(this.state, !0), this.state;
27
+ const nextState = this.getStateIfChanged(props);
28
+ if (nextState) return this.updateState(nextState, shouldNotify), nextState;
29
+ }
30
+ updateState(nextState, shouldNotify = !0) {
31
+ this.state = nextState, this._allKeys = null, shouldNotify && queueMicrotask(() => {
32
+ this.notify();
33
+ });
34
+ }
35
+ getStateIfChanged(props = this.props, state = this.state, parentManager = this.parentManager) {
36
+ const _ = this.getState(props, parentManager);
37
+ if (state && state !== emptyState && !_) return parentManager?.state;
38
+ if (this.getStateShouldChange(_, state)) return _;
39
+ }
40
+ getStateShouldChange(nextState, state = this.state) {
41
+ return !(!nextState?.theme || nextState.theme === state?.theme);
42
+ }
43
+ getState(props = this.props, parentManager = this.parentManager) {
44
+ return getState(props, parentManager) || null;
45
+ }
46
+ _allKeys = null;
47
+ get allKeys() {
48
+ return this._allKeys ||= /* @__PURE__ */new Set([...(this.parentManager?.allKeys || []), ...Object.keys(this.state.theme || {})]), this._allKeys;
49
+ }
50
+ notify(forced = !1) {
51
+ this.themeListeners.forEach(cb => cb(this.state.name, this, forced)), process.env.NODE_ENV !== "production" && (this._numChangeEventsSent ??= 0, this._numChangeEventsSent++);
52
+ }
53
+ onChangeTheme(cb, debugId) {
54
+ return process.env.NODE_ENV !== "production" && debugId && (this._listeningIds ??= /* @__PURE__ */new Set(), this._listeningIds.add(debugId)), this.themeListeners.add(cb), () => {
55
+ this.themeListeners.delete(cb);
56
+ };
57
+ }
58
+ }
59
+ function getState(props, manager) {
60
+ if (props.name && props.reset) throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
61
+ if (!getHasThemeUpdatingProps(props)) return null;
62
+ const themes = getThemes(),
63
+ [allManagers, componentManagers] = getManagers(manager),
64
+ isDirectParentAComponentTheme = !!manager?.state.isComponent,
65
+ startIndex = props.reset && !isDirectParentAComponentTheme ? 1 : 0;
66
+ let baseManager = allManagers[startIndex],
67
+ parentManager = allManagers[startIndex + 1];
68
+ if (!baseManager && props.reset) return process.env.NODE_ENV !== "production" && console.warn("Cannot reset, no parent theme exists"), null;
69
+ const {
70
+ componentName
71
+ } = props;
72
+ let result = null,
73
+ baseName = baseManager?.state.name || "";
74
+ baseManager?.state.isComponent && (baseName = baseName.replace(/_[A-Z][A-Za-z]+/, ""));
75
+ const nextName = props.reset ? baseName : props.name || "",
76
+ allComponentThemes = componentManagers.map(x => x?.state.name || "");
77
+ isDirectParentAComponentTheme && allComponentThemes.shift();
78
+ const base = baseName.split(THEME_NAME_SEPARATOR),
79
+ max = base.length,
80
+ min = props.componentName && !nextName ? max : 0;
81
+ for (let i = max; i >= min; i--) {
82
+ let prefix = base.slice(0, i).join(THEME_NAME_SEPARATOR);
83
+ props.inverse && (prefix = inverseThemeName(prefix));
84
+ let potentials = [];
85
+ if (prefix && prefix !== baseName && potentials.push(prefix), nextName && potentials.unshift(prefix ? `${prefix}_${nextName}` : nextName), i === 1) {
86
+ const lastSegment = potentials.findIndex(x => !x.includes("_"));
87
+ lastSegment > 0 && potentials.splice(lastSegment, 0, nextName);
88
+ }
89
+ if (componentName && !props.reset) {
90
+ const baseLen = base.length;
91
+ let componentPotentials = [];
92
+ if (nextName && baseLen > 1) {
93
+ const beforeSeparator = base[0];
94
+ componentPotentials.push(`${beforeSeparator}_${nextName}_${componentName}`);
95
+ }
96
+ if (componentPotentials.push(`${prefix}_${componentName}`), nextName) {
97
+ if (i > baseLen) {
98
+ const prefixLessOne = base.slice(0, i - 1).join(THEME_NAME_SEPARATOR);
99
+ if (prefixLessOne) {
100
+ const lessSpecific = `${prefixLessOne}_${nextName}_${componentName}`;
101
+ componentPotentials.unshift(lessSpecific);
102
+ }
103
+ }
104
+ const moreSpecific = `${prefix}_${nextName}_${componentName}`;
105
+ componentPotentials.unshift(moreSpecific);
106
+ }
107
+ potentials = [...componentPotentials, ...potentials, ...allComponentThemes];
108
+ }
109
+ const found = potentials.find(t => t in themes);
110
+ if (process.env.NODE_ENV !== "production" && typeof props.debug == "string" && console.info(" getState ", {
111
+ props,
112
+ found,
113
+ potentials,
114
+ baseManager,
115
+ nextName,
116
+ baseName,
117
+ prefix
118
+ }), found) {
119
+ const names = found.split("_"),
120
+ [firstName, ...restNames] = names,
121
+ lastName = names[names.length - 1],
122
+ isComponent = lastName[0] === lastName[0].toUpperCase(),
123
+ scheme = firstName === "light" ? "light" : firstName === "dark" ? "dark" : void 0,
124
+ pre = THEME_CLASSNAME_PREFIX,
125
+ className = isWeb ? `${pre}sub_theme ${pre}${!scheme || !restNames.length ? firstName : restNames.join("_")}` : "",
126
+ parentName = (baseManager || parentManager)?.state?.name;
127
+ result = {
128
+ name: found,
129
+ parentName,
130
+ theme: themes[found],
131
+ className,
132
+ isComponent,
133
+ scheme
134
+ };
135
+ break;
136
+ }
137
+ }
138
+ return process.env.NODE_ENV !== "production" && props.debug === "verbose" && typeof window < "u" && (console.groupCollapsed("ThemeManager.getState()"), console.info({
139
+ props,
140
+ baseName,
141
+ base,
142
+ min,
143
+ max
144
+ }), console.warn("result", {
145
+ result
146
+ }), console.trace(), console.groupEnd()), result;
147
+ }
148
+ const inverseThemeName = themeName => themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
149
+ function getManagers(themeManager) {
150
+ const comp = [],
151
+ all = [];
152
+ let cur = themeManager;
153
+ for (; cur;) all.push(cur), cur.state.isComponent && comp.push(cur), cur = cur.parentManager;
154
+ return [all, comp];
155
+ }
156
+ export { ThemeManager, getHasThemeUpdatingProps, getManagers };
@@ -0,0 +1,3 @@
1
+ import { createContext } from "react";
2
+ const ThemeManagerIDContext = createContext(1);
3
+ export { ThemeManagerIDContext };