@tamagui/web 3.0.0-beta.1161.1 → 3.0.0-beta.1173.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/cjs/helpers/getThemeCSSRules.cjs +33 -23
  2. package/dist/cjs/helpers/grammarConfig.cjs +1 -1
  3. package/dist/cjs/helpers/grammarConfig.native.cjs +1 -1
  4. package/dist/cjs/helpers/grammarConfig.native.js +1 -1
  5. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  6. package/dist/cjs/helpers/normalizeColor.native.cjs +15 -1
  7. package/dist/cjs/helpers/normalizeColor.native.js +15 -1
  8. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  9. package/dist/cjs/views/ThemeDebug.cjs +1 -1
  10. package/dist/esm/helpers/getThemeCSSRules.mjs +33 -23
  11. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  12. package/dist/esm/helpers/grammarConfig.mjs +1 -1
  13. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  14. package/dist/esm/helpers/grammarConfig.native.js +1 -1
  15. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  16. package/dist/esm/helpers/normalizeColor.native.js +15 -1
  17. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  18. package/dist/esm/views/ThemeDebug.mjs +1 -1
  19. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  20. package/package.json +17 -17
  21. package/src/helpers/getThemeCSSRules.ts +64 -33
  22. package/src/helpers/grammarConfig.ts +5 -1
  23. package/src/helpers/normalizeColor.native.ts +26 -3
  24. package/src/helpers/styleProvenance.ts +1 -1
  25. package/src/helpers/variables.ts +1 -1
  26. package/src/types.tsx +1 -1
  27. package/src/views/ThemeDebug.tsx +1 -1
  28. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  29. package/types/helpers/grammarConfig.d.ts.map +1 -1
  30. package/types/helpers/normalizeColor.native.d.ts +4 -1
  31. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  32. package/types/helpers/normalizeShadow.native.d.ts +3 -1
  33. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  34. package/types/helpers/styleProvenance.d.ts +1 -1
  35. package/types/helpers/styleProvenance.d.ts.map +1 -1
  36. package/types/types.d.ts +1 -1
@@ -46,13 +46,15 @@ function getThemeCSSRules(props) {
46
46
  const isLightBase = themeName === "light";
47
47
  const baseSelectors = names.map((name) => `${CNP}${name}`);
48
48
  const selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);
49
+ const selectorScheme = /* @__PURE__ */ new Map();
49
50
  for (const name of names) selectorsSet.add(`${CNP}${name}:not(#t_theme_full_name)`);
50
51
  if (hasDarkLight) {
51
52
  const maxDepth = 2;
52
53
  for (const subName of names) {
53
- const isDark = isDarkBase || subName.startsWith("dark_");
54
- const isLight = !isDark && (isLightBase || subName.startsWith("light_"));
55
- if (!(isDark || isLight)) {
54
+ const hasDarkPrefix = subName === "dark" || subName.startsWith("dark_");
55
+ const hasLightPrefix = subName === "light" || subName.startsWith("light_");
56
+ const isDark = hasDarkPrefix || !hasLightPrefix && isDarkBase;
57
+ if (!(isDark || hasLightPrefix || !hasDarkPrefix && isLightBase)) {
56
58
  selectorsSet.add(`${CNP}${subName}`);
57
59
  continue;
58
60
  }
@@ -75,8 +77,9 @@ function getThemeCSSRules(props) {
75
77
  ];
76
78
  }
77
79
  const nextChildSelector = childSelector === parentSelectors[parentSelectors.length - 1] ? "" : childSelector;
78
- const parentSelectorString = parentSelectors.join(" ");
79
- selectorsSet.add(`${parentSelectorString} ${nextChildSelector}`);
80
+ const selector = `${parentSelectors.join(" ")} ${nextChildSelector}`;
81
+ selectorsSet.add(selector);
82
+ selectorScheme.set(selector, isDark ? "dark" : "light");
80
83
  }
81
84
  }
82
85
  }
@@ -88,26 +91,33 @@ function getThemeCSSRules(props) {
88
91
  }).join(", ") + `, .tm_xxt`} {${vars}}`;
89
92
  cssRuleSets.push(css);
90
93
  if ((0, import_config.getSetting)("shouldAddPrefersColorThemes")) {
91
- const isDark = themeName.startsWith("dark");
92
- const baseName = isDark ? "dark" : "light";
93
- const lessSpecificSelectors = selectors.map((x) => {
94
- if (x == darkSelector || x === lightSelector) return `:root`;
95
- if (isDark && x.startsWith(lightSelector) || !isDark && x.startsWith(darkSelector)) return;
96
- return x.replace(/^\.t_(dark|light) /, "").trim();
97
- }).filter(Boolean).join(", ");
98
- const isBase = !themeName.includes("_");
99
- let bodyRulesString = "";
100
- if (isBase) {
101
- const bgString = theme.background ? `background:${(0, import_createVariable.variableToString)(theme.background)};` : "";
102
- const fgString = theme.color ? `color:${(0, import_createVariable.variableToString)(theme.color)}` : "";
103
- bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}
94
+ const schemeOf = (x) => {
95
+ if (x === darkSelector) return "dark";
96
+ if (x === lightSelector) return "light";
97
+ if (x.startsWith(`${darkSelector} `)) return "dark";
98
+ if (x.startsWith(`${lightSelector} `)) return "light";
99
+ return selectorScheme.get(x);
100
+ };
101
+ for (const baseName of lightDark) {
102
+ const lessSpecificSelectors = selectors.map((x) => {
103
+ if (x === darkSelector || x === lightSelector) return schemeOf(x) === baseName ? ":root" : void 0;
104
+ const scheme = schemeOf(x);
105
+ if (scheme && scheme !== baseName) return;
106
+ return x.replace(/^\.t_(dark|light) /, "").trim();
107
+ }).filter(Boolean).join(", ");
108
+ if (!lessSpecificSelectors) continue;
109
+ const isBase = !themeName.includes("_");
110
+ let bodyRulesString = "";
111
+ if (isBase && themeName === baseName) {
112
+ const bgString = theme.background ? `background:${(0, import_createVariable.variableToString)(theme.background)};` : "";
113
+ const fgString = theme.color ? `color:${(0, import_createVariable.variableToString)(theme.color)}` : "";
114
+ bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}
104
115
  ` : "";
116
+ }
117
+ cssRuleSets.push(`@media(prefers-color-scheme:${baseName}){
118
+ ${bodyRulesString}${lessSpecificSelectors} {${vars}}
119
+ }`);
105
120
  }
