@tamagui/static 3.0.0-beta.1574.1 → 3.0.0-beta.1577.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.
@@ -99,7 +99,15 @@ function cloneDeepSafe(x, excludeKeys = {}) {
99
99
  if (typeof x === "function") return `Function`;
100
100
  if (typeof x !== "object") return x;
101
101
  if ("$$typeof" in x) return "Component";
102
- return Object.fromEntries(Object.entries(x).flatMap(([k, v]) => excludeKeys[k] ? [] : [[k, cloneDeepSafe(v)]]));
102
+ const entries = Object.entries(x);
103
+ let kept = 0;
104
+ for (const entry of entries) {
105
+ if (excludeKeys[entry[0]]) continue;
106
+ entry[1] = cloneDeepSafe(entry[1]);
107
+ entries[kept++] = entry;
108
+ }
109
+ entries.length = kept;
110
+ return Object.fromEntries(entries);
103
111
  }
104
112
  function buildPropCategories() {
105
113
  const out = {};
@@ -67,7 +67,15 @@ function cloneDeepSafe(x, excludeKeys = {}) {
67
67
  if (typeof x === "function") return `Function`;
68
68
  if (typeof x !== "object") return x;
69
69
  if ("$$typeof" in x) return "Component";
70
- return Object.fromEntries(Object.entries(x).flatMap(([k, v]) => excludeKeys[k] ? [] : [[k, cloneDeepSafe(v)]]));
70
+ const entries = Object.entries(x);
71
+ let kept = 0;
72
+ for (const entry of entries) {
73
+ if (excludeKeys[entry[0]]) continue;
74
+ entry[1] = cloneDeepSafe(entry[1]);
75
+ entries[kept++] = entry;
76
+ }
77
+ entries.length = kept;
78
+ return Object.fromEntries(entries);
71
79
  }
72
80
  function buildPropCategories() {
73
81
  const out = {};
@@ -1 +1 @@
1
- {"version":3,"file":"regenerateConfig.js","names":[],"sources":["esm/extractor/regenerateConfig.js"],"sourcesContent":["import { dirname, join } from \"node:path\";\nimport { createRequire } from \"node:module\";\nimport { generateThemes, writeGeneratedThemes } from \"@tamagui/generate-themes\";\nimport { stylePropsAll } from \"@tamagui/helpers\";\nimport { grammarEntries } from \"@tamagui/style-grammar/tooling\";\nimport FS from \"fs-extra\";\nimport { generateConfigMarkdown } from \"./generateConfigMarkdown\";\nimport { requireTamaguiCore } from \"../helpers/requireTamaguiCore\";\nimport { getBundledConfig } from \"./bundleConfig\";\nasync function regenerateConfig(tamaguiOptions, configIn, rebuild = false) {\n const config = configIn ?? await getBundledConfig(tamaguiOptions, rebuild);\n if (!config) return;\n const outputs = getConfigOutputs(tamaguiOptions, config);\n await FS.ensureDir(dirname(outputs[0][0]));\n await Promise.all(\n outputs.map(async ([file, content]) => {\n if (await FS.pathExists(file)) {\n if (await FS.readFile(file, \"utf8\") === content) return;\n }\n await FS.writeFile(file, content);\n })\n );\n}\nfunction regenerateConfigSync(tamaguiOptions, config) {\n const outputs = getConfigOutputs(tamaguiOptions, config);\n FS.ensureDirSync(dirname(outputs[0][0]));\n for (const [file, content] of outputs) {\n if (FS.existsSync(file) && FS.readFileSync(file, \"utf8\") === content) continue;\n FS.writeFileSync(file, content);\n }\n}\nfunction getConfigOutputs(options, config) {\n const out = transformConfig(config, options.platform || \"web\");\n const confFile = getConfigFile(options);\n return [\n [confFile, `${JSON.stringify(out, null, 2)}\n`],\n [join(dirname(confFile), \"prompt.md\"), generateConfigMarkdown(out)]\n ];\n}\nasync function generateTamaguiThemes(tamaguiOptions, force = false) {\n if (!tamaguiOptions.themeBuilder) {\n return;\n }\n const { input, output } = tamaguiOptions.themeBuilder;\n const root = tamaguiOptions.root || process.cwd();\n const tamaguiDir = join(root, \".tamagui\");\n const projectRequire = createRequire(join(root, \"package.json\"));\n const inPath = resolveRelativePath(input, root, projectRequire);\n const outPath = resolveRelativePath(output, root, projectRequire);\n const generatedOutput = await generateThemes(inPath);\n const hasChanged = force || await (async () => {\n try {\n if (!generatedOutput) return false;\n const next = generatedOutput.generated;\n const current = await FS.readFile(outPath, \"utf-8\");\n return next !== current;\n } catch (err) {\n }\n return true;\n })();\n if (hasChanged) {\n await writeGeneratedThemes(tamaguiDir, outPath, generatedOutput);\n }\n return hasChanged;\n}\nconst getConfigFile = (options) => join(options.root || process.cwd(), \".tamagui\", \"tamagui.config.json\");\nconst resolveRelativePath = (inputPath, root, projectRequire) => inputPath.startsWith(\".\") ? join(root, inputPath) : projectRequire.resolve(inputPath);\nfunction cloneDeepSafe(x, excludeKeys = {}) {\n if (!x) return x;\n if (Array.isArray(x)) return x.map((_) => cloneDeepSafe(_));\n if (typeof x === \"function\") return `Function`;\n if (typeof x !== \"object\") return x;\n if (\"$$typeof\" in x) return \"Component\";\n return Object.fromEntries(\n Object.entries(x).flatMap(([k, v]) => excludeKeys[k] ? [] : [[k, cloneDeepSafe(v)]])\n );\n}\nfunction buildPropCategories() {\n const out = {};\n const byPrefix = {};\n for (const entry of grammarEntries) {\n if (entry.tokenCategory) out[entry.prop] = entry.tokenCategory;\n if (entry.prefix) (byPrefix[entry.prefix] ||= /* @__PURE__ */ new Set()).add(entry.tokenCategory);\n }\n for (const [prefix, categories] of Object.entries(byPrefix)) {\n if (categories.size !== 1) continue;\n const [only] = categories;\n if (only) out[prefix] = only;\n }\n return out;\n}\nfunction transformConfig(config, platform) {\n if (!config) {\n return null;\n }\n const { getVariableValue } = requireTamaguiCore(platform);\n const next = cloneDeepSafe(config, {\n validStyles: true\n });\n const { components, nameToPaths, tamaguiConfig } = next;\n const { themes, tokens } = tamaguiConfig;\n for (const key in themes) {\n const theme = themes[key];\n for (const tkey in theme) {\n theme[tkey] = getVariableValue(theme[tkey]);\n }\n }\n for (const key in tokens) {\n const token = { ...tokens[key] };\n for (const tkey in token) {\n token[tkey] = getVariableValue(token[tkey]);\n }\n }\n for (const component of components) {\n for (const _ in component.nameToInfo) {\n const compDefinition = { ...component.nameToInfo[_] };\n component.nameToInfo[_] = compDefinition;\n const { parentStaticConfig, ...rest } = compDefinition.staticConfig;\n compDefinition.staticConfig = rest;\n }\n }\n next.nameToPaths = {};\n for (const key in nameToPaths) {\n next.nameToPaths[key] = [...nameToPaths[key]];\n }\n const {\n fontsParsed,\n getCSS,\n tokensParsed,\n themeConfig,\n shorthands: _shorthands,\n userShorthands,\n ...cleanedConfig\n } = next.tamaguiConfig;\n return {\n components,\n nameToPaths,\n tamaguiConfigMetadata: {\n themeFields: \"values-only\"\n },\n tamaguiConfig: {\n ...cleanedConfig,\n // Output userShorthands as shorthands (excludes built-ins)\n shorthands: userShorthands,\n propCategories: buildPropCategories(),\n // every prop that can carry a style value. the shorthand tables alone\n // miss any long-form prop with no shorthand (`gap`, `backgroundColor`),\n // and the language server was silent inside exactly those.\n styleProps: Object.keys(stylePropsAll)\n }\n };\n}\nexport {\n generateTamaguiThemes,\n regenerateConfig,\n regenerateConfigSync\n};\n//# sourceMappingURL=regenerateConfig.js.map\n"],"mappings":";;;;;;;;;;;AASA,eAAe,iBAAiB,gBAAgB,UAAU,UAAU,OAAO;CACzE,MAAM,SAAS,YAAY,MAAM,iBAAiB,gBAAgB,OAAO;CACzE,IAAI,CAAC,QAAQ;CACb,MAAM,UAAU,iBAAiB,gBAAgB,MAAM;CACvD,MAAM,GAAG,UAAU,QAAQ,QAAQ,EAAE,CAAC,EAAE,CAAC;CACzC,MAAM,QAAQ,IACZ,QAAQ,IAAI,OAAO,CAAC,MAAM,aAAa;EACrC,IAAI,MAAM,GAAG,WAAW,IAAI,GAAG;GAC7B,IAAI,MAAM,GAAG,SAAS,MAAM,MAAM,MAAM,SAAS;EACnD;EACA,MAAM,GAAG,UAAU,MAAM,OAAO;CAClC,CAAC,CACH;AACF;AACA,SAAS,qBAAqB,gBAAgB,QAAQ;CACpD,MAAM,UAAU,iBAAiB,gBAAgB,MAAM;CACvD,GAAG,cAAc,QAAQ,QAAQ,EAAE,CAAC,EAAE,CAAC;CACvC,KAAK,MAAM,CAAC,MAAM,YAAY,SAAS;EACrC,IAAI,GAAG,WAAW,IAAI,KAAK,GAAG,aAAa,MAAM,MAAM,MAAM,SAAS;EACtE,GAAG,cAAc,MAAM,OAAO;CAChC;AACF;AACA,SAAS,iBAAiB,SAAS,QAAQ;CACzC,MAAM,MAAM,gBAAgB,QAAQ,QAAQ,YAAY,KAAK;CAC7D,MAAM,WAAW,cAAc,OAAO;CACtC,OAAO,CACL,CAAC,UAAU,GAAG,KAAK,UAAU,KAAK,MAAM,CAAC,EAAE;CAC9C,GACG,CAAC,KAAK,QAAQ,QAAQ,GAAG,WAAW,GAAG,uBAAuB,GAAG,CAAC,CACpE;AACF;AACA,eAAe,sBAAsB,gBAAgB,QAAQ,OAAO;CAClE,IAAI,CAAC,eAAe,cAAc;EAChC;CACF;CACA,MAAM,EAAE,OAAO,WAAW,eAAe;CACzC,MAAM,OAAO,eAAe,QAAQ,QAAQ,IAAI;CAChD,MAAM,aAAa,KAAK,MAAM,UAAU;CACxC,MAAM,iBAAiB,cAAc,KAAK,MAAM,cAAc,CAAC;CAC/D,MAAM,SAAS,oBAAoB,OAAO,MAAM,cAAc;CAC9D,MAAM,UAAU,oBAAoB,QAAQ,MAAM,cAAc;CAChE,MAAM,kBAAkB,MAAM,eAAe,MAAM;CACnD,MAAM,aAAa,SAAS,OAAO,YAAY;EAC7C,IAAI;GACF,IAAI,CAAC,iBAAiB,OAAO;GAC7B,MAAM,OAAO,gBAAgB;GAC7B,MAAM,UAAU,MAAM,GAAG,SAAS,SAAS,OAAO;GAClD,OAAO,SAAS;EAClB,SAAS,KAAK,CACd;EACA,OAAO;CACT,EAAC,CAAE;CACH,IAAI,YAAY;EACd,MAAM,qBAAqB,YAAY,SAAS,eAAe;CACjE;CACA,OAAO;AACT;AACA,MAAM,iBAAiB,YAAY,KAAK,QAAQ,QAAQ,QAAQ,IAAI,GAAG,YAAY,qBAAqB;AACxG,MAAM,uBAAuB,WAAW,MAAM,mBAAmB,UAAU,WAAW,GAAG,IAAI,KAAK,MAAM,SAAS,IAAI,eAAe,QAAQ,SAAS;AACrJ,SAAS,cAAc,GAAG,cAAc,CAAC,GAAG;CAC1C,IAAI,CAAC,GAAG,OAAO;CACf,IAAI,MAAM,QAAQ,CAAC,GAAG,OAAO,EAAE,KAAK,MAAM,cAAc,CAAC,CAAC;CAC1D,IAAI,OAAO,MAAM,YAAY,OAAO;CACpC,IAAI,OAAO,MAAM,UAAU,OAAO;CAClC,IAAI,cAAc,GAAG,OAAO;CAC5B,OAAO,OAAO,YACZ,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CACrF;AACF;AACA,SAAS,sBAAsB;CAC7B,MAAM,MAAM,CAAC;CACb,MAAM,WAAW,CAAC;CAClB,KAAK,MAAM,SAAS,gBAAgB;EAClC,IAAI,MAAM,eAAe,IAAI,MAAM,QAAQ,MAAM;EACjD,IAAI,MAAM,QAAQ,CAAC,SAAS,MAAM,4BAA4B,IAAI,IAAI,EAAC,CAAE,IAAI,MAAM,aAAa;CAClG;CACA,KAAK,MAAM,CAAC,QAAQ,eAAe,OAAO,QAAQ,QAAQ,GAAG;EAC3D,IAAI,WAAW,SAAS,GAAG;EAC3B,MAAM,CAAC,QAAQ;EACf,IAAI,MAAM,IAAI,UAAU;CAC1B;CACA,OAAO;AACT;AACA,SAAS,gBAAgB,QAAQ,UAAU;CACzC,IAAI,CAAC,QAAQ;EACX,OAAO;CACT;CACA,MAAM,EAAE,qBAAqB,mBAAmB,QAAQ;CACxD,MAAM,OAAO,cAAc,QAAQ,EACjC,aAAa,KACf,CAAC;CACD,MAAM,EAAE,YAAY,aAAa,kBAAkB;CACnD,MAAM,EAAE,QAAQ,WAAW;CAC3B,KAAK,MAAM,OAAO,QAAQ;EACxB,MAAM,QAAQ,OAAO;EACrB,KAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,QAAQ,iBAAiB,MAAM,KAAK;EAC5C;CACF;CACA,KAAK,MAAM,OAAO,QAAQ;EACxB,MAAM,QAAQ,EAAE,GAAG,OAAO,KAAK;EAC/B,KAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,QAAQ,iBAAiB,MAAM,KAAK;EAC5C;CACF;CACA,KAAK,MAAM,aAAa,YAAY;EAClC,KAAK,MAAM,KAAK,UAAU,YAAY;GACpC,MAAM,iBAAiB,EAAE,GAAG,UAAU,WAAW,GAAG;GACpD,UAAU,WAAW,KAAK;GAC1B,MAAM,EAAE,oBAAoB,GAAG,SAAS,eAAe;GACvD,eAAe,eAAe;EAChC;CACF;CACA,KAAK,cAAc,CAAC;CACpB,KAAK,MAAM,OAAO,aAAa;EAC7B,KAAK,YAAY,OAAO,CAAC,GAAG,YAAY,IAAI;CAC9C;CACA,MAAM,EACJ,aACA,QACA,cACA,aACA,YAAY,aACZ,gBACA,GAAG,kBACD,KAAK;CACT,OAAO;EACL;EACA;EACA,uBAAuB,EACrB,aAAa,cACf;EACA,eAAe;GACb,GAAG;GAEH,YAAY;GACZ,gBAAgB,oBAAoB;GAIpC,YAAY,OAAO,KAAK,aAAa;EACvC;CACF;AACF"}
1
+ {"version":3,"file":"regenerateConfig.js","names":[],"sources":["esm/extractor/regenerateConfig.js"],"sourcesContent":["import { dirname, join } from \"node:path\";\nimport { createRequire } from \"node:module\";\nimport { generateThemes, writeGeneratedThemes } from \"@tamagui/generate-themes\";\nimport { stylePropsAll } from \"@tamagui/helpers\";\nimport { grammarEntries } from \"@tamagui/style-grammar/tooling\";\nimport FS from \"fs-extra\";\nimport { generateConfigMarkdown } from \"./generateConfigMarkdown\";\nimport { requireTamaguiCore } from \"../helpers/requireTamaguiCore\";\nimport { getBundledConfig } from \"./bundleConfig\";\nasync function regenerateConfig(tamaguiOptions, configIn, rebuild = false) {\n const config = configIn ?? await getBundledConfig(tamaguiOptions, rebuild);\n if (!config) return;\n const outputs = getConfigOutputs(tamaguiOptions, config);\n await FS.ensureDir(dirname(outputs[0][0]));\n await Promise.all(\n outputs.map(async ([file, content]) => {\n if (await FS.pathExists(file)) {\n if (await FS.readFile(file, \"utf8\") === content) return;\n }\n await FS.writeFile(file, content);\n })\n );\n}\nfunction regenerateConfigSync(tamaguiOptions, config) {\n const outputs = getConfigOutputs(tamaguiOptions, config);\n FS.ensureDirSync(dirname(outputs[0][0]));\n for (const [file, content] of outputs) {\n if (FS.existsSync(file) && FS.readFileSync(file, \"utf8\") === content) continue;\n FS.writeFileSync(file, content);\n }\n}\nfunction getConfigOutputs(options, config) {\n const out = transformConfig(config, options.platform || \"web\");\n const confFile = getConfigFile(options);\n return [\n [confFile, `${JSON.stringify(out, null, 2)}\n`],\n [join(dirname(confFile), \"prompt.md\"), generateConfigMarkdown(out)]\n ];\n}\nasync function generateTamaguiThemes(tamaguiOptions, force = false) {\n if (!tamaguiOptions.themeBuilder) {\n return;\n }\n const { input, output } = tamaguiOptions.themeBuilder;\n const root = tamaguiOptions.root || process.cwd();\n const tamaguiDir = join(root, \".tamagui\");\n const projectRequire = createRequire(join(root, \"package.json\"));\n const inPath = resolveRelativePath(input, root, projectRequire);\n const outPath = resolveRelativePath(output, root, projectRequire);\n const generatedOutput = await generateThemes(inPath);\n const hasChanged = force || await (async () => {\n try {\n if (!generatedOutput) return false;\n const next = generatedOutput.generated;\n const current = await FS.readFile(outPath, \"utf-8\");\n return next !== current;\n } catch (err) {\n }\n return true;\n })();\n if (hasChanged) {\n await writeGeneratedThemes(tamaguiDir, outPath, generatedOutput);\n }\n return hasChanged;\n}\nconst getConfigFile = (options) => join(options.root || process.cwd(), \".tamagui\", \"tamagui.config.json\");\nconst resolveRelativePath = (inputPath, root, projectRequire) => inputPath.startsWith(\".\") ? join(root, inputPath) : projectRequire.resolve(inputPath);\nfunction cloneDeepSafe(x, excludeKeys = {}) {\n if (!x) return x;\n if (Array.isArray(x)) return x.map((_) => cloneDeepSafe(_));\n if (typeof x === \"function\") return `Function`;\n if (typeof x !== \"object\") return x;\n if (\"$$typeof\" in x) return \"Component\";\n const entries = Object.entries(x);\n let kept = 0;\n for (const entry of entries) {\n if (excludeKeys[entry[0]]) continue;\n entry[1] = cloneDeepSafe(entry[1]);\n entries[kept++] = entry;\n }\n entries.length = kept;\n return Object.fromEntries(entries);\n}\nfunction buildPropCategories() {\n const out = {};\n const byPrefix = {};\n for (const entry of grammarEntries) {\n if (entry.tokenCategory) out[entry.prop] = entry.tokenCategory;\n if (entry.prefix) (byPrefix[entry.prefix] ||= /* @__PURE__ */ new Set()).add(entry.tokenCategory);\n }\n for (const [prefix, categories] of Object.entries(byPrefix)) {\n if (categories.size !== 1) continue;\n const [only] = categories;\n if (only) out[prefix] = only;\n }\n return out;\n}\nfunction transformConfig(config, platform) {\n if (!config) {\n return null;\n }\n const { getVariableValue } = requireTamaguiCore(platform);\n const next = cloneDeepSafe(config, {\n validStyles: true\n });\n const { components, nameToPaths, tamaguiConfig } = next;\n const { themes, tokens } = tamaguiConfig;\n for (const key in themes) {\n const theme = themes[key];\n for (const tkey in theme) {\n theme[tkey] = getVariableValue(theme[tkey]);\n }\n }\n for (const key in tokens) {\n const token = { ...tokens[key] };\n for (const tkey in token) {\n token[tkey] = getVariableValue(token[tkey]);\n }\n }\n for (const component of components) {\n for (const _ in component.nameToInfo) {\n const compDefinition = { ...component.nameToInfo[_] };\n component.nameToInfo[_] = compDefinition;\n const { parentStaticConfig, ...rest } = compDefinition.staticConfig;\n compDefinition.staticConfig = rest;\n }\n }\n next.nameToPaths = {};\n for (const key in nameToPaths) {\n next.nameToPaths[key] = [...nameToPaths[key]];\n }\n const {\n fontsParsed,\n getCSS,\n tokensParsed,\n themeConfig,\n shorthands: _shorthands,\n userShorthands,\n ...cleanedConfig\n } = next.tamaguiConfig;\n return {\n components,\n nameToPaths,\n tamaguiConfigMetadata: {\n themeFields: \"values-only\"\n },\n tamaguiConfig: {\n ...cleanedConfig,\n // Output userShorthands as shorthands (excludes built-ins)\n shorthands: userShorthands,\n propCategories: buildPropCategories(),\n // every prop that can carry a style value. the shorthand tables alone\n // miss any long-form prop with no shorthand (`gap`, `backgroundColor`),\n // and the language server was silent inside exactly those.\n styleProps: Object.keys(stylePropsAll)\n }\n };\n}\nexport {\n generateTamaguiThemes,\n regenerateConfig,\n regenerateConfigSync\n};\n//# sourceMappingURL=regenerateConfig.js.map\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/static",
3
- "version": "3.0.0-beta.1574.1",
3
+ "version": "3.0.0-beta.1577.1",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "license": "MIT",
6
6
  "source": "src/index.ts",
@@ -45,22 +45,22 @@
45
45
  "clean:build": "tamagui-build clean:build"
46
46
  },
47
47
  "dependencies": {
48
- "@tamagui/animation-helpers": "3.0.0-beta.1574.1",
49
- "@tamagui/cli-color": "3.0.0-beta.1574.1",
50
- "@tamagui/compiler-core": "3.0.0-beta.1574.1",
51
- "@tamagui/config-default": "3.0.0-beta.1574.1",
52
- "@tamagui/core": "3.0.0-beta.1574.1",
53
- "@tamagui/dom": "3.0.0-beta.1574.1",
54
- "@tamagui/fake-react-native": "3.0.0-beta.1574.1",
55
- "@tamagui/generate-themes": "3.0.0-beta.1574.1",
56
- "@tamagui/helpers": "3.0.0-beta.1574.1",
57
- "@tamagui/helpers-node": "3.0.0-beta.1574.1",
58
- "@tamagui/react-native-web-internals": "3.0.0-beta.1574.1",
59
- "@tamagui/react-native-web-lite": "3.0.0-beta.1574.1",
60
- "@tamagui/shorthands": "3.0.0-beta.1574.1",
61
- "@tamagui/style-grammar": "3.0.0-beta.1574.1",
62
- "@tamagui/types": "3.0.0-beta.1574.1",
63
- "@tamagui/web": "3.0.0-beta.1574.1",
48
+ "@tamagui/animation-helpers": "3.0.0-beta.1577.1",
49
+ "@tamagui/cli-color": "3.0.0-beta.1577.1",
50
+ "@tamagui/compiler-core": "3.0.0-beta.1577.1",
51
+ "@tamagui/config-default": "3.0.0-beta.1577.1",
52
+ "@tamagui/core": "3.0.0-beta.1577.1",
53
+ "@tamagui/dom": "3.0.0-beta.1577.1",
54
+ "@tamagui/fake-react-native": "3.0.0-beta.1577.1",
55
+ "@tamagui/generate-themes": "3.0.0-beta.1577.1",
56
+ "@tamagui/helpers": "3.0.0-beta.1577.1",
57
+ "@tamagui/helpers-node": "3.0.0-beta.1577.1",
58
+ "@tamagui/react-native-web-internals": "3.0.0-beta.1577.1",
59
+ "@tamagui/react-native-web-lite": "3.0.0-beta.1577.1",
60
+ "@tamagui/shorthands": "3.0.0-beta.1577.1",
61
+ "@tamagui/style-grammar": "3.0.0-beta.1577.1",
62
+ "@tamagui/types": "3.0.0-beta.1577.1",
63
+ "@tamagui/web": "3.0.0-beta.1577.1",
64
64
  "browserslist": "^4.28.1",
65
65
  "check-dependency-version-consistency": "^4.1.0",
66
66
  "esbuild": "0.28.1",
@@ -73,7 +73,7 @@
73
73
  "react-native-web": "~0.21.0"
74
74
  },
75
75
  "devDependencies": {
76
- "@tamagui/build": "3.0.0-beta.1574.1",
76
+ "@tamagui/build": "3.0.0-beta.1577.1",
77
77
  "@types/find-root": "^1.1.2",
78
78
  "@types/node": "^22.1.0",
79
79
  "@types/webpack": "^4.41.26",
@@ -94,5 +94,5 @@
94
94
  "url": "git+https://github.com/tamagui/tamagui.git",
95
95
  "directory": "code/compiler/static"
96
96
  },
97
- "releaseSourceCommit": "0bf6b0676459d52b4e8775d8f82ecfec7a95c64b"
97
+ "releaseSourceCommit": "980b3a380372214960b940793500cb42394a36fb"
98
98
  }
@@ -111,9 +111,16 @@ function cloneDeepSafe(x: any, excludeKeys = {}) {
111
111
  if (typeof x === 'function') return `Function`
112
112
  if (typeof x !== 'object') return x
113
113
  if ('$$typeof' in x) return 'Component'
114
- return Object.fromEntries(
115
- Object.entries(x).flatMap(([k, v]) => (excludeKeys[k] ? [] : [[k, cloneDeepSafe(v)]]))
116
- )
114
+ // reuse the entry pairs while preserving the snapshot of getter values.
115
+ const entries = Object.entries(x)
116
+ let kept = 0
117
+ for (const entry of entries) {
118
+ if (excludeKeys[entry[0]]) continue
119
+ entry[1] = cloneDeepSafe(entry[1])
120
+ entries[kept++] = entry
121
+ }
122
+ entries.length = kept
123
+ return Object.fromEntries(entries)
117
124
  }
118
125
 
119
126
  /**