@tamagui/web 3.0.0-beta.1125.1 → 3.0.0-beta.1141.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.
@@ -54,7 +54,7 @@ const getConfigFromGlobalOrLocal = () => {
54
54
  return conf;
55
55
  }
56
56
  if (globalThis.__tamaguiConfig) {
57
- if (process.env.NODE_ENV === "development" && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {
57
+ if (process.env.NODE_ENV === "development" && globalThis.__tamaguiEvaluationConfig !== globalThis.__tamaguiConfig && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {
58
58
  globalThis.__tamaguiPendingCheck = true;
59
59
  setTimeout(() => {
60
60
  if (!setConfigCalledByThisInstance && !globalThis.__tamaguiHasWarnedGlobalFallback) {
@@ -91,6 +91,9 @@ const setConfig = (next) => {
91
91
  if (conf !== previous || globalThis.__tamaguiConfig !== previousGlobal) return;
92
92
  conf = next;
93
93
  globalThis.__tamaguiConfig = next;
94
+ if (process.env.TAMAGUI_ENVIRONMENT === "tamagui") {
95
+ globalThis.__tamaguiEvaluationConfig = next;
96
+ }
94
97
  };
95
98
  const setConfigFont = (name, font, fontParsed) => {
96
99
  const config = getConfigFromGlobalOrLocal();
@@ -56,7 +56,7 @@ var getConfigFromGlobalOrLocal = function() {
56
56
  return conf;
57
57
  }
58
58
  if (globalThis.__tamaguiConfig) {
59
- if (process.env.NODE_ENV === "development" && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {
59
+ if (process.env.NODE_ENV === "development" && globalThis.__tamaguiEvaluationConfig !== globalThis.__tamaguiConfig && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {
60
60
  globalThis.__tamaguiPendingCheck = true;
61
61
  setTimeout(function() {
62
62
  if (!setConfigCalledByThisInstance && !globalThis.__tamaguiHasWarnedGlobalFallback) {
@@ -94,6 +94,9 @@ var setConfig = function(next) {
94
94
  if (conf !== previous || globalThis.__tamaguiConfig !== previousGlobal) return;
95
95
  conf = next;
96
96
  globalThis.__tamaguiConfig = next;
97
+ if (process.env.TAMAGUI_ENVIRONMENT === "tamagui") {
98
+ globalThis.__tamaguiEvaluationConfig = next;
99
+ }
97
100
  };
98
101
  var setConfigFont = function(name, font, fontParsed) {
99
102
  var config = getConfigFromGlobalOrLocal();
@@ -56,7 +56,7 @@ var getConfigFromGlobalOrLocal = function() {
56
56
  return conf;
57
57
  }
58
58
  if (globalThis.__tamaguiConfig) {
59
- if (process.env.NODE_ENV === "development" && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {
59
+ if (process.env.NODE_ENV === "development" && globalThis.__tamaguiEvaluationConfig !== globalThis.__tamaguiConfig && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {
60
60
  globalThis.__tamaguiPendingCheck = true;
61
61
  setTimeout(function() {
62
62
  if (!setConfigCalledByThisInstance && !globalThis.__tamaguiHasWarnedGlobalFallback) {
@@ -94,6 +94,9 @@ var setConfig = function(next) {
94
94
  if (conf !== previous || globalThis.__tamaguiConfig !== previousGlobal) return;
95
95
  conf = next;
96
96
  globalThis.__tamaguiConfig = next;
97
+ if (process.env.TAMAGUI_ENVIRONMENT === "tamagui") {
98
+ globalThis.__tamaguiEvaluationConfig = next;
99
+ }
97
100
  };
98
101
  var setConfigFont = function(name, font, fontParsed) {
99
102
  var config = getConfigFromGlobalOrLocal();
@@ -1 +1 @@
1
- {"version":3,"file":"config.native.js","names":[],"sources":["cjs/config.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 config_exports = {};\n__export(config_exports, {\n devConfig: () => devConfig,\n getConfig: () => getConfig,\n getConfigMaybe: () => getConfigMaybe,\n getFont: () => getFont,\n getSetting: () => getSetting,\n getStyleCompat: () => getStyleCompat,\n getThemes: () => getThemes,\n getToken: () => getToken,\n getTokenObject: () => getTokenObject,\n getTokenValue: () => getTokenValue,\n getTokens: () => getTokens,\n loadAnimationDriver: () => loadAnimationDriver,\n setConfig: () => setConfig,\n setConfigFont: () => setConfigFont,\n setTokens: () => setTokens,\n setupDev: () => setupDev,\n updateConfig: () => updateConfig,\n useTokens: () => useTokens\n});\nmodule.exports = __toCommonJS(config_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_constants2 = require(\"./constants/constants\");\nvar import_formatDiagnostic = require(\"./helpers/formatDiagnostic\");\nvar import_grammarConfig = require(\"./helpers/grammarConfig\");\nvar conf;\nvar setConfigCalledByThisInstance = false;\nvar haventCalledErrorMessage = process.env.NODE_ENV === \"development\" ? `\nHaven't called createTamagui yet. ${import_constants2.MISSING_THEME_MESSAGE}\n` : `\\u274C Error 001`;\nvar getConfigFromGlobalOrLocal = function() {\n if (conf) {\n return conf;\n }\n if (globalThis.__tamaguiConfig) {\n if (process.env.NODE_ENV === \"development\" && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {\n globalThis.__tamaguiPendingCheck = true;\n setTimeout(function() {\n if (!setConfigCalledByThisInstance && !globalThis.__tamaguiHasWarnedGlobalFallback) {\n globalThis.__tamaguiHasWarnedGlobalFallback = true;\n console.warn(`\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\n\nTamagui: Using global config fallback. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically, but likely causes issues!\n\n\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F`);\n }\n globalThis.__tamaguiPendingCheck = false;\n }, 500);\n }\n return globalThis.__tamaguiConfig;\n }\n return null;\n};\nvar getSetting = function(key) {\n var config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\") {\n if (!config) throw new Error(haventCalledErrorMessage);\n }\n return config.settings[key];\n};\nfunction getStyleCompat() {\n var _config_settings;\n var config = getConfigFromGlobalOrLocal();\n return (config === null || config === void 0 ? void 0 : (_config_settings = config.settings) === null || _config_settings === void 0 ? void 0 : _config_settings.styleCompat) || \"web\";\n}\nvar setConfig = function(next) {\n setConfigCalledByThisInstance = true;\n var previous = conf;\n var previousGlobal = globalThis.__tamaguiConfig;\n (0, import_grammarConfig.prepareConfigRevision)(next);\n if (conf !== previous || globalThis.__tamaguiConfig !== previousGlobal) return;\n conf = next;\n globalThis.__tamaguiConfig = next;\n};\nvar setConfigFont = function(name, font, fontParsed) {\n var config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\") {\n if (!config) throw new Error(haventCalledErrorMessage);\n }\n config.fonts[name] = font;\n config.fontsParsed[name] = fontParsed;\n (0, import_grammarConfig.prepareConfigRevision)(config);\n};\nvar getConfig = function() {\n var config = getConfigFromGlobalOrLocal();\n if (!config) {\n throw new Error((0, import_formatDiagnostic.formatDiagnostic)(\"Err0\", \"TamaguiConfig\", \"no config is available\", \"Call createTamagui before rendering and deduplicate Tamagui package versions\", \"config\", config));\n }\n return config;\n};\nvar getConfigMaybe = function() {\n return getConfigFromGlobalOrLocal();\n};\nvar tokens;\nfunction setTokens(next) {\n tokens = next;\n}\nvar getTokensParsed = function() {\n var _getConfigFromGlobalOrLocal;\n var _getConfigFromGlobalOrLocal_tokensParsed;\n return (_getConfigFromGlobalOrLocal_tokensParsed = (_getConfigFromGlobalOrLocal = getConfigFromGlobalOrLocal()) === null || _getConfigFromGlobalOrLocal === void 0 ? void 0 : _getConfigFromGlobalOrLocal.tokensParsed) !== null && _getConfigFromGlobalOrLocal_tokensParsed !== void 0 ? _getConfigFromGlobalOrLocal_tokensParsed : tokens;\n};\nvar getTokens = function() {\n if (process.env.NODE_ENV === \"development\") {\n if (!getConfigFromGlobalOrLocal()) throw new Error(haventCalledErrorMessage);\n }\n return getTokensParsed();\n};\nvar getTokenObject = function(value, group) {\n var _tokens_group, _tokens_;\n var tokens2 = getTokensParsed();\n return group ? (_tokens_group = tokens2[group]) === null || _tokens_group === void 0 ? void 0 : _tokens_group[value] : (_tokens_ = tokens2[Object.keys(tokens2).find(function(cat) {\n return tokens2[cat][value];\n }) || \"\"]) === null || _tokens_ === void 0 ? void 0 : _tokens_[value];\n};\nvar getToken = function(value, group) {\n var useVariable = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : import_constants.isWeb;\n var token = getTokenObject(value, group);\n return useVariable ? token === null || token === void 0 ? void 0 : token.variable : token === null || token === void 0 ? void 0 : token.val;\n};\nvar getTokenValue = function(value, group) {\n if (value === \"unset\" || value === \"auto\") return;\n return getToken(value, group, false);\n};\nvar useTokens = getTokens;\nvar getThemes = function() {\n return getConfigFromGlobalOrLocal().themes;\n};\nvar updateConfig = function(key, value) {\n var config = getConfigFromGlobalOrLocal();\n if (!config || key === \"__proto__\" || !(key in config)) {\n return;\n }\n Object.assign(config[key], value);\n (0, import_grammarConfig.prepareConfigRevision)(config);\n};\nvar getFont = function(name) {\n var _Object_entries_find;\n var conf2 = getConfig();\n var _conf_fontsParsed_name;\n return (_conf_fontsParsed_name = conf2.fontsParsed[name]) !== null && _conf_fontsParsed_name !== void 0 ? _conf_fontsParsed_name : (_Object_entries_find = Object.entries(conf2.fontsParsed).find(function(param) {\n var [k] = param;\n var _conf_fontsParsed_k_family, _conf_fontsParsed_k;\n return ((_conf_fontsParsed_k = conf2.fontsParsed[k]) === null || _conf_fontsParsed_k === void 0 ? void 0 : (_conf_fontsParsed_k_family = _conf_fontsParsed_k.family) === null || _conf_fontsParsed_k_family === void 0 ? void 0 : _conf_fontsParsed_k_family[\"val\"]) === name;\n })) === null || _Object_entries_find === void 0 ? void 0 : _Object_entries_find[1];\n};\nvar devConfig;\nfunction setupDev(conf2) {\n if (process.env.NODE_ENV === \"development\") {\n devConfig = conf2;\n }\n}\nfunction loadAnimationDriver(name, driver) {\n var config = getConfigFromGlobalOrLocal();\n if (!config) {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"loadAnimationDriver called before createTamagui\");\n }\n return;\n }\n if (config.animations && !(\"default\" in config.animations)) {\n ;\n config.animations = {\n default: config.animations\n };\n }\n if (config.animations) {\n ;\n config.animations[name] = driver;\n } else {\n ;\n config.animations = {\n default: driver,\n [name]: driver\n };\n }\n}\n//# sourceMappingURL=config.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,iBAAiB,CAAC;AACtB,SAAS,gBAAgB;CACvB,iBAAiB;CACjB,iBAAiB;CACjB,sBAAsB;CACtB,eAAe;CACf,kBAAkB;CAClB,sBAAsB;CACtB,iBAAiB;CACjB,gBAAgB;CAChB,sBAAsB;CACtB,qBAAqB;CACrB,iBAAiB;CACjB,2BAA2B;CAC3B,iBAAiB;CACjB,qBAAqB;CACrB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB,iBAAiB;AACnB,CAAC;AACD,OAAO,UAAU,aAAa,cAAc;AAC5C,IAAI,mBAAmB,QAAQ,oBAAoB;AACnD,IAAI,oBAAoB,QAAQ,iCAAuB;AACvD,IAAI,0BAA0B,QAAQ,sCAA4B;AAClE,IAAI,uBAAuB,QAAQ,mCAAyB;AAC5D,IAAI;AACJ,IAAI,gCAAgC;AACpC,IAAI,2BAA2B,QAAQ,IAAI,aAAa,gBAAgB;oCACpC,kBAAkB,sBAAsB;IACxE;AACJ,IAAI,6BAA6B,WAAW;CAC1C,IAAI,MAAM;EACR,OAAO;CACT;CACA,IAAI,WAAW,iBAAiB;EAC9B,IAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,WAAW,oCAAoC,CAAC,WAAW,uBAAuB;GAC/H,WAAW,wBAAwB;GACnC,WAAW,WAAW;IACpB,IAAI,CAAC,iCAAiC,CAAC,WAAW,kCAAkC;KAClF,WAAW,mCAAmC;KAC9C,QAAQ,KAAK;;;;6DAIsC;IACrD;IACA,WAAW,wBAAwB;GACrC,GAAG,GAAG;EACR;EACA,OAAO,WAAW;CACpB;CACA,OAAO;AACT;AACA,IAAI,aAAa,SAAS,KAAK;CAC7B,IAAI,SAAS,2BAA2B;CACxC,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,IAAI,CAAC,QAAQ,MAAM,IAAI,MAAM,wBAAwB;CACvD;CACA,OAAO,OAAO,SAAS;AACzB;AACA,SAAS,iBAAiB;CACxB,IAAI;CACJ,IAAI,SAAS,2BAA2B;CACxC,QAAQ,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,KAAK,mBAAmB,OAAO,cAAc,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,gBAAgB;AACnL;AACA,IAAI,YAAY,SAAS,MAAM;CAC7B,gCAAgC;CAChC,IAAI,WAAW;CACf,IAAI,iBAAiB,WAAW;CAChC,CAAC,GAAG,qBAAqB,sBAAqB,CAAE,IAAI;CACpD,IAAI,SAAS,YAAY,WAAW,oBAAoB,gBAAgB;CACxE,OAAO;CACP,WAAW,kBAAkB;AAC/B;AACA,IAAI,gBAAgB,SAAS,MAAM,MAAM,YAAY;CACnD,IAAI,SAAS,2BAA2B;CACxC,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,IAAI,CAAC,QAAQ,MAAM,IAAI,MAAM,wBAAwB;CACvD;CACA,OAAO,MAAM,QAAQ;CACrB,OAAO,YAAY,QAAQ;CAC3B,CAAC,GAAG,qBAAqB,sBAAqB,CAAE,MAAM;AACxD;AACA,IAAI,YAAY,WAAW;CACzB,IAAI,SAAS,2BAA2B;CACxC,IAAI,CAAC,QAAQ;EACX,MAAM,IAAI,OAAO,GAAG,wBAAwB,iBAAgB,CAAE,QAAQ,iBAAiB,0BAA0B,gFAAgF,UAAU,MAAM,CAAC;CACpN;CACA,OAAO;AACT;AACA,IAAI,iBAAiB,WAAW;CAC9B,OAAO,2BAA2B;AACpC;AACA,IAAI;AACJ,SAAS,UAAU,MAAM;CACvB,SAAS;AACX;AACA,IAAI,kBAAkB,WAAW;CAC/B,IAAI;CACJ,IAAI;CACJ,QAAQ,4CAA4C,8BAA8B,2BAA2B,OAAO,QAAQ,gCAAgC,KAAK,IAAI,KAAK,IAAI,4BAA4B,kBAAkB,QAAQ,6CAA6C,KAAK,IAAI,2CAA2C;AACvU;AACA,IAAI,YAAY,WAAW;CACzB,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,IAAI,CAAC,2BAA2B,GAAG,MAAM,IAAI,MAAM,wBAAwB;CAC7E;CACA,OAAO,gBAAgB;AACzB;AACA,IAAI,iBAAiB,SAAS,OAAO,OAAO;CAC1C,IAAI,eAAe;CACnB,IAAI,UAAU,gBAAgB;CAC9B,OAAO,SAAS,gBAAgB,QAAQ,YAAY,QAAQ,kBAAkB,KAAK,IAAI,KAAK,IAAI,cAAc,UAAU,WAAW,QAAQ,OAAO,KAAK,OAAO,CAAC,CAAC,KAAK,SAAS,KAAK;EACjL,OAAO,QAAQ,IAAI,CAAC;CACtB,CAAC,KAAK,SAAS,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,SAAS;AACjE;AACA,IAAI,WAAW,SAAS,OAAO,OAAO;CACpC,IAAI,cAAc,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,iBAAiB;CACpG,IAAI,QAAQ,eAAe,OAAO,KAAK;CACvC,OAAO,cAAc,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,WAAW,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM;AAC1I;AACA,IAAI,gBAAgB,SAAS,OAAO,OAAO;CACzC,IAAI,UAAU,WAAW,UAAU,QAAQ;CAC3C,OAAO,SAAS,OAAO,OAAO,KAAK;AACrC;AACA,IAAI,YAAY;AAChB,IAAI,YAAY,WAAW;CACzB,OAAO,2BAA2B,CAAC,CAAC;AACtC;AACA,IAAI,eAAe,SAAS,KAAK,OAAO;CACtC,IAAI,SAAS,2BAA2B;CACxC,IAAI,CAAC,UAAU,QAAQ,eAAe,EAAE,OAAO,SAAS;EACtD;CACF;CACA,OAAO,OAAO,OAAO,MAAM,KAAK;CAChC,CAAC,GAAG,qBAAqB,sBAAqB,CAAE,MAAM;AACxD;AACA,IAAI,UAAU,SAAS,MAAM;CAC3B,IAAI;CACJ,IAAI,QAAQ,UAAU;CACtB,IAAI;CACJ,QAAQ,yBAAyB,MAAM,YAAY,WAAW,QAAQ,2BAA2B,KAAK,IAAI,0BAA0B,uBAAuB,OAAO,QAAQ,MAAM,WAAW,CAAC,CAAC,KAAK,SAAS,OAAO;EAChN,IAAI,CAAC,KAAK;EACV,IAAI,4BAA4B;EAChC,SAAS,sBAAsB,MAAM,YAAY,QAAQ,QAAQ,wBAAwB,KAAK,IAAI,KAAK,KAAK,6BAA6B,oBAAoB,YAAY,QAAQ,+BAA+B,KAAK,IAAI,KAAK,IAAI,2BAA2B,YAAY;CAC3Q,CAAC,OAAO,QAAQ,yBAAyB,KAAK,IAAI,KAAK,IAAI,qBAAqB;AAClF;AACA,IAAI;AACJ,SAAS,SAAS,OAAO;CACvB,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,YAAY;CACd;AACF;AACA,SAAS,oBAAoB,MAAM,QAAQ;CACzC,IAAI,SAAS,2BAA2B;CACxC,IAAI,CAAC,QAAQ;EACX,IAAI,QAAQ,IAAI,aAAa,eAAe;GAC1C,QAAQ,KAAK,iDAAiD;EAChE;EACA;CACF;CACA,IAAI,OAAO,cAAc,EAAE,aAAa,OAAO,aAAa;EAC1D;EACA,OAAO,aAAa,EAClB,SAAS,OAAO,WAClB;CACF;CACA,IAAI,OAAO,YAAY;EACrB;EACA,OAAO,WAAW,QAAQ;CAC5B,OAAO;EACL;EACA,OAAO,aAAa;GAClB,SAAS;IACR,OAAO;EACV;CACF;AACF"}
1
+ {"version":3,"file":"config.native.js","names":[],"sources":["cjs/config.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 config_exports = {};\n__export(config_exports, {\n devConfig: () => devConfig,\n getConfig: () => getConfig,\n getConfigMaybe: () => getConfigMaybe,\n getFont: () => getFont,\n getSetting: () => getSetting,\n getStyleCompat: () => getStyleCompat,\n getThemes: () => getThemes,\n getToken: () => getToken,\n getTokenObject: () => getTokenObject,\n getTokenValue: () => getTokenValue,\n getTokens: () => getTokens,\n loadAnimationDriver: () => loadAnimationDriver,\n setConfig: () => setConfig,\n setConfigFont: () => setConfigFont,\n setTokens: () => setTokens,\n setupDev: () => setupDev,\n updateConfig: () => updateConfig,\n useTokens: () => useTokens\n});\nmodule.exports = __toCommonJS(config_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_constants2 = require(\"./constants/constants\");\nvar import_formatDiagnostic = require(\"./helpers/formatDiagnostic\");\nvar import_grammarConfig = require(\"./helpers/grammarConfig\");\nvar conf;\nvar setConfigCalledByThisInstance = false;\nvar haventCalledErrorMessage = process.env.NODE_ENV === \"development\" ? `\nHaven't called createTamagui yet. ${import_constants2.MISSING_THEME_MESSAGE}\n` : `\\u274C Error 001`;\nvar getConfigFromGlobalOrLocal = function() {\n if (conf) {\n return conf;\n }\n if (globalThis.__tamaguiConfig) {\n if (process.env.NODE_ENV === \"development\" && globalThis.__tamaguiEvaluationConfig !== globalThis.__tamaguiConfig && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck) {\n globalThis.__tamaguiPendingCheck = true;\n setTimeout(function() {\n if (!setConfigCalledByThisInstance && !globalThis.__tamaguiHasWarnedGlobalFallback) {\n globalThis.__tamaguiHasWarnedGlobalFallback = true;\n console.warn(`\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\n\nTamagui: Using global config fallback. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically, but likely causes issues!\n\n\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F\\u26A0\\uFE0F`);\n }\n globalThis.__tamaguiPendingCheck = false;\n }, 500);\n }\n return globalThis.__tamaguiConfig;\n }\n return null;\n};\nvar getSetting = function(key) {\n var config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\") {\n if (!config) throw new Error(haventCalledErrorMessage);\n }\n return config.settings[key];\n};\nfunction getStyleCompat() {\n var _config_settings;\n var config = getConfigFromGlobalOrLocal();\n return (config === null || config === void 0 ? void 0 : (_config_settings = config.settings) === null || _config_settings === void 0 ? void 0 : _config_settings.styleCompat) || \"web\";\n}\nvar setConfig = function(next) {\n setConfigCalledByThisInstance = true;\n var previous = conf;\n var previousGlobal = globalThis.__tamaguiConfig;\n (0, import_grammarConfig.prepareConfigRevision)(next);\n if (conf !== previous || globalThis.__tamaguiConfig !== previousGlobal) return;\n conf = next;\n globalThis.__tamaguiConfig = next;\n if (process.env.TAMAGUI_ENVIRONMENT === \"tamagui\") {\n globalThis.__tamaguiEvaluationConfig = next;\n }\n};\nvar setConfigFont = function(name, font, fontParsed) {\n var config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\") {\n if (!config) throw new Error(haventCalledErrorMessage);\n }\n config.fonts[name] = font;\n config.fontsParsed[name] = fontParsed;\n (0, import_grammarConfig.prepareConfigRevision)(config);\n};\nvar getConfig = function() {\n var config = getConfigFromGlobalOrLocal();\n if (!config) {\n throw new Error((0, import_formatDiagnostic.formatDiagnostic)(\"Err0\", \"TamaguiConfig\", \"no config is available\", \"Call createTamagui before rendering and deduplicate Tamagui package versions\", \"config\", config));\n }\n return config;\n};\nvar getConfigMaybe = function() {\n return getConfigFromGlobalOrLocal();\n};\nvar tokens;\nfunction setTokens(next) {\n tokens = next;\n}\nvar getTokensParsed = function() {\n var _getConfigFromGlobalOrLocal;\n var _getConfigFromGlobalOrLocal_tokensParsed;\n return (_getConfigFromGlobalOrLocal_tokensParsed = (_getConfigFromGlobalOrLocal = getConfigFromGlobalOrLocal()) === null || _getConfigFromGlobalOrLocal === void 0 ? void 0 : _getConfigFromGlobalOrLocal.tokensParsed) !== null && _getConfigFromGlobalOrLocal_tokensParsed !== void 0 ? _getConfigFromGlobalOrLocal_tokensParsed : tokens;\n};\nvar getTokens = function() {\n if (process.env.NODE_ENV === \"development\") {\n if (!getConfigFromGlobalOrLocal()) throw new Error(haventCalledErrorMessage);\n }\n return getTokensParsed();\n};\nvar getTokenObject = function(value, group) {\n var _tokens_group, _tokens_;\n var tokens2 = getTokensParsed();\n return group ? (_tokens_group = tokens2[group]) === null || _tokens_group === void 0 ? void 0 : _tokens_group[value] : (_tokens_ = tokens2[Object.keys(tokens2).find(function(cat) {\n return tokens2[cat][value];\n }) || \"\"]) === null || _tokens_ === void 0 ? void 0 : _tokens_[value];\n};\nvar getToken = function(value, group) {\n var useVariable = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : import_constants.isWeb;\n var token = getTokenObject(value, group);\n return useVariable ? token === null || token === void 0 ? void 0 : token.variable : token === null || token === void 0 ? void 0 : token.val;\n};\nvar getTokenValue = function(value, group) {\n if (value === \"unset\" || value === \"auto\") return;\n return getToken(value, group, false);\n};\nvar useTokens = getTokens;\nvar getThemes = function() {\n return getConfigFromGlobalOrLocal().themes;\n};\nvar updateConfig = function(key, value) {\n var config = getConfigFromGlobalOrLocal();\n if (!config || key === \"__proto__\" || !(key in config)) {\n return;\n }\n Object.assign(config[key], value);\n (0, import_grammarConfig.prepareConfigRevision)(config);\n};\nvar getFont = function(name) {\n var _Object_entries_find;\n var conf2 = getConfig();\n var _conf_fontsParsed_name;\n return (_conf_fontsParsed_name = conf2.fontsParsed[name]) !== null && _conf_fontsParsed_name !== void 0 ? _conf_fontsParsed_name : (_Object_entries_find = Object.entries(conf2.fontsParsed).find(function(param) {\n var [k] = param;\n var _conf_fontsParsed_k_family, _conf_fontsParsed_k;\n return ((_conf_fontsParsed_k = conf2.fontsParsed[k]) === null || _conf_fontsParsed_k === void 0 ? void 0 : (_conf_fontsParsed_k_family = _conf_fontsParsed_k.family) === null || _conf_fontsParsed_k_family === void 0 ? void 0 : _conf_fontsParsed_k_family[\"val\"]) === name;\n })) === null || _Object_entries_find === void 0 ? void 0 : _Object_entries_find[1];\n};\nvar devConfig;\nfunction setupDev(conf2) {\n if (process.env.NODE_ENV === \"development\") {\n devConfig = conf2;\n }\n}\nfunction loadAnimationDriver(name, driver) {\n var config = getConfigFromGlobalOrLocal();\n if (!config) {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"loadAnimationDriver called before createTamagui\");\n }\n return;\n }\n if (config.animations && !(\"default\" in config.animations)) {\n ;\n config.animations = {\n default: config.animations\n };\n }\n if (config.animations) {\n ;\n config.animations[name] = driver;\n } else {\n ;\n config.animations = {\n default: driver,\n [name]: driver\n };\n }\n}\n//# sourceMappingURL=config.js.map\n"],"mappings":"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"}
@@ -418,10 +418,28 @@ function contributeProp(pass, keyOg, valOg, originalOg = valOg, disabled = false
418
418
  }
419
419
  const styleOriginals = shouldTrackStyleTokenProvenance ? import_styleOriginalValues.styleOriginalValues.get(style) : void 0;
420
420
  for (const key in style) {
421
- if (style[key] == null) continue;
422
- if (key === "containerName") pass[passContainerName] = style[key];
423
- else if (key === "containerType") pass[passContainerType] = style[key];
424
- contributeValue(styleState, key, style[key], styleOriginals?.[key]);
421
+ const value = style[key];
422
+ if (value == null) continue;
423
+ let inline = !styleState.styleProps.stylePieceEntries;
424
+ if (key === "containerName") {
425
+ pass[passContainerName] = value;
426
+ inline = false;
427
+ } else if (key === "containerType") {
428
+ pass[passContainerType] = value;
429
+ inline = false;
430
+ }
431
+ if (inline) {
432
+ if (typeof value === "string") {
433
+ const [segments] = (0, import_grammarConfig.getConfigRevisionState)(conf).parseFlatValue(value);
434
+ for (let index2 = 4; index2 < segments.length; index2 += 5) if (!(segments[index2] & 1)) {
435
+ inline = false;
436
+ break;
437
+ }
438
+ } else if (value && typeof value === "object" && !Array.isArray(value) && !(0, import_createVariable.isVariable)(value) && classifyConditionalObject(value, styleState) !== 0) inline = false;
439
+ }
440
+ styleState.flatInlineStyleProp = inline;
441
+ contributeValue(styleState, key, value, styleOriginals?.[key]);
442
+ styleState.flatInlineStyleProp = false;
425
443
  }
426
444
  }
427
445
  pass[passSourceLayer] = layerBeforeStyle;
@@ -1004,7 +1022,10 @@ function writeCapturedStyleRecord(slots, slot, source, sourceLayer) {
1004
1022
  for (let index = 0; index < list.length; index++) {
1005
1023
  const entry = list[index];
1006
1024
  const entryFlags = entry[7] & 31;
1007
- if ((entryFlags & (recordInline | recordCSS)) !== (flags & (recordInline | recordCSS))) continue;
1025
+ if ((entryFlags & (recordInline | recordCSS)) !== (flags & (recordInline | recordCSS))) {
1026
+ if (sourceLayer === sourceLayerStyle && entry[7] >> 5 === sourceLayerStyle && entry[0] === source[0] && !condition && !entry[2]) list.splice(index--, 1);
1027
+ continue;
1028
+ }
1008
1029
  if (entry[0] !== source[0]) continue;
1009
1030
  if (flags & recordDefault) {
1010
1031
  if (!(entryFlags & recordDefault) && (!entry[2] || entry[3] === identity)) return;
@@ -1042,8 +1063,8 @@ function recordStyleTokenProvenance(styleState, key, originalVal) {
1042
1063
  let tokenName = typeof originalVal === "string" ? originalVal : "";
1043
1064
  if (tokenName) {
1044
1065
  const slash = tokenName.lastIndexOf("/");
1045
- const opacity = slash === -1 ? NaN : Number(tokenName.slice(slash + 1));
1046
- if (Number.isInteger(opacity) && opacity >= 0 && opacity <= 100) tokenName = tokenName.slice(0, slash);
1066
+ const opacity = slash === -1 ? NaN : +tokenName.slice(slash + 1);
1067
+ if (opacity % 1 === 0 && opacity >= 0 && opacity <= 100) tokenName = tokenName.slice(0, slash);
1047
1068
  }
1048
1069
  if (tokenName !== "" && (tokenName in styleState.theme || tokenName in (styleState.conf.themes?.[styleState.flatThemeName || ""] || {}) || Object.values(styleState.conf.tokensParsed).some((category) => tokenName in category))) (styleState.tokenProvenance ||= {})[key] = originalVal;
1049
1070
  else if (styleState.tokenProvenance && key in styleState.tokenProvenance) delete styleState.tokenProvenance[key];
@@ -1127,9 +1148,20 @@ function writeStyleRecord(state, property, value, cursor, original, flags, condi
1127
1148
  const identity = cursor ? cursor[conditionKey] : "";
1128
1149
  const direct = state;
1129
1150
  const slots = direct.flatSlots ||= /* @__PURE__ */ new Map();
1130
- const slot = import_getCSSStylesAtomic.canGenerateCSS && (state.flatShouldDoClasses || flags & recordCSS) ? styleSlot(property) : property.startsWith("transition") ? "transition" : property;
1151
+ const sourceLayer = direct.flatPass?.[passSourceLayer] || 0;
1152
+ if (direct.flatInlineStyleProp) flags |= recordInline;
1153
+ const cssSlot = import_getCSSStylesAtomic.canGenerateCSS && (state.flatShouldDoClasses || flags & recordCSS) ? styleSlot(property) : property.startsWith("transition") ? "transition" : property;
1154
+ const slot = flags & recordInline && cssSlot !== property ? property : cssSlot;
1131
1155
  let list = slots.get(slot);
1132
1156
  if (!list) slots.set(slot, list = []);
1157
+ if (sourceLayer === sourceLayerStyle && !condition) {
1158
+ const other = slot === cssSlot ? list : slots.get(flags & recordInline ? cssSlot : property);
1159
+ if (other) for (let index = 0; index < other.length; index++) {
1160
+ const entry = other[index];
1161
+ const entryFlags = entry[7];
1162
+ if (entry[0] === property && !entry[2] && entryFlags >> 5 === sourceLayerStyle && (entryFlags & (recordInline | recordCSS)) !== (flags & (recordInline | recordCSS))) other.splice(index--, 1);
1163
+ }
1164
+ }
1133
1165
  for (let index = 0; index < list.length; index++) {
1134
1166
  const entry = list[index];
1135
1167
  const entryFlags = entry[7];
@@ -1154,7 +1186,7 @@ function writeStyleRecord(state, property, value, cursor, original, flags, condi
1154
1186
  cursor ? cursor[conditionSelector] : "",
1155
1187
  cursor ? cursor[conditionWrappers] : void 0,
1156
1188
  original,
1157
- flags | (state.flatPass?.[passSourceLayer] || 0) << 5
1189
+ flags | sourceLayer << 5
1158
1190
  ]);
1159
1191
  }
1160
1192
  function streamWriteInline(state, property, value, cursor, original, normalize = property === "lineHeight", conditionOverride = -1, force = false) {
@@ -1265,14 +1297,14 @@ const cssWideColorKeywords = /* @__PURE__ */ new Set([
1265
1297
  "currentcolor",
1266
1298
  "transparent"
1267
1299
  ]);
1268
- function configuredValue(state, property, raw, embedded = false) {
1300
+ function configuredValue(state, property, raw, embedded = false, nativeColors) {
1269
1301
  const grammar = (0, import_grammarConfig.getConfigRevisionState)(state.conf);
1270
1302
  let name = raw;
1271
1303
  let opacity;
1272
1304
  const slash = raw.lastIndexOf("/");
1273
1305
  if (slash > 0) {
1274
- const amount = Number(raw.slice(slash + 1));
1275
- if (Number.isInteger(amount) && amount >= 0 && amount <= 100) {
1306
+ const amount = +raw.slice(slash + 1);
1307
+ if (amount % 1 === 0 && amount >= 0 && amount <= 100) {
1276
1308
  name = raw.slice(0, slash);
1277
1309
  opacity = amount;
1278
1310
  }
@@ -1285,7 +1317,7 @@ function configuredValue(state, property, raw, embedded = false) {
1285
1317
  const fontProperty = property.startsWith("font") || property === "lineHeight" || property === "letterSpacing";
1286
1318
  const resolveValues = state.styleProps.resolveValues;
1287
1319
  let byRaw;
1288
- if (!fontProperty) {
1320
+ if (!fontProperty && !nativeColors) {
1289
1321
  const revision = grammar.revision;
1290
1322
  if (state.conf !== valueCacheConf || revision !== valueCacheRevision) {
1291
1323
  valueCacheConf = state.conf;
@@ -1349,26 +1381,17 @@ function configuredValue(state, property, raw, embedded = false) {
1349
1381
  const rawNum = Number(name);
1350
1382
  const tokens = category ? state.conf.tokensParsed[category] : void 0;
1351
1383
  if (tokens && Number.isFinite(rawNum)) for (const key in tokens) {
1352
- const keyNum = Number(key);
1353
- if (Number.isFinite(keyNum)) {
1354
- const dist = Math.abs(keyNum - rawNum);
1384
+ const val = tokens[key]?.val;
1385
+ const valNum = typeof val === "number" ? val : Number(val);
1386
+ if (Number.isFinite(valNum)) {
1387
+ const dist = Math.abs(valNum - rawNum);
1355
1388
  if (dist < minDistance) {
1356
1389
  minDistance = dist;
1357
1390
  nearest = key;
1358
1391
  }
1359
- } else {
1360
- const val = tokens[key]?.val;
1361
- const valNum = typeof val === "number" ? val : Number(val);
1362
- if (Number.isFinite(valNum)) {
1363
- const dist = Math.abs(valNum - rawNum);
1364
- if (dist < minDistance) {
1365
- minDistance = dist;
1366
- nearest = key;
1367
- }
1368
- }
1369
1392
  }
1370
1393
  }
1371
- (0, import_warnOnce.warnOnce)(`numeric-token:${property}=${raw}`, `${property}="${raw}" was passed to CSS as-is with px units${nearest ? `; nearest token is "${nearest}"` : ""}`);
1394
+ if (nearest) (0, import_warnOnce.warnOnce)(`numeric-token:${property}=${raw}`, `${property}="${raw}" was passed to CSS as-is${category === "zIndex" ? "" : " with px units"}${nearest ? `; nearest token is "${nearest}"` : ""}`);
1372
1395
  } else if (category === "color" && /^[a-zA-Z0-9-]+$/.test(name) && /[a-zA-Z]/.test(name)) {
1373
1396
  const lower = name.toLowerCase();
1374
1397
  if (!import_runtime.namedCssColors.has(lower) && !cssWideColorKeywords.has(lower)) {
@@ -1409,15 +1432,20 @@ function configuredValue(state, property, raw, embedded = false) {
1409
1432
  }
1410
1433
  let out = raw;
1411
1434
  if ((0, import_createVariable.isVariable)(value)) {
1412
- out = resolveValues === "except-theme" && fromTheme ? `${import_themeRef.THEME_REF_PREFIX}${lookupName}${opacity !== void 0 ? `/${opacity}` : ""}` : (0, import_resolveVariableValue.resolveVariableValue)(property, value, resolveValues);
1435
+ out = resolveValues === "except-theme" && fromTheme ? `${import_themeRef.THEME_REF_PREFIX}${lookupName}${opacity !== void 0 ? `/${opacity}` : ""}` : (0, import_resolveVariableValue.resolveVariableValue)(nativeColors ? "color" : property, value, resolveValues);
1413
1436
  if (opacity !== void 0) out = `color-mix(in srgb, ${out} ${opacity}%, transparent)`;
1414
1437
  }
1438
+ if (nativeColors && out && typeof out === "object") {
1439
+ const reference = `__tamagui_native_color_${nativeColors.size}`;
1440
+ nativeColors.set(reference, out);
1441
+ out = reference;
1442
+ }
1415
1443
  if (embedded && out === raw) {
1416
1444
  const usedSafeArea = state.flatUsesSafeArea;
1417
- out = grammar.embeddedTokens(raw, (word) => configuredValue(state, property, word));
1445
+ out = grammar.embeddedTokens(raw, (word) => configuredValue(state, property, word, false, nativeColors));
1418
1446
  if (!usedSafeArea && state.flatUsesSafeArea) return out;
1419
1447
  }
1420
- if (!fontProperty && !fromTheme) if (valueCacheEntries > 8192) {
1448
+ if (!fontProperty && !fromTheme && !nativeColors) if (valueCacheEntries > 8192) {
1421
1449
  valueCaches = /* @__PURE__ */ new WeakMap();
1422
1450
  valueCacheEntries = 0;
1423
1451
  } else {
@@ -1479,17 +1507,15 @@ function numericUnitValue(value, first, second) {
1479
1507
  return value.length > first.length && (value.endsWith(first) || value.endsWith(second)) ? +value.slice(0, -first.length) : NaN;
1480
1508
  }
1481
1509
  function resolveNumericValue(value) {
1482
- const unitValue = numericUnitValue(value, "px", "dp");
1483
- if (Number.isFinite(unitValue)) return unitValue;
1484
- const numeric = +value;
1485
- return Number.isFinite(numeric) ? numeric : value;
1510
+ let numeric = numericUnitValue(value, "px", "dp");
1511
+ return isFinite(numeric) ? numeric : isFinite(numeric = +value) ? numeric : value;
1486
1512
  }
1487
1513
  function emitResolved(state, property, raw, cursor, originalValue, contextOnly) {
1488
1514
  emitProperty(state, property, resolveValue(state, property, raw), cursor, originalValue, contextOnly);
1489
1515
  }
1490
- function resolveValue(state, property, raw) {
1491
- let value = typeof raw === "string" ? configuredValue(state, property, raw, true) : raw;
1492
- if (!state.flatShouldDoClasses && typeof value === "string" && value !== "") value = resolveNumericValue(value);
1516
+ function resolveValue(state, property, raw, nativeColors) {
1517
+ let value = typeof raw === "string" ? configuredValue(state, property, raw, true, nativeColors) : raw;
1518
+ if (!state.flatShouldDoClasses && typeof value === "string" && value !== "" && property !== "lineHeight") value = resolveNumericValue(value);
1493
1519
  return value;
1494
1520
  }
1495
1521
  function shadowUnit(part) {
@@ -1565,7 +1591,7 @@ function emitValue(state, property, raw, cursor, originalValue, contextOnly) {
1565
1591
  if (property === "x" || property === "y" || property === "scale" || property === "scaleX" || property === "scaleY" || property === "rotate") {
1566
1592
  let value2 = typeof raw === "string" ? configuredValue(state, property, raw) : raw;
1567
1593
  if (!state.flatShouldDoClasses && typeof value2 === "string" && !value2.startsWith(import_themeRef.THEME_REF_PREFIX)) {
1568
- if (property === "rotate" && !Number.isFinite(numericUnitValue(value2, "deg", "rad")) && !(0, import_borderComponents.startsValueFunction)(value2)) {
1594
+ if (property === "rotate" && !isFinite(numericUnitValue(value2, "deg", "rad")) && !(0, import_borderComponents.startsValueFunction)(value2)) {
1569
1595
  if (process.env.NODE_ENV === "development") (0, import_warnOnce.warnOnce)(`native transform "${property}" cannot represent "${value2}"; dropping it`);
1570
1596
  if (condition & 1) {
1571
1597
  (0, import_runtime.removeTransformValue)(state.transformAccumulator, property);
@@ -1597,7 +1623,7 @@ function emitValue(state, property, raw, cursor, originalValue, contextOnly) {
1597
1623
  else emitProperty(state, property, raw, cursor, originalValue, contextOnly);
1598
1624
  return;
1599
1625
  }
1600
- let value = resolveValue(state, property, raw);
1626
+ let value = resolveValue(state, property, raw, void 0);
1601
1627
  if (import_getCSSStylesAtomic.canGenerateCSS && state.flatShouldDoClasses && property === "boxShadow" && !condition) {
1602
1628
  state.flatBoxShadow = value;
1603
1629
  state.flatBoxShadowSequence = frameSequence + 1;
@@ -1630,9 +1656,9 @@ function walkConditionalValue(state, property, value, parent, sink, warnMode = 0
1630
1656
  if (slices === void 0) parsedSlices.set(parsed, slices = []);
1631
1657
  const chainCount = segments.length / 5 - 1;
1632
1658
  if (property === "aspectRatio" && chainCount === 1) {
1633
- const left = Number(value.slice(segments[7], segments[8]));
1634
- const right = Number(value.slice(segments[5], segments[6]));
1635
- if (left > 0 && right > 0 && Number.isFinite(left) && Number.isFinite(right)) return false;
1659
+ const left = +value.slice(segments[7], segments[8]);
1660
+ const right = +value.slice(segments[5], segments[6]);
1661
+ if (left > 0 && right > 0 && isFinite(left) && isFinite(right)) return false;
1636
1662
  }
1637
1663
  for (let index = 0; index < segments.length; index += 5) {
1638
1664
  const start = segments[index];
@@ -1685,7 +1711,7 @@ function walkConditionalValue(state, property, value, parent, sink, warnMode = 0
1685
1711
  if (cursor[conditionValue] & conditionResolvedFlag || warnMode) emitConditionalValue(state, property, value[key], cursor, value[key], sink, warnMode, contextOnly);
1686
1712
  }
1687
1713
  }
1688
- if (warnMode && process.env.NODE_ENV === "development" && typeof value === "string" && !hasBase && conditions && (0, import_grammarConfig.getConfigRevisionState)(state.conf).tokenCategory(property) && (0, import_borderComponents.splitComponents)(lastPayload).length > 1) (0, import_warnOnce.warnOnce)(`${property}="${value}" has multiple values after its first conditional. Write the base value before the first conditional.`);
1714
+ if (warnMode && process.env.NODE_ENV === "development" && typeof value === "string" && !hasBase && conditions && (0, import_grammarConfig.getConfigRevisionState)(state.conf).tokenCategory(property) && (0, import_grammarConfig.getConfigRevisionState)(state.conf).propertyKind(property) !== 8 && property !== "boxShadow" && property !== "textShadow" && property !== "fontFamily" && property !== "gap" && (0, import_borderComponents.splitComponents)(lastPayload).length > 1) (0, import_warnOnce.warnOnce)(`${property}="${value}" has multiple values after its first conditional. Write the base value before the first conditional.`);
1689
1715
  if (warnMode === 1 && (!import_getCSSStylesAtomic.canGenerateCSS || !state.flatShouldDoClasses) && conditions & 12 && !hasBase) {
1690
1716
  const resting = property === "opacity" || property.startsWith("scale") ? 1 : property === "rotate" ? "0deg" : property === "x" || property === "y" ? 0 : null;
1691
1717
  if (resting !== null && !state.flatPropertyLayers?.has(property)) emitConditionalValue(state, property, resting, parentCondition, resting, sink, warnMode, contextOnly);
@@ -1728,19 +1754,21 @@ function contributeValue(state, property, value, originalValue, contextOnly = fa
1728
1754
  }
1729
1755
  function clearDirectStyle(state, property) {
1730
1756
  const direct = state;
1757
+ if (direct.flatDynamicColors) delete direct.flatDynamicColors[property];
1731
1758
  property = webStyleProperty(property);
1732
1759
  const propertyKind = (0, import_grammarConfig.getConfigRevisionState)(state.conf).propertyKind(property);
1733
1760
  const atomicKey = property.startsWith("transition") ? "transition" : propertyKind > 0 && propertyKind < 5 ? "boxShadow" : propertyKind === 6 ? "textShadow" : propertyKind === 5 ? "transform" : property;
1734
1761
  const slot = styleSlot(atomicKey);
1735
1762
  direct.flatAtomics?.delete(slot);
1736
1763
  if (direct.flatSlots) {
1737
- if (slot !== atomicKey) {
1764
+ if (slot !== atomicKey || atomicKey === "flex") {
1738
1765
  const entries = direct.flatSlots.get(slot);
1739
1766
  if (entries) {
1740
1767
  for (let index = entries.length; index--;) if (entries[index][0] === atomicKey) entries.splice(index, 1);
1768
+ if (!entries.length) direct.flatSlots.delete(slot);
1741
1769
  }
1742
1770
  }
1743
- direct.flatSlots.delete(atomicKey);
1771
+ if (atomicKey !== "flex") direct.flatSlots.delete(atomicKey);
1744
1772
  }
1745
1773
  if (atomicKey === "transform") state.transformAccumulator = void 0;
1746
1774
  if (state.style) delete state.style[atomicKey];