106
- const themeRules = `${lessSpecificSelectors} {${vars}}`;
107
- const prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){
108
- ${bodyRulesString}${themeRules}
109
- }`;
110
- cssRuleSets.push(prefersMediaSelectors);
111
121
  }
112
122
  const selectionStyles = (0, import_config.getSetting)("selectionStyles");
113
123
  if (selectionStyles) {
@@ -216,7 +216,7 @@ function prepareConfigRevision(config) {
216
216
  normalizedTransitions.set(raw, out);
217
217
  return out;
218
218
  },
219
- embeddedTokens: (raw, resolve) => raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, (word, quote, offset) => {
219
+ embeddedTokens: (raw, resolve) => raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g, (word, quote, offset) => {
220
220
  const before = raw.charCodeAt(offset - 1);
221
221
  return quote || word[0] !== "$" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);
222
222
  })
@@ -259,7 +259,7 @@ function prepareConfigRevision(config) {
259
259
  return out;
260
260
  },
261
261
  embeddedTokens: function(raw, resolve) {
262
- return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, function(word, quote, offset) {
262
+ return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g, function(word, quote, offset) {
263
263
  var before = raw.charCodeAt(offset - 1);
264
264
  return quote || word[0] !== "$" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);
265
265
  });
@@ -259,7 +259,7 @@ function prepareConfigRevision(config) {
259
259
  return out;
260
260
  },
261
261
  embeddedTokens: function(raw, resolve) {
262
- return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, function(word, quote, offset) {
262
+ return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g, function(word, quote, offset) {
263
263
  var before = raw.charCodeAt(offset - 1);
264
264
  return quote || word[0] !== "$" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);
265
265
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.native.js","names":[],"sources":["cjs/helpers/grammarConfig.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar grammarConfig_exports = {};\n__export(grammarConfig_exports, {\n getConfigRevisionSnapshot: () => getConfigRevisionSnapshot,\n getConfigRevisionState: () => getConfigRevisionState,\n prepareConfigRevision: () => prepareConfigRevision\n});\nmodule.exports = __toCommonJS(grammarConfig_exports);\nvar import_propertyNames = require(\"@tamagui/animation-helpers/propertyNames\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_runtime = require(\"@tamagui/style-grammar/runtime\");\nvar import_borderComponents = require(\"./borderComponents\");\nvar import_mediaObjectToString = require(\"./mediaObjectToString\");\nvar import_tokenCategories = require(\"./tokenCategories\");\nvar import_resolveSafeArea = require(\"./resolveSafeArea\");\nvar import_resolveSafeAreaVariable = require(\"./resolveSafeAreaVariable\");\nvar import_styleStaticConfigCore = require(\"./styleStaticConfigCore\");\nfunction prepareConfigRevision(config) {\n var target = config;\n var previous = target[import_runtime.configRevisionSymbol];\n var captured = previous ? {\n ...previous,\n revision: previous.revision + 1\n } : {\n revision: 1\n };\n if (previous) {\n target[import_runtime.configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, import_runtime.configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n var media = config.media || {};\n var themes = config.themes || {};\n var mediaNames = Object.keys(media);\n var themeNames = Object.keys(themes);\n var modifiers = (0, import_runtime.compileModifierVocabulary)({\n mediaNames,\n themeNames\n });\n var mediaQueries = /* @__PURE__ */ Object.create(null);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n mediaQueries[name] = (0, import_mediaObjectToString.mediaObjectToString)(media[name]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (var name1 in modifiers) {\n var code = modifiers[name1];\n var kind = code & 7;\n var rank = code >> 3;\n conditionModifiers[name1] = kind === import_runtime.modifierKindState ? [\n import_runtime.canonicalStateModifierNames[rank],\n kind,\n rank,\n import_runtime.stateModifierSelectors[rank]\n ] : kind === import_runtime.modifierKindMedia ? [\n name1,\n kind,\n rank,\n mediaQueries[name1]\n ] : kind === import_runtime.modifierKindPlatform ? [\n name1,\n kind,\n rank,\n void 0,\n void 0,\n void 0,\n (0, import_constants.platformMatches)(name1)\n ] : [\n name1,\n kind,\n rank\n ];\n }\n var resolveCondition = function(authored) {\n var cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n var result = null;\n if (authored.startsWith(\"group-\")) {\n var slash = authored.indexOf(\"/\");\n var state = authored.slice(6, slash === -1 ? void 0 : slash);\n var code2 = modifiers[state] || 0;\n var rank2 = code2 >> 3;\n var groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code2 & 7) === import_runtime.modifierKindState && rank2 !== 6 && rank2 !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${import_runtime.canonicalStateModifierNames[rank2]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank2,\n import_runtime.stateModifierSelectors[rank2],\n groupName,\n import_runtime.canonicalStateModifierNames[rank2]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n var slash1 = authored.indexOf(\"/\");\n var size = authored.slice(1, slash1 === -1 ? void 0 : slash1);\n var containerName = slash1 === -1 ? \"\" : authored.slice(slash1 + 1);\n var code1 = modifiers[size] || 0;\n var query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash1 === -1 || /^[\\w-]+$/.test(containerName)) && (code1 & 7) === import_runtime.modifierKindMedia && (0, import_runtime.isContainerSizeQueryText)(query)) {\n result = [\n authored,\n 6,\n code1 >> 3,\n query,\n size,\n containerName\n ];\n }\n }\n return conditionModifiers[authored] = result;\n };\n var propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n var propertyKind = function(property) {\n return propertyKinds[property] || 0;\n };\n var tokenCategory = function(property) {\n return config.tokensParsed[property] ? property : (0, import_tokenCategories.getTokenCategoryForProperty)(property);\n };\n var normalizedTransitions = /* @__PURE__ */ new Map();\n var next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: import_resolveSafeArea.expandSafeAreaValue,\n safeAreaVariable: import_resolveSafeAreaVariable.resolveSafeAreaVariable,\n parseFlatValue: import_runtime.parseFlatValue,\n styleStaticConfig: function(staticConfig, conf) {\n return (0, import_styleStaticConfigCore.resolveStyleStaticConfig)(staticConfig, conf, captured.revision);\n },\n propertyKind,\n compositeValue: function(property, raw, context, resolve) {\n var kind2 = propertyKinds[property];\n if (kind2 < 7) return;\n if (kind2 === 7) {\n var { width, style, color } = (0, import_borderComponents.classifyBorderComponents)(raw, property === \"outline\");\n if (style === \"none\" && !color) return \"none\";\n var prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n var parts = (0, import_borderComponents.splitComponents)(raw);\n if (parts.length > 1) {\n var value = \"\";\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = parts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var part = _step2.value;\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return value;\n }\n },\n normalizeTransition: function(raw) {\n var known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n var out = raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g, function(authored, quote, offset) {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return (0, import_propertyNames.canonicalTransitionProperty)(config.shorthands[authored] || authored);\n });\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: function(raw, resolve) {\n return raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d+)?/g, function(word, quote, offset) {\n var before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n });\n }\n };\n if (target[import_runtime.configRevisionSymbol] === captured) {\n target[import_runtime.configRevisionSymbol] = next;\n return next;\n }\n return target[import_runtime.configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[import_runtime.configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n var state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n var media = config.media || {};\n var themes = config.themes || {};\n var tokensParsed = config.tokensParsed || {};\n var fontsParsed = config.fontsParsed || {};\n var shorthands = config.shorthands || {};\n var sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(media).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n sections.media.push(`m:${name}=${(0, import_mediaObjectToString.mediaObjectToString)(media[name])}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n var themeKeys = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = themeNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = Object.keys(themes[name1] || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n themeKeys.add(key);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n sections.themeVariables.push(`v:${[\n ...themeKeys\n ].sort().join(\",\")}`);\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.keys(tokensParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var category = _step3.value;\n var tokens = tokensParsed[category];\n sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var family = _step4.value;\n var font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n sections.shorthands.push(`s:${Object.keys(shorthands).sort().map(function(key2) {\n return `${key2}>${shorthands[key2]}`;\n }).join(\",\")}`);\n var snapshot = {\n revision: (0, import_helpers.simpleHash)(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(Object.entries(sections).map(function(param) {\n var [name2, values] = param;\n return [\n name2,\n (0, import_helpers.simpleHash)(values.join(\"|\"), \"strict\") || \"0\"\n ];\n }))\n };\n if (config[import_runtime.configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"grammarConfig.native.js","names":[],"sources":["cjs/helpers/grammarConfig.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar grammarConfig_exports = {};\n__export(grammarConfig_exports, {\n getConfigRevisionSnapshot: () => getConfigRevisionSnapshot,\n getConfigRevisionState: () => getConfigRevisionState,\n prepareConfigRevision: () => prepareConfigRevision\n});\nmodule.exports = __toCommonJS(grammarConfig_exports);\nvar import_propertyNames = require(\"@tamagui/animation-helpers/propertyNames\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_runtime = require(\"@tamagui/style-grammar/runtime\");\nvar import_borderComponents = require(\"./borderComponents\");\nvar import_mediaObjectToString = require(\"./mediaObjectToString\");\nvar import_tokenCategories = require(\"./tokenCategories\");\nvar import_resolveSafeArea = require(\"./resolveSafeArea\");\nvar import_resolveSafeAreaVariable = require(\"./resolveSafeAreaVariable\");\nvar import_styleStaticConfigCore = require(\"./styleStaticConfigCore\");\nfunction prepareConfigRevision(config) {\n var target = config;\n var previous = target[import_runtime.configRevisionSymbol];\n var captured = previous ? {\n ...previous,\n revision: previous.revision + 1\n } : {\n revision: 1\n };\n if (previous) {\n target[import_runtime.configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, import_runtime.configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n var media = config.media || {};\n var themes = config.themes || {};\n var mediaNames = Object.keys(media);\n var themeNames = Object.keys(themes);\n var modifiers = (0, import_runtime.compileModifierVocabulary)({\n mediaNames,\n themeNames\n });\n var mediaQueries = /* @__PURE__ */ Object.create(null);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n mediaQueries[name] = (0, import_mediaObjectToString.mediaObjectToString)(media[name]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (var name1 in modifiers) {\n var code = modifiers[name1];\n var kind = code & 7;\n var rank = code >> 3;\n conditionModifiers[name1] = kind === import_runtime.modifierKindState ? [\n import_runtime.canonicalStateModifierNames[rank],\n kind,\n rank,\n import_runtime.stateModifierSelectors[rank]\n ] : kind === import_runtime.modifierKindMedia ? [\n name1,\n kind,\n rank,\n mediaQueries[name1]\n ] : kind === import_runtime.modifierKindPlatform ? [\n name1,\n kind,\n rank,\n void 0,\n void 0,\n void 0,\n (0, import_constants.platformMatches)(name1)\n ] : [\n name1,\n kind,\n rank\n ];\n }\n var resolveCondition = function(authored) {\n var cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n var result = null;\n if (authored.startsWith(\"group-\")) {\n var slash = authored.indexOf(\"/\");\n var state = authored.slice(6, slash === -1 ? void 0 : slash);\n var code2 = modifiers[state] || 0;\n var rank2 = code2 >> 3;\n var groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code2 & 7) === import_runtime.modifierKindState && rank2 !== 6 && rank2 !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${import_runtime.canonicalStateModifierNames[rank2]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank2,\n import_runtime.stateModifierSelectors[rank2],\n groupName,\n import_runtime.canonicalStateModifierNames[rank2]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n var slash1 = authored.indexOf(\"/\");\n var size = authored.slice(1, slash1 === -1 ? void 0 : slash1);\n var containerName = slash1 === -1 ? \"\" : authored.slice(slash1 + 1);\n var code1 = modifiers[size] || 0;\n var query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash1 === -1 || /^[\\w-]+$/.test(containerName)) && (code1 & 7) === import_runtime.modifierKindMedia && (0, import_runtime.isContainerSizeQueryText)(query)) {\n result = [\n authored,\n 6,\n code1 >> 3,\n query,\n size,\n containerName\n ];\n }\n }\n return conditionModifiers[authored] = result;\n };\n var propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n var propertyKind = function(property) {\n return propertyKinds[property] || 0;\n };\n var tokenCategory = function(property) {\n return config.tokensParsed[property] ? property : (0, import_tokenCategories.getTokenCategoryForProperty)(property);\n };\n var normalizedTransitions = /* @__PURE__ */ new Map();\n var next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: import_resolveSafeArea.expandSafeAreaValue,\n safeAreaVariable: import_resolveSafeAreaVariable.resolveSafeAreaVariable,\n parseFlatValue: import_runtime.parseFlatValue,\n styleStaticConfig: function(staticConfig, conf) {\n return (0, import_styleStaticConfigCore.resolveStyleStaticConfig)(staticConfig, conf, captured.revision);\n },\n propertyKind,\n compositeValue: function(property, raw, context, resolve) {\n var kind2 = propertyKinds[property];\n if (kind2 < 7) return;\n if (kind2 === 7) {\n var { width, style, color } = (0, import_borderComponents.classifyBorderComponents)(raw, property === \"outline\");\n if (style === \"none\" && !color) return \"none\";\n var prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n var parts = (0, import_borderComponents.splitComponents)(raw);\n if (parts.length > 1) {\n var value = \"\";\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = parts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var part = _step2.value;\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return value;\n }\n },\n normalizeTransition: function(raw) {\n var known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n var out = raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g, function(authored, quote, offset) {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return (0, import_propertyNames.canonicalTransitionProperty)(config.shorthands[authored] || authored);\n });\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: function(raw, resolve) {\n return raw.replace(\n // the alpha suffix matches decimals too, so `$color/0.7` is handed to\n // resolve() whole and rejected as one token. matching only `\\d+` split it\n // into `$color/0` plus a stray `.7`, which left the `.7` glued onto the\n // resolved value.\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d*\\.?\\d+)?/g,\n function(word, quote, offset) {\n var before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n }\n );\n }\n };\n if (target[import_runtime.configRevisionSymbol] === captured) {\n target[import_runtime.configRevisionSymbol] = next;\n return next;\n }\n return target[import_runtime.configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[import_runtime.configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n var state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n var media = config.media || {};\n var themes = config.themes || {};\n var tokensParsed = config.tokensParsed || {};\n var fontsParsed = config.fontsParsed || {};\n var shorthands = config.shorthands || {};\n var sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(media).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n sections.media.push(`m:${name}=${(0, import_mediaObjectToString.mediaObjectToString)(media[name])}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n var themeKeys = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = themeNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = Object.keys(themes[name1] || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n themeKeys.add(key);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n sections.themeVariables.push(`v:${[\n ...themeKeys\n ].sort().join(\",\")}`);\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.keys(tokensParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var category = _step3.value;\n var tokens = tokensParsed[category];\n sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var family = _step4.value;\n var font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n sections.shorthands.push(`s:${Object.keys(shorthands).sort().map(function(key2) {\n return `${key2}>${shorthands[key2]}`;\n }).join(\",\")}`);\n var snapshot = {\n revision: (0, import_helpers.simpleHash)(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(Object.entries(sections).map(function(param) {\n var [name2, values] = param;\n return [\n name2,\n (0, import_helpers.simpleHash)(values.join(\"|\"), \"strict\") || \"0\"\n ];\n }))\n };\n if (config[import_runtime.configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
@@ -29,9 +29,23 @@ __export(normalizeColor_native_exports, {
29
29
  module.exports = __toCommonJS(normalizeColor_native_exports);
30
30
  var import_normalize_css_color = require("@tamagui/normalize-css-color");
31
31
  var import_normalize_css_color2 = require("@tamagui/normalize-css-color");
32
+ var isDynamicColor = function(color) {
33
+ return typeof color.dynamic === "object" && color.dynamic !== null;
34
+ };
32
35
  var normalizeColor = function(color, opacity) {
33
36
  if (!color) return;
34
- if (typeof color !== "string") return color;
37
+ if (typeof color !== "string") {
38
+ if (opacity === void 0 || opacity === 1 || !isDynamicColor(color)) return color;
39
+ var dynamic = {};
40
+ for (var key in color.dynamic) {
41
+ var variant = normalizeColor(color.dynamic[key], opacity);
42
+ if (typeof variant === "string") dynamic[key] = variant;
43
+ }
44
+ return {
45
+ ...color,
46
+ dynamic
47
+ };
48
+ }
35
49
  var rgbaVal = getRgba(color);
36
50
  if (rgbaVal) {
37
51
  var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;
@@ -29,9 +29,23 @@ __export(normalizeColor_native_exports, {
29
29
  module.exports = __toCommonJS(normalizeColor_native_exports);
30
30
  var import_normalize_css_color = require("@tamagui/normalize-css-color");
31
31
  var import_normalize_css_color2 = require("@tamagui/normalize-css-color");
32
+ var isDynamicColor = function(color) {
33
+ return typeof color.dynamic === "object" && color.dynamic !== null;
34
+ };
32
35
  var normalizeColor = function(color, opacity) {
33
36
  if (!color) return;
34
- if (typeof color !== "string") return color;
37
+ if (typeof color !== "string") {
38
+ if (opacity === void 0 || opacity === 1 || !isDynamicColor(color)) return color;
39
+ var dynamic = {};
40
+ for (var key in color.dynamic) {
41
+ var variant = normalizeColor(color.dynamic[key], opacity);
42
+ if (typeof variant === "string") dynamic[key] = variant;
43
+ }
44
+ return {
45
+ ...color,
46
+ dynamic
47
+ };
48
+ }
35
49
  var rgbaVal = getRgba(color);
36
50
  if (rgbaVal) {
37
51
  var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeColor.native.js","names":[],"sources":["cjs/helpers/normalizeColor.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar normalizeColor_native_exports = {};\n__export(normalizeColor_native_exports, {\n getRgba: () => getRgba,\n normalizeColor: () => normalizeColor,\n rgba: () => import_normalize_css_color2.rgba\n});\nmodule.exports = __toCommonJS(normalizeColor_native_exports);\nvar import_normalize_css_color = require(\"@tamagui/normalize-css-color\");\nvar import_normalize_css_color2 = require(\"@tamagui/normalize-css-color\");\nvar normalizeColor = function(color, opacity) {\n if (!color) return;\n if (typeof color !== \"string\") return color;\n var rgbaVal = getRgba(color);\n if (rgbaVal) {\n var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;\n var _ref;\n return opacity === 1 ? `rgb(${colors})` : `rgba(${colors},${(_ref = opacity !== null && opacity !== void 0 ? opacity : rgbaVal.a) !== null && _ref !== void 0 ? _ref : 1})`;\n }\n return color;\n};\nvar getRgba = function(color) {\n if (typeof color !== \"string\") return;\n var nativeColor = color.replace(/^(rgb|hsl)\\((?=[^)]*\\/)/, \"$1a(\");\n var colorNum = (0, import_normalize_css_color.normalizeCSSColor)(nativeColor);\n if (colorNum != null) {\n return (0, import_normalize_css_color.rgba)(colorNum);\n }\n};\n//# sourceMappingURL=normalizeColor.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gCAAgC,CAAC;AACrC,SAAS,+BAA+B;CACtC,eAAe;CACf,sBAAsB;CACtB,YAAY,4BAA4B;AAC1C,CAAC;AACD,OAAO,UAAU,aAAa,6BAA6B;AAC3D,IAAI,6BAA6B,QAAQ,8BAA8B;AACvE,IAAI,8BAA8B,QAAQ,8BAA8B;AACxE,IAAI,iBAAiB,SAAS,OAAO,SAAS;CAC5C,IAAI,CAAC,OAAO;CACZ,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,IAAI,UAAU,QAAQ,KAAK;CAC3B,IAAI,SAAS;EACX,IAAI,SAAS,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ;EAClD,IAAI;EACJ,OAAO,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,OAAO,IAAI,OAAO,YAAY,QAAQ,YAAY,KAAK,IAAI,UAAU,QAAQ,OAAO,QAAQ,SAAS,KAAK,IAAI,OAAO,EAAE;CAC3K;CACA,OAAO;AACT;AACA,IAAI,UAAU,SAAS,OAAO;CAC5B,IAAI,OAAO,UAAU,UAAU;CAC/B,IAAI,cAAc,MAAM,QAAQ,2BAA2B,MAAM;CACjE,IAAI,YAAY,GAAG,2BAA2B,kBAAiB,CAAE,WAAW;CAC5E,IAAI,YAAY,MAAM;EACpB,QAAQ,GAAG,2BAA2B,KAAI,CAAE,QAAQ;CACtD;AACF"}
1
+ {"version":3,"file":"normalizeColor.native.js","names":[],"sources":["cjs/helpers/normalizeColor.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar normalizeColor_native_exports = {};\n__export(normalizeColor_native_exports, {\n getRgba: () => getRgba,\n normalizeColor: () => normalizeColor,\n rgba: () => import_normalize_css_color2.rgba\n});\nmodule.exports = __toCommonJS(normalizeColor_native_exports);\nvar import_normalize_css_color = require(\"@tamagui/normalize-css-color\");\nvar import_normalize_css_color2 = require(\"@tamagui/normalize-css-color\");\nvar isDynamicColor = function(color) {\n return typeof color.dynamic === \"object\" && color.dynamic !== null;\n};\nvar normalizeColor = function(color, opacity) {\n if (!color) return;\n if (typeof color !== \"string\") {\n if (opacity === void 0 || opacity === 1 || !isDynamicColor(color)) return color;\n var dynamic = {};\n for (var key in color.dynamic) {\n var variant = normalizeColor(color.dynamic[key], opacity);\n if (typeof variant === \"string\") dynamic[key] = variant;\n }\n return {\n ...color,\n dynamic\n };\n }\n var rgbaVal = getRgba(color);\n if (rgbaVal) {\n var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;\n var _ref;\n return opacity === 1 ? `rgb(${colors})` : `rgba(${colors},${(_ref = opacity !== null && opacity !== void 0 ? opacity : rgbaVal.a) !== null && _ref !== void 0 ? _ref : 1})`;\n }\n return color;\n};\nvar getRgba = function(color) {\n if (typeof color !== \"string\") return;\n var nativeColor = color.replace(/^(rgb|hsl)\\((?=[^)]*\\/)/, \"$1a(\");\n var colorNum = (0, import_normalize_css_color.normalizeCSSColor)(nativeColor);\n if (colorNum != null) {\n return (0, import_normalize_css_color.rgba)(colorNum);\n }\n};\n//# sourceMappingURL=normalizeColor.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gCAAgC,CAAC;AACrC,SAAS,+BAA+B;CACtC,eAAe;CACf,sBAAsB;CACtB,YAAY,4BAA4B;AAC1C,CAAC;AACD,OAAO,UAAU,aAAa,6BAA6B;AAC3D,IAAI,6BAA6B,QAAQ,8BAA8B;AACvE,IAAI,8BAA8B,QAAQ,8BAA8B;AACxE,IAAI,iBAAiB,SAAS,OAAO;CACnC,OAAO,OAAO,MAAM,YAAY,YAAY,MAAM,YAAY;AAChE;AACA,IAAI,iBAAiB,SAAS,OAAO,SAAS;CAC5C,IAAI,CAAC,OAAO;CACZ,IAAI,OAAO,UAAU,UAAU;EAC7B,IAAI,YAAY,KAAK,KAAK,YAAY,KAAK,CAAC,eAAe,KAAK,GAAG,OAAO;EAC1E,IAAI,UAAU,CAAC;EACf,KAAK,IAAI,OAAO,MAAM,SAAS;GAC7B,IAAI,UAAU,eAAe,MAAM,QAAQ,MAAM,OAAO;GACxD,IAAI,OAAO,YAAY,UAAU,QAAQ,OAAO;EAClD;EACA,OAAO;GACL,GAAG;GACH;EACF;CACF;CACA,IAAI,UAAU,QAAQ,KAAK;CAC3B,IAAI,SAAS;EACX,IAAI,SAAS,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ;EAClD,IAAI;EACJ,OAAO,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,OAAO,IAAI,OAAO,YAAY,QAAQ,YAAY,KAAK,IAAI,UAAU,QAAQ,OAAO,QAAQ,SAAS,KAAK,IAAI,OAAO,EAAE;CAC3K;CACA,OAAO;AACT;AACA,IAAI,UAAU,SAAS,OAAO;CAC5B,IAAI,OAAO,UAAU,UAAU;CAC/B,IAAI,cAAc,MAAM,QAAQ,2BAA2B,MAAM;CACjE,IAAI,YAAY,GAAG,2BAA2B,kBAAiB,CAAE,WAAW;CAC5E,IAAI,YAAY,MAAM;EACpB,QAAQ,GAAG,2BAA2B,KAAI,CAAE,QAAQ;CACtD;AACF"}
@@ -67,7 +67,7 @@ function ThemeDebug({ themeState, themeProps, children }) {
67
67
  " />\xA0",
68
68
  JSON.stringify({
69
69
  name: themeState.name,
70
- color1: themeState.theme.color1.val,
70
+ "color-1": themeState.theme["color-1"].val,
71
71
  parentId: themeState.parentId,
72
72
  isNew: themeState.isNew,
73
73
  themeProps: { name: themeProps.name },
@@ -24,13 +24,15 @@ function getThemeCSSRules(props) {
24
24
  const isLightBase = themeName === "light";
25
25
  const baseSelectors = names.map((name) => `${CNP}${name}`);
26
26
  const selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);
27
+ const selectorScheme = /* @__PURE__ */ new Map();
27
28
  for (const name of names) selectorsSet.add(`${CNP}${name}:not(#t_theme_full_name)`);
28
29
  if (hasDarkLight) {
29
30
  const maxDepth = 2;
30
31
  for (const subName of names) {
31
- const isDark = isDarkBase || subName.startsWith("dark_");
32
- const isLight = !isDark && (isLightBase || subName.startsWith("light_"));
33
- if (!(isDark || isLight)) {
32
+ const hasDarkPrefix = subName === "dark" || subName.startsWith("dark_");
33
+ const hasLightPrefix = subName === "light" || subName.startsWith("light_");
34
+ const isDark = hasDarkPrefix || !hasLightPrefix && isDarkBase;
35
+ if (!(isDark || hasLightPrefix || !hasDarkPrefix && isLightBase)) {
34
36
  selectorsSet.add(`${CNP}${subName}`);
35
37
  continue;
36
38
  }
@@ -53,8 +55,9 @@ function getThemeCSSRules(props) {
53
55
  ];
54
56
  }
55
57
  const nextChildSelector = childSelector === parentSelectors[parentSelectors.length - 1] ? "" : childSelector;
56
- const parentSelectorString = parentSelectors.join(" ");
57
- selectorsSet.add(`${parentSelectorString} ${nextChildSelector}`);
58
+ const selector = `${parentSelectors.join(" ")} ${nextChildSelector}`;
59
+ selectorsSet.add(selector);
60
+ selectorScheme.set(selector, isDark ? "dark" : "light");
58
61
  }
59
62
  }
60
63
  }
@@ -66,26 +69,33 @@ function getThemeCSSRules(props) {
66
69
  }).join(", ") + `, .tm_xxt`} {${vars}}`;
67
70
  cssRuleSets.push(css);
68
71
  if (getSetting("shouldAddPrefersColorThemes")) {
69
- const isDark = themeName.startsWith("dark");
70
- const baseName = isDark ? "dark" : "light";
71
- const lessSpecificSelectors = selectors.map((x) => {
72
- if (x == darkSelector || x === lightSelector) return `:root`;
73
- if (isDark && x.startsWith(lightSelector) || !isDark && x.startsWith(darkSelector)) return;
74
- return x.replace(/^\.t_(dark|light) /, "").trim();
75
- }).filter(Boolean).join(", ");
76
- const isBase = !themeName.includes("_");
77
- let bodyRulesString = "";
78
- if (isBase) {
79
- const bgString = theme.background ? `background:${variableToString(theme.background)};` : "";
80
- const fgString = theme.color ? `color:${variableToString(theme.color)}` : "";
81
- bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}
72
+ const schemeOf = (x) => {
73
+ if (x === darkSelector) return "dark";
74
+ if (x === lightSelector) return "light";
75
+ if (x.startsWith(`${darkSelector} `)) return "dark";
76
+ if (x.startsWith(`${lightSelector} `)) return "light";
77
+ return selectorScheme.get(x);
78
+ };
79
+ for (const baseName of lightDark) {
80
+ const lessSpecificSelectors = selectors.map((x) => {
81
+ if (x === darkSelector || x === lightSelector) return schemeOf(x) === baseName ? ":root" : void 0;
82
+ const scheme = schemeOf(x);
83
+ if (scheme && scheme !== baseName) return;
84
+ return x.replace(/^\.t_(dark|light) /, "").trim();
85
+ }).filter(Boolean).join(", ");
86
+ if (!lessSpecificSelectors) continue;
87
+ const isBase = !themeName.includes("_");
88
+ let bodyRulesString = "";
89
+ if (isBase && themeName === baseName) {
90
+ const bgString = theme.background ? `background:${variableToString(theme.background)};` : "";
91
+ const fgString = theme.color ? `color:${variableToString(theme.color)}` : "";
92
+ bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}
82
93
  ` : "";
94
+ }
95
+ cssRuleSets.push(`@media(prefers-color-scheme:${baseName}){
96
+ ${bodyRulesString}${lessSpecificSelectors} {${vars}}
97
+ }`);
83
98
  }
84
- const themeRules = `${lessSpecificSelectors} {${vars}}`;
85
- const prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){
86
- ${bodyRulesString}${themeRules}
87
- }`;
88
- cssRuleSets.push(prefersMediaSelectors);
89
99
  }
90
100
  const selectionStyles = getSetting("selectionStyles");
91
101
  if (selectionStyles) {
@@ -1 +1 @@
1
- {"version":3,"file":"getThemeCSSRules.js","names":[],"sources":["esm/helpers/getThemeCSSRules.js"],"sourcesContent":["import { simpleHash } from \"@tamagui/helpers\";\nimport { getSetting } from \"../config\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants\";\nimport { variableToString } from \"../createVariable\";\nimport { getOrCreateMutatedVariable, getOrCreateVariable } from \"./registerCSSVariable\";\nimport { sortString } from \"./sortString\";\n\nconst darkLight = [\"dark\", \"light\"];\nconst lightDark = [\"light\", \"dark\"];\nfunction getThemeCSSRules(props) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS) {} else if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === \"mutates-themes\" || process.env.TAMAGUI_DOES_SSR_CSS === \"false\") {\n\t\tconst cssRuleSets = [];\n\t\tconst { config, themeName, theme, names } = props;\n\t\tconst hasDarkLight = props.hasDarkLight ?? (config.themes && (\"light\" in config.themes || \"dark\" in config.themes));\n\t\tconst CNP = `.${THEME_CLASSNAME_PREFIX}`;\n\t\tlet vars = \"\";\n\t\tconst variableCreator = props.useMutatedVariables ? getOrCreateMutatedVariable : getOrCreateVariable;\n\t\tfor (const themeKey in theme) {\n\t\t\tconst variable = theme[themeKey];\n\t\t\tconst value = variableCreator(variable.needsPx ? `${variable.val}px` : variable.val).variable;\n\t\t\tvars += `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${simpleHash(themeKey, 40)}:${value};`;\n\t\t}\n\t\tconst isDarkBase = themeName === \"dark\";\n\t\tconst isLightBase = themeName === \"light\";\n\t\tconst baseSelectors = names.map((name) => `${CNP}${name}`);\n\t\tconst selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);\n\t\tfor (const name of names) selectorsSet.add(`${CNP}${name}:not(#t_theme_full_name)`);\n\t\tif (hasDarkLight) {\n\t\t\tconst maxDepth = 2;\n\t\t\tfor (const subName of names) {\n\t\t\t\tconst isDark = isDarkBase || subName.startsWith(\"dark_\");\n\t\t\t\tconst isLight = !isDark && (isLightBase || subName.startsWith(\"light_\"));\n\t\t\t\tif (!(isDark || isLight)) {\n\t\t\t\t\tselectorsSet.add(`${CNP}${subName}`);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst childSelector = `${CNP}${subName.replace(/^(dark|light)_/, \"\")}`;\n\t\t\t\tconst [stronger, weaker] = isDark ? darkLight : lightDark;\n\t\t\t\tconst numSelectors = Math.round(maxDepth * 1.5);\n\t\t\t\tfor (let depth = 0; depth < numSelectors; depth++) {\n\t\t\t\t\tconst isOdd = depth % 2 === 1;\n\t\t\t\t\tif (isOdd && depth < 3) continue;\n\t\t\t\t\tconst parents = new Array(depth + 1).fill(0).map((_, idx) => {\n\t\t\t\t\t\treturn `${CNP}${idx % 2 === 0 ? stronger : weaker}`;\n\t\t\t\t\t});\n\t\t\t\t\tlet parentSelectors = parents.length > 1 ? parents.slice(1) : parents;\n\t\t\t\t\tif (isOdd) {\n\t\t\t\t\t\tconst [_first, second, ...rest] = parentSelectors;\n\t\t\t\t\t\tparentSelectors = [\n\t\t\t\t\t\t\tsecond,\n\t\t\t\t\t\t\t...rest,\n\t\t\t\t\t\t\tsecond\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\tconst nextChildSelector = childSelector === parentSelectors[parentSelectors.length - 1] ? \"\" : childSelector;\n\t\t\t\t\tconst parentSelectorString = parentSelectors.join(\" \");\n\t\t\t\t\tselectorsSet.add(`${parentSelectorString} ${nextChildSelector}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst selectors = [...selectorsSet].sort(sortString);\n\t\tconst css = `${selectors.map((x) => {\n\t\t\tconst addTo = getSetting(\"addThemeClassName\");\n\t\t\tif (!(isBaseTheme(x) && (addTo === \"html\" || addTo === \"body\"))) return `:root ${x}`;\n\t\t\treturn `${addTo === \"body\" ? \"body\" : \":root\"}${x}`;\n\t\t}).join(\", \") + `, .tm_xxt`} {${vars}}`;\n\t\tcssRuleSets.push(css);\n\t\tif (getSetting(\"shouldAddPrefersColorThemes\")) {\n\t\t\tconst isDark = themeName.startsWith(\"dark\");\n\t\t\tconst baseName = isDark ? \"dark\" : \"light\";\n\t\t\tconst lessSpecificSelectors = selectors.map((x) => {\n\t\t\t\tif (x == darkSelector || x === lightSelector) return `:root`;\n\t\t\t\tif (isDark && x.startsWith(lightSelector) || !isDark && x.startsWith(darkSelector)) return;\n\t\t\t\treturn x.replace(/^\\.t_(dark|light) /, \"\").trim();\n\t\t\t}).filter(Boolean).join(\", \");\n\t\t\tconst isBase = !themeName.includes(\"_\");\n\t\t\tlet bodyRulesString = \"\";\n\t\t\tif (isBase) {\n\t\t\t\tconst bgString = theme.background ? `background:${variableToString(theme.background)};` : \"\";\n\t\t\t\tconst fgString = theme.color ? `color:${variableToString(theme.color)}` : \"\";\n\t\t\t\tbodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}\n ` : \"\";\n\t\t\t}\n\t\t\tconst themeRules = `${lessSpecificSelectors} {${vars}}`;\n\t\t\tconst prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){\n ${bodyRulesString}${themeRules}\n }`;\n\t\t\tcssRuleSets.push(prefersMediaSelectors);\n\t\t}\n\t\tconst selectionStyles = getSetting(\"selectionStyles\");\n\t\tif (selectionStyles) {\n\t\t\tconst rules = selectionStyles(theme);\n\t\t\tif (rules) {\n\t\t\t\tconst selectionSelectors = baseSelectors.map((s) => `${s} ::selection`).join(\", \");\n\t\t\t\tconst styles = Object.entries(rules).flatMap(([k, v]) => v ? `${k === \"backgroundColor\" ? \"background\" : k}:${variableToString(v)}` : []).join(\";\");\n\t\t\t\tif (styles) {\n\t\t\t\t\tconst css2 = `${selectionSelectors}{${styles}}`;\n\t\t\t\t\tcssRuleSets.push(css2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cssRuleSets;\n\t}\n\treturn [];\n}\nconst darkSelector = \".t_dark\";\nconst lightSelector = \".t_light\";\nconst isBaseTheme = (x) => x === darkSelector || x === lightSelector || x.startsWith(\".t_dark \") || x.startsWith(\".t_light \");\n\nexport { getThemeCSSRules };"],"mappings":"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"}
1
+ {"version":3,"file":"getThemeCSSRules.js","names":[],"sources":["esm/helpers/getThemeCSSRules.js"],"sourcesContent":["import { simpleHash } from \"@tamagui/helpers\";\nimport { getSetting } from \"../config\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants\";\nimport { variableToString } from \"../createVariable\";\nimport { getOrCreateMutatedVariable, getOrCreateVariable } from \"./registerCSSVariable\";\nimport { sortString } from \"./sortString\";\n\nconst darkLight = [\"dark\", \"light\"];\nconst lightDark = [\"light\", \"dark\"];\nfunction getThemeCSSRules(props) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS) {} else if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === \"mutates-themes\" || process.env.TAMAGUI_DOES_SSR_CSS === \"false\") {\n\t\tconst cssRuleSets = [];\n\t\tconst { config, themeName, theme, names } = props;\n\t\tconst hasDarkLight = props.hasDarkLight ?? (config.themes && (\"light\" in config.themes || \"dark\" in config.themes));\n\t\tconst CNP = `.${THEME_CLASSNAME_PREFIX}`;\n\t\tlet vars = \"\";\n\t\tconst variableCreator = props.useMutatedVariables ? getOrCreateMutatedVariable : getOrCreateVariable;\n\t\tfor (const themeKey in theme) {\n\t\t\tconst variable = theme[themeKey];\n\t\t\tconst value = variableCreator(variable.needsPx ? `${variable.val}px` : variable.val).variable;\n\t\t\tvars += `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${simpleHash(themeKey, 40)}:${value};`;\n\t\t}\n\t\tconst isDarkBase = themeName === \"dark\";\n\t\tconst isLightBase = themeName === \"light\";\n\t\tconst baseSelectors = names.map((name) => `${CNP}${name}`);\n\t\tconst selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);\n\t\tconst selectorScheme = /* @__PURE__ */ new Map();\n\t\tfor (const name of names) selectorsSet.add(`${CNP}${name}:not(#t_theme_full_name)`);\n\t\tif (hasDarkLight) {\n\t\t\tconst maxDepth = 2;\n\t\t\tfor (const subName of names) {\n\t\t\t\tconst hasDarkPrefix = subName === \"dark\" || subName.startsWith(\"dark_\");\n\t\t\t\tconst hasLightPrefix = subName === \"light\" || subName.startsWith(\"light_\");\n\t\t\t\tconst isDark = hasDarkPrefix || !hasLightPrefix && isDarkBase;\n\t\t\t\tif (!(isDark || hasLightPrefix || !hasDarkPrefix && isLightBase)) {\n\t\t\t\t\tselectorsSet.add(`${CNP}${subName}`);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst childSelector = `${CNP}${subName.replace(/^(dark|light)_/, \"\")}`;\n\t\t\t\tconst [stronger, weaker] = isDark ? darkLight : lightDark;\n\t\t\t\tconst numSelectors = Math.round(maxDepth * 1.5);\n\t\t\t\tfor (let depth = 0; depth < numSelectors; depth++) {\n\t\t\t\t\tconst isOdd = depth % 2 === 1;\n\t\t\t\t\tif (isOdd && depth < 3) continue;\n\t\t\t\t\tconst parents = new Array(depth + 1).fill(0).map((_, idx) => {\n\t\t\t\t\t\treturn `${CNP}${idx % 2 === 0 ? stronger : weaker}`;\n\t\t\t\t\t});\n\t\t\t\t\tlet parentSelectors = parents.length > 1 ? parents.slice(1) : parents;\n\t\t\t\t\tif (isOdd) {\n\t\t\t\t\t\tconst [_first, second, ...rest] = parentSelectors;\n\t\t\t\t\t\tparentSelectors = [\n\t\t\t\t\t\t\tsecond,\n\t\t\t\t\t\t\t...rest,\n\t\t\t\t\t\t\tsecond\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\tconst nextChildSelector = childSelector === parentSelectors[parentSelectors.length - 1] ? \"\" : childSelector;\n\t\t\t\t\tconst selector = `${parentSelectors.join(\" \")} ${nextChildSelector}`;\n\t\t\t\t\tselectorsSet.add(selector);\n\t\t\t\t\tselectorScheme.set(selector, isDark ? \"dark\" : \"light\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst selectors = [...selectorsSet].sort(sortString);\n\t\tconst css = `${selectors.map((x) => {\n\t\t\tconst addTo = getSetting(\"addThemeClassName\");\n\t\t\tif (!(isBaseTheme(x) && (addTo === \"html\" || addTo === \"body\"))) return `:root ${x}`;\n\t\t\treturn `${addTo === \"body\" ? \"body\" : \":root\"}${x}`;\n\t\t}).join(\", \") + `, .tm_xxt`} {${vars}}`;\n\t\tcssRuleSets.push(css);\n\t\tif (getSetting(\"shouldAddPrefersColorThemes\")) {\n\t\t\tconst schemeOf = (x) => {\n\t\t\t\tif (x === darkSelector) return \"dark\";\n\t\t\t\tif (x === lightSelector) return \"light\";\n\t\t\t\tif (x.startsWith(`${darkSelector} `)) return \"dark\";\n\t\t\t\tif (x.startsWith(`${lightSelector} `)) return \"light\";\n\t\t\t\treturn selectorScheme.get(x);\n\t\t\t};\n\t\t\tfor (const baseName of lightDark) {\n\t\t\t\tconst lessSpecificSelectors = selectors.map((x) => {\n\t\t\t\t\tif (x === darkSelector || x === lightSelector) return schemeOf(x) === baseName ? \":root\" : void 0;\n\t\t\t\t\tconst scheme = schemeOf(x);\n\t\t\t\t\tif (scheme && scheme !== baseName) return;\n\t\t\t\t\treturn x.replace(/^\\.t_(dark|light) /, \"\").trim();\n\t\t\t\t}).filter(Boolean).join(\", \");\n\t\t\t\tif (!lessSpecificSelectors) continue;\n\t\t\t\tconst isBase = !themeName.includes(\"_\");\n\t\t\t\tlet bodyRulesString = \"\";\n\t\t\t\tif (isBase && themeName === baseName) {\n\t\t\t\t\tconst bgString = theme.background ? `background:${variableToString(theme.background)};` : \"\";\n\t\t\t\t\tconst fgString = theme.color ? `color:${variableToString(theme.color)}` : \"\";\n\t\t\t\t\tbodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}\n ` : \"\";\n\t\t\t\t}\n\t\t\t\tcssRuleSets.push(`@media(prefers-color-scheme:${baseName}){\n ${bodyRulesString}${lessSpecificSelectors} {${vars}}\n }`);\n\t\t\t}\n\t\t}\n\t\tconst selectionStyles = getSetting(\"selectionStyles\");\n\t\tif (selectionStyles) {\n\t\t\tconst rules = selectionStyles(theme);\n\t\t\tif (rules) {\n\t\t\t\tconst selectionSelectors = baseSelectors.map((s) => `${s} ::selection`).join(\", \");\n\t\t\t\tconst styles = Object.entries(rules).flatMap(([k, v]) => v ? `${k === \"backgroundColor\" ? \"background\" : k}:${variableToString(v)}` : []).join(\";\");\n\t\t\t\tif (styles) {\n\t\t\t\t\tconst css2 = `${selectionSelectors}{${styles}}`;\n\t\t\t\t\tcssRuleSets.push(css2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cssRuleSets;\n\t}\n\treturn [];\n}\nconst darkSelector = \".t_dark\";\nconst lightSelector = \".t_light\";\nconst isBaseTheme = (x) => x === darkSelector || x === lightSelector || x.startsWith(\".t_dark \") || x.startsWith(\".t_light \");\n\nexport { getThemeCSSRules };"],"mappings":"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"}
@@ -190,7 +190,7 @@ function prepareConfigRevision(config) {
190
190
  normalizedTransitions.set(raw, out);
191
191
  return out;
192
192
  },
193
- embeddedTokens: (raw, resolve) => raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, (word, quote, offset) => {
193
+ embeddedTokens: (raw, resolve) => raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g, (word, quote, offset) => {
194
194
  const before = raw.charCodeAt(offset - 1);
195
195
  return quote || word[0] !== "$" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);
196
196
  })
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.js","names":[],"sources":["esm/helpers/grammarConfig.js"],"sourcesContent":["import { canonicalTransitionProperty } from \"@tamagui/animation-helpers/propertyNames\";\nimport { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport {\n canonicalStateModifierNames,\n compileModifierVocabulary,\n configRevisionSymbol,\n isContainerSizeQueryText,\n modifierKindMedia,\n modifierKindPlatform,\n modifierKindState,\n parseFlatValue,\n stateModifierSelectors\n} from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n const target = config;\n const previous = target[configRevisionSymbol];\n const captured = previous ? { ...previous, revision: previous.revision + 1 } : { revision: 1 };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n const media = config.media || {};\n const themes = config.themes || {};\n const mediaNames = Object.keys(media);\n const themeNames = Object.keys(themes);\n const modifiers = compileModifierVocabulary({ mediaNames, themeNames });\n const mediaQueries = /* @__PURE__ */ Object.create(null);\n for (const name of mediaNames) {\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n const conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (const name in modifiers) {\n const code = modifiers[name];\n const kind = code & 7;\n const rank = code >> 3;\n conditionModifiers[name] = kind === modifierKindState ? [canonicalStateModifierNames[rank], kind, rank, stateModifierSelectors[rank]] : kind === modifierKindMedia ? [name, kind, rank, mediaQueries[name]] : kind === modifierKindPlatform ? [name, kind, rank, void 0, void 0, void 0, platformMatches(name)] : [name, kind, rank];\n }\n const resolveCondition = (authored) => {\n const cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n let result = null;\n if (authored.startsWith(\"group-\")) {\n const slash = authored.indexOf(\"/\");\n const state = authored.slice(6, slash === -1 ? void 0 : slash);\n const code = modifiers[state] || 0;\n const rank = code >> 3;\n const groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code & 7) === modifierKindState && rank !== 6 && rank !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank,\n stateModifierSelectors[rank],\n groupName,\n canonicalStateModifierNames[rank]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n const slash = authored.indexOf(\"/\");\n const size = authored.slice(1, slash === -1 ? void 0 : slash);\n const containerName = slash === -1 ? \"\" : authored.slice(slash + 1);\n const code = modifiers[size] || 0;\n const query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash === -1 || /^[\\w-]+$/.test(containerName)) && (code & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [authored, 6, code >> 3, query, size, containerName];\n }\n }\n return conditionModifiers[authored] = result;\n };\n const propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n const propertyKind = (property) => propertyKinds[property] || 0;\n const tokenCategory = (property) => config.tokensParsed[property] ? property : getTokenCategoryForProperty(property);\n const normalizedTransitions = /* @__PURE__ */ new Map();\n const next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: (staticConfig, conf) => resolveStyleStaticConfig(staticConfig, conf, captured.revision),\n propertyKind,\n compositeValue: (property, raw, context, resolve) => {\n const kind = propertyKinds[property];\n if (kind < 7) return;\n if (kind === 7) {\n const { width, style, color } = classifyBorderComponents(\n raw,\n property === \"outline\"\n );\n if (style === \"none\" && !color) return \"none\";\n const prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n const parts = splitComponents(raw);\n if (parts.length > 1) {\n let value = \"\";\n for (const part of parts) {\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n return value;\n }\n },\n normalizeTransition: (raw) => {\n const known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n const out = raw.replace(\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g,\n (authored, quote, offset) => {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return canonicalTransitionProperty(config.shorthands[authored] || authored);\n }\n );\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: (raw, resolve) => raw.replace(\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d+)?/g,\n (word, quote, offset) => {\n const before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n }\n )\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n const state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n const media = config.media || {};\n const themes = config.themes || {};\n const tokensParsed = config.tokensParsed || {};\n const fontsParsed = config.fontsParsed || {};\n const shorthands = config.shorthands || {};\n const sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n for (const name of Object.keys(media).sort()) {\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n const themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n const themeKeys = /* @__PURE__ */ new Set();\n for (const name of themeNames) {\n for (const key of Object.keys(themes[name] || {})) themeKeys.add(key);\n }\n sections.themeVariables.push(`v:${[...themeKeys].sort().join(\",\")}`);\n for (const category of Object.keys(tokensParsed).sort()) {\n const tokens = tokensParsed[category];\n sections.tokens.push(\n `${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`\n );\n }\n for (const family of Object.keys(fontsParsed).sort()) {\n const font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n sections.shorthands.push(\n `s:${Object.keys(shorthands).sort().map((key) => `${key}>${shorthands[key]}`).join(\",\")}`\n );\n const snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(\n Object.entries(sections).map(([name, values]) => [\n name,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ])\n )\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"grammarConfig.js","names":[],"sources":["esm/helpers/grammarConfig.js"],"sourcesContent":["import { canonicalTransitionProperty } from \"@tamagui/animation-helpers/propertyNames\";\nimport { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport {\n canonicalStateModifierNames,\n compileModifierVocabulary,\n configRevisionSymbol,\n isContainerSizeQueryText,\n modifierKindMedia,\n modifierKindPlatform,\n modifierKindState,\n parseFlatValue,\n stateModifierSelectors\n} from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n const target = config;\n const previous = target[configRevisionSymbol];\n const captured = previous ? { ...previous, revision: previous.revision + 1 } : { revision: 1 };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n const media = config.media || {};\n const themes = config.themes || {};\n const mediaNames = Object.keys(media);\n const themeNames = Object.keys(themes);\n const modifiers = compileModifierVocabulary({ mediaNames, themeNames });\n const mediaQueries = /* @__PURE__ */ Object.create(null);\n for (const name of mediaNames) {\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n const conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (const name in modifiers) {\n const code = modifiers[name];\n const kind = code & 7;\n const rank = code >> 3;\n conditionModifiers[name] = kind === modifierKindState ? [canonicalStateModifierNames[rank], kind, rank, stateModifierSelectors[rank]] : kind === modifierKindMedia ? [name, kind, rank, mediaQueries[name]] : kind === modifierKindPlatform ? [name, kind, rank, void 0, void 0, void 0, platformMatches(name)] : [name, kind, rank];\n }\n const resolveCondition = (authored) => {\n const cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n let result = null;\n if (authored.startsWith(\"group-\")) {\n const slash = authored.indexOf(\"/\");\n const state = authored.slice(6, slash === -1 ? void 0 : slash);\n const code = modifiers[state] || 0;\n const rank = code >> 3;\n const groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code & 7) === modifierKindState && rank !== 6 && rank !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank,\n stateModifierSelectors[rank],\n groupName,\n canonicalStateModifierNames[rank]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n const slash = authored.indexOf(\"/\");\n const size = authored.slice(1, slash === -1 ? void 0 : slash);\n const containerName = slash === -1 ? \"\" : authored.slice(slash + 1);\n const code = modifiers[size] || 0;\n const query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash === -1 || /^[\\w-]+$/.test(containerName)) && (code & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [authored, 6, code >> 3, query, size, containerName];\n }\n }\n return conditionModifiers[authored] = result;\n };\n const propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n const propertyKind = (property) => propertyKinds[property] || 0;\n const tokenCategory = (property) => config.tokensParsed[property] ? property : getTokenCategoryForProperty(property);\n const normalizedTransitions = /* @__PURE__ */ new Map();\n const next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: (staticConfig, conf) => resolveStyleStaticConfig(staticConfig, conf, captured.revision),\n propertyKind,\n compositeValue: (property, raw, context, resolve) => {\n const kind = propertyKinds[property];\n if (kind < 7) return;\n if (kind === 7) {\n const { width, style, color } = classifyBorderComponents(\n raw,\n property === \"outline\"\n );\n if (style === \"none\" && !color) return \"none\";\n const prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n const parts = splitComponents(raw);\n if (parts.length > 1) {\n let value = \"\";\n for (const part of parts) {\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n return value;\n }\n },\n normalizeTransition: (raw) => {\n const known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n const out = raw.replace(\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g,\n (authored, quote, offset) => {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return canonicalTransitionProperty(config.shorthands[authored] || authored);\n }\n );\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: (raw, resolve) => raw.replace(\n // the alpha suffix matches decimals too, so `$color/0.7` is handed to\n // resolve() whole and rejected as one token. matching only `\\d+` split it\n // into `$color/0` plus a stray `.7`, which left the `.7` glued onto the\n // resolved value.\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d*\\.?\\d+)?/g,\n (word, quote, offset) => {\n const before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n }\n )\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n const state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n const media = config.media || {};\n const themes = config.themes || {};\n const tokensParsed = config.tokensParsed || {};\n const fontsParsed = config.fontsParsed || {};\n const shorthands = config.shorthands || {};\n const sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n for (const name of Object.keys(media).sort()) {\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n const themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n const themeKeys = /* @__PURE__ */ new Set();\n for (const name of themeNames) {\n for (const key of Object.keys(themes[name] || {})) themeKeys.add(key);\n }\n sections.themeVariables.push(`v:${[...themeKeys].sort().join(\",\")}`);\n for (const category of Object.keys(tokensParsed).sort()) {\n const tokens = tokensParsed[category];\n sections.tokens.push(\n `${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`\n );\n }\n for (const family of Object.keys(fontsParsed).sort()) {\n const font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n sections.shorthands.push(\n `s:${Object.keys(shorthands).sort().map((key) => `${key}>${shorthands[key]}`).join(\",\")}`\n );\n const snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(\n Object.entries(sections).map(([name, values]) => [\n name,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ])\n )\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
@@ -231,7 +231,7 @@ function prepareConfigRevision(config) {
231
231
  return out;
232
232
  },
233
233
  embeddedTokens: function(raw, resolve) {
234
- return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, function(word, quote, offset) {
234
+ return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g, function(word, quote, offset) {
235
235
  var before = raw.charCodeAt(offset - 1);
236
236
  return quote || word[0] !== "$" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);
237
237
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.native.js","names":[],"sources":["esm/helpers/grammarConfig.native.js"],"sourcesContent":["import { canonicalTransitionProperty } from \"@tamagui/animation-helpers/propertyNames\";\nimport { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n var target = config;\n var previous = target[configRevisionSymbol];\n var captured = previous ? {\n ...previous,\n revision: previous.revision + 1\n } : {\n revision: 1\n };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n var media = config.media || {};\n var themes = config.themes || {};\n var mediaNames = Object.keys(media);\n var themeNames = Object.keys(themes);\n var modifiers = compileModifierVocabulary({\n mediaNames,\n themeNames\n });\n var mediaQueries = /* @__PURE__ */ Object.create(null);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (var name1 in modifiers) {\n var code = modifiers[name1];\n var kind = code & 7;\n var rank = code >> 3;\n conditionModifiers[name1] = kind === modifierKindState ? [\n canonicalStateModifierNames[rank],\n kind,\n rank,\n stateModifierSelectors[rank]\n ] : kind === modifierKindMedia ? [\n name1,\n kind,\n rank,\n mediaQueries[name1]\n ] : kind === modifierKindPlatform ? [\n name1,\n kind,\n rank,\n void 0,\n void 0,\n void 0,\n platformMatches(name1)\n ] : [\n name1,\n kind,\n rank\n ];\n }\n var resolveCondition = function(authored) {\n var cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n var result = null;\n if (authored.startsWith(\"group-\")) {\n var slash = authored.indexOf(\"/\");\n var state = authored.slice(6, slash === -1 ? void 0 : slash);\n var code2 = modifiers[state] || 0;\n var rank2 = code2 >> 3;\n var groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code2 & 7) === modifierKindState && rank2 !== 6 && rank2 !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank2]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank2,\n stateModifierSelectors[rank2],\n groupName,\n canonicalStateModifierNames[rank2]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n var slash1 = authored.indexOf(\"/\");\n var size = authored.slice(1, slash1 === -1 ? void 0 : slash1);\n var containerName = slash1 === -1 ? \"\" : authored.slice(slash1 + 1);\n var code1 = modifiers[size] || 0;\n var query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash1 === -1 || /^[\\w-]+$/.test(containerName)) && (code1 & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [\n authored,\n 6,\n code1 >> 3,\n query,\n size,\n containerName\n ];\n }\n }\n return conditionModifiers[authored] = result;\n };\n var propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n var propertyKind = function(property) {\n return propertyKinds[property] || 0;\n };\n var tokenCategory = function(property) {\n return config.tokensParsed[property] ? property : getTokenCategoryForProperty(property);\n };\n var normalizedTransitions = /* @__PURE__ */ new Map();\n var next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: function(staticConfig, conf) {\n return resolveStyleStaticConfig(staticConfig, conf, captured.revision);\n },\n propertyKind,\n compositeValue: function(property, raw, context, resolve) {\n var kind2 = propertyKinds[property];\n if (kind2 < 7) return;\n if (kind2 === 7) {\n var { width, style, color } = classifyBorderComponents(raw, property === \"outline\");\n if (style === \"none\" && !color) return \"none\";\n var prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n var parts = splitComponents(raw);\n if (parts.length > 1) {\n var value = \"\";\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = parts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var part = _step2.value;\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return value;\n }\n },\n normalizeTransition: function(raw) {\n var known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n var out = raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g, function(authored, quote, offset) {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return canonicalTransitionProperty(config.shorthands[authored] || authored);\n });\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: function(raw, resolve) {\n return raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d+)?/g, function(word, quote, offset) {\n var before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n });\n }\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n var state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n var media = config.media || {};\n var themes = config.themes || {};\n var tokensParsed = config.tokensParsed || {};\n var fontsParsed = config.fontsParsed || {};\n var shorthands = config.shorthands || {};\n var sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(media).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n var themeKeys = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = themeNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = Object.keys(themes[name1] || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n themeKeys.add(key);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n sections.themeVariables.push(`v:${[\n ...themeKeys\n ].sort().join(\",\")}`);\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.keys(tokensParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var category = _step3.value;\n var tokens = tokensParsed[category];\n sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var family = _step4.value;\n var font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n sections.shorthands.push(`s:${Object.keys(shorthands).sort().map(function(key2) {\n return `${key2}>${shorthands[key2]}`;\n }).join(\",\")}`);\n var snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(Object.entries(sections).map(function(param) {\n var [name2, values] = param;\n return [\n name2,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ];\n }))\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"grammarConfig.native.js","names":[],"sources":["esm/helpers/grammarConfig.native.js"],"sourcesContent":["import { canonicalTransitionProperty } from \"@tamagui/animation-helpers/propertyNames\";\nimport { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n var target = config;\n var previous = target[configRevisionSymbol];\n var captured = previous ? {\n ...previous,\n revision: previous.revision + 1\n } : {\n revision: 1\n };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n var media = config.media || {};\n var themes = config.themes || {};\n var mediaNames = Object.keys(media);\n var themeNames = Object.keys(themes);\n var modifiers = compileModifierVocabulary({\n mediaNames,\n themeNames\n });\n var mediaQueries = /* @__PURE__ */ Object.create(null);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (var name1 in modifiers) {\n var code = modifiers[name1];\n var kind = code & 7;\n var rank = code >> 3;\n conditionModifiers[name1] = kind === modifierKindState ? [\n canonicalStateModifierNames[rank],\n kind,\n rank,\n stateModifierSelectors[rank]\n ] : kind === modifierKindMedia ? [\n name1,\n kind,\n rank,\n mediaQueries[name1]\n ] : kind === modifierKindPlatform ? [\n name1,\n kind,\n rank,\n void 0,\n void 0,\n void 0,\n platformMatches(name1)\n ] : [\n name1,\n kind,\n rank\n ];\n }\n var resolveCondition = function(authored) {\n var cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n var result = null;\n if (authored.startsWith(\"group-\")) {\n var slash = authored.indexOf(\"/\");\n var state = authored.slice(6, slash === -1 ? void 0 : slash);\n var code2 = modifiers[state] || 0;\n var rank2 = code2 >> 3;\n var groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code2 & 7) === modifierKindState && rank2 !== 6 && rank2 !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank2]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank2,\n stateModifierSelectors[rank2],\n groupName,\n canonicalStateModifierNames[rank2]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n var slash1 = authored.indexOf(\"/\");\n var size = authored.slice(1, slash1 === -1 ? void 0 : slash1);\n var containerName = slash1 === -1 ? \"\" : authored.slice(slash1 + 1);\n var code1 = modifiers[size] || 0;\n var query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash1 === -1 || /^[\\w-]+$/.test(containerName)) && (code1 & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [\n authored,\n 6,\n code1 >> 3,\n query,\n size,\n containerName\n ];\n }\n }\n return conditionModifiers[authored] = result;\n };\n var propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n var propertyKind = function(property) {\n return propertyKinds[property] || 0;\n };\n var tokenCategory = function(property) {\n return config.tokensParsed[property] ? property : getTokenCategoryForProperty(property);\n };\n var normalizedTransitions = /* @__PURE__ */ new Map();\n var next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: function(staticConfig, conf) {\n return resolveStyleStaticConfig(staticConfig, conf, captured.revision);\n },\n propertyKind,\n compositeValue: function(property, raw, context, resolve) {\n var kind2 = propertyKinds[property];\n if (kind2 < 7) return;\n if (kind2 === 7) {\n var { width, style, color } = classifyBorderComponents(raw, property === \"outline\");\n if (style === \"none\" && !color) return \"none\";\n var prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n var parts = splitComponents(raw);\n if (parts.length > 1) {\n var value = \"\";\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = parts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var part = _step2.value;\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return value;\n }\n },\n normalizeTransition: function(raw) {\n var known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n var out = raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g, function(authored, quote, offset) {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return canonicalTransitionProperty(config.shorthands[authored] || authored);\n });\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: function(raw, resolve) {\n return raw.replace(\n // the alpha suffix matches decimals too, so `$color/0.7` is handed to\n // resolve() whole and rejected as one token. matching only `\\d+` split it\n // into `$color/0` plus a stray `.7`, which left the `.7` glued onto the\n // resolved value.\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d*\\.?\\d+)?/g,\n function(word, quote, offset) {\n var before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n }\n );\n }\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n var state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n var media = config.media || {};\n var themes = config.themes || {};\n var tokensParsed = config.tokensParsed || {};\n var fontsParsed = config.fontsParsed || {};\n var shorthands = config.shorthands || {};\n var sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(media).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n var themeKeys = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = themeNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = Object.keys(themes[name1] || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n themeKeys.add(key);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n sections.themeVariables.push(`v:${[\n ...themeKeys\n ].sort().join(\",\")}`);\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.keys(tokensParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var category = _step3.value;\n var tokens = tokensParsed[category];\n sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var family = _step4.value;\n var font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n sections.shorthands.push(`s:${Object.keys(shorthands).sort().map(function(key2) {\n return `${key2}>${shorthands[key2]}`;\n }).join(\",\")}`);\n var snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(Object.entries(sections).map(function(param) {\n var [name2, values] = param;\n return [\n name2,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ];\n }))\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
@@ -1,8 +1,22 @@
1
1
  import { normalizeCSSColor, rgba, rgba as rgba2 } from "@tamagui/normalize-css-color";
2
2
 
3
+ var isDynamicColor = function(color) {
4
+ return typeof color.dynamic === "object" && color.dynamic !== null;
5
+ };
3
6
  var normalizeColor = function(color, opacity) {
4
7
  if (!color) return;
5
- if (typeof color !== "string") return color;
8
+ if (typeof color !== "string") {
9
+ if (opacity === void 0 || opacity === 1 || !isDynamicColor(color)) return color;
10
+ var dynamic = {};
11
+ for (var key in color.dynamic) {
12
+ var variant = normalizeColor(color.dynamic[key], opacity);
13
+ if (typeof variant === "string") dynamic[key] = variant;
14
+ }
15
+ return {
16
+ ...color,
17
+ dynamic
18
+ };
19
+ }
6
20
  var rgbaVal = getRgba(color);
7
21
  if (rgbaVal) {
8
22
  var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeColor.native.js","names":[],"sources":["esm/helpers/normalizeColor.native.js"],"sourcesContent":["import { normalizeCSSColor, rgba } from \"@tamagui/normalize-css-color\";\nimport { rgba as rgba2 } from \"@tamagui/normalize-css-color\";\nvar normalizeColor = function(color, opacity) {\n if (!color) return;\n if (typeof color !== \"string\") return color;\n var rgbaVal = getRgba(color);\n if (rgbaVal) {\n var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;\n var _ref;\n return opacity === 1 ? `rgb(${colors})` : `rgba(${colors},${(_ref = opacity !== null && opacity !== void 0 ? opacity : rgbaVal.a) !== null && _ref !== void 0 ? _ref : 1})`;\n }\n return color;\n};\nvar getRgba = function(color) {\n if (typeof color !== \"string\") return;\n var nativeColor = color.replace(/^(rgb|hsl)\\((?=[^)]*\\/)/, \"$1a(\");\n var colorNum = normalizeCSSColor(nativeColor);\n if (colorNum != null) {\n return rgba(colorNum);\n }\n};\nexport {\n getRgba,\n normalizeColor,\n rgba2 as rgba\n};\n//# sourceMappingURL=normalizeColor.native.js.map\n"],"mappings":";;;AAEA,IAAI,iBAAiB,SAAS,OAAO,SAAS;CAC5C,IAAI,CAAC,OAAO;CACZ,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,IAAI,UAAU,QAAQ,KAAK;CAC3B,IAAI,SAAS;EACX,IAAI,SAAS,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ;EAClD,IAAI;EACJ,OAAO,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,OAAO,IAAI,OAAO,YAAY,QAAQ,YAAY,KAAK,IAAI,UAAU,QAAQ,OAAO,QAAQ,SAAS,KAAK,IAAI,OAAO,EAAE;CAC3K;CACA,OAAO;AACT;AACA,IAAI,UAAU,SAAS,OAAO;CAC5B,IAAI,OAAO,UAAU,UAAU;CAC/B,IAAI,cAAc,MAAM,QAAQ,2BAA2B,MAAM;CACjE,IAAI,WAAW,kBAAkB,WAAW;CAC5C,IAAI,YAAY,MAAM;EACpB,OAAO,KAAK,QAAQ;CACtB;AACF"}
1
+ {"version":3,"file":"normalizeColor.native.js","names":[],"sources":["esm/helpers/normalizeColor.native.js"],"sourcesContent":["import { normalizeCSSColor, rgba } from \"@tamagui/normalize-css-color\";\nimport { rgba as rgba2 } from \"@tamagui/normalize-css-color\";\nvar isDynamicColor = function(color) {\n return typeof color.dynamic === \"object\" && color.dynamic !== null;\n};\nvar normalizeColor = function(color, opacity) {\n if (!color) return;\n if (typeof color !== \"string\") {\n if (opacity === void 0 || opacity === 1 || !isDynamicColor(color)) return color;\n var dynamic = {};\n for (var key in color.dynamic) {\n var variant = normalizeColor(color.dynamic[key], opacity);\n if (typeof variant === \"string\") dynamic[key] = variant;\n }\n return {\n ...color,\n dynamic\n };\n }\n var rgbaVal = getRgba(color);\n if (rgbaVal) {\n var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;\n var _ref;\n return opacity === 1 ? `rgb(${colors})` : `rgba(${colors},${(_ref = opacity !== null && opacity !== void 0 ? opacity : rgbaVal.a) !== null && _ref !== void 0 ? _ref : 1})`;\n }\n return color;\n};\nvar getRgba = function(color) {\n if (typeof color !== \"string\") return;\n var nativeColor = color.replace(/^(rgb|hsl)\\((?=[^)]*\\/)/, \"$1a(\");\n var colorNum = normalizeCSSColor(nativeColor);\n if (colorNum != null) {\n return rgba(colorNum);\n }\n};\nexport {\n getRgba,\n normalizeColor,\n rgba2 as rgba\n};\n//# sourceMappingURL=normalizeColor.native.js.map\n"],"mappings":";;;AAEA,IAAI,iBAAiB,SAAS,OAAO;CACnC,OAAO,OAAO,MAAM,YAAY,YAAY,MAAM,YAAY;AAChE;AACA,IAAI,iBAAiB,SAAS,OAAO,SAAS;CAC5C,IAAI,CAAC,OAAO;CACZ,IAAI,OAAO,UAAU,UAAU;EAC7B,IAAI,YAAY,KAAK,KAAK,YAAY,KAAK,CAAC,eAAe,KAAK,GAAG,OAAO;EAC1E,IAAI,UAAU,CAAC;EACf,KAAK,IAAI,OAAO,MAAM,SAAS;GAC7B,IAAI,UAAU,eAAe,MAAM,QAAQ,MAAM,OAAO;GACxD,IAAI,OAAO,YAAY,UAAU,QAAQ,OAAO;EAClD;EACA,OAAO;GACL,GAAG;GACH;EACF;CACF;CACA,IAAI,UAAU,QAAQ,KAAK;CAC3B,IAAI,SAAS;EACX,IAAI,SAAS,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ;EAClD,IAAI;EACJ,OAAO,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,OAAO,IAAI,OAAO,YAAY,QAAQ,YAAY,KAAK,IAAI,UAAU,QAAQ,OAAO,QAAQ,SAAS,KAAK,IAAI,OAAO,EAAE;CAC3K;CACA,OAAO;AACT;AACA,IAAI,UAAU,SAAS,OAAO;CAC5B,IAAI,OAAO,UAAU,UAAU;CAC/B,IAAI,cAAc,MAAM,QAAQ,2BAA2B,MAAM;CACjE,IAAI,WAAW,kBAAkB,WAAW;CAC5C,IAAI,YAAY,MAAM;EACpB,OAAO,KAAK,QAAQ;CACtB;AACF"}
@@ -45,7 +45,7 @@ function ThemeDebug({ themeState, themeProps, children }) {
45
45
  " />\xA0",
46
46
  JSON.stringify({
47
47
  name: themeState.name,
48
- color1: themeState.theme.color1.val,
48
+ "color-1": themeState.theme["color-1"].val,
49
49
  parentId: themeState.parentId,
50
50
  isNew: themeState.isNew,
51
51
  themeProps: { name: themeProps.name },
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeDebug.js","names":[],"sources":["esm/views/ThemeDebug.js"],"sourcesContent":["import { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { getThemeState } from \"../hooks/useThemeState\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nlet node;\nfunction ThemeDebug({\n themeState,\n themeProps,\n children\n}) {\n if (process.env.NODE_ENV === \"development\") {\n const isHydrated = useDidFinishSSR();\n if (process.env.NODE_ENV === \"development\" && typeof document !== \"undefined\") {\n if (!node) {\n node = document.createElement(\"div\");\n node.style.height = \"200px\";\n node.style.overflowY = \"scroll\";\n node.style.position = \"fixed\";\n node.style.zIndex = 1e7;\n node.style.bottom = \"30px\";\n node.style.left = \"30px\";\n node.style.right = \"30px\";\n node.style.display = \"flex\";\n node.style.border = \"1px solid #888\";\n node.style.flexDirection = \"row\";\n node.style.background = \"var(--background)\";\n }\n }\n useEffect(() => {\n document.body.appendChild(node);\n }, []);\n if (themeProps[\"disable-child-theme\"] || !isHydrated) {\n return children;\n }\n const parentState = themeState.parentId ? getThemeState(themeState.parentId) : null;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n createPortal(\n /* @__PURE__ */ jsxs(\n \"code\",\n {\n style: {\n whiteSpace: \"pre\",\n maxWidth: 250,\n overflow: \"auto\",\n padding: 5\n },\n children: [\n \"<Theme \",\n themeState.id,\n \" />\\xA0\",\n JSON.stringify(\n {\n name: themeState.name,\n color1: themeState.theme.color1.val,\n parentId: themeState.parentId,\n // inverses: themeState.inverses,\n isNew: themeState.isNew,\n themeProps: {\n name: themeProps.name\n },\n parentState: {\n name: parentState?.name,\n isNew: parentState?.isNew\n }\n },\n null,\n 2\n )\n ]\n }\n ),\n node\n ),\n /* @__PURE__ */ jsx(\"div\", { style: { color: \"red\" }, children: themeState.id }),\n children\n ] });\n }\n return children;\n}\nThemeDebug[\"displayName\"] = \"ThemeDebug\";\nexport {\n ThemeDebug\n};\n//# sourceMappingURL=ThemeDebug.js.map\n"],"mappings":";;;;;;;AAKA,IAAI;AACJ,SAAS,WAAW,EAClB,YACA,YACA,YACC;CACD,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,MAAM,aAAa,gBAAgB;EACnC,IAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,aAAa,aAAa;GAC7E,IAAI,CAAC,MAAM;IACT,OAAO,SAAS,cAAc,KAAK;IACnC,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,YAAY;IACvB,KAAK,MAAM,WAAW;IACtB,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,OAAO;IAClB,KAAK,MAAM,QAAQ;IACnB,KAAK,MAAM,UAAU;IACrB,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,gBAAgB;IAC3B,KAAK,MAAM,aAAa;GAC1B;EACF;EACA,gBAAgB;GACd,SAAS,KAAK,YAAY,IAAI;EAChC,GAAG,CAAC,CAAC;EACL,IAAI,WAAW,0BAA0B,CAAC,YAAY;GACpD,OAAO;EACT;EACA,MAAM,cAAc,WAAW,WAAW,cAAc,WAAW,QAAQ,IAAI;EAC/E,OAAuB,qBAAK,UAAU,EAAE,UAAU;GAChD,aACkB,qBACd,QACA;IACE,OAAO;KACL,YAAY;KACZ,UAAU;KACV,UAAU;KACV,SAAS;IACX;IACA,UAAU;KACR;KACA,WAAW;KACX;KACA,KAAK,UACH;MACE,MAAM,WAAW;MACjB,QAAQ,WAAW,MAAM,OAAO;MAChC,UAAU,WAAW;MAErB,OAAO,WAAW;MAClB,YAAY,EACV,MAAM,WAAW,KACnB;MACA,aAAa;OACX,MAAM,aAAa;OACnB,OAAO,aAAa;MACtB;KACF,GACA,MACA,CACF;IACF;GACF,CACF,GACA,IACF;GACgB,oBAAI,OAAO;IAAE,OAAO,EAAE,OAAO,MAAM;IAAG,UAAU,WAAW;GAAG,CAAC;GAC/E;EACF,EAAE,CAAC;CACL;CACA,OAAO;AACT;AACA,WAAW,iBAAiB"}
1
+ {"version":3,"file":"ThemeDebug.js","names":[],"sources":["esm/views/ThemeDebug.js"],"sourcesContent":["import { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { getThemeState } from \"../hooks/useThemeState\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nlet node;\nfunction ThemeDebug({\n themeState,\n themeProps,\n children\n}) {\n if (process.env.NODE_ENV === \"development\") {\n const isHydrated = useDidFinishSSR();\n if (process.env.NODE_ENV === \"development\" && typeof document !== \"undefined\") {\n if (!node) {\n node = document.createElement(\"div\");\n node.style.height = \"200px\";\n node.style.overflowY = \"scroll\";\n node.style.position = \"fixed\";\n node.style.zIndex = 1e7;\n node.style.bottom = \"30px\";\n node.style.left = \"30px\";\n node.style.right = \"30px\";\n node.style.display = \"flex\";\n node.style.border = \"1px solid #888\";\n node.style.flexDirection = \"row\";\n node.style.background = \"var(--background)\";\n }\n }\n useEffect(() => {\n document.body.appendChild(node);\n }, []);\n if (themeProps[\"disable-child-theme\"] || !isHydrated) {\n return children;\n }\n const parentState = themeState.parentId ? getThemeState(themeState.parentId) : null;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n createPortal(\n /* @__PURE__ */ jsxs(\n \"code\",\n {\n style: {\n whiteSpace: \"pre\",\n maxWidth: 250,\n overflow: \"auto\",\n padding: 5\n },\n children: [\n \"<Theme \",\n themeState.id,\n \" />\\xA0\",\n JSON.stringify(\n {\n name: themeState.name,\n \"color-1\": themeState.theme[\"color-1\"].val,\n parentId: themeState.parentId,\n // inverses: themeState.inverses,\n isNew: themeState.isNew,\n themeProps: {\n name: themeProps.name\n },\n parentState: {\n name: parentState?.name,\n isNew: parentState?.isNew\n }\n },\n null,\n 2\n )\n ]\n }\n ),\n node\n ),\n /* @__PURE__ */ jsx(\"div\", { style: { color: \"red\" }, children: themeState.id }),\n children\n ] });\n }\n return children;\n}\nThemeDebug[\"displayName\"] = \"ThemeDebug\";\nexport {\n ThemeDebug\n};\n//# sourceMappingURL=ThemeDebug.js.map\n"],"mappings":";;;;;;;AAKA,IAAI;AACJ,SAAS,WAAW,EAClB,YACA,YACA,YACC;CACD,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,MAAM,aAAa,gBAAgB;EACnC,IAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,aAAa,aAAa;GAC7E,IAAI,CAAC,MAAM;IACT,OAAO,SAAS,cAAc,KAAK;IACnC,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,YAAY;IACvB,KAAK,MAAM,WAAW;IACtB,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,OAAO;IAClB,KAAK,MAAM,QAAQ;IACnB,KAAK,MAAM,UAAU;IACrB,KAAK,MAAM,SAAS;IACpB,KAAK,MAAM,gBAAgB;IAC3B,KAAK,MAAM,aAAa;GAC1B;EACF;EACA,gBAAgB;GACd,SAAS,KAAK,YAAY,IAAI;EAChC,GAAG,CAAC,CAAC;EACL,IAAI,WAAW,0BAA0B,CAAC,YAAY;GACpD,OAAO;EACT;EACA,MAAM,cAAc,WAAW,WAAW,cAAc,WAAW,QAAQ,IAAI;EAC/E,OAAuB,qBAAK,UAAU,EAAE,UAAU;GAChD,aACkB,qBACd,QACA;IACE,OAAO;KACL,YAAY;KACZ,UAAU;KACV,UAAU;KACV,SAAS;IACX;IACA,UAAU;KACR;KACA,WAAW;KACX;KACA,KAAK,UACH;MACE,MAAM,WAAW;MACjB,WAAW,WAAW,MAAM,UAAU,CAAC;MACvC,UAAU,WAAW;MAErB,OAAO,WAAW;MAClB,YAAY,EACV,MAAM,WAAW,KACnB;MACA,aAAa;OACX,MAAM,aAAa;OACnB,OAAO,aAAa;MACtB;KACF,GACA,MACA,CACF;IACF;GACF,CACF,GACA,IACF;GACgB,oBAAI,OAAO;IAAE,OAAO,EAAE,OAAO,MAAM;IAAG,UAAU,WAAW;GAAG,CAAC;GAC/E;EACF,EAAE,CAAC;CACL;CACA,OAAO;AACT;AACA,WAAW,iBAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "3.0.0-beta.1161.1",
3
+ "version": "3.0.0-beta.1173.1",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "Nate Wienert"
@@ -100,24 +100,24 @@
100
100
  "test:web": "vitest --typecheck --run"
101
101
  },
102
102
  "dependencies": {
103
- "@tamagui/animation-helpers": "3.0.0-beta.1161.1",
104
- "@tamagui/compose-refs": "3.0.0-beta.1161.1",
105
- "@tamagui/constants": "3.0.0-beta.1161.1",
106
- "@tamagui/dom": "3.0.0-beta.1161.1",
107
- "@tamagui/helpers": "3.0.0-beta.1161.1",
108
- "@tamagui/is-equal-shallow": "3.0.0-beta.1161.1",
109
- "@tamagui/native": "3.0.0-beta.1161.1",
110
- "@tamagui/normalize-css-color": "3.0.0-beta.1161.1",
111
- "@tamagui/react-native-types": "3.0.0-beta.1161.1",
112
- "@tamagui/style-grammar": "3.0.0-beta.1161.1",
113
- "@tamagui/timer": "3.0.0-beta.1161.1",
114
- "@tamagui/types": "3.0.0-beta.1161.1",
115
- "@tamagui/use-did-finish-ssr": "3.0.0-beta.1161.1",
116
- "@tamagui/use-event": "3.0.0-beta.1161.1",
117
- "@tamagui/use-force-update": "3.0.0-beta.1161.1"
103
+ "@tamagui/animation-helpers": "3.0.0-beta.1173.1",
104
+ "@tamagui/compose-refs": "3.0.0-beta.1173.1",
105
+ "@tamagui/constants": "3.0.0-beta.1173.1",
106
+ "@tamagui/dom": "3.0.0-beta.1173.1",
107
+ "@tamagui/helpers": "3.0.0-beta.1173.1",
108
+ "@tamagui/is-equal-shallow": "3.0.0-beta.1173.1",
109
+ "@tamagui/native": "3.0.0-beta.1173.1",
110
+ "@tamagui/normalize-css-color": "3.0.0-beta.1173.1",
111
+ "@tamagui/react-native-types": "3.0.0-beta.1173.1",
112
+ "@tamagui/style-grammar": "3.0.0-beta.1173.1",
113
+ "@tamagui/timer": "3.0.0-beta.1173.1",
114
+ "@tamagui/types": "3.0.0-beta.1173.1",
115
+ "@tamagui/use-did-finish-ssr": "3.0.0-beta.1173.1",
116
+ "@tamagui/use-event": "3.0.0-beta.1173.1",
117
+ "@tamagui/use-force-update": "3.0.0-beta.1173.1"
118
118
  },
119
119
  "devDependencies": {
120
- "@tamagui/build": "3.0.0-beta.1161.1",
120
+ "@tamagui/build": "3.0.0-beta.1173.1",
121
121
  "@testing-library/react": "^16.1.0",
122
122
  "csstype": "^3.0.10",
123
123
  "react": "19.2.3",
@@ -60,6 +60,7 @@ export function getThemeCSSRules(props: {
60
60
  const isLightBase = themeName === 'light'
61
61
  const baseSelectors = names.map((name) => `${CNP}${name}`)
62
62
  const selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : [])
63
+ const selectorScheme = new Map<string, 'light' | 'dark'>()
63
64
 
64
65
  // The full resolved name is authoritative. `:not(#t_theme_full_name)` is
65
66
  // an always-matching specificity anchor: a bounded relative selector for
@@ -78,8 +79,16 @@ export function getThemeCSSRules(props: {
78
79
  const maxDepth = 2
79
80
 
80
81
  for (const subName of names) {
81
- const isDark = isDarkBase || subName.startsWith('dark_')
82
- const isLight = !isDark && (isLightBase || subName.startsWith('light_'))
82
+ // identical themes dedupe into one canonical name, and an alias can carry
83
+ // the opposite scheme to the name it deduped into: light_inverse IS dark,
84
+ // so it arrives here under themeName "dark". its own prefix therefore
85
+ // decides its scheme, and the base only answers for an unprefixed name.
86
+ // reading the base first pointed every cross-scheme alias at the wrong
87
+ // parent, which silently made <Theme name="inverse"> a no-op.
88
+ const hasDarkPrefix = subName === 'dark' || subName.startsWith('dark_')
89
+ const hasLightPrefix = subName === 'light' || subName.startsWith('light_')
90
+ const isDark = hasDarkPrefix || (!hasLightPrefix && isDarkBase)
91
+ const isLight = hasLightPrefix || (!hasDarkPrefix && isLightBase)
83
92
 
84
93
  if (!(isDark || isLight)) {
85
94
  // neither light nor dark subtheme, just generate one selector with :root:root which
@@ -117,7 +126,12 @@ export function getThemeCSSRules(props: {
117
126
 
118
127
  // for light/dark/light:
119
128
  const parentSelectorString = parentSelectors.join(' ')
120
- selectorsSet.add(`${parentSelectorString} ${nextChildSelector}`)
129
+ const selector = `${parentSelectorString} ${nextChildSelector}`
130
+ selectorsSet.add(selector)
131
+ // remember which scheme's root this selector was built for, so the
132
+ // prefers-color-scheme pass below can route it. a theme carrying
133
+ // aliases from both schemes has to reach both media blocks.
134
+ selectorScheme.set(selector, isDark ? 'dark' : 'light')
121
135
  }
122
136
  }
123
137
  }
@@ -139,38 +153,55 @@ export function getThemeCSSRules(props: {
139
153
  cssRuleSets.push(css)
140
154
 
141
155
  if (getSetting('shouldAddPrefersColorThemes')) {
142
- const isDark = themeName.startsWith('dark')
143
- const baseName = isDark ? 'dark' : 'light'
144
- const lessSpecificSelectors = selectors
145
- .map((x) => {
146
- if (x == darkSelector || x === lightSelector) return `:root`
147
- if (
148
- (isDark && x.startsWith(lightSelector)) ||
149
- (!isDark && x.startsWith(darkSelector))
150
- ) {
151
- return
152
- }
153
- return x.replace(/^\.t_(dark|light) /, '').trim()
154
- })
155
- .filter(Boolean)
156
- .join(', ')
157
-
158
- // only emit body background/color for base themes, not every sub-theme
159
- const isBase = !themeName.includes('_')
160
- let bodyRulesString = ''
161
- if (isBase) {
162
- const bgString = theme.background
163
- ? `background:${variableToString(theme.background)};`
164
- : ''
165
- const fgString = theme.color ? `color:${variableToString(theme.color)}` : ''
166
- bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}\n ` : ''
156
+ // inside a media block the root carries no theme class, so the leading
157
+ // `.t_light `/`.t_dark ` is stripped and the block itself stands in for it.
158
+ // a theme reached under BOTH roots therefore has to emit into both blocks:
159
+ // light_inverse dedupes into dark, so the dark values it holds are what an
160
+ // implicitly-light root must serve, while dark's own values serve the dark
161
+ // one. keying the whole set off themeName dropped one of the two.
162
+ const schemeOf = (x: string) => {
163
+ if (x === darkSelector) return 'dark'
164
+ if (x === lightSelector) return 'light'
165
+ if (x.startsWith(`${darkSelector} `)) return 'dark'
166
+ if (x.startsWith(`${lightSelector} `)) return 'light'
167
+ return selectorScheme.get(x)
167
168
  }
168
169
 
169
- const themeRules = `${lessSpecificSelectors} {${vars}}`
170
- const prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){
171
- ${bodyRulesString}${themeRules}
172
- }`
173
- cssRuleSets.push(prefersMediaSelectors)
170
+ for (const baseName of lightDark) {
171
+ const lessSpecificSelectors = selectors
172
+ .map((x) => {
173
+ if (x === darkSelector || x === lightSelector) {
174
+ return schemeOf(x) === baseName ? ':root' : undefined
175
+ }
176
+ // a selector rooted in the other scheme is unreachable here: that
177
+ // root would have to carry an explicit class, which the non-media
178
+ // rules above already cover at higher specificity.
179
+ const scheme = schemeOf(x)
180
+ if (scheme && scheme !== baseName) return
181
+ return x.replace(/^\.t_(dark|light) /, '').trim()
182
+ })
183
+ .filter(Boolean)
184
+ .join(', ')
185
+
186
+ if (!lessSpecificSelectors) continue
187
+
188
+ // only emit body background/color for base themes, not every sub-theme,
189
+ // and only for the scheme this theme actually grounds
190
+ const isBase = !themeName.includes('_')
191
+ let bodyRulesString = ''
192
+ if (isBase && themeName === baseName) {
193
+ const bgString = theme.background
194
+ ? `background:${variableToString(theme.background)};`
195
+ : ''
196
+ const fgString = theme.color ? `color:${variableToString(theme.color)}` : ''
197
+ bodyRulesString =
198
+ bgString || fgString ? `body{${bgString}${fgString}}\n ` : ''
199
+ }
200
+
201
+ cssRuleSets.push(`@media(prefers-color-scheme:${baseName}){
202
+ ${bodyRulesString}${lessSpecificSelectors} {${vars}}
203
+ }`)
204
+ }
174
205
  }
175
206
 
176
207
  const selectionStyles = getSetting('selectionStyles')
@@ -276,7 +276,11 @@ export function prepareConfigRevision(
276
276
  },
277
277
  embeddedTokens: (raw, resolve) =>
278
278
  raw.replace(
279
- /\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g,
279
+ // the alpha suffix matches decimals too, so `$color/0.7` is handed to
280
+ // resolve() whole and rejected as one token. matching only `\d+` split it
281
+ // into `$color/0` plus a stray `.7`, which left the `.7` glued onto the
282
+ // resolved value.
283
+ /\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g,
280
284
  (word, quote, offset) => {
281
285
  const before = raw.charCodeAt(offset - 1)
282
286
  return quote ||
@@ -2,10 +2,33 @@ import { normalizeCSSColor, rgba } from '@tamagui/normalize-css-color'
2
2
 
3
3
  export { rgba } from '@tamagui/normalize-css-color'
4
4
 
5
- export const normalizeColor = (color?: string | null, opacity?: number) => {
5
+ // a theme value on native can be a DynamicColorIOS object rather than a string
6
+ type DynamicColor = { dynamic: Record<string, string> }
7
+
8
+ const isDynamicColor = (color: any): color is DynamicColor =>
9
+ typeof color.dynamic === 'object' && color.dynamic !== null
10
+
11
+ export const normalizeColor = (
12
+ color?: string | DynamicColor | null,
13
+ opacity?: number
14
+ ) => {
6
15
  if (!color) return
7
- // handle dynamic color objects
8
- if (typeof color !== 'string') return color
16
+ // DynamicColorIOS carries one color per appearance, so an opacity has to reach
17
+ // each variant. returning the object untouched is what made `$color/50` resolve
18
+ // to the fully opaque color on native.
19
+ //
20
+ // opacity 1 means "no override" here, not "make it opaque": the shadow call
21
+ // site in getSplitStyles defaults its opacity argument to 1, so applying it
22
+ // would drop a shadow token's own alpha and paint solid black.
23
+ if (typeof color !== 'string') {
24
+ if (opacity === undefined || opacity === 1 || !isDynamicColor(color)) return color
25
+ const dynamic: Record<string, string> = {}
26
+ for (const key in color.dynamic) {
27
+ const variant = normalizeColor(color.dynamic[key], opacity)
28
+ if (typeof variant === 'string') dynamic[key] = variant
29
+ }
30
+ return { ...color, dynamic }
31
+ }
9
32
 
10
33
  const rgbaVal = getRgba(color)
11
34
  if (rgbaVal) {
@@ -24,7 +24,7 @@ export const STYLE_TOKEN_PROVENANCE_KEY = 'tamagui.styleTokenProvenance'
24
24
  const provenanceSymbol = /* @__PURE__ */ Symbol.for(STYLE_TOKEN_PROVENANCE_KEY)
25
25
 
26
26
  export type StyleTokenBinding = {
27
- /** original token string before resolution, e.g. 'background' or 'color9' */
27
+ /** original token string before resolution, e.g. 'background' or 'color-9' */
28
28
  token: string
29
29
  /** full resolved theme name that produced the value, e.g. 'light_accent' */
30
30
  theme: string
@@ -417,7 +417,7 @@ export const getInlineValuesKey = (inline: InlineValues): string => {
417
417
  return key
418
418
  }
419
419
 
420
- // ---- flat theme-value props: <ThemeUpdate background-hover="blue4 dark:blue2"> ----
420
+ // ---- flat theme-value props: <ThemeUpdate background-hover="blue-4 dark:blue-2"> ----
421
421
 
422
422
  /**
423
423
  * One authored theme-value clause the parser could not use. The runtime warns
package/src/types.tsx CHANGED
@@ -2421,7 +2421,7 @@ interface ExtraStyleProps {
2421
2421
  * backgroundColor and drops url()/gradient/multi-part values it can't express.
2422
2422
  *
2423
2423
  * The v6 shorthands map `bg` here rather than to `backgroundColor`, because
2424
- * the background family splits a value like `url(x.png) color1` across
2424
+ * the background family splits a value like `url(x.png) color-1` across
2425
2425
  * backgroundImage and backgroundColor. Color tokens lead the union so `bg`
2426
2426
  * completes them; the CSS keywords and the function forms (`url()`,
2427
2427
  * gradients) keep the CSS shorthand, and multi-part values reach
@@ -62,7 +62,7 @@ export function ThemeDebug({
62
62
  {JSON.stringify(
63
63
  {
64
64
  name: themeState.name,
65
- color1: themeState.theme.color1.val,
65
+ 'color-1': themeState.theme['color-1'].val,
66
66
  parentId: themeState.parentId,
67
67
  // inverses: themeState.inverses,
68
68
  isNew: themeState.isNew,
@@ -1 +1 @@
1
- {"version":3,"file":"getThemeCSSRules.d.ts","sourceRoot":"","sources":["../../src/helpers/getThemeCSSRules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAY,MAAM,UAAU,CAAA;AAOzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,MAAM,EAAE,CAmLX"}
1
+ {"version":3,"file":"getThemeCSSRules.d.ts","sourceRoot":"","sources":["../../src/helpers/getThemeCSSRules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAY,MAAM,UAAU,CAAA;AAOzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,MAAM,EAAE,CAkNX"}
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.d.ts","sourceRoot":"","sources":["../../src/helpers/grammarConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,cAAc,EAEd,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGnE,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,OAAO,GACP,YAAY,CAAA;AAEhB,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,0BAA0B,CAAA;IACrC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAA;IACxD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAA;IACjE,cAAc,EAAE,OAAO,mBAAmB,CAAA;IAC1C,gBAAgB,EAAE,OAAO,uBAAuB,CAAA;IAChD,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,iBAAiB,CACf,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,iBAAiB,CAAA;IACpB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACtC,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,GAC5D,MAAM,GAAG,SAAS,CAAA;IACrB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1C,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,GAAG,MAAM,CAAA;IACtE,QAAQ,CAAC,EAAE,sBAAsB,CAAA;CAClC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,eAAe,CAAC,EAAE,MAAM;IACxB,WAAW,CAAC,EAAE,MAAM;IACpB,aAAa,CAAC,EAAE,MAAM;IACtB,cAAc,CAAC,EAAE,OAAO;CACzB,CAAA;AAMD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,mBAAmB,CAyNrB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,GAC5B,mBAAmB,CAErB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,qBAAqB,GAC5B,sBAAsB,CA0DxB"}
1
+ {"version":3,"file":"grammarConfig.d.ts","sourceRoot":"","sources":["../../src/helpers/grammarConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,cAAc,EAEd,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGnE,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,OAAO,GACP,YAAY,CAAA;AAEhB,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,0BAA0B,CAAA;IACrC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAA;IACxD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAA;IACjE,cAAc,EAAE,OAAO,mBAAmB,CAAA;IAC1C,gBAAgB,EAAE,OAAO,uBAAuB,CAAA;IAChD,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,iBAAiB,CACf,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,iBAAiB,CAAA;IACpB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACtC,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,GAC5D,MAAM,GAAG,SAAS,CAAA;IACrB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1C,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,GAAG,MAAM,CAAA;IACtE,QAAQ,CAAC,EAAE,sBAAsB,CAAA;CAClC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,eAAe,CAAC,EAAE,MAAM;IACxB,WAAW,CAAC,EAAE,MAAM;IACpB,aAAa,CAAC,EAAE,MAAM;IACtB,cAAc,CAAC,EAAE,OAAO;CACzB,CAAA;AAMD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,mBAAmB,CA6NrB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,GAC5B,mBAAmB,CAErB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,qBAAqB,GAC5B,sBAAsB,CA0DxB"}
@@ -1,5 +1,8 @@
1
1
  export { rgba } from '@tamagui/normalize-css-color';
2
- export declare const normalizeColor: (color?: string | null, opacity?: number) => string | undefined;
2
+ type DynamicColor = {
3
+ dynamic: Record<string, string>;
4
+ };
5
+ export declare const normalizeColor: (color?: string | DynamicColor | null, opacity?: number) => string | DynamicColor | undefined;
3
6
  export declare const getRgba: (color: string) => {
4
7
  r: number;
5
8
  g: number;
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeColor.native.d.ts","sourceRoot":"","sources":["../../src/helpers/normalizeColor.native.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAEnD,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,IAAI,YAAY,MAAM,uBAcrE,CAAA;AAED,eAAO,MAAM,OAAO,UAAW,MAAM;;;;;aASpC,CAAA"}
1
+ {"version":3,"file":"normalizeColor.native.d.ts","sourceRoot":"","sources":["../../src/helpers/normalizeColor.native.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAGnD,KAAK,YAAY,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAA;AAKvD,eAAO,MAAM,cAAc,WACjB,MAAM,GAAG,YAAY,GAAG,IAAI,YAC1B,MAAM,sCA6BjB,CAAA;AAED,eAAO,MAAM,OAAO,UAAW,MAAM;;;;;aASpC,CAAA"}
@@ -4,7 +4,9 @@ export declare function normalizeShadow({ shadowColor, shadowOffset, shadowOpaci
4
4
  height: any;
5
5
  };
6
6
  shadowRadius: any;
7
- shadowColor: string | undefined;
7
+ shadowColor: string | {
8
+ dynamic: Record<string, string>;
9
+ } | undefined;
8
10
  shadowOpacity: any;
9
11
  };
10
12
  //# sourceMappingURL=normalizeShadow.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeShadow.native.d.ts","sourceRoot":"","sources":["../../src/helpers/normalizeShadow.native.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,GACb,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAGlB,YAAY;QACV,KAAK;QACL,MAAM;;IAER,YAAY;IACZ,WAAW;IACX,aAAa;EAEhB"}
1
+ {"version":3,"file":"normalizeShadow.native.d.ts","sourceRoot":"","sources":["../../src/helpers/normalizeShadow.native.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,GACb,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAGlB,YAAY;QACV,KAAK;QACL,MAAM;;IAER,YAAY;IACZ,WAAW;;;IACX,aAAa;EAEhB"}
@@ -1,6 +1,6 @@
1
1
  export declare const STYLE_TOKEN_PROVENANCE_KEY = "tamagui.styleTokenProvenance";
2
2
  export type StyleTokenBinding = {
3
- /** original token string before resolution, e.g. 'background' or 'color9' */
3
+ /** original token string before resolution, e.g. 'background' or 'color-9' */
4
4
  token: string;
5
5
  /** full resolved theme name that produced the value, e.g. 'light_accent' */
6
6
  theme: string;
@@ -1 +1 @@
1
- {"version":3,"file":"styleProvenance.d.ts","sourceRoot":"","sources":["../../src/helpers/styleProvenance.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAIxE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAEpE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,cAAc,CAAA;QACpB,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,IAAI,CAAA;QACd,OAAO,CAAC,EAAE,IAAI,CAAA;KACf,EAAE,CAAA;CACJ,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,QAOtF;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,oBAAoB,GAAG,SAAS,CAGlC"}
1
+ {"version":3,"file":"styleProvenance.d.ts","sourceRoot":"","sources":["../../src/helpers/styleProvenance.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAIxE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAEpE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,cAAc,CAAA;QACpB,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,IAAI,CAAA;QACd,OAAO,CAAC,EAAE,IAAI,CAAA;KACf,EAAE,CAAA;CACJ,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,QAOtF;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,oBAAoB,GAAG,SAAS,CAGlC"}
package/types/types.d.ts CHANGED
@@ -1341,7 +1341,7 @@ interface ExtraStyleProps {
1341
1341
  * backgroundColor and drops url()/gradient/multi-part values it can't express.
1342
1342
  *
1343
1343
  * The v6 shorthands map `bg` here rather than to `backgroundColor`, because
1344
- * the background family splits a value like `url(x.png) color1` across
1344
+ * the background family splits a value like `url(x.png) color-1` across
1345
1345
  * backgroundImage and backgroundColor. Color tokens lead the union so `bg`
1346
1346
  * completes them; the CSS keywords and the function forms (`url()`,
1347
1347
  * gradients) keep the CSS shorthand, and multi-part values reach