@tamagui/static 3.0.0-beta.881.1 → 3.0.0-beta.889.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.
@@ -892,6 +892,10 @@ function createTamaguiCompilerHost(options) {
892
892
  };
893
893
  const styledStaticConfig = (definition) => {
894
894
  if (!definition || definition.options.kind !== "static") return null;
895
+ const staticConfig = definition.staticConfig;
896
+ if (staticConfig && (staticConfig.kind !== "static" || !staticObject(staticConfig.value))) {
897
+ return null;
898
+ }
895
899
  const base = directStaticConfig({
896
900
  kind: "element",
897
901
  form: "jsx",
@@ -908,6 +912,7 @@ function createTamaguiCompilerHost(options) {
908
912
  const baseClassName = definition.baseClassName?.kind === "static" && typeof definition.baseClassName.value === "string" ? definition.baseClassName.value : void 0;
909
913
  const localStaticConfig = {
910
914
  ...base.staticConfig,
915
+ ...staticConfig?.value,
911
916
  variants: {
912
917
  ...base.staticConfig.variants,
913
918
  ...variants
@@ -931,7 +936,7 @@ function createTamaguiCompilerHost(options) {
931
936
  };
932
937
  const resolve = (element, styledDefinition) => {
933
938
  const dom = domStaticConfig(element);
934
- const resolved = dom ?? styledStaticConfig(styledDefinition) ?? directStaticConfig(element);
939
+ const resolved = dom ?? directStaticConfig(element) ?? styledStaticConfig(styledDefinition);
935
940
  if (!resolved) return null;
936
941
  const defaultProps = resolved.staticConfig.defaultProps ?? {};
937
942
  return {
@@ -29,6 +29,10 @@ __export(componentDiscovery_exports, { ComponentDiscovery: () => ComponentDiscov
29
29
  module.exports = __toCommonJS(componentDiscovery_exports);
30
30
  var import_node_path = __toESM(require("node:path"), 1);
31
31
  var import_bundleConfig = require("./extractor/bundleConfig.cjs");
32
+ const packageSpecifier = /^(?:@[^/@\s]+\/)?[^./~@\s][^/\s]*(?:\/|$)/;
33
+ function isPackageSpecifier(specifier) {
34
+ return packageSpecifier.test(specifier);
35
+ }
32
36
  var ComponentDiscovery = class {
33
37
  /** null records a module that had no components or could not evaluate */
34
38
  #discovered = /* @__PURE__ */ new Map();
@@ -52,7 +56,7 @@ var ComponentDiscovery = class {
52
56
  const seen = /* @__PURE__ */ new Set();
53
57
  const provenances = [...module2.elements.map((element) => element.component.provenance), ...module2.styledDefinitions.map((definition) => definition.base.provenance)];
54
58
  for (const provenance of provenances) {
55
- if (!provenance) continue;
59
+ if (!provenance || !isPackageSpecifier(provenance.specifier)) continue;
56
60
  const id = provenance.resolvedId.split(/[?#]/, 1)[0];
57
61
  if (seen.has(id) || registry.modulesById.has(id) || this.#discovered.has(id)) {
58
62
  continue;
@@ -867,6 +867,10 @@ function createTamaguiCompilerHost(options) {
867
867
  };
868
868
  const styledStaticConfig = (definition) => {
869
869
  if (!definition || definition.options.kind !== "static") return null;
870
+ const staticConfig = definition.staticConfig;
871
+ if (staticConfig && (staticConfig.kind !== "static" || !staticObject(staticConfig.value))) {
872
+ return null;
873
+ }
870
874
  const base = directStaticConfig({
871
875
  kind: "element",
872
876
  form: "jsx",
@@ -883,6 +887,7 @@ function createTamaguiCompilerHost(options) {
883
887
  const baseClassName = definition.baseClassName?.kind === "static" && typeof definition.baseClassName.value === "string" ? definition.baseClassName.value : void 0;
884
888
  const localStaticConfig = {
885
889
  ...base.staticConfig,
890
+ ...staticConfig?.value,
886
891
  variants: {
887
892
  ...base.staticConfig.variants,
888
893
  ...variants
@@ -906,7 +911,7 @@ function createTamaguiCompilerHost(options) {
906
911
  };
907
912
  const resolve = (element, styledDefinition) => {
908
913
  const dom = domStaticConfig(element);
909
- const resolved = dom ?? styledStaticConfig(styledDefinition) ?? directStaticConfig(element);
914
+ const resolved = dom ?? directStaticConfig(element) ?? styledStaticConfig(styledDefinition);
910
915
  if (!resolved) return null;
911
916
  const defaultProps = resolved.staticConfig.defaultProps ?? {};
912
917
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"compilerHost.js","names":["validStylesView","validStyles"],"sources":["esm/compilerHost.js"],"sourcesContent":["import {\n collectLeaves,\n zeroRuleMessage,\n zeroThemeBoundaryMessage\n} from \"@tamagui/compiler-core\";\nimport {\n StyleObjectIdentifier,\n StyleObjectProperty,\n StyleObjectRules,\n StyleObjectValue,\n stylePropsAll,\n stylePropsInput,\n stylePropsText,\n validStyles as validStylesView\n} from \"@tamagui/helpers\";\nimport {\n ATTRIBUTES,\n DISPLAY_WEB_RESET,\n EVENTS,\n NATIVE_BACKING,\n NATIVE_BLOCK_DEFAULTS,\n NATIVE_ELEMENT_DEFAULTS,\n NATIVE_FLEX_DEFAULTS,\n NATIVE_INPUT_TYPES,\n NATIVE_PRIMITIVE_MODULE,\n TAGS,\n TAG_WEB_DEFAULTS\n} from \"@tamagui/dom\";\nimport {\n createModifierRegistry,\n parseTransition,\n parseValue\n} from \"@tamagui/style-grammar/tooling\";\nimport { isValidStyleKey } from \"@tamagui/web\";\nimport { concatClassName } from \"./extractor/concatClassName\";\nimport { requireTamaguiCore } from \"./helpers/requireTamaguiCore\";\nfunction createComponentRegistry(components, componentModules) {\n return {\n modulesById: new Map(\n componentModules.map((module) => [module.resolvedId, module.moduleName])\n ),\n componentsByModule: new Map(\n components.map((component) => [component.moduleName, component])\n )\n };\n}\nconst DOM_FRONTENDS = /* @__PURE__ */ new Set([\n \"tamagui\",\n \"tamagui/dom\",\n \"@tamagui/core\",\n \"@tamagui/core/dom\",\n \"@tamagui/tailwind\"\n]);\nconst componentState = {\n focus: false,\n focusVisible: false,\n focusWithin: false,\n hover: false,\n unmounted: true,\n press: false,\n pressIn: false,\n disabled: false\n};\nfunction staticObject(value) {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nconst flatClausePattern = /(?:^|\\s)@?[A-Za-z][A-Za-z0-9-]*(?:\\/[A-Za-z0-9_-]+)?:/;\nconst nativeInheritedKeywordPattern = /(?:^|:)(?:inherit|unset)(?=\\s|$)/;\nconst nativeInitialKeywordPattern = /(?:^|:)initial(?=\\s|$)/;\nconst nativeRuntimeOnlyStyleProperties = /* @__PURE__ */ new Set([\"textIndent\"]);\nfunction componentKey(resolvedId, exportName) {\n return `${resolvedId}#${exportName}`;\n}\nfunction cssFromRules(rules) {\n return Object.values(rules).flatMap((styleObject) => {\n const identifier = styleObject?.[StyleObjectIdentifier];\n const styleRules = styleObject?.[StyleObjectRules];\n return identifier && Array.isArray(styleRules) ? styleRules : [];\n });\n}\nfunction jsxClassName(value) {\n return `className=${JSON.stringify(value)}`;\n}\nfunction objectClassName(value) {\n return `className: ${JSON.stringify(value)}`;\n}\nfunction serializedStyle(style, dynamicProperties) {\n if (dynamicProperties.length === 0) return style ? JSON.stringify(style) : \"\";\n return `{ ${[\n ...style ? Object.entries(style).map(\n ([name, value]) => `${JSON.stringify(name)}: ${JSON.stringify(value)}`\n ) : [],\n ...dynamicProperties\n ].join(\", \")} }`;\n}\nfunction jsxStyleAttributes(className, style, dynamicProperties = []) {\n const serialized = serializedStyle(style, dynamicProperties);\n return [\n className ? jsxClassName(className) : \"\",\n serialized ? `style={${serialized}}` : \"\"\n ].filter(Boolean).join(\" \");\n}\nfunction objectStyleProperties(className, style, dynamicProperties = []) {\n const serialized = serializedStyle(style, dynamicProperties);\n return [\n className ? objectClassName(className) : \"\",\n serialized ? `style: ${serialized}` : \"\"\n ].filter(Boolean).join(\", \");\n}\nfunction extractedStyleArtifacts(split, props, config, includeRuntimeBase = true, hasStyleFrontend = false) {\n const callerClassName = !hasStyleFrontend && typeof props.className === \"string\" ? props.className : \"\";\n const viewClassName = typeof split.viewProps?.className === \"string\" ? split.viewProps.className : \"\";\n const classNameWithoutCaller = callerClassName && viewClassName.endsWith(callerClassName) ? viewClassName.slice(0, -callerClassName.length).trimEnd() : viewClassName;\n const rules = split.rulesToInsert ?? {};\n const mediaNames = new Set(Object.keys(config.media ?? {}));\n const pseudoNames = [\n \"hover\",\n \"press\",\n \"focus\",\n \"focusVisible\",\n \"focusWithin\",\n \"disabled\"\n ];\n const buckets = {\n group: [],\n normal: [],\n pseudo: [],\n theme: [],\n media: []\n };\n const classKeys = /* @__PURE__ */ new Map();\n for (const [key, identifier] of Object.entries(split.classNames ?? {})) {\n if (typeof identifier === \"string\") classKeys.set(identifier, key);\n }\n const identifiers = /* @__PURE__ */ new Set([\n ...classKeys.keys(),\n ...Object.values(rules).flatMap((styleObject) => {\n const identifier = styleObject?.[StyleObjectIdentifier];\n return typeof identifier === \"string\" ? [identifier] : [];\n })\n ]);\n for (const identifier of identifiers) {\n const key = classKeys.get(identifier) ?? \"\";\n const css2 = cssFromRules(\n Object.fromEntries(\n Object.entries(rules).filter(\n ([, styleObject]) => styleObject?.[StyleObjectIdentifier] === identifier\n )\n )\n ).join(\"\");\n if (identifier.startsWith(\"t_group_\")) {\n buckets.group.push(identifier);\n } else if (pseudoNames.some((name) => key.endsWith(`-${name}`))) {\n buckets.pseudo.push(identifier);\n } else if (css2.includes(\".t_\")) {\n buckets.theme.push(identifier);\n } else if ([...mediaNames].some((name) => key.endsWith(`-${name}`))) {\n buckets.media.push(identifier);\n } else {\n buckets.normal.push(identifier);\n }\n }\n const orderedIdentifiers = [\n ...buckets.group,\n ...buckets.normal,\n ...buckets.pseudo,\n ...buckets.theme,\n ...buckets.media\n ];\n const orderedSet = new Set(orderedIdentifiers);\n const baseViewClassName = includeRuntimeBase ? classNameWithoutCaller.split(/\\s+/).filter((token) => token && !orderedSet.has(token)).join(\" \") : \"\";\n const css = orderedIdentifiers.flatMap((identifier) => {\n const identifierRules = cssFromRules(\n Object.fromEntries(\n Object.entries(rules).filter(\n ([, styleObject]) => styleObject?.[StyleObjectIdentifier] === identifier\n )\n )\n );\n return buckets.theme.includes(identifier) ? identifierRules.map(\n (rule) => rule.replace(\":root:root:root.t_\", \":root:root:root:root.t_\")\n ) : identifierRules;\n });\n return {\n className: concatClassName(baseViewClassName, orderedIdentifiers, callerClassName),\n css\n };\n}\nfunction spreadNonStyleReplacement(form, entry, isPropIgnored, rewriteProp) {\n if (entry.kind !== \"spread\" || entry.value.kind !== \"static\" || !staticObject(entry.value.value)) {\n return \"\";\n }\n const nonStyleEntries = Object.entries(entry.value.value).filter(([key]) => !isPropIgnored(key)).map(([key, value]) => rewriteProp(key, value));\n if (nonStyleEntries.length === 0) return \"\";\n const objectSource = `{ ${nonStyleEntries.map(([key, value]) => `${JSON.stringify(key)}: ${JSON.stringify(value)}`).join(\", \")} }`;\n return form === \"jsx\" ? `{...${objectSource}}` : `...${objectSource}`;\n}\nfunction compiledPropsEdits(input, styleEntries, replacement, spreadReplacement) {\n const propsSpan = input.element.propsSpan;\n if (!propsSpan) return null;\n const original = input.source.slice(propsSpan.start, propsSpan.end);\n const trimmed = original.trim();\n if (!trimmed.startsWith(\"{\") || !trimmed.endsWith(\"}\")) {\n return [\n {\n start: propsSpan.start,\n end: propsSpan.end,\n content: `{ ${replacement} }`,\n origin: propsSpan\n }\n ];\n }\n if (styleEntries.length === 0) {\n const close = original.lastIndexOf(\"}\");\n const separator = original.slice(1, close).trim() ? \", \" : \" \";\n const position = propsSpan.start + close;\n return [\n {\n start: position,\n end: position,\n content: `${separator}${replacement} `,\n origin: propsSpan\n }\n ];\n }\n const edits = [];\n for (const [index, entry] of styleEntries.entries()) {\n let start = entry.span.start;\n let end = entry.span.end;\n const nonStyle = spreadReplacement?.(entry) ?? \"\";\n if (index === 0) {\n const content = [replacement, nonStyle].filter(Boolean).join(\", \");\n edits.push({ start, end, content, origin: entry.span });\n continue;\n }\n let cursor = end - propsSpan.start;\n while (cursor < original.length - 1 && /\\s/.test(original[cursor])) cursor++;\n if (original[cursor] === \",\") {\n end = propsSpan.start + cursor + 1;\n } else {\n cursor = start - propsSpan.start - 1;\n while (cursor > 0 && /\\s/.test(original[cursor])) cursor--;\n if (original[cursor] === \",\") start = propsSpan.start + cursor;\n }\n edits.push({ start, end, content: nonStyle, origin: entry.span });\n }\n const merged = [];\n for (const edit of edits.sort((left, right) => left.start - right.start)) {\n const previous = merged.at(-1);\n if (previous && edit.start <= previous.end && !previous.content && !edit.content) {\n previous.end = Math.max(previous.end, edit.end);\n } else {\n merged.push(edit);\n }\n }\n return merged;\n}\nconst compilerStyleProps = /* @__PURE__ */ new Set([\n \"className\",\n \"style\",\n \"group\",\n \"transition\",\n \"animation\",\n \"animateOnly\",\n \"animatePresence\",\n \"animatedBy\",\n \"fontFamily\",\n \"render\"\n]);\nconst runtimeAnimationProps = /* @__PURE__ */ new Set([\n \"transition\",\n \"animation\",\n \"animateOnly\",\n \"animatePresence\",\n \"animatedBy\"\n]);\nconst componentOnlyProps = /* @__PURE__ */ new Set([\"asChild\", \"disableOptimization\", \"themeInverse\"]);\nconst cssShorthandConflicts = {\n background: [\n \"backgroundAttachment\",\n \"backgroundBlendMode\",\n \"backgroundClip\",\n \"backgroundColor\",\n \"backgroundImage\",\n \"backgroundOrigin\",\n \"backgroundPosition\",\n \"backgroundRepeat\",\n \"backgroundSize\"\n ],\n border: [\n \"borderTop\",\n \"borderTopColor\",\n \"borderTopStyle\",\n \"borderTopWidth\",\n \"borderRight\",\n \"borderRightColor\",\n \"borderRightStyle\",\n \"borderRightWidth\",\n \"borderBottom\",\n \"borderBottomColor\",\n \"borderBottomStyle\",\n \"borderBottomWidth\",\n \"borderLeft\",\n \"borderLeftColor\",\n \"borderLeftStyle\",\n \"borderLeftWidth\",\n \"borderColor\",\n \"borderStyle\",\n \"borderWidth\",\n \"borderImage\",\n \"borderImageOutset\",\n \"borderImageRepeat\",\n \"borderImageSlice\",\n \"borderImageSource\",\n \"borderImageWidth\",\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineEndStyle\",\n \"borderInlineEndWidth\",\n \"borderInlineStartColor\",\n \"borderInlineStartStyle\",\n \"borderInlineStartWidth\",\n \"borderInlineStyle\",\n \"borderInlineWidth\"\n ],\n borderTop: [\"borderTopColor\", \"borderTopStyle\", \"borderTopWidth\"],\n borderRight: [\n \"borderRightColor\",\n \"borderRightStyle\",\n \"borderRightWidth\",\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineEndStyle\",\n \"borderInlineEndWidth\",\n \"borderInlineStartColor\",\n \"borderInlineStartStyle\",\n \"borderInlineStartWidth\",\n \"borderInlineStyle\",\n \"borderInlineWidth\"\n ],\n borderBottom: [\"borderBottomColor\", \"borderBottomStyle\", \"borderBottomWidth\"],\n borderLeft: [\n \"borderLeftColor\",\n \"borderLeftStyle\",\n \"borderLeftWidth\",\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineEndStyle\",\n \"borderInlineEndWidth\",\n \"borderInlineStartColor\",\n \"borderInlineStartStyle\",\n \"borderInlineStartWidth\",\n \"borderInlineStyle\",\n \"borderInlineWidth\"\n ],\n borderImage: [\n \"borderImageOutset\",\n \"borderImageRepeat\",\n \"borderImageSlice\",\n \"borderImageSource\",\n \"borderImageWidth\"\n ],\n outline: [\"outlineColor\", \"outlineStyle\", \"outlineWidth\"],\n gap: [\"columnGap\", \"rowGap\"],\n gridColumn: [\"gridColumnEnd\", \"gridColumnStart\"],\n gridRow: [\"gridRowEnd\", \"gridRowStart\"],\n marginInline: [\n \"marginInlineEnd\",\n \"marginInlineStart\",\n \"marginEnd\",\n \"marginStart\",\n \"marginLeft\",\n \"marginRight\"\n ],\n paddingInline: [\n \"paddingInlineEnd\",\n \"paddingInlineStart\",\n \"paddingEnd\",\n \"paddingStart\",\n \"paddingLeft\",\n \"paddingRight\"\n ],\n insetInline: [\"insetInlineEnd\", \"insetInlineStart\", \"end\", \"start\", \"left\", \"right\"],\n borderInlineColor: [\n \"borderInlineEndColor\",\n \"borderInlineStartColor\",\n \"borderEndColor\",\n \"borderStartColor\",\n \"borderLeftColor\",\n \"borderRightColor\"\n ],\n borderInlineStyle: [\n \"borderInlineEndStyle\",\n \"borderInlineStartStyle\",\n \"borderEndStyle\",\n \"borderStartStyle\",\n \"borderLeftStyle\",\n \"borderRightStyle\"\n ],\n borderInlineWidth: [\n \"borderInlineEndWidth\",\n \"borderInlineStartWidth\",\n \"borderEndWidth\",\n \"borderStartWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\"\n ],\n mask: [\n \"maskBorder\",\n \"maskBorderMode\",\n \"maskBorderOutset\",\n \"maskBorderRepeat\",\n \"maskBorderSlice\",\n \"maskBorderSource\",\n \"maskBorderWidth\",\n \"maskClip\",\n \"maskComposite\",\n \"maskImage\",\n \"maskMode\",\n \"maskOrigin\",\n \"maskPosition\",\n \"maskRepeat\",\n \"maskSize\"\n ],\n maskBorder: [\n \"maskBorderMode\",\n \"maskBorderOutset\",\n \"maskBorderRepeat\",\n \"maskBorderSlice\",\n \"maskBorderSource\",\n \"maskBorderWidth\"\n ]\n};\nconst cssConflictFamilies = [\n /* @__PURE__ */ new Set([\"width\", \"inlineSize\"]),\n /* @__PURE__ */ new Set([\"minWidth\", \"minInlineSize\"]),\n /* @__PURE__ */ new Set([\"maxWidth\", \"maxInlineSize\"]),\n /* @__PURE__ */ new Set([\"height\", \"blockSize\"]),\n /* @__PURE__ */ new Set([\"minHeight\", \"minBlockSize\"]),\n /* @__PURE__ */ new Set([\"maxHeight\", \"maxBlockSize\"]),\n /* @__PURE__ */ new Set([\n \"marginInline\",\n \"marginInlineEnd\",\n \"marginInlineStart\",\n \"marginEnd\",\n \"marginStart\",\n \"marginLeft\",\n \"marginRight\"\n ]),\n /* @__PURE__ */ new Set([\n \"paddingInline\",\n \"paddingInlineEnd\",\n \"paddingInlineStart\",\n \"paddingEnd\",\n \"paddingStart\",\n \"paddingLeft\",\n \"paddingRight\"\n ]),\n /* @__PURE__ */ new Set([\n \"insetInline\",\n \"insetInlineEnd\",\n \"insetInlineStart\",\n \"end\",\n \"start\",\n \"left\",\n \"right\"\n ]),\n /* @__PURE__ */ new Set([\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineStartColor\",\n \"borderEndColor\",\n \"borderStartColor\",\n \"borderLeftColor\",\n \"borderRightColor\"\n ]),\n /* @__PURE__ */ new Set([\n \"borderInlineStyle\",\n \"borderInlineEndStyle\",\n \"borderInlineStartStyle\",\n \"borderEndStyle\",\n \"borderStartStyle\",\n \"borderLeftStyle\",\n \"borderRightStyle\"\n ]),\n /* @__PURE__ */ new Set([\n \"borderInlineWidth\",\n \"borderInlineEndWidth\",\n \"borderInlineStartWidth\",\n \"borderEndWidth\",\n \"borderStartWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\"\n ])\n];\nfunction cssOwnersConflict(left, right) {\n for (const leftOwner of left) {\n for (const rightOwner of right) {\n if (leftOwner === rightOwner || cssShorthandConflicts[leftOwner]?.includes(rightOwner) || cssShorthandConflicts[rightOwner]?.includes(leftOwner) || cssConflictFamilies.some(\n (family) => family.has(leftOwner) && family.has(rightOwner)\n )) {\n return true;\n }\n }\n }\n return false;\n}\nconst runtimeEventProps = /* @__PURE__ */ new Set([\n \"onHoverIn\",\n \"onHoverOut\",\n \"onLongPress\",\n \"onPress\",\n \"onPressIn\",\n \"onPressOut\"\n]);\nconst DOM_STYLE_ATTRIBUTES = new Map(\n Object.entries(ATTRIBUTES).filter(\n ([name, row]) => row.native !== \"none\" && row.nativeProp && row.nativeProp !== name && row.nativeProp in stylePropsText\n ).map(([name, row]) => [name, row.nativeProp])\n);\nconst nativePointerEventProps = /* @__PURE__ */ new Set([\n \"onPointerCancel\",\n \"onPointerDown\",\n \"onPointerEnter\",\n \"onPointerLeave\",\n \"onPointerMove\",\n \"onPointerUp\"\n]);\nfunction isSerializableNativeStyle(value) {\n if (value == null || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (typeof value === \"string\") return true;\n if (Array.isArray(value)) return value.every(isSerializableNativeStyle);\n if (!staticObject(value)) return false;\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null) return false;\n return Object.values(value).every(isSerializableNativeStyle);\n}\nfunction unusedIdentifier(source, base) {\n let candidate = base;\n let suffix = 0;\n while (new RegExp(`\\\\b${candidate}\\\\b`).test(source)) {\n candidate = `${base}${++suffix}`;\n }\n return candidate;\n}\nconst VIEW_WRAPPER_PROPS = /^(aria-|accessibilityState$|accessibilityValue$|id$|tabIndex$|nativeID$)/;\nfunction isBareHostView(element) {\n return !element.entries.some(\n (entry) => entry.kind === \"child\" || entry.kind === \"spread\" || entry.kind === \"prop\" && VIEW_WRAPPER_PROPS.test(entry.name)\n );\n}\nfunction entrySource(input, entry) {\n return entry.value.kind === \"static\" ? JSON.stringify(entry.value.value) : input.source.slice(entry.value.span.start, entry.value.span.end);\n}\nfunction renamedPropEdit(input, entry, name) {\n if (entry.name === name) return null;\n const content = input.source.slice(entry.span.start, entry.span.end);\n const offset = content.indexOf(entry.name);\n if (offset === -1) return null;\n const quoted = content[offset - 1] === '\"' || content[offset - 1] === \"'\";\n return {\n start: entry.span.start + offset,\n end: entry.span.start + offset + entry.name.length,\n content: input.element.form === \"jsx\" || quoted ? name : JSON.stringify(name),\n origin: entry.span\n };\n}\nfunction serializedProps(form, props) {\n return props.map(\n ([name, value]) => form === \"jsx\" ? `${name}={${value}}` : `${JSON.stringify(name)}: ${value}`\n ).join(form === \"jsx\" ? \" \" : \", \");\n}\nfunction nativeDOMProps(input, tag) {\n const consumed = [];\n const edits = [];\n const additions = [];\n const nested = /* @__PURE__ */ new Map();\n const entries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\"\n );\n const names = new Set(entries.map((entry) => entry.name));\n if (names.has(\"ref\") || tag === \"br\") additions.push([\"__tag\", JSON.stringify(tag)]);\n if (TAGS[tag].backing === \"text\" || TAGS[tag].backing === \"textinput\") {\n additions.push([\"__inherit\", \"true\"]);\n }\n const add = (name, value) => additions.push([name, value]);\n const consume = (entry) => consumed.push(entry);\n for (const entry of entries) {\n const value = entrySource(input, entry);\n const attribute = (entry.name in ATTRIBUTES ? ATTRIBUTES[entry.name] : void 0) ?? (entry.name.startsWith(\"data-\") ? ATTRIBUTES[\"data-*\"] : void 0);\n const event = entry.name in EVENTS ? EVENTS[entry.name] : void 0;\n if (event) {\n if (event.native === \"none\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `${entry.name} has no native DOM event equivalent`,\n diagnosticSpan: entry.span\n };\n }\n if (entry.name === \"onKeyDown\" && tag !== \"input\" && tag !== \"textarea\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `onKeyDown requires a native text-entry control`,\n diagnosticSpan: entry.span\n };\n }\n if ([\"onClick\", \"onLoad\", \"onError\", \"onChange\", \"onInput\", \"onKeyDown\"].includes(\n entry.name\n )) {\n continue;\n }\n if (event.nativeProp) {\n const edit2 = renamedPropEdit(input, entry, event.nativeProp);\n if (edit2) edits.push(edit2);\n }\n continue;\n }\n if (!attribute || attribute.native === \"none\" || entry.name === \"style\") continue;\n if (DOM_STYLE_ATTRIBUTES.has(entry.name)) {\n if (entry.value.kind !== \"static\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `html.${tag} ${entry.name} must be statically known for native lowering`,\n diagnosticSpan: entry.span\n };\n }\n consume(entry);\n continue;\n }\n if (entry.name === \"hidden\") {\n if (entry.value.kind !== \"static\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `html.${tag} hidden must be statically known for native lowering`,\n diagnosticSpan: entry.span\n };\n }\n consume(entry);\n continue;\n }\n if (entry.name === \"tabIndex\") {\n consume(entry);\n add(\"focusable\", `(${value}) === 0`);\n continue;\n }\n if (entry.name === \"readOnly\") {\n consume(entry);\n add(\"editable\", `!(${value})`);\n continue;\n }\n if (entry.name === \"disabled\") {\n consume(entry);\n add(\"disabled\", value);\n add(\"focusable\", `!(${value})`);\n if (tag === \"input\" || tag === \"textarea\") add(\"editable\", `!(${value})`);\n const state = nested.get(\"accessibilityState\") ?? [];\n state.push([\"disabled\", value]);\n nested.set(\"accessibilityState\", state);\n continue;\n }\n if (entry.name === \"type\") {\n consume(entry);\n if (tag === \"input\" && entry.value.kind !== \"static\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `html.input type must be statically known for native lowering`,\n diagnosticSpan: entry.span\n };\n }\n if (tag === \"input\" && entry.value.kind === \"static\") {\n const type = entry.value.value;\n if (type === \"password\") add(\"secureTextEntry\", \"true\");\n else if (typeof type === \"string\" && type !== \"text\" && NATIVE_INPUT_TYPES.includes(type)) {\n if (!names.has(\"inputMode\")) {\n add(\"inputMode\", JSON.stringify(type === \"number\" ? \"numeric\" : type));\n }\n }\n }\n continue;\n }\n if (entry.name === \"aria-hidden\") {\n consume(entry);\n add(\"accessibilityElementsHidden\", value);\n add(\"importantForAccessibility\", `(${value}) ? \"no-hide-descendants\" : \"auto\"`);\n continue;\n }\n if (entry.name === \"aria-live\") {\n consume(entry);\n add(\n \"accessibilityLiveRegion\",\n entry.value.kind === \"static\" && entry.value.value === \"off\" ? '\"none\"' : value\n );\n continue;\n }\n const nativeProp = attribute.nativeProp;\n if (!nativeProp) continue;\n if (nativeProp.includes(\".\")) {\n consume(entry);\n const [parent, child] = nativeProp.split(\".\");\n const values = nested.get(parent) ?? [];\n values.push([child, value]);\n nested.set(parent, values);\n continue;\n }\n const edit = renamedPropEdit(input, entry, nativeProp);\n if (edit) edits.push(edit);\n }\n for (const [name, values] of nested) {\n add(name, `{ ${values.map(([key, value]) => `${key}: ${value}`).join(\", \")} }`);\n }\n if (!names.has(\"role\") && TAGS[tag].role) add(\"role\", JSON.stringify(TAGS[tag].role));\n if (tag === \"textarea\") add(\"multiline\", \"true\");\n return { consumed, edits, additions };\n}\nfunction webDOMProps(input, tag) {\n const edits = [];\n const additions = [];\n const entries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\"\n );\n const names = new Set(entries.map((entry) => entry.name));\n for (const entry of entries) {\n if (entry.name === \"for\") {\n const edit = renamedPropEdit(input, entry, \"htmlFor\");\n if (edit) edits.push(edit);\n }\n if (entry.name === \"role\" && entry.value.kind === \"static\" && entry.value.value === \"none\") {\n edits.push({\n start: entry.value.span.start,\n end: entry.value.span.end,\n content: JSON.stringify(\"presentation\"),\n origin: entry.value.span\n });\n }\n }\n if (tag === \"button\" && !names.has(\"type\")) additions.push([\"type\", '\"button\"']);\n if ((tag === \"input\" || tag === \"textarea\") && !names.has(\"dir\")) {\n additions.push([\"dir\", '\"auto\"']);\n }\n return { edits, additions };\n}\nfunction createTamaguiCompilerHost(options) {\n const platform = options.target === \"native\" ? \"native\" : \"web\";\n const core = requireTamaguiCore(platform);\n const compilerVariantStyleResolver = core.styled(core.View, {}).staticConfig.variantStyleResolver;\n const firstThemeName = Object.keys(options.tamaguiConfig.themes ?? {})[0] ?? \"\";\n const firstTheme = options.tamaguiConfig.themes?.[firstThemeName] ?? {};\n const theme = firstTheme;\n const modifierRegistry = createModifierRegistry({\n mediaNames: options.tamaguiConfig.media ?? {},\n themeNames: options.tamaguiConfig.themes ?? {}\n }).registry;\n const isClauseObjectValue = (value) => {\n if (!staticObject(value)) return false;\n if (\"default\" in value) return true;\n for (const key in value) {\n if (key.length === 0) return false;\n let start = 0;\n for (let index = 0; index <= key.length; index++) {\n if (index !== key.length && key.charCodeAt(index) !== 58) continue;\n if (modifierRegistry.get(key.slice(start, index)) === void 0) return false;\n start = index + 1;\n }\n return true;\n }\n return false;\n };\n const platformModifiersRegistered = modifierRegistry.get(\"web\") === \"platform\" && modifierRegistry.get(\"native\") === \"platform\";\n const nativeClauseValue = (value) => {\n if (typeof value !== \"string\" || !flatClausePattern.test(value)) {\n return isClauseObjectValue(value) ? \"live\" : null;\n }\n if (!platformModifiersRegistered) return \"live\";\n const parsed = parseValue(value, modifierRegistry);\n if (!parsed.ok || parsed.value.clauses.length === 0) return \"live\";\n let payload = parsed.value.base;\n let matched = parsed.value.base !== null;\n for (const clause of parsed.value.clauses) {\n if (clause.modifiers.includes(\"web\")) continue;\n if (clause.modifiers.length !== 1 || clause.modifiers[0] !== \"native\") return \"live\";\n payload = clause.payload;\n matched = true;\n }\n return { payload, matched };\n };\n const configuredAnimationDriver = options.tamaguiConfig.animations;\n const configuredCssAnimationDriver = platform === \"web\" && configuredAnimationDriver?.outputStyle === \"css\" && !options.tamaguiConfig.animationDrivers ? configuredAnimationDriver : null;\n const resolveStaticCssTransition = (value, transitionPresets) => {\n if (platform !== \"web\" || typeof value !== \"string\") return null;\n const transitionPresetNames = new Set(Object.keys(transitionPresets));\n const program = parseValue(value, modifierRegistry);\n if (!program.ok) return null;\n const resolvedPayloads = [];\n const payloads = [\n program.value.base,\n ...program.value.clauses.map((clause) => clause.payload)\n ].filter((payload) => payload !== null);\n if (payloads.length === 0) return null;\n for (const payload of payloads) {\n const transition = parseTransition(payload, transitionPresetNames);\n if (!transition.ok) return null;\n if (transition.value.kind === \"global\" || transition.value.entries.every((entry) => entry.timing.type === \"css\")) {\n resolvedPayloads.push(payload);\n continue;\n }\n if (transition.value.entries.length !== 1 || transition.value.entries[0].timing.type !== \"preset\") {\n return null;\n }\n const preset = transitionPresets[transition.value.entries[0].timing.name];\n if (typeof preset !== \"string\") return null;\n const parsedPreset = parseTransition(preset);\n if (!parsedPreset.ok || parsedPreset.value.kind !== \"transition\" || parsedPreset.value.entries.length !== 1 || parsedPreset.value.entries[0].property !== \"all\" || parsedPreset.value.entries[0].timing.type !== \"css\") {\n return null;\n }\n resolvedPayloads.push(`all ${preset}`);\n }\n let payloadIndex = 0;\n const resolved = [];\n if (program.value.base !== null) {\n resolved.push(resolvedPayloads[payloadIndex++]);\n }\n for (const clause of program.value.clauses) {\n resolved.push(`${clause.modifiers.join(\":\")}:${resolvedPayloads[payloadIndex++]}`);\n }\n return resolved.join(\" \");\n };\n const { modulesById, componentsByModule } = options.registry ?? createComponentRegistry(options.components, options.componentModules);\n const normalizedStyleConfigs = /* @__PURE__ */ new WeakMap();\n const normalizeStaticConfig = (staticConfig) => {\n if (!staticConfig.styleFrontend) return staticConfig;\n const normalized = core.getStyleStaticConfig(staticConfig, options.tamaguiConfig);\n const result = {\n ...staticConfig,\n baseStyle: normalized.baseStyle,\n defaultProps: normalized.defaultProps,\n variants: normalized.variants,\n passthroughClassName: normalized.passthroughClassName\n };\n normalizedStyleConfigs.set(result, normalized);\n return result;\n };\n const directStaticConfig = (element) => {\n const identity = element.component.provenance;\n if (!identity) return null;\n const moduleName = modulesById.get(identity.resolvedId);\n const component = moduleName ? componentsByModule.get(moduleName) : void 0;\n const info = component?.nameToInfo[identity.importedName];\n return info ? {\n key: componentKey(identity.resolvedId, identity.importedName),\n staticConfig: normalizeStaticConfig(info.staticConfig),\n displayName: info.displayName\n } : null;\n };\n const domStaticConfig = (element) => {\n const identity = element.component.provenance;\n const tag = element.component.name;\n if (identity?.importedName !== \"html\" || !DOM_FRONTENDS.has(identity.specifier) || !(tag in TAGS)) {\n return null;\n }\n const row = TAGS[tag];\n const textLike = row.backing === \"text\" || row.backing === \"textinput\";\n const base = (textLike ? core.Text : core.View)?.staticConfig;\n if (!base) return null;\n const platformDefaults = platform === \"web\" ? {\n ...DISPLAY_WEB_RESET[row.display],\n ...row.defaults,\n ...TAG_WEB_DEFAULTS[tag]\n } : {\n ...NATIVE_ELEMENT_DEFAULTS,\n ...row.display === \"block\" ? NATIVE_BLOCK_DEFAULTS : null,\n ...row.defaults,\n ...row.nativeDefaults\n };\n return {\n key: componentKey(identity.resolvedId, `html.${tag}`),\n tag,\n displayName: tag,\n staticConfig: normalizeStaticConfig({\n ...base,\n isInput: row.backing === \"textinput\",\n // CSS text properties may be authored on any element and inherited by\n // descendant text, including from a View-backed tag on native.\n validStyles: {\n ...validStylesView,\n ...row.backing === \"textinput\" ? stylePropsInput : stylePropsText\n },\n defaultProps: {\n ...base.defaultProps,\n ...platformDefaults\n }\n })\n };\n };\n const styledStaticConfig = (definition) => {\n if (!definition || definition.options.kind !== \"static\") return null;\n const base = directStaticConfig({\n kind: \"element\",\n form: \"jsx\",\n id: definition.id,\n span: definition.span,\n propsSpan: null,\n component: definition.base,\n complete: true,\n entries: [],\n bailouts: []\n });\n if (!base || !staticObject(definition.options.value)) return null;\n const {\n variants,\n defaultVariants,\n displayName,\n context,\n contextProps,\n ...defaultProps\n } = definition.options.value;\n const baseClassName = definition.baseClassName?.kind === \"static\" && typeof definition.baseClassName.value === \"string\" ? definition.baseClassName.value : void 0;\n const localStaticConfig = {\n ...base.staticConfig,\n variants: {\n ...base.staticConfig.variants,\n ...variants\n },\n defaultProps: {\n ...base.staticConfig.defaultProps,\n ...defaultProps,\n ...defaultVariants\n },\n defaultVariants,\n baseClassName: [base.staticConfig.baseClassName, baseClassName].filter(Boolean).join(\" \"),\n context: context ?? base.staticConfig.context,\n contextProps: context ? contextProps : contextProps ?? base.staticConfig.contextProps\n };\n localStaticConfig.variantStyleResolver = compilerVariantStyleResolver;\n return {\n key: componentKey(definition.id, definition.name),\n displayName: displayName || base.displayName,\n staticConfig: normalizeStaticConfig(localStaticConfig)\n };\n };\n const resolve = (element, styledDefinition) => {\n const dom = domStaticConfig(element);\n const resolved = dom ?? styledStaticConfig(styledDefinition) ?? directStaticConfig(element);\n if (!resolved) return null;\n const defaultProps = resolved.staticConfig.defaultProps ?? {};\n return {\n key: resolved.key,\n canFlatten: resolved.staticConfig.acceptsClassName !== false && !resolved.staticConfig.neverFlatten && !resolved.staticConfig.context,\n staticConfig: resolved.staticConfig,\n displayName: resolved.displayName,\n ...dom && { domTag: dom.tag },\n // retaining the component also retains these runtime style sources.\n // splitting their output into equal-specificity atomic classes would\n // make stylesheet insertion order decide the winner.\n partialRuntimeSafe: !dom && !styledDefinition && Object.keys(defaultProps).length === 0 && !resolved.staticConfig.defaultVariants && !resolved.staticConfig.baseClassName && !resolved.staticConfig.baseStyle\n };\n };\n const isStyleProp = (name, component) => {\n const staticConfig = component.staticConfig;\n return compilerStyleProps.has(name) || name in (options.tamaguiConfig.shorthands ?? {}) || !!staticConfig.validStyles?.[name] || !!staticConfig.variants?.[name];\n };\n const runtimeOnlyStyleProps = /* @__PURE__ */ new Set([\n \"className\",\n \"style\",\n \"group\",\n \"transition\",\n \"animation\",\n \"animateOnly\",\n \"animatePresence\",\n \"animatedBy\",\n \"render\"\n ]);\n const canLowerConditionalStyleProp = (name, component) => isStyleProp(name, component) && !runtimeOnlyStyleProps.has(name);\n const isInvalidHostStyleProp = (name, component) => {\n const staticConfig = component.staticConfig;\n const validStyles = staticConfig.validStyles || (staticConfig.isInput ? stylePropsInput : staticConfig.isText ? stylePropsText : validStylesView);\n return name in stylePropsAll && !isValidStyleKey(name, validStyles);\n };\n const directStyleName = (name, component) => {\n if (compilerStyleProps.has(name) || name === \"style\") {\n return null;\n }\n const staticConfig = component.staticConfig;\n if (staticConfig.variants?.[name]) return null;\n const expanded = options.tamaguiConfig.shorthands?.[name] ?? name;\n return staticConfig.validStyles?.[expanded] ? expanded : null;\n };\n const resolveSplitStyles = (props, staticConfig, animationDriver, displayName) => {\n const previousStatic = process.env.IS_STATIC;\n const previousTarget = process.env.TAMAGUI_TARGET;\n if (platform === \"native\") {\n process.env.IS_STATIC = \"is_static\";\n } else {\n delete process.env.IS_STATIC;\n }\n process.env.TAMAGUI_TARGET = platform;\n try {\n return core.getSplitStyles(\n props,\n staticConfig,\n theme,\n firstThemeName,\n componentState,\n {\n isStatic: true,\n resolveValues: platform === \"native\" ? \"except-theme\" : \"variable\",\n noClass: platform === \"native\",\n isAnimated: false,\n displayName\n },\n void 0,\n void 0,\n void 0,\n void 0,\n void 0,\n void 0,\n animationDriver,\n normalizedStyleConfigs.get(staticConfig)\n );\n } finally {\n if (previousStatic === void 0) delete process.env.IS_STATIC;\n else process.env.IS_STATIC = previousStatic;\n if (previousTarget === void 0) delete process.env.TAMAGUI_TARGET;\n else process.env.TAMAGUI_TARGET = previousTarget;\n }\n };\n const partialStaticConfig = (staticConfig) => ({\n ...staticConfig,\n baseStyle: void 0,\n defaultProps: {},\n defaultVariants: void 0,\n variants: {}\n });\n const styleOwners = (name, value, staticConfig) => {\n const split = resolveSplitStyles({ [name]: value }, partialStaticConfig(staticConfig));\n if (!split) return null;\n const inlineStyle = split.viewProps?.style;\n if (staticObject(inlineStyle) && Object.keys(inlineStyle).length > 0) {\n return null;\n }\n const owners = new Set(Object.keys(split.classNames ?? {}));\n for (const styleObject of Object.values(split.rulesToInsert ?? {})) {\n const property = styleObject?.[StyleObjectProperty];\n if (typeof property === \"string\") owners.add(property);\n }\n return owners.size > 0 ? owners : null;\n };\n const dynamicStyleOwners = (name, staticConfig) => {\n const probeValue = name === \"transform\" ? [{ scale: 1 }] : name === \"transformMatrix\" ? [1, 0, 0, 1, 0, 0] : name === \"shadowOffset\" ? { width: 0, height: 0 } : name === \"shadowColor\" ? \"black\" : name === \"border\" || name === \"outline\" ? \"0 solid transparent\" : name === \"position\" ? \"relative\" : name === \"objectFit\" ? \"contain\" : 0;\n const owners = styleOwners(name, probeValue, staticConfig);\n if (!owners || name !== \"flex\") return owners;\n const shorthandOwners = styleOwners(name, \"0 1 auto\", staticConfig);\n if (!shorthandOwners) return null;\n for (const owner of shorthandOwners) owners.add(owner);\n return owners;\n };\n const developmentDebugInstrumentation = (input, result) => {\n if (process.env.NODE_ENV !== \"development\") return;\n const debugEntry = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"debug\" && entry.value.kind === \"static\" && entry.value.value === \"verbose\"\n );\n if (!debugEntry) return;\n const component = input.component;\n const styleEntries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && entry.name !== \"debug\" && (entry.name === \"style\" || isStyleProp(entry.name, component))\n );\n const flattened = result.ok && !!result.flattened;\n const tiers = result.ok ? [\n \"lowered\",\n ...flattened ? [\"flattened\"] : [],\n ...input.styledDefinition ? [\"styled\"] : []\n ] : [\"bailed\"];\n const why = result.ok ? flattened ? \"Static styles were lowered and the component was flattened to a host element.\" : \"Static styles were lowered while the Tamagui component remained at runtime.\" : result.bailout.message;\n const styles = styleEntries.map((entry) => {\n if (!result.ok) {\n return {\n prop: entry.name,\n tier: \"bailed\",\n runtime: true,\n why: `${result.bailout.message}. The Tamagui runtime resolved this prop.`\n };\n }\n const edited = result.edits.some(\n (edit) => edit.start < entry.span.end && edit.end > entry.span.start\n );\n if (!flattened && !edited) {\n return {\n prop: entry.name,\n tier: \"bailed\",\n runtime: true,\n why: \"This prop remained for Tamagui runtime resolution.\"\n };\n }\n if (entry.value.kind === \"static\") {\n const split = resolveSplitStyles(\n { [entry.name]: entry.value.value },\n partialStaticConfig(component.staticConfig)\n );\n const hasOutput = Boolean(\n split && (Object.keys(split.classNames ?? {}).length > 0 || Object.keys(split.rulesToInsert ?? {}).length > 0 || staticObject(split.style) && Object.keys(split.style).length > 0 || staticObject(split.viewProps?.style) && Object.keys(split.viewProps.style).length > 0)\n );\n if (!hasOutput) {\n return {\n prop: entry.name,\n tier: flattened ? \"flattened\" : \"lowered\",\n dropped: true,\n why: `No ${platform} style output was produced for this prop.`\n };\n }\n }\n return {\n prop: entry.name,\n tier: flattened ? \"flattened\" : \"lowered\",\n why: flattened ? \"The compiler emitted this prop on the flattened host element.\" : \"The compiler lowered this prop while retaining the Tamagui component.\"\n };\n });\n const receipt = JSON.stringify({\n component: input.element.component.name,\n tiers,\n why,\n styles\n });\n const content = flattened ? input.element.form === \"jsx\" ? `{...(console.info('\\u{1F539} Tamagui style receipt', ${receipt}), {})}` : `...(console.info('\\u{1F539} Tamagui style receipt', ${receipt}), {})` : input.element.form === \"jsx\" ? `debug=\"verbose\" __tamaguiStyleDebugReceipt={${receipt}}` : `debug: \"verbose\", __tamaguiStyleDebugReceipt: ${receipt}`;\n return [\n {\n start: debugEntry.span.start,\n end: debugEntry.span.end,\n content,\n origin: debugEntry.span\n }\n ];\n };\n return {\n resolveComponent: resolve,\n isStyleProp,\n canLowerDynamicStyleProp(name, component, valueKind) {\n if (!options.disablePartialExtraction && valueKind === \"conditional\" && canLowerConditionalStyleProp(name, component)) {\n return true;\n }\n if (component.staticConfig.resolvers?.length) {\n return false;\n }\n return !options.disablePartialExtraction && (platform === \"web\" && !!directStyleName(name, component) || platform === \"native\" && directStyleName(name, component) === \"opacity\");\n },\n developmentDebugInstrumentation,\n lowerCandidate(input) {\n const component = input.component;\n if (!component.canFlatten) {\n const reason = component.staticConfig.acceptsClassName === false ? `${component.key} does not accept className` : component.staticConfig.neverFlatten ? `${component.key} is never flattened (behavior HOC)` : `${component.key} provides a styled context`;\n return bailout(input, \"local/unsupported-target\", reason, input.element.span, {\n rule: 6\n });\n }\n if (options.zeroRuntime) {\n const spread = input.element.entries.find((entry) => entry.kind === \"spread\");\n if (spread) {\n return bailout(\n input,\n \"local/unsafe-style-spread\",\n \"Zero-runtime rejects prop spreads\",\n spread.span,\n {\n rule: 1,\n message: zeroRuleMessage(1, { component: input.element.component.name })\n }\n );\n }\n }\n const props = {};\n for (const entry of input.element.entries) {\n if (entry.kind === \"child\" || entry.value.kind !== \"static\") continue;\n if (entry.kind === \"spread\") {\n if (!staticObject(entry.value.value)) {\n return bailout(\n input,\n \"local/unsafe-style-spread\",\n \"Static spread did not materialize to an object\",\n entry.span\n );\n }\n Object.assign(props, entry.value.value);\n } else {\n props[entry.name] = entry.value.value;\n }\n }\n if (component.staticConfig.resolvers?.length) {\n const unresolvedProps = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && entry.value.kind !== \"static\"\n );\n const onlyStaticBranchConditional = unresolvedProps.length === 1 && unresolvedProps[0]?.kind === \"prop\" && unresolvedProps[0].value.kind === \"conditional\" && canLowerConditionalStyleProp(unresolvedProps[0].name, component);\n const unresolvedProp = onlyStaticBranchConditional ? void 0 : unresolvedProps[0];\n if (unresolvedProp?.kind === \"prop\") {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Component resolver prop ${unresolvedProp.name} could not be evaluated`,\n unresolvedProp.span,\n void 0,\n unresolvedProp.name\n );\n }\n }\n const componentOnlyProp = (name) => {\n let span;\n let unknown = false;\n for (const entry of input.element.entries) {\n if (entry.kind !== \"prop\" || entry.name !== name) continue;\n span = entry.span;\n if (entry.value.kind !== \"static\") unknown = true;\n }\n return { unknown, span };\n };\n const disableOptimization = componentOnlyProp(\"disableOptimization\");\n if (disableOptimization.unknown || props.disableOptimization) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"disableOptimization keeps the component on the runtime path\",\n disableOptimization.span\n );\n }\n if (component.domTag && props.hidden) props.display = \"none\";\n if (component.domTag && platform === \"native\") {\n for (const [name, styleKey] of DOM_STYLE_ATTRIBUTES) {\n if (name in props) {\n props[styleKey] = props[name];\n delete props[name];\n }\n }\n }\n if (platform === \"native\" && component.domTag === \"input\" && typeof props.type === \"string\" && !NATIVE_INPUT_TYPES.includes(props.type)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `input type ${props.type} has no native text-entry control`\n );\n }\n const dynamicStyleEntries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && (entry.value.kind === \"bailout\" || entry.value.kind === \"conditional\") && isStyleProp(entry.name, component)\n );\n {\n const needsRuntimeMapping = (name) => runtimeEventProps.has(name) || platform === \"native\" && !component.domTag && nativePointerEventProps.has(name);\n const directRuntimeEvent = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && needsRuntimeMapping(entry.name)\n );\n const runtimeEvent = directRuntimeEvent?.kind === \"prop\" ? directRuntimeEvent.name : Object.keys(props).find(needsRuntimeMapping);\n if (runtimeEvent) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `${runtimeEvent} requires Tamagui runtime event mapping`\n );\n }\n }\n const animationDefaultProps = component.staticConfig.defaultProps ?? {};\n const animationProps = core.mergeProps(animationDefaultProps, props);\n const animationNames = /* @__PURE__ */ new Set([\n ...input.element.entries.flatMap(\n (entry) => entry.kind === \"prop\" && runtimeAnimationProps.has(entry.name) ? [entry.name] : []\n ),\n ...Object.keys(animationProps).filter(\n (name) => runtimeAnimationProps.has(name) && animationProps[name] !== void 0\n )\n ]);\n const animateOnlyEntry = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"animateOnly\"\n );\n if (animationNames.has(\"animateOnly\")) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Animated candidates remain on the runtime path\",\n animateOnlyEntry?.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n // without the origin an author reads this against JSX that does\n // not carry the prop, because the styled() definition does\n detail: animateOnlyEntry ? `animateOnly on ${input.element.component.name}` : `animateOnly in the styled() definition of ${input.element.component.name}`\n })\n }\n );\n }\n const transitionEntry = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"transition\"\n );\n const animatedBy = typeof animationProps.animatedBy === \"string\" ? animationProps.animatedBy.trim() : null;\n const namedAnimationDriver = animatedBy === null ? null : options.tamaguiConfig.animationDrivers?.[animatedBy];\n const namedCssAnimationDriver = platform === \"web\" && namedAnimationDriver && !namedAnimationDriver.isStub && namedAnimationDriver.outputStyle === \"css\" ? namedAnimationDriver : null;\n const cssAnimationDriver = namedCssAnimationDriver ?? (animatedBy === null || animatedBy === \"default\" ? configuredCssAnimationDriver : null);\n const resolvedCssTransition = animationNames.has(\"transition\") && cssAnimationDriver ? resolveStaticCssTransition(\n animationProps.transition,\n cssAnimationDriver.animations ?? {}\n ) : null;\n if (resolvedCssTransition !== null) {\n props.transition = resolvedCssTransition;\n }\n const animatedByNeedsRuntime = animationNames.has(\"animatedBy\") && !animationNames.has(\"transition\") && (dynamicStyleEntries.length > 0 || Object.keys(animationProps).some(\n (name) => name !== \"animatedBy\" && (isStyleProp(name, component) && typeof animationProps[name] === \"string\" && animationProps[name].includes(\":\") || name === \"animationConfig\" || name === \"forceStyle\" || name === \"onTransition\")\n ));\n const runtimeAnimationRequired = animationNames.has(\"transition\") && resolvedCssTransition === null || [...animationNames].some(\n (name) => name !== \"transition\" && name !== \"animatedBy\" && name !== \"animateOnly\"\n ) || animatedByNeedsRuntime;\n let dynamicHostStyleProperties = null;\n if (platform === \"web\" && !options.disablePartialExtraction && (input.element.form === \"jsx\" || input.element.propsSpan !== null) && dynamicStyleEntries.length > 0 && !input.element.entries.some(\n (entry) => entry.kind === \"spread\" && entry.value.kind !== \"static\"\n )) {\n const seen = /* @__PURE__ */ new Set();\n const properties = [];\n const dynamicOwners = /* @__PURE__ */ new Set();\n for (const entry of dynamicStyleEntries) {\n if (entry.kind !== \"prop\" || entry.value.kind !== \"bailout\" && entry.value.kind !== \"conditional\") {\n continue;\n }\n const name = directStyleName(entry.name, component);\n if (!name || seen.has(name)) {\n properties.length = 0;\n break;\n }\n const owners = dynamicStyleOwners(name, component.staticConfig);\n if (!owners) {\n properties.length = 0;\n break;\n }\n let property = null;\n const expression = input.source.slice(\n entry.value.span.start,\n entry.value.span.end\n );\n if (resolvedCssTransition !== null && (name === \"opacity\" || name === \"scale\")) {\n property = name === \"opacity\" ? `opacity: (${expression})` : `transform: \"scale(\" + (${expression}) + \")\"`;\n } else if (entry.value.kind === \"bailout\" && owners.has(name)) {\n const dynamic = entry.value.dynamic;\n if (dynamic?.type === \"number\") {\n property = `${JSON.stringify(name)}: (${expression})`;\n } else if (dynamic?.type === \"string\" && dynamic.values?.length) {\n let valuesStayLiteral = true;\n for (const value of dynamic.values) {\n const split2 = resolveSplitStyles(\n { [entry.name]: value },\n partialStaticConfig(component.staticConfig)\n );\n const atomics = Object.values(split2?.rulesToInsert ?? {});\n if (atomics.length !== 1 || atomics[0]?.[StyleObjectProperty] !== name || atomics[0]?.[StyleObjectValue] !== value) {\n valuesStayLiteral = false;\n break;\n }\n }\n if (valuesStayLiteral) {\n property = `${JSON.stringify(name)}: (${expression})`;\n }\n }\n }\n if (!property) {\n properties.length = 0;\n break;\n }\n seen.add(name);\n for (const owner of owners) dynamicOwners.add(owner);\n properties.push(property);\n }\n if (properties.length === dynamicStyleEntries.length && !input.element.entries.some((entry) => {\n if (entry.kind !== \"prop\" || entry.value.kind !== \"static\") return false;\n const name = directStyleName(entry.name, component);\n if (!name) return false;\n const owners = styleOwners(\n name,\n entry.value.value,\n component.staticConfig\n );\n return !!owners && cssOwnersConflict(owners, dynamicOwners);\n })) {\n dynamicHostStyleProperties = properties;\n }\n }\n const supportsWebConditionalClasses = platform === \"web\" && !options.disablePartialExtraction && (input.element.form === \"jsx\" || input.element.propsSpan !== null) && dynamicHostStyleProperties === null && dynamicStyleEntries.length > 0 && dynamicStyleEntries.every(\n (entry) => entry.kind === \"prop\" && entry.value.kind === \"conditional\" && canLowerConditionalStyleProp(entry.name, component)\n );\n const themeEntry = componentOnlyProp(\"theme\");\n const themeInverseEntry = componentOnlyProp(\"themeInverse\");\n const themeBoundary = themeEntry.unknown || \"theme\" in props;\n if (themeBoundary || themeInverseEntry.unknown || props.themeInverse) {\n const themeProp = themeBoundary ? \"theme\" : \"themeInverse\";\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Theme boundary candidates remain on the runtime path\",\n input.element.span,\n {\n rule: 4,\n message: zeroThemeBoundaryMessage(input.element.component.name, themeProp)\n }\n );\n }\n const asChild = componentOnlyProp(\"asChild\");\n if (asChild.unknown || props.asChild) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"asChild renders a Slot, not a host view\",\n asChild.span\n );\n }\n if (platform === \"native\" && (\"group\" in props || \"container\" in props || \"containerName\" in props || \"containerType\" in props)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native group and container providers remain on the runtime path\"\n );\n }\n if (runtimeAnimationRequired && !cssAnimationDriver) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Animated candidates remain on the runtime path\",\n transitionEntry?.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n detail: `the animation configured on ${input.element.component.name}`\n })\n }\n );\n }\n if (platform === \"web\" && (dynamicStyleEntries.length > 0 || runtimeAnimationRequired) && dynamicHostStyleProperties === null && !supportsWebConditionalClasses && component.partialRuntimeSafe) {\n const hasSpread = input.element.entries.some(\n (entry) => entry.kind === \"spread\" && entry.value.kind !== \"static\"\n );\n const unsupportedRuntimeStyle = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && isStyleProp(entry.name, component) && !runtimeAnimationProps.has(entry.name) && !directStyleName(entry.name, component)\n );\n if (!hasSpread && !unsupportedRuntimeStyle) {\n const dynamicOwners = /* @__PURE__ */ new Set();\n let canProveDynamicOwnership = true;\n for (const entry of dynamicStyleEntries) {\n if (entry.kind !== \"prop\") continue;\n const name = directStyleName(entry.name, component);\n if (!name) {\n canProveDynamicOwnership = false;\n break;\n }\n const owners = dynamicStyleOwners(\n name,\n component.staticConfig\n );\n if (!owners) {\n canProveDynamicOwnership = false;\n break;\n }\n for (const owner of owners) dynamicOwners.add(owner);\n }\n const staticStyleEntries = canProveDynamicOwnership ? input.element.entries.filter((entry) => {\n if (entry.kind !== \"prop\" || entry.value.kind !== \"static\") return false;\n if (runtimeAnimationProps.has(entry.name)) return false;\n const name = directStyleName(entry.name, component);\n if (!name) return false;\n const owners = styleOwners(\n name,\n entry.value.value,\n component.staticConfig\n );\n return !!owners && !cssOwnersConflict(owners, dynamicOwners);\n }) : [];\n if (staticStyleEntries.length > 0) {\n const partialProps = {};\n for (const entry of staticStyleEntries) {\n if (entry.kind === \"prop\" && entry.value.kind === \"static\") {\n partialProps[entry.name] = entry.value.value;\n }\n }\n const partialSplit = resolveSplitStyles(\n partialProps,\n partialStaticConfig(component.staticConfig)\n );\n const partialInlineStyle = partialSplit?.viewProps?.style;\n const hasPartialInlineStyle = staticObject(partialInlineStyle) && Object.keys(partialInlineStyle).length > 0;\n if (partialSplit && !hasPartialInlineStyle) {\n const artifacts2 = extractedStyleArtifacts(\n partialSplit,\n partialProps,\n options.tamaguiConfig,\n false\n );\n if (artifacts2.className) {\n if (input.element.form !== \"jsx\") {\n const propsEdits = compiledPropsEdits(\n input,\n staticStyleEntries,\n objectClassName(artifacts2.className)\n );\n if (propsEdits) {\n return {\n ok: true,\n edits: propsEdits,\n css: artifacts2.css,\n imports: [],\n flattened: false\n };\n }\n } else {\n const [first2, ...rest2] = staticStyleEntries;\n return {\n ok: true,\n edits: [\n {\n start: first2.span.start,\n end: first2.span.end,\n content: jsxClassName(artifacts2.className),\n origin: first2.span\n },\n ...rest2.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: \"\",\n origin: entry.span\n }))\n ],\n css: artifacts2.css,\n imports: [],\n flattened: false\n };\n }\n }\n }\n }\n }\n }\n if (runtimeAnimationRequired) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Animated candidates remain on the runtime path\",\n transitionEntry?.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n detail: `the animation configured on ${input.element.component.name}`\n })\n }\n );\n }\n const supportsNativeDynamicStyles = platform === \"native\" && !options.disablePartialExtraction && (input.element.form === \"jsx\" || input.element.propsSpan !== null) && dynamicStyleEntries.every(\n (entry) => entry.kind === \"prop\" && (directStyleName(entry.name, component) === \"opacity\" || entry.value.kind === \"conditional\" && canLowerConditionalStyleProp(entry.name, component))\n );\n if (dynamicStyleEntries.length > 0 && dynamicHostStyleProperties === null && !supportsNativeDynamicStyles && !supportsWebConditionalClasses) {\n const entry = dynamicStyleEntries[0];\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Style prop ${entry.kind === \"prop\" ? entry.name : \"unknown\"} could not be safely extracted`,\n entry.span\n );\n }\n const resolvedStyleStaticConfig = core.getStyleStaticConfig(\n component.staticConfig,\n core.getConfig()\n );\n const staticDefaultProps = resolvedStyleStaticConfig.defaultProps ?? {};\n const defaultProps = platform === \"web\" && !component.staticConfig.isText && options.tamaguiConfig.settings.defaultPosition === \"relative\" && staticDefaultProps.position === void 0 ? core.mergeProps({ position: \"relative\" }, staticDefaultProps) : staticDefaultProps;\n let completeProps = core.mergeProps(defaultProps, props);\n if (platform === \"native\" && component.domTag && props.display === \"flex\") {\n completeProps = core.mergeProps(\n core.mergeProps(defaultProps, NATIVE_FLEX_DEFAULTS),\n props\n );\n }\n const domStyleProgram = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"style\" && entry.value.kind === \"dom-style\"\n );\n if (platform === \"native\" && !component.domTag && domStyleProgram) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native style() pieces remain on the runtime path\"\n );\n }\n const propsForConditional = (target, value) => {\n const branchProps = {};\n for (const entry of input.element.entries) {\n if (entry === target) {\n branchProps[target.name] = value;\n continue;\n }\n if (entry.kind === \"child\" || entry.value.kind !== \"static\") continue;\n if (entry.kind === \"spread\") {\n if (staticObject(entry.value.value))\n Object.assign(branchProps, entry.value.value);\n } else {\n branchProps[entry.name] = entry.value.value;\n }\n }\n if (component.domTag && branchProps.hidden) branchProps.display = \"none\";\n if (resolvedCssTransition !== null) {\n branchProps.transition = resolvedCssTransition;\n }\n if (component.domTag && platform === \"native\") {\n for (const [name, styleKey] of DOM_STYLE_ATTRIBUTES) {\n if (name in branchProps) {\n branchProps[styleKey] = branchProps[name];\n delete branchProps[name];\n }\n }\n }\n const branchCompleteProps = platform === \"native\" && component.domTag && branchProps.display === \"flex\" ? core.mergeProps(\n core.mergeProps(defaultProps, NATIVE_FLEX_DEFAULTS),\n branchProps\n ) : core.mergeProps(defaultProps, branchProps);\n if (platform === \"native\") {\n for (const [name, value2] of Object.entries(branchCompleteProps)) {\n const clause = isStyleProp(name, component) ? nativeClauseValue(value2) : null;\n if (clause === null || clause === \"live\") continue;\n if (clause.matched) branchCompleteProps[name] = clause.payload;\n else delete branchCompleteProps[name];\n }\n }\n return { branchProps, branchCompleteProps };\n };\n if (platform === \"native\") {\n const isClauseValue = (name, value) => isStyleProp(name, component) && (typeof value === \"string\" && flatClausePattern.test(value) || isClauseObjectValue(value));\n const defaultVariants = component.staticConfig.defaultVariants ?? {};\n const definitionCarriesClause = Object.entries(resolvedStyleStaticConfig.baseStyle ?? {}).some(\n ([name, value]) => isClauseValue(name, value)\n ) || Object.entries(component.staticConfig.variants ?? {}).some(\n ([variantName, definitions]) => (completeProps[variantName] !== void 0 || defaultVariants[variantName] !== void 0) && staticObject(definitions) && Object.values(definitions).some(\n (definition) => staticObject(definition) && Object.entries(definition).some(\n ([name, value]) => isClauseValue(name, value)\n )\n )\n );\n if (definitionCarriesClause) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native conditional value programs remain on the runtime path\"\n );\n }\n const reducedProps = {};\n for (const [name, value] of Object.entries(completeProps)) {\n const clause = isStyleProp(name, component) ? nativeClauseValue(value) : null;\n if (clause === \"live\") {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native conditional value programs remain on the runtime path\"\n );\n }\n if (clause === null) {\n reducedProps[name] = value;\n continue;\n }\n if (clause.matched) reducedProps[name] = clause.payload;\n }\n completeProps = reducedProps;\n for (const entry of dynamicStyleEntries) {\n if (entry.value.kind !== \"conditional\") continue;\n for (const leaf of collectLeaves(entry.value.tree)) {\n if (nativeClauseValue(leaf.value) !== \"live\") continue;\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native conditional value programs remain on the runtime path\"\n );\n }\n }\n }\n const split = resolveSplitStyles(\n completeProps,\n component.staticConfig,\n cssAnimationDriver,\n component.displayName\n );\n if (!split) {\n return bailout(\n input,\n \"local/style-resolution-failed\",\n \"getSplitStyles returned no static result\"\n );\n }\n if (split.programLifecycleStyleKeys?.enter?.size || split.programLifecycleStyleKeys?.exit?.size) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Lifecycle value programs remain on the runtime path\",\n input.element.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n detail: `an enter or exit style program on ${input.element.component.name}`\n })\n }\n );\n }\n const flatTag = component.domTag ?? (typeof props.render === \"string\" ? props.render : typeof defaultProps.render === \"string\" ? defaultProps.render : component.staticConfig.isText ? \"span\" : \"div\");\n const tagEdits = [input.element.component.span, input.element.component.closingSpan].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: input.element.form === \"jsx\" ? flatTag : JSON.stringify(flatTag),\n origin: span\n }));\n const isPropIgnored = (name) => isStyleProp(name, component) || isInvalidHostStyleProp(name, component) || componentOnlyProps.has(name);\n const spreadReplacement = (form, entry) => spreadNonStyleReplacement(form, entry, isPropIgnored, (name, value) => {\n if (platform !== \"web\") return [name, value];\n if (name === \"testID\") return [\"data-testid\", value];\n if (component.domTag && name === \"for\") return [\"htmlFor\", value];\n if (component.domTag && name === \"role\" && value === \"none\") {\n return [\"role\", \"presentation\"];\n }\n return [name, value];\n });\n let styleEntries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && isPropIgnored(entry.name) || entry.kind === \"spread\" && entry.value.kind === \"static\" && staticObject(entry.value.value) && Object.keys(entry.value.value).some(isPropIgnored)\n );\n let invalidHostStyle;\n for (const entry of input.element.entries) {\n if (entry.kind === \"prop\") {\n if (isInvalidHostStyleProp(entry.name, component)) {\n invalidHostStyle = { entry, name: entry.name };\n break;\n }\n continue;\n }\n if (entry.kind === \"spread\" && entry.value.kind === \"static\" && staticObject(entry.value.value)) {\n const name = Object.keys(entry.value.value).find(\n (name2) => isInvalidHostStyleProp(name2, component)\n );\n if (name) {\n invalidHostStyle = { entry, name };\n break;\n }\n }\n }\n if (invalidHostStyle) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `\"${invalidHostStyle.name}\" is a text style prop and this component is not text. Use a Text-based component, or html.* for raw web elements.`,\n invalidHostStyle.entry.span\n );\n }\n if (platform === \"native\" && component.domTag) {\n const mixedSpread = styleEntries.find(\n (entry) => entry.kind === \"spread\" && entry.value.kind === \"static\" && staticObject(entry.value.value) && Object.keys(entry.value.value).some((name) => !isPropIgnored(name))\n );\n if (mixedSpread) {\n return bailout(\n input,\n \"local/unsafe-style-spread\",\n \"Native DOM prop mapping requires non-style spread props to remain on the runtime path\",\n mixedSpread.span\n );\n }\n }\n const webPropEdits = platform === \"web\" ? input.element.entries.flatMap((entry) => {\n if (entry.kind !== \"prop\" || entry.name !== \"testID\") return [];\n const content = input.source.slice(entry.span.start, entry.span.end);\n const nameOffset = content.indexOf(\"testID\");\n if (nameOffset === -1) return [];\n const alreadyQuoted = content[nameOffset - 1] === '\"' || content[nameOffset - 1] === \"'\";\n return [\n {\n start: entry.span.start + nameOffset,\n end: entry.span.start + nameOffset + \"testID\".length,\n content: input.element.form === \"jsx\" || alreadyQuoted ? \"data-testid\" : `'data-testid'`,\n origin: entry.span\n }\n ];\n }) : [];\n const webDOMResult = platform === \"web\" && component.domTag ? webDOMProps(input, component.domTag) : { edits: [], additions: [] };\n webPropEdits.push(...webDOMResult.edits);\n if (platform === \"native\") {\n const nativeStyleResolved = split.viewProps?.style;\n let themedStyleKeys = null;\n let nativeStyle = nativeStyleResolved;\n if (staticObject(nativeStyleResolved)) {\n for (const [styleKey, styleValue] of Object.entries(nativeStyleResolved)) {\n if (!core.containsThemeRef(styleValue)) continue;\n const themeKey = core.themeRefKey(styleValue);\n if (!themeKey) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Style ${styleKey} uses a theme value in a compound or modified position that compiled output cannot represent`\n );\n }\n ;\n (themedStyleKeys ||= {})[styleKey] = themeKey;\n }\n if (themedStyleKeys) {\n const plain = {};\n for (const [styleKey, styleValue] of Object.entries(nativeStyleResolved)) {\n if (!(styleKey in themedStyleKeys)) plain[styleKey] = styleValue;\n }\n nativeStyle = plain;\n }\n } else if (core.containsThemeRef(nativeStyleResolved)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Theme values inside non-object native style output stay on the runtime path\"\n );\n }\n if (!isSerializableNativeStyle(nativeStyle)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native style output is not a static serializable value\"\n );\n }\n const nativeStyleLocal = unusedIdentifier(\n input.source,\n `__TamaguiNativeStyle${input.element.span.start}`\n );\n const nativeStyleImports = [\n {\n content: `\nfunction ${nativeStyleLocal}() { return ${nativeStyleLocal}._ ?? (${nativeStyleLocal}._ = ${JSON.stringify(nativeStyle ?? {})}); } ${nativeStyleLocal}();`,\n origin: input.element.component.span\n }\n ];\n const nativeStyleSource = `${nativeStyleLocal}._ ?? ${nativeStyleLocal}()`;\n let nativeFastPath;\n if (themedStyleKeys && options.experimentalNativeFastPath && dynamicStyleEntries.length === 0 && !input.element.entries.some((entry) => entry.kind === \"spread\")) {\n const mappingLocal = unusedIdentifier(\n input.source,\n `__TamaguiNativeMapping${input.element.span.start}`\n );\n nativeFastPath = {\n mappingLocal,\n imports: [\n {\n content: `\nconst ${mappingLocal} = ${JSON.stringify(themedStyleKeys)};`,\n origin: input.element.component.span\n }\n ]\n };\n }\n if (component.domTag) {\n if (themedStyleKeys) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Theme values on DOM-tag native output stay on the runtime path\"\n );\n }\n const row = TAGS[component.domTag];\n const basePrimitive = NATIVE_BACKING[row.backing].primitive;\n let primitive = basePrimitive;\n const propsResult = nativeDOMProps(input, component.domTag);\n if (propsResult.diagnostic) {\n return bailout(\n input,\n \"local/unsupported-target\",\n propsResult.diagnostic,\n propsResult.diagnosticSpan\n );\n }\n styleEntries = [.../* @__PURE__ */ new Set([...styleEntries, ...propsResult.consumed])];\n let nativeDOMStyleSource = nativeStyleSource;\n let runtimeStyleSource = null;\n if (domStyleProgram?.kind === \"prop\" && domStyleProgram.value.kind === \"dom-style\") {\n const needsRuntime = domStyleProgram.value.items.some(\n (item) => item.value.kind === \"static\" && staticObject(item.value.value) && (Object.keys(item.value.value).some(\n (property) => nativeRuntimeOnlyStyleProperties.has(property)\n ) || Object.values(item.value.value).some(\n (value) => typeof value === \"string\" && (flatClausePattern.test(value) || nativeInheritedKeywordPattern.test(value)) || isClauseObjectValue(value)\n ))\n );\n const itemSources = [];\n for (const item of domStyleProgram.value.items) {\n if (item.value.kind !== \"static\" || !staticObject(item.value.value)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Every style() handle in a style array must be statically evaluable\",\n item.value.span\n );\n }\n if (Object.values(item.value.value).some(\n (value2) => typeof value2 === \"string\" && nativeInitialKeywordPattern.test(value2)\n )) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native DOM style() does not support the CSS initial keyword, matching the pinned upstream limitation\",\n item.value.span\n );\n }\n let value;\n if (needsRuntime) {\n value = JSON.stringify(item.value.value);\n } else {\n const itemSplit = resolveSplitStyles(\n item.value.value,\n partialStaticConfig(component.staticConfig)\n );\n const itemStyle = itemSplit?.viewProps?.style;\n if (!isSerializableNativeStyle(itemStyle) || core.containsThemeRef(itemStyle)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native style() output is not serializable\",\n item.value.span\n );\n }\n value = JSON.stringify(itemStyle ?? {});\n }\n const condition = item.condition ? input.source.slice(item.condition.start, item.condition.end) : null;\n itemSources.push(condition ? `(${condition}) && ${value}` : value);\n }\n if (needsRuntime) {\n primitive = `DOMRuntime${basePrimitive.slice(\"DOM\".length)}`;\n runtimeStyleSource = `[${itemSources.join(\", \")}]`;\n } else {\n nativeDOMStyleSource = `[${[nativeDOMStyleSource, ...itemSources].join(\", \")}]`;\n }\n }\n const nativeLocal2 = unusedIdentifier(input.source, `__Tamagui${primitive}`);\n const propertyContent = [\n input.element.form === \"jsx\" ? `style={${nativeDOMStyleSource}}` : `style: ${nativeDOMStyleSource}`,\n runtimeStyleSource ? input.element.form === \"jsx\" ? `__styles={${runtimeStyleSource}}` : `__styles: ${runtimeStyleSource}` : \"\",\n serializedProps(input.element.form, propsResult.additions)\n ].filter(Boolean).join(input.element.form === \"jsx\" ? \" \" : \", \");\n const primitiveTagEdits = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: input.element.form === \"jsx\" ? nativeLocal2 : JSON.stringify(nativeLocal2).slice(1, -1),\n origin: span\n }));\n const literalEdits = [];\n const imports = [\n ...nativeStyleImports,\n {\n content: `\nimport { ${primitive} as ${nativeLocal2} } from ${JSON.stringify(NATIVE_PRIMITIVE_MODULE)}\n`,\n origin: input.element.component.span\n }\n ];\n if (NATIVE_BACKING[row.backing].wrapsLiteralText) {\n const textLocal = unusedIdentifier(input.source, \"__TamaguiDOMText\");\n const createElementLocal = unusedIdentifier(\n input.source,\n \"__TamaguiCreateElement\"\n );\n let needsText = false;\n let needsCreateElement = false;\n for (const entry of input.element.entries) {\n if (entry.kind !== \"child\") continue;\n if (entry.value.kind === \"empty\" || entry.value.kind === \"element\" || entry.value.kind === \"static\" && (entry.value.value === null || typeof entry.value.value === \"boolean\")) {\n continue;\n }\n if (entry.value.kind !== \"static\" || entry.value.literalOrigin !== true || typeof entry.value.value !== \"string\" && typeof entry.value.value !== \"number\") {\n return bailout(\n input,\n \"local/unsupported-child\",\n `html.${component.domTag} has a direct child that may render unwrapped native text; write a literal as JSX text or wrap the child in html.span`,\n entry.span\n );\n }\n needsText = true;\n const child = input.source.slice(entry.span.start, entry.span.end);\n if (input.element.form === \"jsx\") {\n literalEdits.push({\n start: entry.span.start,\n end: entry.span.end,\n content: `<${textLocal} __inherit>${child}</${textLocal}>`,\n origin: entry.span\n });\n } else {\n needsCreateElement = true;\n literalEdits.push({\n start: entry.span.start,\n end: entry.span.end,\n content: `${createElementLocal}(${textLocal}, { __inherit: true }, ${child})`,\n origin: entry.span\n });\n }\n }\n if (needsText) {\n imports.push({\n content: `\nimport { DOMText as ${textLocal} } from ${JSON.stringify(NATIVE_PRIMITIVE_MODULE)}\n`,\n origin: input.element.component.span\n });\n }\n if (needsCreateElement) {\n imports.push({\n content: `\nimport { createElement as ${createElementLocal} } from \"react\"\n`,\n origin: input.element.component.span\n });\n }\n }\n const [first3, ...rest3] = styleEntries;\n const firstNonStyle3 = first3 ? spreadReplacement(\"jsx\", first3) : \"\";\n const propsEdits = input.element.form === \"jsx\" ? styleEntries.length === 0 ? [\n {\n start: input.element.component.span.end,\n end: input.element.component.span.end,\n content: ` ${propertyContent}`,\n origin: input.element.component.span\n }\n ] : [\n {\n start: first3.span.start,\n end: first3.span.end,\n content: [propertyContent, firstNonStyle3].filter(Boolean).join(\" \"),\n origin: first3.span\n },\n ...rest3.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ] : compiledPropsEdits(\n input,\n styleEntries,\n propertyContent,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!propsEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [\n ...primitiveTagEdits,\n ...propsResult.edits,\n ...propsEdits,\n ...literalEdits\n ],\n css: [],\n imports,\n flattened: true\n };\n }\n const nativeName = component.staticConfig.isText ? \"Text\" : \"View\";\n const useHostView = options.experimentalNativeFastPath && nativeName === \"View\" && isBareHostView(input.element);\n const nativeExport = useHostView ? \"unstable_NativeView\" : nativeName;\n const nativeLocal = unusedIdentifier(\n input.source,\n `__TamaguiNative${useHostView ? \"HostView\" : nativeName}`\n );\n if (themedStyleKeys && options.disablePartialExtraction) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Theme values require partial extraction, which is disabled\"\n );\n }\n if (dynamicStyleEntries.length > 0 || themedStyleKeys) {\n if (nativeFastPath) {\n const fastLocal = `__TamaguiNativeFast${nativeName}${input.element.span.start}`;\n const tagEdits4 = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: fastLocal,\n origin: span\n }));\n const [first4, ...rest4] = styleEntries;\n const styleEdits = styleEntries.length === 0 ? [] : input.element.form === \"jsx\" ? [\n {\n start: first4.span.start,\n end: first4.span.end,\n content: \"\",\n origin: first4.span\n },\n ...rest4.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: \"\",\n origin: entry.span\n }))\n ] : compiledPropsEdits(input, styleEntries, `_expressions: []`);\n if (!styleEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits4, ...styleEdits],\n css: [],\n imports: [\n ...nativeStyleImports,\n ...nativeFastPath.imports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n },\n {\n content: `\nconst ${fastLocal} = require('@tamagui/core')._withNativeStyle(${nativeLocal}, ${nativeStyleSource}, ${nativeFastPath.mappingLocal});`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const stableLocal = `__TamaguiStable${nativeName}${input.element.span.start}`;\n const expressions = [];\n const plainDynamicParts = [];\n const conditionalParts = [];\n const conditionalKeys = /* @__PURE__ */ new Set();\n const baseStyleForDiff = staticObject(nativeStyleResolved) ? nativeStyleResolved : {};\n for (const entry of dynamicStyleEntries) {\n if (entry.value.kind === \"conditional\" && directStyleName(entry.name, component) !== \"opacity\") {\n let serializeNativeTree = function(node) {\n if (node.kind === \"leaf\") {\n const diff = leafDiffs.get(node) ?? {};\n return JSON.stringify(diff);\n }\n const index = expressions.length;\n expressions.push(input.source.slice(node.test.start, node.test.end));\n return `expressions[${index}] ? ${serializeNativeTree(node.whenTrue)} : ${serializeNativeTree(node.whenFalse)}`;\n };\n const tree = entry.value.tree;\n const leaves = collectLeaves(tree);\n const leafDiffs = /* @__PURE__ */ new Map();\n for (const leaf of leaves) {\n const { branchCompleteProps } = propsForConditional(entry, leaf.value);\n const branchSplit = resolveSplitStyles(\n branchCompleteProps,\n component.staticConfig,\n cssAnimationDriver,\n component.displayName\n );\n const branchStyle = branchSplit?.viewProps?.style ?? {};\n if (!staticObject(branchStyle)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch did not resolve to a static native style`,\n entry.value.span\n );\n }\n for (const viewPropsKey of /* @__PURE__ */ new Set([\n ...Object.keys(branchSplit?.viewProps ?? {}),\n ...Object.keys(split.viewProps ?? {})\n ])) {\n if (viewPropsKey === \"style\") continue;\n if (JSON.stringify(branchSplit?.viewProps?.[viewPropsKey]) !== JSON.stringify(split.viewProps?.[viewPropsKey])) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch changes ${viewPropsKey}, which the compiled style array cannot express`,\n entry.value.span\n );\n }\n }\n for (const key of Object.keys(baseStyleForDiff)) {\n if (!(key in branchStyle)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch removes ${key}, which an additive style array cannot express`,\n entry.value.span\n );\n }\n }\n const diff = {};\n for (const [key, value] of Object.entries(branchStyle)) {\n if (JSON.stringify(baseStyleForDiff[key]) !== JSON.stringify(value)) {\n diff[key] = value;\n }\n }\n if (!isSerializableNativeStyle(diff) || core.containsThemeRef(diff)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch style is not statically representable`,\n entry.value.span\n );\n }\n for (const key of Object.keys(diff)) {\n if (conditionalKeys.has(key)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Multiple conditionals contribute ${key}; their interaction cannot be resolved per-branch`,\n entry.value.span\n );\n }\n }\n leafDiffs.set(leaf, diff);\n }\n for (const diff of leafDiffs.values()) {\n for (const key of Object.keys(diff)) conditionalKeys.add(key);\n }\n conditionalParts.push(serializeNativeTree(tree));\n } else {\n const index = expressions.length;\n expressions.push(\n input.source.slice(entry.value.span.start, entry.value.span.end)\n );\n plainDynamicParts.push(\n `${JSON.stringify(directStyleName(entry.name, component))}: expressions[${index}]`\n );\n }\n }\n const dynamicStyle = plainDynamicParts.join(\", \");\n const themedStyle = themedStyleKeys ? Object.entries(themedStyleKeys).map(\n ([styleKey, themeKey]) => `${JSON.stringify(styleKey)}: _theme[${JSON.stringify(themeKey)}]?.get()`\n ).join(\", \") : null;\n const styleParts = [\n nativeStyleSource,\n ...themedStyle ? [`{ ${themedStyle} }`] : [],\n ...conditionalParts,\n ...dynamicStyle ? [`{ ${dynamicStyle} }`] : []\n ];\n const tagEdits3 = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: stableLocal,\n origin: span\n }));\n const [first3, ...rest3] = styleEntries;\n const firstNonStyle3 = first3 ? spreadReplacement(\"jsx\", first3) : \"\";\n const expressionEdits = styleEntries.length === 0 ? [] : input.element.form === \"jsx\" ? [\n {\n start: first3.span.start,\n end: first3.span.end,\n content: [\n expressions.length > 0 ? `_expressions={[${expressions.join(\", \")}]}` : \"\",\n firstNonStyle3\n ].filter(Boolean).join(\" \"),\n origin: first3.span\n },\n ...rest3.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ] : compiledPropsEdits(\n input,\n styleEntries,\n `_expressions: [${expressions.join(\", \")}]`,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!expressionEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits3, ...expressionEdits],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n },\n {\n content: `\nconst ${stableLocal} = require('@tamagui/core')._withStableStyle(${nativeLocal}, (_theme, expressions) => [${styleParts.join(\", \")}], ${themedStyleKeys ? \"true\" : \"false\"}, false);`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const styleContent = `style: ${nativeStyleSource}`;\n const tagEdits2 = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: nativeLocal,\n origin: span\n }));\n if (input.element.form !== \"jsx\") {\n const propsEdits = compiledPropsEdits(\n input,\n styleEntries,\n styleContent,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!propsEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits2, ...propsEdits],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n if (styleEntries.length === 0) {\n return {\n ok: true,\n edits: [\n ...tagEdits2,\n {\n start: input.element.component.span.end,\n end: input.element.component.span.end,\n content: ` style={${nativeStyleSource}}`,\n origin: input.element.component.span\n }\n ],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const [first2, ...rest2] = styleEntries;\n const firstNonStyle2 = first2 ? spreadReplacement(\"jsx\", first2) : \"\";\n return {\n ok: true,\n edits: [\n ...tagEdits2,\n ...webPropEdits,\n {\n start: first2.span.start,\n end: first2.span.end,\n content: [`style={${nativeStyleSource}}`, firstNonStyle2].filter(Boolean).join(\" \"),\n origin: first2.span\n },\n ...rest2.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const artifacts = extractedStyleArtifacts(\n split,\n props,\n options.tamaguiConfig,\n !component.domTag,\n Boolean(component.staticConfig.styleFrontend)\n );\n const className = artifacts.className;\n const rawInlineStyle = split.viewProps?.style;\n const inlineStyle = staticObject(rawInlineStyle) && Object.keys(rawInlineStyle).length > 0 ? rawInlineStyle : null;\n if (rawInlineStyle && !inlineStyle && !isSerializableNativeStyle(rawInlineStyle)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Web inline style output is not a static serializable value\"\n );\n }\n const programCSS = [];\n const programClassSources = [];\n if (domStyleProgram?.kind === \"prop\" && domStyleProgram.value.kind === \"dom-style\") {\n for (const item of domStyleProgram.value.items) {\n if (item.value.kind !== \"static\" || !staticObject(item.value.value)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Every style() handle in a style array must be statically evaluable\",\n item.value.span\n );\n }\n const itemSplit = resolveSplitStyles(\n item.value.value,\n partialStaticConfig(component.staticConfig)\n );\n if (!itemSplit) {\n return bailout(\n input,\n \"local/style-resolution-failed\",\n \"A style() handle could not be resolved\",\n item.value.span\n );\n }\n const itemInline = itemSplit.viewProps?.style;\n if (staticObject(itemInline) && Object.keys(itemInline).length > 0) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Conditional web style() handles must lower to CSS classes\",\n item.value.span\n );\n }\n const itemArtifacts = extractedStyleArtifacts(\n itemSplit,\n item.value.value,\n options.tamaguiConfig,\n false\n );\n programCSS.push(...itemArtifacts.css);\n if (itemArtifacts.className) {\n const condition = item.condition ? input.source.slice(item.condition.start, item.condition.end) : null;\n programClassSources.push(\n condition ? `(${condition}) && ${JSON.stringify(itemArtifacts.className)}` : JSON.stringify(itemArtifacts.className)\n );\n }\n }\n }\n const baseStaticClasses = new Set(className.split(\" \").filter(Boolean));\n const staticClasses = new Set(baseStaticClasses);\n const webConditionalCSS = [];\n const webConditionalKeys = /* @__PURE__ */ new Set();\n const webConditionalEntries = supportsWebConditionalClasses ? dynamicStyleEntries.filter((entry) => entry.value.kind === \"conditional\") : [];\n for (const entry of webConditionalEntries) {\n let serializeWebTree = function(node) {\n if (node.kind === \"leaf\") {\n const artifacts2 = leafArtifactsMap.get(node);\n const only = artifacts2 ? artifacts2.classes.filter((item) => !sharedInConditional.has(item)) : [];\n return JSON.stringify(only.join(\" \"));\n }\n const test = input.source.slice(node.test.start, node.test.end);\n const truePart = serializeWebTree(node.whenTrue);\n const falsePart = serializeWebTree(node.whenFalse);\n return `(${test}) ? ${truePart} : ${falsePart}`;\n };\n if (entry.value.kind !== \"conditional\") continue;\n const tree = entry.value.tree;\n const leaves = collectLeaves(tree);\n const leafArtifactsMap = /* @__PURE__ */ new Map();\n const entryConditionalKeys = /* @__PURE__ */ new Set();\n for (const leaf of leaves) {\n const { branchProps, branchCompleteProps } = propsForConditional(\n entry,\n leaf.value\n );\n const branchSplit = resolveSplitStyles(\n branchCompleteProps,\n component.staticConfig,\n cssAnimationDriver,\n component.displayName\n );\n if (!branchSplit) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch could not be resolved`,\n entry.value.span\n );\n }\n for (const viewPropsKey of /* @__PURE__ */ new Set([\n ...Object.keys(branchSplit.viewProps ?? {}),\n ...Object.keys(split.viewProps ?? {})\n ])) {\n if (viewPropsKey === \"className\") continue;\n if (JSON.stringify(branchSplit.viewProps?.[viewPropsKey]) !== JSON.stringify(split.viewProps?.[viewPropsKey])) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch changes ${viewPropsKey}, which conditional classes cannot express`,\n entry.value.span\n );\n }\n }\n const changedKeys = /* @__PURE__ */ new Set();\n for (const key of /* @__PURE__ */ new Set([\n ...Object.keys(branchSplit.classNames ?? {}),\n ...Object.keys(split.classNames ?? {})\n ])) {\n if (JSON.stringify(branchSplit.classNames?.[key]) !== JSON.stringify(split.classNames?.[key])) {\n changedKeys.add(key);\n }\n }\n const branchStyle = branchSplit.viewProps?.style;\n const baseStyle = split.viewProps?.style;\n if (staticObject(branchStyle) || staticObject(baseStyle)) {\n for (const key of /* @__PURE__ */ new Set([\n ...Object.keys(staticObject(branchStyle) ? branchStyle : {}),\n ...Object.keys(staticObject(baseStyle) ? baseStyle : {})\n ])) {\n if (JSON.stringify(\n staticObject(branchStyle) ? branchStyle[key] : void 0\n ) !== JSON.stringify(staticObject(baseStyle) ? baseStyle[key] : void 0)) {\n changedKeys.add(key);\n }\n }\n }\n for (const key of changedKeys) {\n if (webConditionalKeys.has(key)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Multiple conditionals contribute ${key}; their interaction cannot be resolved per-branch`,\n entry.value.span\n );\n }\n entryConditionalKeys.add(key);\n }\n const branchArtifacts = extractedStyleArtifacts(\n branchSplit,\n branchProps,\n options.tamaguiConfig,\n !component.domTag,\n Boolean(component.staticConfig.styleFrontend)\n );\n leafArtifactsMap.set(leaf, {\n classes: branchArtifacts.className.split(\" \").filter(Boolean),\n css: branchArtifacts.css\n });\n }\n for (const key of entryConditionalKeys) webConditionalKeys.add(key);\n for (const artifacts2 of leafArtifactsMap.values()) {\n webConditionalCSS.push(...artifacts2.css);\n }\n const allLeafArtifacts = leaves.map((l) => leafArtifactsMap.get(l));\n const sharedInConditional = new Set(\n allLeafArtifacts[0]?.classes.filter(\n (c) => allLeafArtifacts.every((a) => a.classes.includes(c))\n ) ?? []\n );\n for (const cls of baseStaticClasses) {\n if (!sharedInConditional.has(cls)) staticClasses.delete(cls);\n }\n for (const cls of sharedInConditional) {\n if (!baseStaticClasses.has(cls)) staticClasses.add(cls);\n }\n const classExpr = serializeWebTree(tree);\n programClassSources.push(classExpr);\n }\n const webClassName = [...staticClasses].join(\" \");\n const hasStyleProgram = programClassSources.length > 0;\n const classNameExpression = hasStyleProgram ? `[${[JSON.stringify(webClassName), ...programClassSources].join(\", \")}].filter(Boolean).join(\" \")` : null;\n const serializedInlineStyle = serializedStyle(\n inlineStyle,\n dynamicHostStyleProperties ?? []\n );\n const jsxWebStyle = classNameExpression ? [\n `className={${classNameExpression}}`,\n serializedInlineStyle ? `style={${serializedInlineStyle}}` : \"\"\n ].filter(Boolean).join(\" \") : jsxStyleAttributes(webClassName, inlineStyle, dynamicHostStyleProperties ?? []);\n const objectWebStyle = classNameExpression ? [\n `className: ${classNameExpression}`,\n serializedInlineStyle ? `style: ${serializedInlineStyle}` : \"\"\n ].filter(Boolean).join(\", \") : objectStyleProperties(\n webClassName,\n inlineStyle,\n dynamicHostStyleProperties ?? []\n );\n const webCSS = [.../* @__PURE__ */ new Set([...artifacts.css, ...programCSS, ...webConditionalCSS])];\n const webExtraProps = serializedProps(input.element.form, webDOMResult.additions);\n if (input.element.form !== \"jsx\") {\n const replacement = [objectWebStyle, webExtraProps].filter(Boolean).join(\", \");\n const propsEdits = compiledPropsEdits(\n input,\n styleEntries,\n replacement,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!propsEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits, ...webPropEdits, ...propsEdits],\n css: webCSS,\n imports: [],\n flattened: true\n };\n }\n if (styleEntries.length === 0) {\n const attributes2 = [jsxWebStyle, webExtraProps].filter(Boolean).join(\" \");\n return {\n ok: true,\n edits: attributes2 ? [\n ...tagEdits,\n ...webPropEdits,\n {\n start: input.element.component.span.end,\n end: input.element.component.span.end,\n content: ` ${attributes2}`,\n origin: input.element.component.span\n }\n ] : [...tagEdits, ...webPropEdits],\n css: webCSS,\n imports: [],\n flattened: true\n };\n }\n const [first, ...rest] = styleEntries;\n const firstNonStyle = first ? spreadReplacement(\"jsx\", first) : \"\";\n const attributes = [jsxWebStyle, webExtraProps, firstNonStyle].filter(Boolean).join(\" \");\n return {\n ok: true,\n edits: [\n ...tagEdits,\n ...webPropEdits,\n {\n start: first.span.start,\n end: first.span.end,\n content: attributes,\n origin: first.span\n },\n ...rest.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ],\n css: webCSS,\n imports: [],\n flattened: true\n };\n }\n };\n}\nfunction bailout(input, code, message, span = input.element.span, zero, prop) {\n return {\n ok: false,\n bailout: {\n code,\n kind: \"local\",\n message,\n span,\n component: input.element.component.name,\n ...prop && { prop },\n ...zero && { zeroRule: zero.rule, zeroMessage: zero.message }\n }\n };\n}\nexport {\n createComponentRegistry,\n createTamaguiCompilerHost\n};\n//# sourceMappingURL=compilerHost.js.map\n"],"mappings":"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ACF;CACA,cAAc;EAAC;EAAqB;EAAqB;CAAmB;CAC5E,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,aAAa;EACX;EACA;EACA;EACA;EACA;CACF;CACA,SAAS;EAAC;EAAgB;EAAgB;CAAc;CACxD,KAAK,CAAC,aAAa,QAAQ;CAC3B,YAAY,CAAC,iBAAiB,iBAAiB;CAC/C,SAAS,CAAC,cAAc,cAAc;CACtC,cAAc;EACZ;EACA;EACA;EACA;EACA;EACA;CACF;CACA,eAAe;EACb;EACA;EACA;EACA;EACA;EACA;CACF;CACA,aAAa;EAAC;EAAkB;EAAoB;EAAO;EAAS;EAAQ;CAAO;CACnF,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;CACF;AACF;AACA,MAAM,sBAAsB;iBACV,IAAI,IAAI,CAAC,SAAS,YAAY,CAAC;iBAC/B,IAAI,IAAI,CAAC,YAAY,eAAe,CAAC;iBACrC,IAAI,IAAI,CAAC,YAAY,eAAe,CAAC;iBACrC,IAAI,IAAI,CAAC,UAAU,WAAW,CAAC;iBAC/B,IAAI,IAAI,CAAC,aAAa,cAAc,CAAC;iBACrC,IAAI,IAAI,CAAC,aAAa,cAAc,CAAC;iBACrC,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;E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"}
1
+ {"version":3,"file":"compilerHost.js","names":["validStylesView","validStyles"],"sources":["esm/compilerHost.js"],"sourcesContent":["import {\n collectLeaves,\n zeroRuleMessage,\n zeroThemeBoundaryMessage\n} from \"@tamagui/compiler-core\";\nimport {\n StyleObjectIdentifier,\n StyleObjectProperty,\n StyleObjectRules,\n StyleObjectValue,\n stylePropsAll,\n stylePropsInput,\n stylePropsText,\n validStyles as validStylesView\n} from \"@tamagui/helpers\";\nimport {\n ATTRIBUTES,\n DISPLAY_WEB_RESET,\n EVENTS,\n NATIVE_BACKING,\n NATIVE_BLOCK_DEFAULTS,\n NATIVE_ELEMENT_DEFAULTS,\n NATIVE_FLEX_DEFAULTS,\n NATIVE_INPUT_TYPES,\n NATIVE_PRIMITIVE_MODULE,\n TAGS,\n TAG_WEB_DEFAULTS\n} from \"@tamagui/dom\";\nimport {\n createModifierRegistry,\n parseTransition,\n parseValue\n} from \"@tamagui/style-grammar/tooling\";\nimport { isValidStyleKey } from \"@tamagui/web\";\nimport { concatClassName } from \"./extractor/concatClassName\";\nimport { requireTamaguiCore } from \"./helpers/requireTamaguiCore\";\nfunction createComponentRegistry(components, componentModules) {\n return {\n modulesById: new Map(\n componentModules.map((module) => [module.resolvedId, module.moduleName])\n ),\n componentsByModule: new Map(\n components.map((component) => [component.moduleName, component])\n )\n };\n}\nconst DOM_FRONTENDS = /* @__PURE__ */ new Set([\n \"tamagui\",\n \"tamagui/dom\",\n \"@tamagui/core\",\n \"@tamagui/core/dom\",\n \"@tamagui/tailwind\"\n]);\nconst componentState = {\n focus: false,\n focusVisible: false,\n focusWithin: false,\n hover: false,\n unmounted: true,\n press: false,\n pressIn: false,\n disabled: false\n};\nfunction staticObject(value) {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nconst flatClausePattern = /(?:^|\\s)@?[A-Za-z][A-Za-z0-9-]*(?:\\/[A-Za-z0-9_-]+)?:/;\nconst nativeInheritedKeywordPattern = /(?:^|:)(?:inherit|unset)(?=\\s|$)/;\nconst nativeInitialKeywordPattern = /(?:^|:)initial(?=\\s|$)/;\nconst nativeRuntimeOnlyStyleProperties = /* @__PURE__ */ new Set([\"textIndent\"]);\nfunction componentKey(resolvedId, exportName) {\n return `${resolvedId}#${exportName}`;\n}\nfunction cssFromRules(rules) {\n return Object.values(rules).flatMap((styleObject) => {\n const identifier = styleObject?.[StyleObjectIdentifier];\n const styleRules = styleObject?.[StyleObjectRules];\n return identifier && Array.isArray(styleRules) ? styleRules : [];\n });\n}\nfunction jsxClassName(value) {\n return `className=${JSON.stringify(value)}`;\n}\nfunction objectClassName(value) {\n return `className: ${JSON.stringify(value)}`;\n}\nfunction serializedStyle(style, dynamicProperties) {\n if (dynamicProperties.length === 0) return style ? JSON.stringify(style) : \"\";\n return `{ ${[\n ...style ? Object.entries(style).map(\n ([name, value]) => `${JSON.stringify(name)}: ${JSON.stringify(value)}`\n ) : [],\n ...dynamicProperties\n ].join(\", \")} }`;\n}\nfunction jsxStyleAttributes(className, style, dynamicProperties = []) {\n const serialized = serializedStyle(style, dynamicProperties);\n return [\n className ? jsxClassName(className) : \"\",\n serialized ? `style={${serialized}}` : \"\"\n ].filter(Boolean).join(\" \");\n}\nfunction objectStyleProperties(className, style, dynamicProperties = []) {\n const serialized = serializedStyle(style, dynamicProperties);\n return [\n className ? objectClassName(className) : \"\",\n serialized ? `style: ${serialized}` : \"\"\n ].filter(Boolean).join(\", \");\n}\nfunction extractedStyleArtifacts(split, props, config, includeRuntimeBase = true, hasStyleFrontend = false) {\n const callerClassName = !hasStyleFrontend && typeof props.className === \"string\" ? props.className : \"\";\n const viewClassName = typeof split.viewProps?.className === \"string\" ? split.viewProps.className : \"\";\n const classNameWithoutCaller = callerClassName && viewClassName.endsWith(callerClassName) ? viewClassName.slice(0, -callerClassName.length).trimEnd() : viewClassName;\n const rules = split.rulesToInsert ?? {};\n const mediaNames = new Set(Object.keys(config.media ?? {}));\n const pseudoNames = [\n \"hover\",\n \"press\",\n \"focus\",\n \"focusVisible\",\n \"focusWithin\",\n \"disabled\"\n ];\n const buckets = {\n group: [],\n normal: [],\n pseudo: [],\n theme: [],\n media: []\n };\n const classKeys = /* @__PURE__ */ new Map();\n for (const [key, identifier] of Object.entries(split.classNames ?? {})) {\n if (typeof identifier === \"string\") classKeys.set(identifier, key);\n }\n const identifiers = /* @__PURE__ */ new Set([\n ...classKeys.keys(),\n ...Object.values(rules).flatMap((styleObject) => {\n const identifier = styleObject?.[StyleObjectIdentifier];\n return typeof identifier === \"string\" ? [identifier] : [];\n })\n ]);\n for (const identifier of identifiers) {\n const key = classKeys.get(identifier) ?? \"\";\n const css2 = cssFromRules(\n Object.fromEntries(\n Object.entries(rules).filter(\n ([, styleObject]) => styleObject?.[StyleObjectIdentifier] === identifier\n )\n )\n ).join(\"\");\n if (identifier.startsWith(\"t_group_\")) {\n buckets.group.push(identifier);\n } else if (pseudoNames.some((name) => key.endsWith(`-${name}`))) {\n buckets.pseudo.push(identifier);\n } else if (css2.includes(\".t_\")) {\n buckets.theme.push(identifier);\n } else if ([...mediaNames].some((name) => key.endsWith(`-${name}`))) {\n buckets.media.push(identifier);\n } else {\n buckets.normal.push(identifier);\n }\n }\n const orderedIdentifiers = [\n ...buckets.group,\n ...buckets.normal,\n ...buckets.pseudo,\n ...buckets.theme,\n ...buckets.media\n ];\n const orderedSet = new Set(orderedIdentifiers);\n const baseViewClassName = includeRuntimeBase ? classNameWithoutCaller.split(/\\s+/).filter((token) => token && !orderedSet.has(token)).join(\" \") : \"\";\n const css = orderedIdentifiers.flatMap((identifier) => {\n const identifierRules = cssFromRules(\n Object.fromEntries(\n Object.entries(rules).filter(\n ([, styleObject]) => styleObject?.[StyleObjectIdentifier] === identifier\n )\n )\n );\n return buckets.theme.includes(identifier) ? identifierRules.map(\n (rule) => rule.replace(\":root:root:root.t_\", \":root:root:root:root.t_\")\n ) : identifierRules;\n });\n return {\n className: concatClassName(baseViewClassName, orderedIdentifiers, callerClassName),\n css\n };\n}\nfunction spreadNonStyleReplacement(form, entry, isPropIgnored, rewriteProp) {\n if (entry.kind !== \"spread\" || entry.value.kind !== \"static\" || !staticObject(entry.value.value)) {\n return \"\";\n }\n const nonStyleEntries = Object.entries(entry.value.value).filter(([key]) => !isPropIgnored(key)).map(([key, value]) => rewriteProp(key, value));\n if (nonStyleEntries.length === 0) return \"\";\n const objectSource = `{ ${nonStyleEntries.map(([key, value]) => `${JSON.stringify(key)}: ${JSON.stringify(value)}`).join(\", \")} }`;\n return form === \"jsx\" ? `{...${objectSource}}` : `...${objectSource}`;\n}\nfunction compiledPropsEdits(input, styleEntries, replacement, spreadReplacement) {\n const propsSpan = input.element.propsSpan;\n if (!propsSpan) return null;\n const original = input.source.slice(propsSpan.start, propsSpan.end);\n const trimmed = original.trim();\n if (!trimmed.startsWith(\"{\") || !trimmed.endsWith(\"}\")) {\n return [\n {\n start: propsSpan.start,\n end: propsSpan.end,\n content: `{ ${replacement} }`,\n origin: propsSpan\n }\n ];\n }\n if (styleEntries.length === 0) {\n const close = original.lastIndexOf(\"}\");\n const separator = original.slice(1, close).trim() ? \", \" : \" \";\n const position = propsSpan.start + close;\n return [\n {\n start: position,\n end: position,\n content: `${separator}${replacement} `,\n origin: propsSpan\n }\n ];\n }\n const edits = [];\n for (const [index, entry] of styleEntries.entries()) {\n let start = entry.span.start;\n let end = entry.span.end;\n const nonStyle = spreadReplacement?.(entry) ?? \"\";\n if (index === 0) {\n const content = [replacement, nonStyle].filter(Boolean).join(\", \");\n edits.push({ start, end, content, origin: entry.span });\n continue;\n }\n let cursor = end - propsSpan.start;\n while (cursor < original.length - 1 && /\\s/.test(original[cursor])) cursor++;\n if (original[cursor] === \",\") {\n end = propsSpan.start + cursor + 1;\n } else {\n cursor = start - propsSpan.start - 1;\n while (cursor > 0 && /\\s/.test(original[cursor])) cursor--;\n if (original[cursor] === \",\") start = propsSpan.start + cursor;\n }\n edits.push({ start, end, content: nonStyle, origin: entry.span });\n }\n const merged = [];\n for (const edit of edits.sort((left, right) => left.start - right.start)) {\n const previous = merged.at(-1);\n if (previous && edit.start <= previous.end && !previous.content && !edit.content) {\n previous.end = Math.max(previous.end, edit.end);\n } else {\n merged.push(edit);\n }\n }\n return merged;\n}\nconst compilerStyleProps = /* @__PURE__ */ new Set([\n \"className\",\n \"style\",\n \"group\",\n \"transition\",\n \"animation\",\n \"animateOnly\",\n \"animatePresence\",\n \"animatedBy\",\n \"fontFamily\",\n \"render\"\n]);\nconst runtimeAnimationProps = /* @__PURE__ */ new Set([\n \"transition\",\n \"animation\",\n \"animateOnly\",\n \"animatePresence\",\n \"animatedBy\"\n]);\nconst componentOnlyProps = /* @__PURE__ */ new Set([\"asChild\", \"disableOptimization\", \"themeInverse\"]);\nconst cssShorthandConflicts = {\n background: [\n \"backgroundAttachment\",\n \"backgroundBlendMode\",\n \"backgroundClip\",\n \"backgroundColor\",\n \"backgroundImage\",\n \"backgroundOrigin\",\n \"backgroundPosition\",\n \"backgroundRepeat\",\n \"backgroundSize\"\n ],\n border: [\n \"borderTop\",\n \"borderTopColor\",\n \"borderTopStyle\",\n \"borderTopWidth\",\n \"borderRight\",\n \"borderRightColor\",\n \"borderRightStyle\",\n \"borderRightWidth\",\n \"borderBottom\",\n \"borderBottomColor\",\n \"borderBottomStyle\",\n \"borderBottomWidth\",\n \"borderLeft\",\n \"borderLeftColor\",\n \"borderLeftStyle\",\n \"borderLeftWidth\",\n \"borderColor\",\n \"borderStyle\",\n \"borderWidth\",\n \"borderImage\",\n \"borderImageOutset\",\n \"borderImageRepeat\",\n \"borderImageSlice\",\n \"borderImageSource\",\n \"borderImageWidth\",\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineEndStyle\",\n \"borderInlineEndWidth\",\n \"borderInlineStartColor\",\n \"borderInlineStartStyle\",\n \"borderInlineStartWidth\",\n \"borderInlineStyle\",\n \"borderInlineWidth\"\n ],\n borderTop: [\"borderTopColor\", \"borderTopStyle\", \"borderTopWidth\"],\n borderRight: [\n \"borderRightColor\",\n \"borderRightStyle\",\n \"borderRightWidth\",\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineEndStyle\",\n \"borderInlineEndWidth\",\n \"borderInlineStartColor\",\n \"borderInlineStartStyle\",\n \"borderInlineStartWidth\",\n \"borderInlineStyle\",\n \"borderInlineWidth\"\n ],\n borderBottom: [\"borderBottomColor\", \"borderBottomStyle\", \"borderBottomWidth\"],\n borderLeft: [\n \"borderLeftColor\",\n \"borderLeftStyle\",\n \"borderLeftWidth\",\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineEndStyle\",\n \"borderInlineEndWidth\",\n \"borderInlineStartColor\",\n \"borderInlineStartStyle\",\n \"borderInlineStartWidth\",\n \"borderInlineStyle\",\n \"borderInlineWidth\"\n ],\n borderImage: [\n \"borderImageOutset\",\n \"borderImageRepeat\",\n \"borderImageSlice\",\n \"borderImageSource\",\n \"borderImageWidth\"\n ],\n outline: [\"outlineColor\", \"outlineStyle\", \"outlineWidth\"],\n gap: [\"columnGap\", \"rowGap\"],\n gridColumn: [\"gridColumnEnd\", \"gridColumnStart\"],\n gridRow: [\"gridRowEnd\", \"gridRowStart\"],\n marginInline: [\n \"marginInlineEnd\",\n \"marginInlineStart\",\n \"marginEnd\",\n \"marginStart\",\n \"marginLeft\",\n \"marginRight\"\n ],\n paddingInline: [\n \"paddingInlineEnd\",\n \"paddingInlineStart\",\n \"paddingEnd\",\n \"paddingStart\",\n \"paddingLeft\",\n \"paddingRight\"\n ],\n insetInline: [\"insetInlineEnd\", \"insetInlineStart\", \"end\", \"start\", \"left\", \"right\"],\n borderInlineColor: [\n \"borderInlineEndColor\",\n \"borderInlineStartColor\",\n \"borderEndColor\",\n \"borderStartColor\",\n \"borderLeftColor\",\n \"borderRightColor\"\n ],\n borderInlineStyle: [\n \"borderInlineEndStyle\",\n \"borderInlineStartStyle\",\n \"borderEndStyle\",\n \"borderStartStyle\",\n \"borderLeftStyle\",\n \"borderRightStyle\"\n ],\n borderInlineWidth: [\n \"borderInlineEndWidth\",\n \"borderInlineStartWidth\",\n \"borderEndWidth\",\n \"borderStartWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\"\n ],\n mask: [\n \"maskBorder\",\n \"maskBorderMode\",\n \"maskBorderOutset\",\n \"maskBorderRepeat\",\n \"maskBorderSlice\",\n \"maskBorderSource\",\n \"maskBorderWidth\",\n \"maskClip\",\n \"maskComposite\",\n \"maskImage\",\n \"maskMode\",\n \"maskOrigin\",\n \"maskPosition\",\n \"maskRepeat\",\n \"maskSize\"\n ],\n maskBorder: [\n \"maskBorderMode\",\n \"maskBorderOutset\",\n \"maskBorderRepeat\",\n \"maskBorderSlice\",\n \"maskBorderSource\",\n \"maskBorderWidth\"\n ]\n};\nconst cssConflictFamilies = [\n /* @__PURE__ */ new Set([\"width\", \"inlineSize\"]),\n /* @__PURE__ */ new Set([\"minWidth\", \"minInlineSize\"]),\n /* @__PURE__ */ new Set([\"maxWidth\", \"maxInlineSize\"]),\n /* @__PURE__ */ new Set([\"height\", \"blockSize\"]),\n /* @__PURE__ */ new Set([\"minHeight\", \"minBlockSize\"]),\n /* @__PURE__ */ new Set([\"maxHeight\", \"maxBlockSize\"]),\n /* @__PURE__ */ new Set([\n \"marginInline\",\n \"marginInlineEnd\",\n \"marginInlineStart\",\n \"marginEnd\",\n \"marginStart\",\n \"marginLeft\",\n \"marginRight\"\n ]),\n /* @__PURE__ */ new Set([\n \"paddingInline\",\n \"paddingInlineEnd\",\n \"paddingInlineStart\",\n \"paddingEnd\",\n \"paddingStart\",\n \"paddingLeft\",\n \"paddingRight\"\n ]),\n /* @__PURE__ */ new Set([\n \"insetInline\",\n \"insetInlineEnd\",\n \"insetInlineStart\",\n \"end\",\n \"start\",\n \"left\",\n \"right\"\n ]),\n /* @__PURE__ */ new Set([\n \"borderInlineColor\",\n \"borderInlineEndColor\",\n \"borderInlineStartColor\",\n \"borderEndColor\",\n \"borderStartColor\",\n \"borderLeftColor\",\n \"borderRightColor\"\n ]),\n /* @__PURE__ */ new Set([\n \"borderInlineStyle\",\n \"borderInlineEndStyle\",\n \"borderInlineStartStyle\",\n \"borderEndStyle\",\n \"borderStartStyle\",\n \"borderLeftStyle\",\n \"borderRightStyle\"\n ]),\n /* @__PURE__ */ new Set([\n \"borderInlineWidth\",\n \"borderInlineEndWidth\",\n \"borderInlineStartWidth\",\n \"borderEndWidth\",\n \"borderStartWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\"\n ])\n];\nfunction cssOwnersConflict(left, right) {\n for (const leftOwner of left) {\n for (const rightOwner of right) {\n if (leftOwner === rightOwner || cssShorthandConflicts[leftOwner]?.includes(rightOwner) || cssShorthandConflicts[rightOwner]?.includes(leftOwner) || cssConflictFamilies.some(\n (family) => family.has(leftOwner) && family.has(rightOwner)\n )) {\n return true;\n }\n }\n }\n return false;\n}\nconst runtimeEventProps = /* @__PURE__ */ new Set([\n \"onHoverIn\",\n \"onHoverOut\",\n \"onLongPress\",\n \"onPress\",\n \"onPressIn\",\n \"onPressOut\"\n]);\nconst DOM_STYLE_ATTRIBUTES = new Map(\n Object.entries(ATTRIBUTES).filter(\n ([name, row]) => row.native !== \"none\" && row.nativeProp && row.nativeProp !== name && row.nativeProp in stylePropsText\n ).map(([name, row]) => [name, row.nativeProp])\n);\nconst nativePointerEventProps = /* @__PURE__ */ new Set([\n \"onPointerCancel\",\n \"onPointerDown\",\n \"onPointerEnter\",\n \"onPointerLeave\",\n \"onPointerMove\",\n \"onPointerUp\"\n]);\nfunction isSerializableNativeStyle(value) {\n if (value == null || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (typeof value === \"string\") return true;\n if (Array.isArray(value)) return value.every(isSerializableNativeStyle);\n if (!staticObject(value)) return false;\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null) return false;\n return Object.values(value).every(isSerializableNativeStyle);\n}\nfunction unusedIdentifier(source, base) {\n let candidate = base;\n let suffix = 0;\n while (new RegExp(`\\\\b${candidate}\\\\b`).test(source)) {\n candidate = `${base}${++suffix}`;\n }\n return candidate;\n}\nconst VIEW_WRAPPER_PROPS = /^(aria-|accessibilityState$|accessibilityValue$|id$|tabIndex$|nativeID$)/;\nfunction isBareHostView(element) {\n return !element.entries.some(\n (entry) => entry.kind === \"child\" || entry.kind === \"spread\" || entry.kind === \"prop\" && VIEW_WRAPPER_PROPS.test(entry.name)\n );\n}\nfunction entrySource(input, entry) {\n return entry.value.kind === \"static\" ? JSON.stringify(entry.value.value) : input.source.slice(entry.value.span.start, entry.value.span.end);\n}\nfunction renamedPropEdit(input, entry, name) {\n if (entry.name === name) return null;\n const content = input.source.slice(entry.span.start, entry.span.end);\n const offset = content.indexOf(entry.name);\n if (offset === -1) return null;\n const quoted = content[offset - 1] === '\"' || content[offset - 1] === \"'\";\n return {\n start: entry.span.start + offset,\n end: entry.span.start + offset + entry.name.length,\n content: input.element.form === \"jsx\" || quoted ? name : JSON.stringify(name),\n origin: entry.span\n };\n}\nfunction serializedProps(form, props) {\n return props.map(\n ([name, value]) => form === \"jsx\" ? `${name}={${value}}` : `${JSON.stringify(name)}: ${value}`\n ).join(form === \"jsx\" ? \" \" : \", \");\n}\nfunction nativeDOMProps(input, tag) {\n const consumed = [];\n const edits = [];\n const additions = [];\n const nested = /* @__PURE__ */ new Map();\n const entries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\"\n );\n const names = new Set(entries.map((entry) => entry.name));\n if (names.has(\"ref\") || tag === \"br\") additions.push([\"__tag\", JSON.stringify(tag)]);\n if (TAGS[tag].backing === \"text\" || TAGS[tag].backing === \"textinput\") {\n additions.push([\"__inherit\", \"true\"]);\n }\n const add = (name, value) => additions.push([name, value]);\n const consume = (entry) => consumed.push(entry);\n for (const entry of entries) {\n const value = entrySource(input, entry);\n const attribute = (entry.name in ATTRIBUTES ? ATTRIBUTES[entry.name] : void 0) ?? (entry.name.startsWith(\"data-\") ? ATTRIBUTES[\"data-*\"] : void 0);\n const event = entry.name in EVENTS ? EVENTS[entry.name] : void 0;\n if (event) {\n if (event.native === \"none\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `${entry.name} has no native DOM event equivalent`,\n diagnosticSpan: entry.span\n };\n }\n if (entry.name === \"onKeyDown\" && tag !== \"input\" && tag !== \"textarea\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `onKeyDown requires a native text-entry control`,\n diagnosticSpan: entry.span\n };\n }\n if ([\"onClick\", \"onLoad\", \"onError\", \"onChange\", \"onInput\", \"onKeyDown\"].includes(\n entry.name\n )) {\n continue;\n }\n if (event.nativeProp) {\n const edit2 = renamedPropEdit(input, entry, event.nativeProp);\n if (edit2) edits.push(edit2);\n }\n continue;\n }\n if (!attribute || attribute.native === \"none\" || entry.name === \"style\") continue;\n if (DOM_STYLE_ATTRIBUTES.has(entry.name)) {\n if (entry.value.kind !== \"static\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `html.${tag} ${entry.name} must be statically known for native lowering`,\n diagnosticSpan: entry.span\n };\n }\n consume(entry);\n continue;\n }\n if (entry.name === \"hidden\") {\n if (entry.value.kind !== \"static\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `html.${tag} hidden must be statically known for native lowering`,\n diagnosticSpan: entry.span\n };\n }\n consume(entry);\n continue;\n }\n if (entry.name === \"tabIndex\") {\n consume(entry);\n add(\"focusable\", `(${value}) === 0`);\n continue;\n }\n if (entry.name === \"readOnly\") {\n consume(entry);\n add(\"editable\", `!(${value})`);\n continue;\n }\n if (entry.name === \"disabled\") {\n consume(entry);\n add(\"disabled\", value);\n add(\"focusable\", `!(${value})`);\n if (tag === \"input\" || tag === \"textarea\") add(\"editable\", `!(${value})`);\n const state = nested.get(\"accessibilityState\") ?? [];\n state.push([\"disabled\", value]);\n nested.set(\"accessibilityState\", state);\n continue;\n }\n if (entry.name === \"type\") {\n consume(entry);\n if (tag === \"input\" && entry.value.kind !== \"static\") {\n return {\n consumed,\n edits,\n additions,\n diagnostic: `html.input type must be statically known for native lowering`,\n diagnosticSpan: entry.span\n };\n }\n if (tag === \"input\" && entry.value.kind === \"static\") {\n const type = entry.value.value;\n if (type === \"password\") add(\"secureTextEntry\", \"true\");\n else if (typeof type === \"string\" && type !== \"text\" && NATIVE_INPUT_TYPES.includes(type)) {\n if (!names.has(\"inputMode\")) {\n add(\"inputMode\", JSON.stringify(type === \"number\" ? \"numeric\" : type));\n }\n }\n }\n continue;\n }\n if (entry.name === \"aria-hidden\") {\n consume(entry);\n add(\"accessibilityElementsHidden\", value);\n add(\"importantForAccessibility\", `(${value}) ? \"no-hide-descendants\" : \"auto\"`);\n continue;\n }\n if (entry.name === \"aria-live\") {\n consume(entry);\n add(\n \"accessibilityLiveRegion\",\n entry.value.kind === \"static\" && entry.value.value === \"off\" ? '\"none\"' : value\n );\n continue;\n }\n const nativeProp = attribute.nativeProp;\n if (!nativeProp) continue;\n if (nativeProp.includes(\".\")) {\n consume(entry);\n const [parent, child] = nativeProp.split(\".\");\n const values = nested.get(parent) ?? [];\n values.push([child, value]);\n nested.set(parent, values);\n continue;\n }\n const edit = renamedPropEdit(input, entry, nativeProp);\n if (edit) edits.push(edit);\n }\n for (const [name, values] of nested) {\n add(name, `{ ${values.map(([key, value]) => `${key}: ${value}`).join(\", \")} }`);\n }\n if (!names.has(\"role\") && TAGS[tag].role) add(\"role\", JSON.stringify(TAGS[tag].role));\n if (tag === \"textarea\") add(\"multiline\", \"true\");\n return { consumed, edits, additions };\n}\nfunction webDOMProps(input, tag) {\n const edits = [];\n const additions = [];\n const entries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\"\n );\n const names = new Set(entries.map((entry) => entry.name));\n for (const entry of entries) {\n if (entry.name === \"for\") {\n const edit = renamedPropEdit(input, entry, \"htmlFor\");\n if (edit) edits.push(edit);\n }\n if (entry.name === \"role\" && entry.value.kind === \"static\" && entry.value.value === \"none\") {\n edits.push({\n start: entry.value.span.start,\n end: entry.value.span.end,\n content: JSON.stringify(\"presentation\"),\n origin: entry.value.span\n });\n }\n }\n if (tag === \"button\" && !names.has(\"type\")) additions.push([\"type\", '\"button\"']);\n if ((tag === \"input\" || tag === \"textarea\") && !names.has(\"dir\")) {\n additions.push([\"dir\", '\"auto\"']);\n }\n return { edits, additions };\n}\nfunction createTamaguiCompilerHost(options) {\n const platform = options.target === \"native\" ? \"native\" : \"web\";\n const core = requireTamaguiCore(platform);\n const compilerVariantStyleResolver = core.styled(core.View, {}).staticConfig.variantStyleResolver;\n const firstThemeName = Object.keys(options.tamaguiConfig.themes ?? {})[0] ?? \"\";\n const firstTheme = options.tamaguiConfig.themes?.[firstThemeName] ?? {};\n const theme = firstTheme;\n const modifierRegistry = createModifierRegistry({\n mediaNames: options.tamaguiConfig.media ?? {},\n themeNames: options.tamaguiConfig.themes ?? {}\n }).registry;\n const isClauseObjectValue = (value) => {\n if (!staticObject(value)) return false;\n if (\"default\" in value) return true;\n for (const key in value) {\n if (key.length === 0) return false;\n let start = 0;\n for (let index = 0; index <= key.length; index++) {\n if (index !== key.length && key.charCodeAt(index) !== 58) continue;\n if (modifierRegistry.get(key.slice(start, index)) === void 0) return false;\n start = index + 1;\n }\n return true;\n }\n return false;\n };\n const platformModifiersRegistered = modifierRegistry.get(\"web\") === \"platform\" && modifierRegistry.get(\"native\") === \"platform\";\n const nativeClauseValue = (value) => {\n if (typeof value !== \"string\" || !flatClausePattern.test(value)) {\n return isClauseObjectValue(value) ? \"live\" : null;\n }\n if (!platformModifiersRegistered) return \"live\";\n const parsed = parseValue(value, modifierRegistry);\n if (!parsed.ok || parsed.value.clauses.length === 0) return \"live\";\n let payload = parsed.value.base;\n let matched = parsed.value.base !== null;\n for (const clause of parsed.value.clauses) {\n if (clause.modifiers.includes(\"web\")) continue;\n if (clause.modifiers.length !== 1 || clause.modifiers[0] !== \"native\") return \"live\";\n payload = clause.payload;\n matched = true;\n }\n return { payload, matched };\n };\n const configuredAnimationDriver = options.tamaguiConfig.animations;\n const configuredCssAnimationDriver = platform === \"web\" && configuredAnimationDriver?.outputStyle === \"css\" && !options.tamaguiConfig.animationDrivers ? configuredAnimationDriver : null;\n const resolveStaticCssTransition = (value, transitionPresets) => {\n if (platform !== \"web\" || typeof value !== \"string\") return null;\n const transitionPresetNames = new Set(Object.keys(transitionPresets));\n const program = parseValue(value, modifierRegistry);\n if (!program.ok) return null;\n const resolvedPayloads = [];\n const payloads = [\n program.value.base,\n ...program.value.clauses.map((clause) => clause.payload)\n ].filter((payload) => payload !== null);\n if (payloads.length === 0) return null;\n for (const payload of payloads) {\n const transition = parseTransition(payload, transitionPresetNames);\n if (!transition.ok) return null;\n if (transition.value.kind === \"global\" || transition.value.entries.every((entry) => entry.timing.type === \"css\")) {\n resolvedPayloads.push(payload);\n continue;\n }\n if (transition.value.entries.length !== 1 || transition.value.entries[0].timing.type !== \"preset\") {\n return null;\n }\n const preset = transitionPresets[transition.value.entries[0].timing.name];\n if (typeof preset !== \"string\") return null;\n const parsedPreset = parseTransition(preset);\n if (!parsedPreset.ok || parsedPreset.value.kind !== \"transition\" || parsedPreset.value.entries.length !== 1 || parsedPreset.value.entries[0].property !== \"all\" || parsedPreset.value.entries[0].timing.type !== \"css\") {\n return null;\n }\n resolvedPayloads.push(`all ${preset}`);\n }\n let payloadIndex = 0;\n const resolved = [];\n if (program.value.base !== null) {\n resolved.push(resolvedPayloads[payloadIndex++]);\n }\n for (const clause of program.value.clauses) {\n resolved.push(`${clause.modifiers.join(\":\")}:${resolvedPayloads[payloadIndex++]}`);\n }\n return resolved.join(\" \");\n };\n const { modulesById, componentsByModule } = options.registry ?? createComponentRegistry(options.components, options.componentModules);\n const normalizedStyleConfigs = /* @__PURE__ */ new WeakMap();\n const normalizeStaticConfig = (staticConfig) => {\n if (!staticConfig.styleFrontend) return staticConfig;\n const normalized = core.getStyleStaticConfig(staticConfig, options.tamaguiConfig);\n const result = {\n ...staticConfig,\n baseStyle: normalized.baseStyle,\n defaultProps: normalized.defaultProps,\n variants: normalized.variants,\n passthroughClassName: normalized.passthroughClassName\n };\n normalizedStyleConfigs.set(result, normalized);\n return result;\n };\n const directStaticConfig = (element) => {\n const identity = element.component.provenance;\n if (!identity) return null;\n const moduleName = modulesById.get(identity.resolvedId);\n const component = moduleName ? componentsByModule.get(moduleName) : void 0;\n const info = component?.nameToInfo[identity.importedName];\n return info ? {\n key: componentKey(identity.resolvedId, identity.importedName),\n staticConfig: normalizeStaticConfig(info.staticConfig),\n displayName: info.displayName\n } : null;\n };\n const domStaticConfig = (element) => {\n const identity = element.component.provenance;\n const tag = element.component.name;\n if (identity?.importedName !== \"html\" || !DOM_FRONTENDS.has(identity.specifier) || !(tag in TAGS)) {\n return null;\n }\n const row = TAGS[tag];\n const textLike = row.backing === \"text\" || row.backing === \"textinput\";\n const base = (textLike ? core.Text : core.View)?.staticConfig;\n if (!base) return null;\n const platformDefaults = platform === \"web\" ? {\n ...DISPLAY_WEB_RESET[row.display],\n ...row.defaults,\n ...TAG_WEB_DEFAULTS[tag]\n } : {\n ...NATIVE_ELEMENT_DEFAULTS,\n ...row.display === \"block\" ? NATIVE_BLOCK_DEFAULTS : null,\n ...row.defaults,\n ...row.nativeDefaults\n };\n return {\n key: componentKey(identity.resolvedId, `html.${tag}`),\n tag,\n displayName: tag,\n staticConfig: normalizeStaticConfig({\n ...base,\n isInput: row.backing === \"textinput\",\n // CSS text properties may be authored on any element and inherited by\n // descendant text, including from a View-backed tag on native.\n validStyles: {\n ...validStylesView,\n ...row.backing === \"textinput\" ? stylePropsInput : stylePropsText\n },\n defaultProps: {\n ...base.defaultProps,\n ...platformDefaults\n }\n })\n };\n };\n const styledStaticConfig = (definition) => {\n if (!definition || definition.options.kind !== \"static\") return null;\n const staticConfig = definition.staticConfig;\n if (staticConfig && (staticConfig.kind !== \"static\" || !staticObject(staticConfig.value))) {\n return null;\n }\n const base = directStaticConfig({\n kind: \"element\",\n form: \"jsx\",\n id: definition.id,\n span: definition.span,\n propsSpan: null,\n component: definition.base,\n complete: true,\n entries: [],\n bailouts: []\n });\n if (!base || !staticObject(definition.options.value)) return null;\n const {\n variants,\n defaultVariants,\n displayName,\n context,\n contextProps,\n ...defaultProps\n } = definition.options.value;\n const baseClassName = definition.baseClassName?.kind === \"static\" && typeof definition.baseClassName.value === \"string\" ? definition.baseClassName.value : void 0;\n const localStaticConfig = {\n ...base.staticConfig,\n ...staticConfig?.value,\n variants: {\n ...base.staticConfig.variants,\n ...variants\n },\n defaultProps: {\n ...base.staticConfig.defaultProps,\n ...defaultProps,\n ...defaultVariants\n },\n defaultVariants,\n baseClassName: [base.staticConfig.baseClassName, baseClassName].filter(Boolean).join(\" \"),\n context: context ?? base.staticConfig.context,\n contextProps: context ? contextProps : contextProps ?? base.staticConfig.contextProps\n };\n localStaticConfig.variantStyleResolver = compilerVariantStyleResolver;\n return {\n key: componentKey(definition.id, definition.name),\n displayName: displayName || base.displayName,\n staticConfig: normalizeStaticConfig(localStaticConfig)\n };\n };\n const resolve = (element, styledDefinition) => {\n const dom = domStaticConfig(element);\n const resolved = dom ?? directStaticConfig(element) ?? styledStaticConfig(styledDefinition);\n if (!resolved) return null;\n const defaultProps = resolved.staticConfig.defaultProps ?? {};\n return {\n key: resolved.key,\n canFlatten: resolved.staticConfig.acceptsClassName !== false && !resolved.staticConfig.neverFlatten && !resolved.staticConfig.context,\n staticConfig: resolved.staticConfig,\n displayName: resolved.displayName,\n ...dom && { domTag: dom.tag },\n // retaining the component also retains these runtime style sources.\n // splitting their output into equal-specificity atomic classes would\n // make stylesheet insertion order decide the winner.\n partialRuntimeSafe: !dom && !styledDefinition && Object.keys(defaultProps).length === 0 && !resolved.staticConfig.defaultVariants && !resolved.staticConfig.baseClassName && !resolved.staticConfig.baseStyle\n };\n };\n const isStyleProp = (name, component) => {\n const staticConfig = component.staticConfig;\n return compilerStyleProps.has(name) || name in (options.tamaguiConfig.shorthands ?? {}) || !!staticConfig.validStyles?.[name] || !!staticConfig.variants?.[name];\n };\n const runtimeOnlyStyleProps = /* @__PURE__ */ new Set([\n \"className\",\n \"style\",\n \"group\",\n \"transition\",\n \"animation\",\n \"animateOnly\",\n \"animatePresence\",\n \"animatedBy\",\n \"render\"\n ]);\n const canLowerConditionalStyleProp = (name, component) => isStyleProp(name, component) && !runtimeOnlyStyleProps.has(name);\n const isInvalidHostStyleProp = (name, component) => {\n const staticConfig = component.staticConfig;\n const validStyles = staticConfig.validStyles || (staticConfig.isInput ? stylePropsInput : staticConfig.isText ? stylePropsText : validStylesView);\n return name in stylePropsAll && !isValidStyleKey(name, validStyles);\n };\n const directStyleName = (name, component) => {\n if (compilerStyleProps.has(name) || name === \"style\") {\n return null;\n }\n const staticConfig = component.staticConfig;\n if (staticConfig.variants?.[name]) return null;\n const expanded = options.tamaguiConfig.shorthands?.[name] ?? name;\n return staticConfig.validStyles?.[expanded] ? expanded : null;\n };\n const resolveSplitStyles = (props, staticConfig, animationDriver, displayName) => {\n const previousStatic = process.env.IS_STATIC;\n const previousTarget = process.env.TAMAGUI_TARGET;\n if (platform === \"native\") {\n process.env.IS_STATIC = \"is_static\";\n } else {\n delete process.env.IS_STATIC;\n }\n process.env.TAMAGUI_TARGET = platform;\n try {\n return core.getSplitStyles(\n props,\n staticConfig,\n theme,\n firstThemeName,\n componentState,\n {\n isStatic: true,\n resolveValues: platform === \"native\" ? \"except-theme\" : \"variable\",\n noClass: platform === \"native\",\n isAnimated: false,\n displayName\n },\n void 0,\n void 0,\n void 0,\n void 0,\n void 0,\n void 0,\n animationDriver,\n normalizedStyleConfigs.get(staticConfig)\n );\n } finally {\n if (previousStatic === void 0) delete process.env.IS_STATIC;\n else process.env.IS_STATIC = previousStatic;\n if (previousTarget === void 0) delete process.env.TAMAGUI_TARGET;\n else process.env.TAMAGUI_TARGET = previousTarget;\n }\n };\n const partialStaticConfig = (staticConfig) => ({\n ...staticConfig,\n baseStyle: void 0,\n defaultProps: {},\n defaultVariants: void 0,\n variants: {}\n });\n const styleOwners = (name, value, staticConfig) => {\n const split = resolveSplitStyles({ [name]: value }, partialStaticConfig(staticConfig));\n if (!split) return null;\n const inlineStyle = split.viewProps?.style;\n if (staticObject(inlineStyle) && Object.keys(inlineStyle).length > 0) {\n return null;\n }\n const owners = new Set(Object.keys(split.classNames ?? {}));\n for (const styleObject of Object.values(split.rulesToInsert ?? {})) {\n const property = styleObject?.[StyleObjectProperty];\n if (typeof property === \"string\") owners.add(property);\n }\n return owners.size > 0 ? owners : null;\n };\n const dynamicStyleOwners = (name, staticConfig) => {\n const probeValue = name === \"transform\" ? [{ scale: 1 }] : name === \"transformMatrix\" ? [1, 0, 0, 1, 0, 0] : name === \"shadowOffset\" ? { width: 0, height: 0 } : name === \"shadowColor\" ? \"black\" : name === \"border\" || name === \"outline\" ? \"0 solid transparent\" : name === \"position\" ? \"relative\" : name === \"objectFit\" ? \"contain\" : 0;\n const owners = styleOwners(name, probeValue, staticConfig);\n if (!owners || name !== \"flex\") return owners;\n const shorthandOwners = styleOwners(name, \"0 1 auto\", staticConfig);\n if (!shorthandOwners) return null;\n for (const owner of shorthandOwners) owners.add(owner);\n return owners;\n };\n const developmentDebugInstrumentation = (input, result) => {\n if (process.env.NODE_ENV !== \"development\") return;\n const debugEntry = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"debug\" && entry.value.kind === \"static\" && entry.value.value === \"verbose\"\n );\n if (!debugEntry) return;\n const component = input.component;\n const styleEntries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && entry.name !== \"debug\" && (entry.name === \"style\" || isStyleProp(entry.name, component))\n );\n const flattened = result.ok && !!result.flattened;\n const tiers = result.ok ? [\n \"lowered\",\n ...flattened ? [\"flattened\"] : [],\n ...input.styledDefinition ? [\"styled\"] : []\n ] : [\"bailed\"];\n const why = result.ok ? flattened ? \"Static styles were lowered and the component was flattened to a host element.\" : \"Static styles were lowered while the Tamagui component remained at runtime.\" : result.bailout.message;\n const styles = styleEntries.map((entry) => {\n if (!result.ok) {\n return {\n prop: entry.name,\n tier: \"bailed\",\n runtime: true,\n why: `${result.bailout.message}. The Tamagui runtime resolved this prop.`\n };\n }\n const edited = result.edits.some(\n (edit) => edit.start < entry.span.end && edit.end > entry.span.start\n );\n if (!flattened && !edited) {\n return {\n prop: entry.name,\n tier: \"bailed\",\n runtime: true,\n why: \"This prop remained for Tamagui runtime resolution.\"\n };\n }\n if (entry.value.kind === \"static\") {\n const split = resolveSplitStyles(\n { [entry.name]: entry.value.value },\n partialStaticConfig(component.staticConfig)\n );\n const hasOutput = Boolean(\n split && (Object.keys(split.classNames ?? {}).length > 0 || Object.keys(split.rulesToInsert ?? {}).length > 0 || staticObject(split.style) && Object.keys(split.style).length > 0 || staticObject(split.viewProps?.style) && Object.keys(split.viewProps.style).length > 0)\n );\n if (!hasOutput) {\n return {\n prop: entry.name,\n tier: flattened ? \"flattened\" : \"lowered\",\n dropped: true,\n why: `No ${platform} style output was produced for this prop.`\n };\n }\n }\n return {\n prop: entry.name,\n tier: flattened ? \"flattened\" : \"lowered\",\n why: flattened ? \"The compiler emitted this prop on the flattened host element.\" : \"The compiler lowered this prop while retaining the Tamagui component.\"\n };\n });\n const receipt = JSON.stringify({\n component: input.element.component.name,\n tiers,\n why,\n styles\n });\n const content = flattened ? input.element.form === \"jsx\" ? `{...(console.info('\\u{1F539} Tamagui style receipt', ${receipt}), {})}` : `...(console.info('\\u{1F539} Tamagui style receipt', ${receipt}), {})` : input.element.form === \"jsx\" ? `debug=\"verbose\" __tamaguiStyleDebugReceipt={${receipt}}` : `debug: \"verbose\", __tamaguiStyleDebugReceipt: ${receipt}`;\n return [\n {\n start: debugEntry.span.start,\n end: debugEntry.span.end,\n content,\n origin: debugEntry.span\n }\n ];\n };\n return {\n resolveComponent: resolve,\n isStyleProp,\n canLowerDynamicStyleProp(name, component, valueKind) {\n if (!options.disablePartialExtraction && valueKind === \"conditional\" && canLowerConditionalStyleProp(name, component)) {\n return true;\n }\n if (component.staticConfig.resolvers?.length) {\n return false;\n }\n return !options.disablePartialExtraction && (platform === \"web\" && !!directStyleName(name, component) || platform === \"native\" && directStyleName(name, component) === \"opacity\");\n },\n developmentDebugInstrumentation,\n lowerCandidate(input) {\n const component = input.component;\n if (!component.canFlatten) {\n const reason = component.staticConfig.acceptsClassName === false ? `${component.key} does not accept className` : component.staticConfig.neverFlatten ? `${component.key} is never flattened (behavior HOC)` : `${component.key} provides a styled context`;\n return bailout(input, \"local/unsupported-target\", reason, input.element.span, {\n rule: 6\n });\n }\n if (options.zeroRuntime) {\n const spread = input.element.entries.find((entry) => entry.kind === \"spread\");\n if (spread) {\n return bailout(\n input,\n \"local/unsafe-style-spread\",\n \"Zero-runtime rejects prop spreads\",\n spread.span,\n {\n rule: 1,\n message: zeroRuleMessage(1, { component: input.element.component.name })\n }\n );\n }\n }\n const props = {};\n for (const entry of input.element.entries) {\n if (entry.kind === \"child\" || entry.value.kind !== \"static\") continue;\n if (entry.kind === \"spread\") {\n if (!staticObject(entry.value.value)) {\n return bailout(\n input,\n \"local/unsafe-style-spread\",\n \"Static spread did not materialize to an object\",\n entry.span\n );\n }\n Object.assign(props, entry.value.value);\n } else {\n props[entry.name] = entry.value.value;\n }\n }\n if (component.staticConfig.resolvers?.length) {\n const unresolvedProps = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && entry.value.kind !== \"static\"\n );\n const onlyStaticBranchConditional = unresolvedProps.length === 1 && unresolvedProps[0]?.kind === \"prop\" && unresolvedProps[0].value.kind === \"conditional\" && canLowerConditionalStyleProp(unresolvedProps[0].name, component);\n const unresolvedProp = onlyStaticBranchConditional ? void 0 : unresolvedProps[0];\n if (unresolvedProp?.kind === \"prop\") {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Component resolver prop ${unresolvedProp.name} could not be evaluated`,\n unresolvedProp.span,\n void 0,\n unresolvedProp.name\n );\n }\n }\n const componentOnlyProp = (name) => {\n let span;\n let unknown = false;\n for (const entry of input.element.entries) {\n if (entry.kind !== \"prop\" || entry.name !== name) continue;\n span = entry.span;\n if (entry.value.kind !== \"static\") unknown = true;\n }\n return { unknown, span };\n };\n const disableOptimization = componentOnlyProp(\"disableOptimization\");\n if (disableOptimization.unknown || props.disableOptimization) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"disableOptimization keeps the component on the runtime path\",\n disableOptimization.span\n );\n }\n if (component.domTag && props.hidden) props.display = \"none\";\n if (component.domTag && platform === \"native\") {\n for (const [name, styleKey] of DOM_STYLE_ATTRIBUTES) {\n if (name in props) {\n props[styleKey] = props[name];\n delete props[name];\n }\n }\n }\n if (platform === \"native\" && component.domTag === \"input\" && typeof props.type === \"string\" && !NATIVE_INPUT_TYPES.includes(props.type)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `input type ${props.type} has no native text-entry control`\n );\n }\n const dynamicStyleEntries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && (entry.value.kind === \"bailout\" || entry.value.kind === \"conditional\") && isStyleProp(entry.name, component)\n );\n {\n const needsRuntimeMapping = (name) => runtimeEventProps.has(name) || platform === \"native\" && !component.domTag && nativePointerEventProps.has(name);\n const directRuntimeEvent = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && needsRuntimeMapping(entry.name)\n );\n const runtimeEvent = directRuntimeEvent?.kind === \"prop\" ? directRuntimeEvent.name : Object.keys(props).find(needsRuntimeMapping);\n if (runtimeEvent) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `${runtimeEvent} requires Tamagui runtime event mapping`\n );\n }\n }\n const animationDefaultProps = component.staticConfig.defaultProps ?? {};\n const animationProps = core.mergeProps(animationDefaultProps, props);\n const animationNames = /* @__PURE__ */ new Set([\n ...input.element.entries.flatMap(\n (entry) => entry.kind === \"prop\" && runtimeAnimationProps.has(entry.name) ? [entry.name] : []\n ),\n ...Object.keys(animationProps).filter(\n (name) => runtimeAnimationProps.has(name) && animationProps[name] !== void 0\n )\n ]);\n const animateOnlyEntry = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"animateOnly\"\n );\n if (animationNames.has(\"animateOnly\")) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Animated candidates remain on the runtime path\",\n animateOnlyEntry?.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n // without the origin an author reads this against JSX that does\n // not carry the prop, because the styled() definition does\n detail: animateOnlyEntry ? `animateOnly on ${input.element.component.name}` : `animateOnly in the styled() definition of ${input.element.component.name}`\n })\n }\n );\n }\n const transitionEntry = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"transition\"\n );\n const animatedBy = typeof animationProps.animatedBy === \"string\" ? animationProps.animatedBy.trim() : null;\n const namedAnimationDriver = animatedBy === null ? null : options.tamaguiConfig.animationDrivers?.[animatedBy];\n const namedCssAnimationDriver = platform === \"web\" && namedAnimationDriver && !namedAnimationDriver.isStub && namedAnimationDriver.outputStyle === \"css\" ? namedAnimationDriver : null;\n const cssAnimationDriver = namedCssAnimationDriver ?? (animatedBy === null || animatedBy === \"default\" ? configuredCssAnimationDriver : null);\n const resolvedCssTransition = animationNames.has(\"transition\") && cssAnimationDriver ? resolveStaticCssTransition(\n animationProps.transition,\n cssAnimationDriver.animations ?? {}\n ) : null;\n if (resolvedCssTransition !== null) {\n props.transition = resolvedCssTransition;\n }\n const animatedByNeedsRuntime = animationNames.has(\"animatedBy\") && !animationNames.has(\"transition\") && (dynamicStyleEntries.length > 0 || Object.keys(animationProps).some(\n (name) => name !== \"animatedBy\" && (isStyleProp(name, component) && typeof animationProps[name] === \"string\" && animationProps[name].includes(\":\") || name === \"animationConfig\" || name === \"forceStyle\" || name === \"onTransition\")\n ));\n const runtimeAnimationRequired = animationNames.has(\"transition\") && resolvedCssTransition === null || [...animationNames].some(\n (name) => name !== \"transition\" && name !== \"animatedBy\" && name !== \"animateOnly\"\n ) || animatedByNeedsRuntime;\n let dynamicHostStyleProperties = null;\n if (platform === \"web\" && !options.disablePartialExtraction && (input.element.form === \"jsx\" || input.element.propsSpan !== null) && dynamicStyleEntries.length > 0 && !input.element.entries.some(\n (entry) => entry.kind === \"spread\" && entry.value.kind !== \"static\"\n )) {\n const seen = /* @__PURE__ */ new Set();\n const properties = [];\n const dynamicOwners = /* @__PURE__ */ new Set();\n for (const entry of dynamicStyleEntries) {\n if (entry.kind !== \"prop\" || entry.value.kind !== \"bailout\" && entry.value.kind !== \"conditional\") {\n continue;\n }\n const name = directStyleName(entry.name, component);\n if (!name || seen.has(name)) {\n properties.length = 0;\n break;\n }\n const owners = dynamicStyleOwners(name, component.staticConfig);\n if (!owners) {\n properties.length = 0;\n break;\n }\n let property = null;\n const expression = input.source.slice(\n entry.value.span.start,\n entry.value.span.end\n );\n if (resolvedCssTransition !== null && (name === \"opacity\" || name === \"scale\")) {\n property = name === \"opacity\" ? `opacity: (${expression})` : `transform: \"scale(\" + (${expression}) + \")\"`;\n } else if (entry.value.kind === \"bailout\" && owners.has(name)) {\n const dynamic = entry.value.dynamic;\n if (dynamic?.type === \"number\") {\n property = `${JSON.stringify(name)}: (${expression})`;\n } else if (dynamic?.type === \"string\" && dynamic.values?.length) {\n let valuesStayLiteral = true;\n for (const value of dynamic.values) {\n const split2 = resolveSplitStyles(\n { [entry.name]: value },\n partialStaticConfig(component.staticConfig)\n );\n const atomics = Object.values(split2?.rulesToInsert ?? {});\n if (atomics.length !== 1 || atomics[0]?.[StyleObjectProperty] !== name || atomics[0]?.[StyleObjectValue] !== value) {\n valuesStayLiteral = false;\n break;\n }\n }\n if (valuesStayLiteral) {\n property = `${JSON.stringify(name)}: (${expression})`;\n }\n }\n }\n if (!property) {\n properties.length = 0;\n break;\n }\n seen.add(name);\n for (const owner of owners) dynamicOwners.add(owner);\n properties.push(property);\n }\n if (properties.length === dynamicStyleEntries.length && !input.element.entries.some((entry) => {\n if (entry.kind !== \"prop\" || entry.value.kind !== \"static\") return false;\n const name = directStyleName(entry.name, component);\n if (!name) return false;\n const owners = styleOwners(\n name,\n entry.value.value,\n component.staticConfig\n );\n return !!owners && cssOwnersConflict(owners, dynamicOwners);\n })) {\n dynamicHostStyleProperties = properties;\n }\n }\n const supportsWebConditionalClasses = platform === \"web\" && !options.disablePartialExtraction && (input.element.form === \"jsx\" || input.element.propsSpan !== null) && dynamicHostStyleProperties === null && dynamicStyleEntries.length > 0 && dynamicStyleEntries.every(\n (entry) => entry.kind === \"prop\" && entry.value.kind === \"conditional\" && canLowerConditionalStyleProp(entry.name, component)\n );\n const themeEntry = componentOnlyProp(\"theme\");\n const themeInverseEntry = componentOnlyProp(\"themeInverse\");\n const themeBoundary = themeEntry.unknown || \"theme\" in props;\n if (themeBoundary || themeInverseEntry.unknown || props.themeInverse) {\n const themeProp = themeBoundary ? \"theme\" : \"themeInverse\";\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Theme boundary candidates remain on the runtime path\",\n input.element.span,\n {\n rule: 4,\n message: zeroThemeBoundaryMessage(input.element.component.name, themeProp)\n }\n );\n }\n const asChild = componentOnlyProp(\"asChild\");\n if (asChild.unknown || props.asChild) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"asChild renders a Slot, not a host view\",\n asChild.span\n );\n }\n if (platform === \"native\" && (\"group\" in props || \"container\" in props || \"containerName\" in props || \"containerType\" in props)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native group and container providers remain on the runtime path\"\n );\n }\n if (runtimeAnimationRequired && !cssAnimationDriver) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Animated candidates remain on the runtime path\",\n transitionEntry?.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n detail: `the animation configured on ${input.element.component.name}`\n })\n }\n );\n }\n if (platform === \"web\" && (dynamicStyleEntries.length > 0 || runtimeAnimationRequired) && dynamicHostStyleProperties === null && !supportsWebConditionalClasses && component.partialRuntimeSafe) {\n const hasSpread = input.element.entries.some(\n (entry) => entry.kind === \"spread\" && entry.value.kind !== \"static\"\n );\n const unsupportedRuntimeStyle = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && isStyleProp(entry.name, component) && !runtimeAnimationProps.has(entry.name) && !directStyleName(entry.name, component)\n );\n if (!hasSpread && !unsupportedRuntimeStyle) {\n const dynamicOwners = /* @__PURE__ */ new Set();\n let canProveDynamicOwnership = true;\n for (const entry of dynamicStyleEntries) {\n if (entry.kind !== \"prop\") continue;\n const name = directStyleName(entry.name, component);\n if (!name) {\n canProveDynamicOwnership = false;\n break;\n }\n const owners = dynamicStyleOwners(\n name,\n component.staticConfig\n );\n if (!owners) {\n canProveDynamicOwnership = false;\n break;\n }\n for (const owner of owners) dynamicOwners.add(owner);\n }\n const staticStyleEntries = canProveDynamicOwnership ? input.element.entries.filter((entry) => {\n if (entry.kind !== \"prop\" || entry.value.kind !== \"static\") return false;\n if (runtimeAnimationProps.has(entry.name)) return false;\n const name = directStyleName(entry.name, component);\n if (!name) return false;\n const owners = styleOwners(\n name,\n entry.value.value,\n component.staticConfig\n );\n return !!owners && !cssOwnersConflict(owners, dynamicOwners);\n }) : [];\n if (staticStyleEntries.length > 0) {\n const partialProps = {};\n for (const entry of staticStyleEntries) {\n if (entry.kind === \"prop\" && entry.value.kind === \"static\") {\n partialProps[entry.name] = entry.value.value;\n }\n }\n const partialSplit = resolveSplitStyles(\n partialProps,\n partialStaticConfig(component.staticConfig)\n );\n const partialInlineStyle = partialSplit?.viewProps?.style;\n const hasPartialInlineStyle = staticObject(partialInlineStyle) && Object.keys(partialInlineStyle).length > 0;\n if (partialSplit && !hasPartialInlineStyle) {\n const artifacts2 = extractedStyleArtifacts(\n partialSplit,\n partialProps,\n options.tamaguiConfig,\n false\n );\n if (artifacts2.className) {\n if (input.element.form !== \"jsx\") {\n const propsEdits = compiledPropsEdits(\n input,\n staticStyleEntries,\n objectClassName(artifacts2.className)\n );\n if (propsEdits) {\n return {\n ok: true,\n edits: propsEdits,\n css: artifacts2.css,\n imports: [],\n flattened: false\n };\n }\n } else {\n const [first2, ...rest2] = staticStyleEntries;\n return {\n ok: true,\n edits: [\n {\n start: first2.span.start,\n end: first2.span.end,\n content: jsxClassName(artifacts2.className),\n origin: first2.span\n },\n ...rest2.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: \"\",\n origin: entry.span\n }))\n ],\n css: artifacts2.css,\n imports: [],\n flattened: false\n };\n }\n }\n }\n }\n }\n }\n if (runtimeAnimationRequired) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Animated candidates remain on the runtime path\",\n transitionEntry?.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n detail: `the animation configured on ${input.element.component.name}`\n })\n }\n );\n }\n const supportsNativeDynamicStyles = platform === \"native\" && !options.disablePartialExtraction && (input.element.form === \"jsx\" || input.element.propsSpan !== null) && dynamicStyleEntries.every(\n (entry) => entry.kind === \"prop\" && (directStyleName(entry.name, component) === \"opacity\" || entry.value.kind === \"conditional\" && canLowerConditionalStyleProp(entry.name, component))\n );\n if (dynamicStyleEntries.length > 0 && dynamicHostStyleProperties === null && !supportsNativeDynamicStyles && !supportsWebConditionalClasses) {\n const entry = dynamicStyleEntries[0];\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Style prop ${entry.kind === \"prop\" ? entry.name : \"unknown\"} could not be safely extracted`,\n entry.span\n );\n }\n const resolvedStyleStaticConfig = core.getStyleStaticConfig(\n component.staticConfig,\n core.getConfig()\n );\n const staticDefaultProps = resolvedStyleStaticConfig.defaultProps ?? {};\n const defaultProps = platform === \"web\" && !component.staticConfig.isText && options.tamaguiConfig.settings.defaultPosition === \"relative\" && staticDefaultProps.position === void 0 ? core.mergeProps({ position: \"relative\" }, staticDefaultProps) : staticDefaultProps;\n let completeProps = core.mergeProps(defaultProps, props);\n if (platform === \"native\" && component.domTag && props.display === \"flex\") {\n completeProps = core.mergeProps(\n core.mergeProps(defaultProps, NATIVE_FLEX_DEFAULTS),\n props\n );\n }\n const domStyleProgram = input.element.entries.find(\n (entry) => entry.kind === \"prop\" && entry.name === \"style\" && entry.value.kind === \"dom-style\"\n );\n if (platform === \"native\" && !component.domTag && domStyleProgram) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native style() pieces remain on the runtime path\"\n );\n }\n const propsForConditional = (target, value) => {\n const branchProps = {};\n for (const entry of input.element.entries) {\n if (entry === target) {\n branchProps[target.name] = value;\n continue;\n }\n if (entry.kind === \"child\" || entry.value.kind !== \"static\") continue;\n if (entry.kind === \"spread\") {\n if (staticObject(entry.value.value))\n Object.assign(branchProps, entry.value.value);\n } else {\n branchProps[entry.name] = entry.value.value;\n }\n }\n if (component.domTag && branchProps.hidden) branchProps.display = \"none\";\n if (resolvedCssTransition !== null) {\n branchProps.transition = resolvedCssTransition;\n }\n if (component.domTag && platform === \"native\") {\n for (const [name, styleKey] of DOM_STYLE_ATTRIBUTES) {\n if (name in branchProps) {\n branchProps[styleKey] = branchProps[name];\n delete branchProps[name];\n }\n }\n }\n const branchCompleteProps = platform === \"native\" && component.domTag && branchProps.display === \"flex\" ? core.mergeProps(\n core.mergeProps(defaultProps, NATIVE_FLEX_DEFAULTS),\n branchProps\n ) : core.mergeProps(defaultProps, branchProps);\n if (platform === \"native\") {\n for (const [name, value2] of Object.entries(branchCompleteProps)) {\n const clause = isStyleProp(name, component) ? nativeClauseValue(value2) : null;\n if (clause === null || clause === \"live\") continue;\n if (clause.matched) branchCompleteProps[name] = clause.payload;\n else delete branchCompleteProps[name];\n }\n }\n return { branchProps, branchCompleteProps };\n };\n if (platform === \"native\") {\n const isClauseValue = (name, value) => isStyleProp(name, component) && (typeof value === \"string\" && flatClausePattern.test(value) || isClauseObjectValue(value));\n const defaultVariants = component.staticConfig.defaultVariants ?? {};\n const definitionCarriesClause = Object.entries(resolvedStyleStaticConfig.baseStyle ?? {}).some(\n ([name, value]) => isClauseValue(name, value)\n ) || Object.entries(component.staticConfig.variants ?? {}).some(\n ([variantName, definitions]) => (completeProps[variantName] !== void 0 || defaultVariants[variantName] !== void 0) && staticObject(definitions) && Object.values(definitions).some(\n (definition) => staticObject(definition) && Object.entries(definition).some(\n ([name, value]) => isClauseValue(name, value)\n )\n )\n );\n if (definitionCarriesClause) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native conditional value programs remain on the runtime path\"\n );\n }\n const reducedProps = {};\n for (const [name, value] of Object.entries(completeProps)) {\n const clause = isStyleProp(name, component) ? nativeClauseValue(value) : null;\n if (clause === \"live\") {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native conditional value programs remain on the runtime path\"\n );\n }\n if (clause === null) {\n reducedProps[name] = value;\n continue;\n }\n if (clause.matched) reducedProps[name] = clause.payload;\n }\n completeProps = reducedProps;\n for (const entry of dynamicStyleEntries) {\n if (entry.value.kind !== \"conditional\") continue;\n for (const leaf of collectLeaves(entry.value.tree)) {\n if (nativeClauseValue(leaf.value) !== \"live\") continue;\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native conditional value programs remain on the runtime path\"\n );\n }\n }\n }\n const split = resolveSplitStyles(\n completeProps,\n component.staticConfig,\n cssAnimationDriver,\n component.displayName\n );\n if (!split) {\n return bailout(\n input,\n \"local/style-resolution-failed\",\n \"getSplitStyles returned no static result\"\n );\n }\n if (split.programLifecycleStyleKeys?.enter?.size || split.programLifecycleStyleKeys?.exit?.size) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Lifecycle value programs remain on the runtime path\",\n input.element.span,\n {\n rule: 5,\n message: zeroRuleMessage(5, {\n detail: `an enter or exit style program on ${input.element.component.name}`\n })\n }\n );\n }\n const flatTag = component.domTag ?? (typeof props.render === \"string\" ? props.render : typeof defaultProps.render === \"string\" ? defaultProps.render : component.staticConfig.isText ? \"span\" : \"div\");\n const tagEdits = [input.element.component.span, input.element.component.closingSpan].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: input.element.form === \"jsx\" ? flatTag : JSON.stringify(flatTag),\n origin: span\n }));\n const isPropIgnored = (name) => isStyleProp(name, component) || isInvalidHostStyleProp(name, component) || componentOnlyProps.has(name);\n const spreadReplacement = (form, entry) => spreadNonStyleReplacement(form, entry, isPropIgnored, (name, value) => {\n if (platform !== \"web\") return [name, value];\n if (name === \"testID\") return [\"data-testid\", value];\n if (component.domTag && name === \"for\") return [\"htmlFor\", value];\n if (component.domTag && name === \"role\" && value === \"none\") {\n return [\"role\", \"presentation\"];\n }\n return [name, value];\n });\n let styleEntries = input.element.entries.filter(\n (entry) => entry.kind === \"prop\" && isPropIgnored(entry.name) || entry.kind === \"spread\" && entry.value.kind === \"static\" && staticObject(entry.value.value) && Object.keys(entry.value.value).some(isPropIgnored)\n );\n let invalidHostStyle;\n for (const entry of input.element.entries) {\n if (entry.kind === \"prop\") {\n if (isInvalidHostStyleProp(entry.name, component)) {\n invalidHostStyle = { entry, name: entry.name };\n break;\n }\n continue;\n }\n if (entry.kind === \"spread\" && entry.value.kind === \"static\" && staticObject(entry.value.value)) {\n const name = Object.keys(entry.value.value).find(\n (name2) => isInvalidHostStyleProp(name2, component)\n );\n if (name) {\n invalidHostStyle = { entry, name };\n break;\n }\n }\n }\n if (invalidHostStyle) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `\"${invalidHostStyle.name}\" is a text style prop and this component is not text. Use a Text-based component, or html.* for raw web elements.`,\n invalidHostStyle.entry.span\n );\n }\n if (platform === \"native\" && component.domTag) {\n const mixedSpread = styleEntries.find(\n (entry) => entry.kind === \"spread\" && entry.value.kind === \"static\" && staticObject(entry.value.value) && Object.keys(entry.value.value).some((name) => !isPropIgnored(name))\n );\n if (mixedSpread) {\n return bailout(\n input,\n \"local/unsafe-style-spread\",\n \"Native DOM prop mapping requires non-style spread props to remain on the runtime path\",\n mixedSpread.span\n );\n }\n }\n const webPropEdits = platform === \"web\" ? input.element.entries.flatMap((entry) => {\n if (entry.kind !== \"prop\" || entry.name !== \"testID\") return [];\n const content = input.source.slice(entry.span.start, entry.span.end);\n const nameOffset = content.indexOf(\"testID\");\n if (nameOffset === -1) return [];\n const alreadyQuoted = content[nameOffset - 1] === '\"' || content[nameOffset - 1] === \"'\";\n return [\n {\n start: entry.span.start + nameOffset,\n end: entry.span.start + nameOffset + \"testID\".length,\n content: input.element.form === \"jsx\" || alreadyQuoted ? \"data-testid\" : `'data-testid'`,\n origin: entry.span\n }\n ];\n }) : [];\n const webDOMResult = platform === \"web\" && component.domTag ? webDOMProps(input, component.domTag) : { edits: [], additions: [] };\n webPropEdits.push(...webDOMResult.edits);\n if (platform === \"native\") {\n const nativeStyleResolved = split.viewProps?.style;\n let themedStyleKeys = null;\n let nativeStyle = nativeStyleResolved;\n if (staticObject(nativeStyleResolved)) {\n for (const [styleKey, styleValue] of Object.entries(nativeStyleResolved)) {\n if (!core.containsThemeRef(styleValue)) continue;\n const themeKey = core.themeRefKey(styleValue);\n if (!themeKey) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Style ${styleKey} uses a theme value in a compound or modified position that compiled output cannot represent`\n );\n }\n ;\n (themedStyleKeys ||= {})[styleKey] = themeKey;\n }\n if (themedStyleKeys) {\n const plain = {};\n for (const [styleKey, styleValue] of Object.entries(nativeStyleResolved)) {\n if (!(styleKey in themedStyleKeys)) plain[styleKey] = styleValue;\n }\n nativeStyle = plain;\n }\n } else if (core.containsThemeRef(nativeStyleResolved)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Theme values inside non-object native style output stay on the runtime path\"\n );\n }\n if (!isSerializableNativeStyle(nativeStyle)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native style output is not a static serializable value\"\n );\n }\n const nativeStyleLocal = unusedIdentifier(\n input.source,\n `__TamaguiNativeStyle${input.element.span.start}`\n );\n const nativeStyleImports = [\n {\n content: `\nfunction ${nativeStyleLocal}() { return ${nativeStyleLocal}._ ?? (${nativeStyleLocal}._ = ${JSON.stringify(nativeStyle ?? {})}); } ${nativeStyleLocal}();`,\n origin: input.element.component.span\n }\n ];\n const nativeStyleSource = `${nativeStyleLocal}._ ?? ${nativeStyleLocal}()`;\n let nativeFastPath;\n if (themedStyleKeys && options.experimentalNativeFastPath && dynamicStyleEntries.length === 0 && !input.element.entries.some((entry) => entry.kind === \"spread\")) {\n const mappingLocal = unusedIdentifier(\n input.source,\n `__TamaguiNativeMapping${input.element.span.start}`\n );\n nativeFastPath = {\n mappingLocal,\n imports: [\n {\n content: `\nconst ${mappingLocal} = ${JSON.stringify(themedStyleKeys)};`,\n origin: input.element.component.span\n }\n ]\n };\n }\n if (component.domTag) {\n if (themedStyleKeys) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Theme values on DOM-tag native output stay on the runtime path\"\n );\n }\n const row = TAGS[component.domTag];\n const basePrimitive = NATIVE_BACKING[row.backing].primitive;\n let primitive = basePrimitive;\n const propsResult = nativeDOMProps(input, component.domTag);\n if (propsResult.diagnostic) {\n return bailout(\n input,\n \"local/unsupported-target\",\n propsResult.diagnostic,\n propsResult.diagnosticSpan\n );\n }\n styleEntries = [.../* @__PURE__ */ new Set([...styleEntries, ...propsResult.consumed])];\n let nativeDOMStyleSource = nativeStyleSource;\n let runtimeStyleSource = null;\n if (domStyleProgram?.kind === \"prop\" && domStyleProgram.value.kind === \"dom-style\") {\n const needsRuntime = domStyleProgram.value.items.some(\n (item) => item.value.kind === \"static\" && staticObject(item.value.value) && (Object.keys(item.value.value).some(\n (property) => nativeRuntimeOnlyStyleProperties.has(property)\n ) || Object.values(item.value.value).some(\n (value) => typeof value === \"string\" && (flatClausePattern.test(value) || nativeInheritedKeywordPattern.test(value)) || isClauseObjectValue(value)\n ))\n );\n const itemSources = [];\n for (const item of domStyleProgram.value.items) {\n if (item.value.kind !== \"static\" || !staticObject(item.value.value)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Every style() handle in a style array must be statically evaluable\",\n item.value.span\n );\n }\n if (Object.values(item.value.value).some(\n (value2) => typeof value2 === \"string\" && nativeInitialKeywordPattern.test(value2)\n )) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native DOM style() does not support the CSS initial keyword, matching the pinned upstream limitation\",\n item.value.span\n );\n }\n let value;\n if (needsRuntime) {\n value = JSON.stringify(item.value.value);\n } else {\n const itemSplit = resolveSplitStyles(\n item.value.value,\n partialStaticConfig(component.staticConfig)\n );\n const itemStyle = itemSplit?.viewProps?.style;\n if (!isSerializableNativeStyle(itemStyle) || core.containsThemeRef(itemStyle)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Native style() output is not serializable\",\n item.value.span\n );\n }\n value = JSON.stringify(itemStyle ?? {});\n }\n const condition = item.condition ? input.source.slice(item.condition.start, item.condition.end) : null;\n itemSources.push(condition ? `(${condition}) && ${value}` : value);\n }\n if (needsRuntime) {\n primitive = `DOMRuntime${basePrimitive.slice(\"DOM\".length)}`;\n runtimeStyleSource = `[${itemSources.join(\", \")}]`;\n } else {\n nativeDOMStyleSource = `[${[nativeDOMStyleSource, ...itemSources].join(\", \")}]`;\n }\n }\n const nativeLocal2 = unusedIdentifier(input.source, `__Tamagui${primitive}`);\n const propertyContent = [\n input.element.form === \"jsx\" ? `style={${nativeDOMStyleSource}}` : `style: ${nativeDOMStyleSource}`,\n runtimeStyleSource ? input.element.form === \"jsx\" ? `__styles={${runtimeStyleSource}}` : `__styles: ${runtimeStyleSource}` : \"\",\n serializedProps(input.element.form, propsResult.additions)\n ].filter(Boolean).join(input.element.form === \"jsx\" ? \" \" : \", \");\n const primitiveTagEdits = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: input.element.form === \"jsx\" ? nativeLocal2 : JSON.stringify(nativeLocal2).slice(1, -1),\n origin: span\n }));\n const literalEdits = [];\n const imports = [\n ...nativeStyleImports,\n {\n content: `\nimport { ${primitive} as ${nativeLocal2} } from ${JSON.stringify(NATIVE_PRIMITIVE_MODULE)}\n`,\n origin: input.element.component.span\n }\n ];\n if (NATIVE_BACKING[row.backing].wrapsLiteralText) {\n const textLocal = unusedIdentifier(input.source, \"__TamaguiDOMText\");\n const createElementLocal = unusedIdentifier(\n input.source,\n \"__TamaguiCreateElement\"\n );\n let needsText = false;\n let needsCreateElement = false;\n for (const entry of input.element.entries) {\n if (entry.kind !== \"child\") continue;\n if (entry.value.kind === \"empty\" || entry.value.kind === \"element\" || entry.value.kind === \"static\" && (entry.value.value === null || typeof entry.value.value === \"boolean\")) {\n continue;\n }\n if (entry.value.kind !== \"static\" || entry.value.literalOrigin !== true || typeof entry.value.value !== \"string\" && typeof entry.value.value !== \"number\") {\n return bailout(\n input,\n \"local/unsupported-child\",\n `html.${component.domTag} has a direct child that may render unwrapped native text; write a literal as JSX text or wrap the child in html.span`,\n entry.span\n );\n }\n needsText = true;\n const child = input.source.slice(entry.span.start, entry.span.end);\n if (input.element.form === \"jsx\") {\n literalEdits.push({\n start: entry.span.start,\n end: entry.span.end,\n content: `<${textLocal} __inherit>${child}</${textLocal}>`,\n origin: entry.span\n });\n } else {\n needsCreateElement = true;\n literalEdits.push({\n start: entry.span.start,\n end: entry.span.end,\n content: `${createElementLocal}(${textLocal}, { __inherit: true }, ${child})`,\n origin: entry.span\n });\n }\n }\n if (needsText) {\n imports.push({\n content: `\nimport { DOMText as ${textLocal} } from ${JSON.stringify(NATIVE_PRIMITIVE_MODULE)}\n`,\n origin: input.element.component.span\n });\n }\n if (needsCreateElement) {\n imports.push({\n content: `\nimport { createElement as ${createElementLocal} } from \"react\"\n`,\n origin: input.element.component.span\n });\n }\n }\n const [first3, ...rest3] = styleEntries;\n const firstNonStyle3 = first3 ? spreadReplacement(\"jsx\", first3) : \"\";\n const propsEdits = input.element.form === \"jsx\" ? styleEntries.length === 0 ? [\n {\n start: input.element.component.span.end,\n end: input.element.component.span.end,\n content: ` ${propertyContent}`,\n origin: input.element.component.span\n }\n ] : [\n {\n start: first3.span.start,\n end: first3.span.end,\n content: [propertyContent, firstNonStyle3].filter(Boolean).join(\" \"),\n origin: first3.span\n },\n ...rest3.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ] : compiledPropsEdits(\n input,\n styleEntries,\n propertyContent,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!propsEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [\n ...primitiveTagEdits,\n ...propsResult.edits,\n ...propsEdits,\n ...literalEdits\n ],\n css: [],\n imports,\n flattened: true\n };\n }\n const nativeName = component.staticConfig.isText ? \"Text\" : \"View\";\n const useHostView = options.experimentalNativeFastPath && nativeName === \"View\" && isBareHostView(input.element);\n const nativeExport = useHostView ? \"unstable_NativeView\" : nativeName;\n const nativeLocal = unusedIdentifier(\n input.source,\n `__TamaguiNative${useHostView ? \"HostView\" : nativeName}`\n );\n if (themedStyleKeys && options.disablePartialExtraction) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Theme values require partial extraction, which is disabled\"\n );\n }\n if (dynamicStyleEntries.length > 0 || themedStyleKeys) {\n if (nativeFastPath) {\n const fastLocal = `__TamaguiNativeFast${nativeName}${input.element.span.start}`;\n const tagEdits4 = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: fastLocal,\n origin: span\n }));\n const [first4, ...rest4] = styleEntries;\n const styleEdits = styleEntries.length === 0 ? [] : input.element.form === \"jsx\" ? [\n {\n start: first4.span.start,\n end: first4.span.end,\n content: \"\",\n origin: first4.span\n },\n ...rest4.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: \"\",\n origin: entry.span\n }))\n ] : compiledPropsEdits(input, styleEntries, `_expressions: []`);\n if (!styleEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits4, ...styleEdits],\n css: [],\n imports: [\n ...nativeStyleImports,\n ...nativeFastPath.imports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n },\n {\n content: `\nconst ${fastLocal} = require('@tamagui/core')._withNativeStyle(${nativeLocal}, ${nativeStyleSource}, ${nativeFastPath.mappingLocal});`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const stableLocal = `__TamaguiStable${nativeName}${input.element.span.start}`;\n const expressions = [];\n const plainDynamicParts = [];\n const conditionalParts = [];\n const conditionalKeys = /* @__PURE__ */ new Set();\n const baseStyleForDiff = staticObject(nativeStyleResolved) ? nativeStyleResolved : {};\n for (const entry of dynamicStyleEntries) {\n if (entry.value.kind === \"conditional\" && directStyleName(entry.name, component) !== \"opacity\") {\n let serializeNativeTree = function(node) {\n if (node.kind === \"leaf\") {\n const diff = leafDiffs.get(node) ?? {};\n return JSON.stringify(diff);\n }\n const index = expressions.length;\n expressions.push(input.source.slice(node.test.start, node.test.end));\n return `expressions[${index}] ? ${serializeNativeTree(node.whenTrue)} : ${serializeNativeTree(node.whenFalse)}`;\n };\n const tree = entry.value.tree;\n const leaves = collectLeaves(tree);\n const leafDiffs = /* @__PURE__ */ new Map();\n for (const leaf of leaves) {\n const { branchCompleteProps } = propsForConditional(entry, leaf.value);\n const branchSplit = resolveSplitStyles(\n branchCompleteProps,\n component.staticConfig,\n cssAnimationDriver,\n component.displayName\n );\n const branchStyle = branchSplit?.viewProps?.style ?? {};\n if (!staticObject(branchStyle)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch did not resolve to a static native style`,\n entry.value.span\n );\n }\n for (const viewPropsKey of /* @__PURE__ */ new Set([\n ...Object.keys(branchSplit?.viewProps ?? {}),\n ...Object.keys(split.viewProps ?? {})\n ])) {\n if (viewPropsKey === \"style\") continue;\n if (JSON.stringify(branchSplit?.viewProps?.[viewPropsKey]) !== JSON.stringify(split.viewProps?.[viewPropsKey])) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch changes ${viewPropsKey}, which the compiled style array cannot express`,\n entry.value.span\n );\n }\n }\n for (const key of Object.keys(baseStyleForDiff)) {\n if (!(key in branchStyle)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch removes ${key}, which an additive style array cannot express`,\n entry.value.span\n );\n }\n }\n const diff = {};\n for (const [key, value] of Object.entries(branchStyle)) {\n if (JSON.stringify(baseStyleForDiff[key]) !== JSON.stringify(value)) {\n diff[key] = value;\n }\n }\n if (!isSerializableNativeStyle(diff) || core.containsThemeRef(diff)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch style is not statically representable`,\n entry.value.span\n );\n }\n for (const key of Object.keys(diff)) {\n if (conditionalKeys.has(key)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Multiple conditionals contribute ${key}; their interaction cannot be resolved per-branch`,\n entry.value.span\n );\n }\n }\n leafDiffs.set(leaf, diff);\n }\n for (const diff of leafDiffs.values()) {\n for (const key of Object.keys(diff)) conditionalKeys.add(key);\n }\n conditionalParts.push(serializeNativeTree(tree));\n } else {\n const index = expressions.length;\n expressions.push(\n input.source.slice(entry.value.span.start, entry.value.span.end)\n );\n plainDynamicParts.push(\n `${JSON.stringify(directStyleName(entry.name, component))}: expressions[${index}]`\n );\n }\n }\n const dynamicStyle = plainDynamicParts.join(\", \");\n const themedStyle = themedStyleKeys ? Object.entries(themedStyleKeys).map(\n ([styleKey, themeKey]) => `${JSON.stringify(styleKey)}: _theme[${JSON.stringify(themeKey)}]?.get()`\n ).join(\", \") : null;\n const styleParts = [\n nativeStyleSource,\n ...themedStyle ? [`{ ${themedStyle} }`] : [],\n ...conditionalParts,\n ...dynamicStyle ? [`{ ${dynamicStyle} }`] : []\n ];\n const tagEdits3 = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: stableLocal,\n origin: span\n }));\n const [first3, ...rest3] = styleEntries;\n const firstNonStyle3 = first3 ? spreadReplacement(\"jsx\", first3) : \"\";\n const expressionEdits = styleEntries.length === 0 ? [] : input.element.form === \"jsx\" ? [\n {\n start: first3.span.start,\n end: first3.span.end,\n content: [\n expressions.length > 0 ? `_expressions={[${expressions.join(\", \")}]}` : \"\",\n firstNonStyle3\n ].filter(Boolean).join(\" \"),\n origin: first3.span\n },\n ...rest3.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ] : compiledPropsEdits(\n input,\n styleEntries,\n `_expressions: [${expressions.join(\", \")}]`,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!expressionEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits3, ...expressionEdits],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n },\n {\n content: `\nconst ${stableLocal} = require('@tamagui/core')._withStableStyle(${nativeLocal}, (_theme, expressions) => [${styleParts.join(\", \")}], ${themedStyleKeys ? \"true\" : \"false\"}, false);`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const styleContent = `style: ${nativeStyleSource}`;\n const tagEdits2 = [\n input.element.component.span,\n input.element.component.closingSpan\n ].filter((span) => !!span).map((span) => ({\n start: span.start,\n end: span.end,\n content: nativeLocal,\n origin: span\n }));\n if (input.element.form !== \"jsx\") {\n const propsEdits = compiledPropsEdits(\n input,\n styleEntries,\n styleContent,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!propsEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits2, ...propsEdits],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n if (styleEntries.length === 0) {\n return {\n ok: true,\n edits: [\n ...tagEdits2,\n {\n start: input.element.component.span.end,\n end: input.element.component.span.end,\n content: ` style={${nativeStyleSource}}`,\n origin: input.element.component.span\n }\n ],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const [first2, ...rest2] = styleEntries;\n const firstNonStyle2 = first2 ? spreadReplacement(\"jsx\", first2) : \"\";\n return {\n ok: true,\n edits: [\n ...tagEdits2,\n ...webPropEdits,\n {\n start: first2.span.start,\n end: first2.span.end,\n content: [`style={${nativeStyleSource}}`, firstNonStyle2].filter(Boolean).join(\" \"),\n origin: first2.span\n },\n ...rest2.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ],\n css: [],\n imports: [\n ...nativeStyleImports,\n {\n content: `\nconst ${nativeLocal} = require('react-native').${nativeExport};`,\n origin: input.element.component.span\n }\n ],\n flattened: true\n };\n }\n const artifacts = extractedStyleArtifacts(\n split,\n props,\n options.tamaguiConfig,\n !component.domTag,\n Boolean(component.staticConfig.styleFrontend)\n );\n const className = artifacts.className;\n const rawInlineStyle = split.viewProps?.style;\n const inlineStyle = staticObject(rawInlineStyle) && Object.keys(rawInlineStyle).length > 0 ? rawInlineStyle : null;\n if (rawInlineStyle && !inlineStyle && !isSerializableNativeStyle(rawInlineStyle)) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Web inline style output is not a static serializable value\"\n );\n }\n const programCSS = [];\n const programClassSources = [];\n if (domStyleProgram?.kind === \"prop\" && domStyleProgram.value.kind === \"dom-style\") {\n for (const item of domStyleProgram.value.items) {\n if (item.value.kind !== \"static\" || !staticObject(item.value.value)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n \"Every style() handle in a style array must be statically evaluable\",\n item.value.span\n );\n }\n const itemSplit = resolveSplitStyles(\n item.value.value,\n partialStaticConfig(component.staticConfig)\n );\n if (!itemSplit) {\n return bailout(\n input,\n \"local/style-resolution-failed\",\n \"A style() handle could not be resolved\",\n item.value.span\n );\n }\n const itemInline = itemSplit.viewProps?.style;\n if (staticObject(itemInline) && Object.keys(itemInline).length > 0) {\n return bailout(\n input,\n \"local/unsupported-target\",\n \"Conditional web style() handles must lower to CSS classes\",\n item.value.span\n );\n }\n const itemArtifacts = extractedStyleArtifacts(\n itemSplit,\n item.value.value,\n options.tamaguiConfig,\n false\n );\n programCSS.push(...itemArtifacts.css);\n if (itemArtifacts.className) {\n const condition = item.condition ? input.source.slice(item.condition.start, item.condition.end) : null;\n programClassSources.push(\n condition ? `(${condition}) && ${JSON.stringify(itemArtifacts.className)}` : JSON.stringify(itemArtifacts.className)\n );\n }\n }\n }\n const baseStaticClasses = new Set(className.split(\" \").filter(Boolean));\n const staticClasses = new Set(baseStaticClasses);\n const webConditionalCSS = [];\n const webConditionalKeys = /* @__PURE__ */ new Set();\n const webConditionalEntries = supportsWebConditionalClasses ? dynamicStyleEntries.filter((entry) => entry.value.kind === \"conditional\") : [];\n for (const entry of webConditionalEntries) {\n let serializeWebTree = function(node) {\n if (node.kind === \"leaf\") {\n const artifacts2 = leafArtifactsMap.get(node);\n const only = artifacts2 ? artifacts2.classes.filter((item) => !sharedInConditional.has(item)) : [];\n return JSON.stringify(only.join(\" \"));\n }\n const test = input.source.slice(node.test.start, node.test.end);\n const truePart = serializeWebTree(node.whenTrue);\n const falsePart = serializeWebTree(node.whenFalse);\n return `(${test}) ? ${truePart} : ${falsePart}`;\n };\n if (entry.value.kind !== \"conditional\") continue;\n const tree = entry.value.tree;\n const leaves = collectLeaves(tree);\n const leafArtifactsMap = /* @__PURE__ */ new Map();\n const entryConditionalKeys = /* @__PURE__ */ new Set();\n for (const leaf of leaves) {\n const { branchProps, branchCompleteProps } = propsForConditional(\n entry,\n leaf.value\n );\n const branchSplit = resolveSplitStyles(\n branchCompleteProps,\n component.staticConfig,\n cssAnimationDriver,\n component.displayName\n );\n if (!branchSplit) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch could not be resolved`,\n entry.value.span\n );\n }\n for (const viewPropsKey of /* @__PURE__ */ new Set([\n ...Object.keys(branchSplit.viewProps ?? {}),\n ...Object.keys(split.viewProps ?? {})\n ])) {\n if (viewPropsKey === \"className\") continue;\n if (JSON.stringify(branchSplit.viewProps?.[viewPropsKey]) !== JSON.stringify(split.viewProps?.[viewPropsKey])) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Conditional ${entry.name} branch changes ${viewPropsKey}, which conditional classes cannot express`,\n entry.value.span\n );\n }\n }\n const changedKeys = /* @__PURE__ */ new Set();\n for (const key of /* @__PURE__ */ new Set([\n ...Object.keys(branchSplit.classNames ?? {}),\n ...Object.keys(split.classNames ?? {})\n ])) {\n if (JSON.stringify(branchSplit.classNames?.[key]) !== JSON.stringify(split.classNames?.[key])) {\n changedKeys.add(key);\n }\n }\n const branchStyle = branchSplit.viewProps?.style;\n const baseStyle = split.viewProps?.style;\n if (staticObject(branchStyle) || staticObject(baseStyle)) {\n for (const key of /* @__PURE__ */ new Set([\n ...Object.keys(staticObject(branchStyle) ? branchStyle : {}),\n ...Object.keys(staticObject(baseStyle) ? baseStyle : {})\n ])) {\n if (JSON.stringify(\n staticObject(branchStyle) ? branchStyle[key] : void 0\n ) !== JSON.stringify(staticObject(baseStyle) ? baseStyle[key] : void 0)) {\n changedKeys.add(key);\n }\n }\n }\n for (const key of changedKeys) {\n if (webConditionalKeys.has(key)) {\n return bailout(\n input,\n \"local/dynamic-style-value\",\n `Multiple conditionals contribute ${key}; their interaction cannot be resolved per-branch`,\n entry.value.span\n );\n }\n entryConditionalKeys.add(key);\n }\n const branchArtifacts = extractedStyleArtifacts(\n branchSplit,\n branchProps,\n options.tamaguiConfig,\n !component.domTag,\n Boolean(component.staticConfig.styleFrontend)\n );\n leafArtifactsMap.set(leaf, {\n classes: branchArtifacts.className.split(\" \").filter(Boolean),\n css: branchArtifacts.css\n });\n }\n for (const key of entryConditionalKeys) webConditionalKeys.add(key);\n for (const artifacts2 of leafArtifactsMap.values()) {\n webConditionalCSS.push(...artifacts2.css);\n }\n const allLeafArtifacts = leaves.map((l) => leafArtifactsMap.get(l));\n const sharedInConditional = new Set(\n allLeafArtifacts[0]?.classes.filter(\n (c) => allLeafArtifacts.every((a) => a.classes.includes(c))\n ) ?? []\n );\n for (const cls of baseStaticClasses) {\n if (!sharedInConditional.has(cls)) staticClasses.delete(cls);\n }\n for (const cls of sharedInConditional) {\n if (!baseStaticClasses.has(cls)) staticClasses.add(cls);\n }\n const classExpr = serializeWebTree(tree);\n programClassSources.push(classExpr);\n }\n const webClassName = [...staticClasses].join(\" \");\n const hasStyleProgram = programClassSources.length > 0;\n const classNameExpression = hasStyleProgram ? `[${[JSON.stringify(webClassName), ...programClassSources].join(\", \")}].filter(Boolean).join(\" \")` : null;\n const serializedInlineStyle = serializedStyle(\n inlineStyle,\n dynamicHostStyleProperties ?? []\n );\n const jsxWebStyle = classNameExpression ? [\n `className={${classNameExpression}}`,\n serializedInlineStyle ? `style={${serializedInlineStyle}}` : \"\"\n ].filter(Boolean).join(\" \") : jsxStyleAttributes(webClassName, inlineStyle, dynamicHostStyleProperties ?? []);\n const objectWebStyle = classNameExpression ? [\n `className: ${classNameExpression}`,\n serializedInlineStyle ? `style: ${serializedInlineStyle}` : \"\"\n ].filter(Boolean).join(\", \") : objectStyleProperties(\n webClassName,\n inlineStyle,\n dynamicHostStyleProperties ?? []\n );\n const webCSS = [.../* @__PURE__ */ new Set([...artifacts.css, ...programCSS, ...webConditionalCSS])];\n const webExtraProps = serializedProps(input.element.form, webDOMResult.additions);\n if (input.element.form !== \"jsx\") {\n const replacement = [objectWebStyle, webExtraProps].filter(Boolean).join(\", \");\n const propsEdits = compiledPropsEdits(\n input,\n styleEntries,\n replacement,\n (entry) => spreadReplacement(input.element.form, entry)\n );\n if (!propsEdits) {\n return bailout(\n input,\n \"local/unsupported-target\",\n `Compiled ${input.element.form} call has no editable props argument`\n );\n }\n return {\n ok: true,\n edits: [...tagEdits, ...webPropEdits, ...propsEdits],\n css: webCSS,\n imports: [],\n flattened: true\n };\n }\n if (styleEntries.length === 0) {\n const attributes2 = [jsxWebStyle, webExtraProps].filter(Boolean).join(\" \");\n return {\n ok: true,\n edits: attributes2 ? [\n ...tagEdits,\n ...webPropEdits,\n {\n start: input.element.component.span.end,\n end: input.element.component.span.end,\n content: ` ${attributes2}`,\n origin: input.element.component.span\n }\n ] : [...tagEdits, ...webPropEdits],\n css: webCSS,\n imports: [],\n flattened: true\n };\n }\n const [first, ...rest] = styleEntries;\n const firstNonStyle = first ? spreadReplacement(\"jsx\", first) : \"\";\n const attributes = [jsxWebStyle, webExtraProps, firstNonStyle].filter(Boolean).join(\" \");\n return {\n ok: true,\n edits: [\n ...tagEdits,\n ...webPropEdits,\n {\n start: first.span.start,\n end: first.span.end,\n content: attributes,\n origin: first.span\n },\n ...rest.map((entry) => ({\n start: entry.span.start,\n end: entry.span.end,\n content: spreadReplacement(\"jsx\", entry),\n origin: entry.span\n }))\n ],\n css: webCSS,\n imports: [],\n flattened: true\n };\n }\n };\n}\nfunction bailout(input, code, message, span = input.element.span, zero, prop) {\n return {\n ok: false,\n bailout: {\n code,\n kind: \"local\",\n message,\n span,\n component: input.element.component.name,\n ...prop && { prop },\n ...zero && { zeroRule: zero.rule, zeroMessage: zero.message }\n }\n };\n}\nexport {\n createComponentRegistry,\n createTamaguiCompilerHost\n};\n//# sourceMappingURL=compilerHost.js.map\n"],"mappings":";;;;;;;;;AAoCA,SAAS,wBAAwB,YAAY,kBAAkB;CAC7D,OAAO;EACL,aAAa,IAAI,IACf,iBAAiB,KAAK,WAAW,CAAC,OAAO,YAAY,OAAO,UAAU,CAAC,CACzE;EACA,oBAAoB,IAAI,IACtB,WAAW,KAAK,cAAc,CAAC,UAAU,YAAY,SAAS,CAAC,CACjE;CACF;AACF;AACA,MAAM,gCAAgC,IAAI,IAAI;CAC5C;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,iBAAiB;CACrB,OAAO;CACP,cAAc;CACd,aAAa;CACb,OAAO;CACP,WAAW;CACX,OAAO;CACP,SAAS;CACT,UAAU;AACZ;AACA,SAAS,aAAa,OAAO;CAC3B,OAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AACrE;AACA,MAAM,oBAAoB;AAC1B,MAAM,gCAAgC;AACtC,MAAM,8BAA8B;AACpC,MAAM,mDAAmD,IAAI,IAAI,CAAC,YAAY,CAAC;AAC/E,SAAS,aAAa,YAAY,YAAY;CAC5C,OAAO,GAAG,WAAW,GAAG;AAC1B;AACA,SAAS,aAAa,OAAO;CAC3B,OAAO,OAAO,OAAO,KAAK,CAAC,CAAC,SAAS,gBAAgB;EACnD,MAAM,aAAa,cAAc;EACjC,MAAM,aAAa,cAAc;EACjC,OAAO,cAAc,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC;CACjE,CAAC;AACH;AACA,SAAS,aAAa,OAAO;CAC3B,OAAO,aAAa,KAAK,UAAU,KAAK;AAC1C;AACA,SAAS,gBAAgB,OAAO;CAC9B,OAAO,cAAc,KAAK,UAAU,KAAK;AAC3C;AACA,SAAS,gBAAgB,OAAO,mBAAmB;CACjD,IAAI,kBAAkB,WAAW,GAAG,OAAO,QAAQ,KAAK,UAAU,KAAK,IAAI;CAC3E,OAAO,KAAK,CACV,GAAG,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,KAC9B,CAAC,MAAM,WAAW,GAAG,KAAK,UAAU,IAAI,EAAE,IAAI,KAAK,UAAU,KAAK,GACrE,IAAI,CAAC,GACL,GAAG,iBACL,CAAC,CAAC,KAAK,IAAI,EAAE;AACf;AACA,SAAS,mBAAmB,WAAW,OAAO,oBAAoB,CAAC,GAAG;CACpE,MAAM,aAAa,gBAAgB,OAAO,iBAAiB;CAC3D,OAAO,CACL,YAAY,aAAa,SAAS,IAAI,IACtC,aAAa,UAAU,WAAW,KAAK,EACzC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B;AACA,SAAS,sBAAsB,WAAW,OAAO,oBAAoB,CAAC,GAAG;CACvE,MAAM,aAAa,gBAAgB,OAAO,iBAAiB;CAC3D,OAAO,CACL,YAAY,gBAAgB,SAAS,IAAI,IACzC,aAAa,UAAU,eAAe,EACxC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI;AAC7B;AACA,SAAS,wBAAwB,OAAO,OAAO,QAAQ,qBAAqB,MAAM,mBAAmB,OAAO;CAC1G,MAAM,kBAAkB,CAAC,oBAAoB,OAAO,MAAM,cAAc,WAAW,MAAM,YAAY;CACrG,MAAM,gBAAgB,OAAO,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,YAAY;CACnG,MAAM,yBAAyB,mBAAmB,cAAc,SAAS,eAAe,IAAI,cAAc,MAAM,GAAG,CAAC,gBAAgB,MAAM,CAAC,CAAC,QAAQ,IAAI;CACxJ,MAAM,QAAQ,MAAM,iBAAiB,CAAC;CACtC,MAAM,aAAa,IAAI,IAAI,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;CAC1D,MAAM,cAAc;EAClB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,MAAM,UAAU;EACd,OAAO,CAAC;EACR,QAAQ,CAAC;EACT,QAAQ,CAAC;EACT,OAAO,CAAC;EACR,OAAO,CAAC;CACV;CACA,MAAM,4BAA4B,IAAI,IAAI;CAC1C,KAAK,MAAM,CAAC,KAAK,eAAe,OAAO,QAAQ,MAAM,cAAc,CAAC,CAAC,GAAG;EACtE,IAAI,OAAO,eAAe,UAAU,UAAU,IAAI,YAAY,GAAG;CACnE;CACA,MAAM,8BAA8B,IAAI,IAAI,CAC1C,GAAG,UAAU,KAAK,GAClB,GAAG,OAAO,OAAO,KAAK,CAAC,CAAC,SAAS,gBAAgB;EAC/C,MAAM,aAAa,cAAc;EACjC,OAAO,OAAO,eAAe,WAAW,CAAC,UAAU,IAAI,CAAC;CAC1D,CAAC,CACH,CAAC;CACD,KAAK,MAAM,cAAc,aAAa;EACpC,MAAM,MAAM,UAAU,IAAI,UAAU,KAAK;EACzC,MAAM,OAAO,aACX,OAAO,YACL,OAAO,QAAQ,KAAK,CAAC,CAAC,QACnB,GAAG,iBAAiB,cAAc,2BAA2B,UAChE,CACF,CACF,CAAC,CAAC,KAAK,EAAE;EACT,IAAI,WAAW,WAAW,UAAU,GAAG;GACrC,QAAQ,MAAM,KAAK,UAAU;EAC/B,OAAO,IAAI,YAAY,MAAM,SAAS,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG;GAC/D,QAAQ,OAAO,KAAK,UAAU;EAChC,OAAO,IAAI,KAAK,SAAS,KAAK,GAAG;GAC/B,QAAQ,MAAM,KAAK,UAAU;EAC/B,OAAO,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,SAAS,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG;GACnE,QAAQ,MAAM,KAAK,UAAU;EAC/B,OAAO;GACL,QAAQ,OAAO,KAAK,UAAU;EAChC;CACF;CACA,MAAM,qBAAqB;EACzB,GAAG,QAAQ;EACX,GAAG,QAAQ;EACX,GAAG,QAAQ;EACX,GAAG,QAAQ;EACX,GAAG,QAAQ;CACb;CACA,MAAM,aAAa,IAAI,IAAI,kBAAkB;CAC7C,MAAM,oBAAoB,qBAAqB,uBAAuB,MAAM,KAAK,CAAC,CAAC,QAAQ,UAAU,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI;CAClJ,MAAM,MAAM,mBAAmB,SAAS,eAAe;EACrD,MAAM,kBAAkB,aACtB,OAAO,YACL,OAAO,QAAQ,KAAK,CAAC,CAAC,QACnB,GAAG,iBAAiB,cAAc,2BAA2B,UAChE,CACF,CACF;EACA,OAAO,QAAQ,MAAM,SAAS,UAAU,IAAI,gBAAgB,KACzD,SAAS,KAAK,QAAQ,sBAAsB,yBAAyB,CACxE,IAAI;CACN,CAAC;CACD,OAAO;EACL,WAAW,gBAAgB,mBAAmB,oBAAoB,eAAe;EACjF;CACF;AACF;AACA,SAAS,0BAA0B,MAAM,OAAO,eAAe,aAAa;CAC1E,IAAI,MAAM,SAAS,YAAY,MAAM,MAAM,SAAS,YAAY,CAAC,aAAa,MAAM,MAAM,KAAK,GAAG;EAChG,OAAO;CACT;CACA,MAAM,kBAAkB,OAAO,QAAQ,MAAM,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,YAAY,KAAK,KAAK,CAAC;CAC9I,IAAI,gBAAgB,WAAW,GAAG,OAAO;CACzC,MAAM,eAAe,KAAK,gBAAgB,KAAK,CAAC,KAAK,WAAW,GAAG,KAAK,UAAU,GAAG,EAAE,IAAI,KAAK,UAAU,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;CAC/H,OAAO,SAAS,QAAQ,OAAO,aAAa,KAAK,MAAM;AACzD;AACA,SAAS,mBAAmB,OAAO,cAAc,aAAa,mBAAmB;CAC/E,MAAM,YAAY,MAAM,QAAQ;CAChC,IAAI,CAAC,WAAW,OAAO;CACvB,MAAM,WAAW,MAAM,OAAO,MAAM,UAAU,OAAO,UAAU,GAAG;CAClE,MAAM,UAAU,SAAS,KAAK;CAC9B,IAAI,CAAC,QAAQ,WAAW,GAAG,KAAK,CAAC,QAAQ,SAAS,GAAG,GAAG;EACtD,OAAO,CACL;GACE,OAAO,UAAU;GACjB,KAAK,UAAU;GACf,SAAS,KAAK,YAAY;GAC1B,QAAQ;EACV,CACF;CACF;CACA,IAAI,aAAa,WAAW,GAAG;EAC7B,MAAM,QAAQ,SAAS,YAAY,GAAG;EACtC,MAAM,YAAY,SAAS,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,IAAI,OAAO;EAC3D,MAAM,WAAW,UAAU,QAAQ;EACnC,OAAO,CACL;GACE,OAAO;GACP,KAAK;GACL,SAAS,GAAG,YAAY,YAAY;GACpC,QAAQ;EACV,CACF;CACF;CACA,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,CAAC,OAAO,UAAU,aAAa,QAAQ,GAAG;EACnD,IAAI,QAAQ,MAAM,KAAK;EACvB,IAAI,MAAM,MAAM,KAAK;EACrB,MAAM,WAAW,oBAAoB,KAAK,KAAK;EAC/C,IAAI,UAAU,GAAG;GACf,MAAM,UAAU,CAAC,aAAa,QAAQ,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI;GACjE,MAAM,KAAK;IAAE;IAAO;IAAK;IAAS,QAAQ,MAAM;GAAK,CAAC;GACtD;EACF;EACA,IAAI,SAAS,MAAM,UAAU;EAC7B,OAAO,SAAS,SAAS,SAAS,KAAK,KAAK,KAAK,SAAS,OAAO,GAAG;EACpE,IAAI,SAAS,YAAY,KAAK;GAC5B,MAAM,UAAU,QAAQ,SAAS;EACnC,OAAO;GACL,SAAS,QAAQ,UAAU,QAAQ;GACnC,OAAO,SAAS,KAAK,KAAK,KAAK,SAAS,OAAO,GAAG;GAClD,IAAI,SAAS,YAAY,KAAK,QAAQ,UAAU,QAAQ;EAC1D;EACA,MAAM,KAAK;GAAE;GAAO;GAAK,SAAS;GAAU,QAAQ,MAAM;EAAK,CAAC;CAClE;CACA,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,QAAQ,MAAM,MAAM,MAAM,UAAU,KAAK,QAAQ,MAAM,KAAK,GAAG;EACxE,MAAM,WAAW,OAAO,GAAG,CAAC,CAAC;EAC7B,IAAI,YAAY,KAAK,SAAS,SAAS,OAAO,CAAC,SAAS,WAAW,CAAC,KAAK,SAAS;GAChF,SAAS,MAAM,KAAK,IAAI,SAAS,KAAK,KAAK,GAAG;EAChD,OAAO;GACL,OAAO,KAAK,IAAI;EAClB;CACF;CACA,OAAO;AACT;AACA,MAAM,qCAAqC,IAAI,IAAI;CACjD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,wCAAwC,IAAI,IAAI;CACpD;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,qCAAqC,IAAI,IAAI;CAAC;CAAW;CAAuB;AAAc,CAAC;AACrG,MAAM,wBAAwB;CAC5B,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,WAAW;EAAC;EAAkB;EAAkB;CAAgB;CAChE,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,cAAc;EAAC;EAAqB;EAAqB;CAAmB;CAC5E,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,aAAa;EACX;EACA;EACA;EACA;EACA;CACF;CACA,SAAS;EAAC;EAAgB;EAAgB;CAAc;CACxD,KAAK,CAAC,aAAa,QAAQ;CAC3B,YAAY,CAAC,iBAAiB,iBAAiB;CAC/C,SAAS,CAAC,cAAc,cAAc;CACtC,cAAc;EACZ;EACA;EACA;EACA;EACA;EACA;CACF;CACA,eAAe;EACb;EACA;EACA;EACA;EACA;EACA;CACF;CACA,aAAa;EAAC;EAAkB;EAAoB;EAAO;EAAS;EAAQ;CAAO;CACnF,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;CACF;AACF;AACA,MAAM,sBAAsB;iBACV,IAAI,IAAI,CAAC,SAAS,YAAY,CAAC;iBAC/B,IAAI,IAAI,CAAC,YAAY,eAAe,CAAC;iBACrC,IAAI,IAAI,CAAC,YAAY,eAAe,CAAC;iBACrC,IAAI,IAAI,CAAC,UAAU,WAAW,CAAC;iBAC/B,IAAI,IAAI,CAAC,aAAa,cAAc,CAAC;iBACrC,IAAI,IAAI,CAAC,aAAa,cAAc,CAAC;iBACrC,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;iBACe,IAAI,IAAI;EACtB;E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"}
@@ -1,6 +1,10 @@
1
1
  import path from "node:path";
2
2
  import { getComponentStaticConfigByName } from "./extractor/bundleConfig.mjs";
3
3
 
4
+ const packageSpecifier = /^(?:@[^/@\s]+\/)?[^./~@\s][^/\s]*(?:\/|$)/;
5
+ function isPackageSpecifier(specifier) {
6
+ return packageSpecifier.test(specifier);
7
+ }
4
8
  var ComponentDiscovery = class {
5
9
  /** null records a module that had no components or could not evaluate */
6
10
  #discovered = /* @__PURE__ */ new Map();
@@ -24,7 +28,7 @@ var ComponentDiscovery = class {
24
28
  const seen = /* @__PURE__ */ new Set();
25
29
  const provenances = [...module.elements.map((element) => element.component.provenance), ...module.styledDefinitions.map((definition) => definition.base.provenance)];
26
30
  for (const provenance of provenances) {
27
- if (!provenance) continue;
31
+ if (!provenance || !isPackageSpecifier(provenance.specifier)) continue;
28
32
  const id = provenance.resolvedId.split(/[?#]/, 1)[0];
29
33
  if (seen.has(id) || registry.modulesById.has(id) || this.#discovered.has(id)) {
30
34
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"componentDiscovery.js","names":["#discovered"],"sources":["esm/componentDiscovery.js"],"sourcesContent":["import path from \"node:path\";\nimport {\n getComponentStaticConfigByName\n} from \"./extractor/bundleConfig\";\nclass ComponentDiscovery {\n /** null records a module that had no components or could not evaluate */\n #discovered = /* @__PURE__ */ new Map();\n clear() {\n this.#discovered.clear();\n }\n /** host-resolved ids of every module discovery found components in */\n ids() {\n return [...this.#discovered].filter(([, loaded]) => loaded !== null).map(([id]) => id).sort();\n }\n /** re-register everything found so far into a freshly built registry */\n seed(registry) {\n for (const [id, loaded] of this.#discovered) {\n if (!loaded) continue;\n registry.modulesById.set(id, id);\n registry.componentsByModule.set(id, loaded);\n }\n }\n async prepare(module, registry, evaluate) {\n if (!evaluate) return;\n const seen = /* @__PURE__ */ new Set();\n const provenances = [\n ...module.elements.map((element) => element.component.provenance),\n ...module.styledDefinitions.map((definition) => definition.base.provenance)\n ];\n for (const provenance of provenances) {\n if (!provenance) continue;\n const id = provenance.resolvedId.split(/[?#]/, 1)[0];\n if (seen.has(id) || registry.modulesById.has(id) || this.#discovered.has(id)) {\n continue;\n }\n seen.add(id);\n if (!path.isAbsolute(id)) {\n this.#discovered.set(id, null);\n continue;\n }\n let loaded = null;\n try {\n const exports = await evaluate({ id, specifier: provenance.specifier });\n if (exports) {\n const nameToInfo = getComponentStaticConfigByName(\n id,\n exports.default ?? exports\n );\n if (Object.keys(nameToInfo).length) loaded = { moduleName: id, nameToInfo };\n }\n } catch (error) {\n if (process.env.DEBUG === \"tamagui\") {\n console.info(`[tamagui] component discovery skipped ${id}:`, error);\n }\n }\n this.#discovered.set(id, loaded);\n if (loaded) {\n registry.modulesById.set(id, id);\n registry.componentsByModule.set(id, loaded);\n }\n }\n }\n}\nexport {\n ComponentDiscovery\n};\n//# sourceMappingURL=componentDiscovery.js.map\n"],"mappings":";;;;AAIA,IAAM,qBAAN,MAAyB;;CAEvB,8BAA8B,IAAI,IAAI;CACtC,QAAQ;EACN,KAAKA,YAAY,MAAM;CACzB;;CAEA,MAAM;EACJ,OAAO,CAAC,GAAG,KAAKA,WAAW,CAAC,CAAC,QAAQ,GAAG,YAAY,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK;CAC9F;;CAEA,KAAK,UAAU;EACb,KAAK,MAAM,CAAC,IAAI,WAAW,KAAKA,aAAa;GAC3C,IAAI,CAAC,QAAQ;GACb,SAAS,YAAY,IAAI,IAAI,EAAE;GAC/B,SAAS,mBAAmB,IAAI,IAAI,MAAM;EAC5C;CACF;CACA,MAAM,QAAQ,QAAQ,UAAU,UAAU;EACxC,IAAI,CAAC,UAAU;EACf,MAAM,uBAAuB,IAAI,IAAI;EACrC,MAAM,cAAc,CAClB,GAAG,OAAO,SAAS,KAAK,YAAY,QAAQ,UAAU,UAAU,GAChE,GAAG,OAAO,kBAAkB,KAAK,eAAe,WAAW,KAAK,UAAU,CAC5E;EACA,KAAK,MAAM,cAAc,aAAa;GACpC,IAAI,CAAC,YAAY;GACjB,MAAM,KAAK,WAAW,WAAW,MAAM,QAAQ,CAAC,CAAC,CAAC;GAClD,IAAI,KAAK,IAAI,EAAE,KAAK,SAAS,YAAY,IAAI,EAAE,KAAK,KAAKA,YAAY,IAAI,EAAE,GAAG;IAC5E;GACF;GACA,KAAK,IAAI,EAAE;GACX,IAAI,CAAC,KAAK,WAAW,EAAE,GAAG;IACxB,KAAKA,YAAY,IAAI,IAAI,IAAI;IAC7B;GACF;GACA,IAAI,SAAS;GACb,IAAI;IACF,MAAM,UAAU,MAAM,SAAS;KAAE;KAAI,WAAW,WAAW;IAAU,CAAC;IACtE,IAAI,SAAS;KACX,MAAM,aAAa,+BACjB,IACA,QAAQ,WAAW,OACrB;KACA,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,QAAQ,SAAS;MAAE,YAAY;MAAI;KAAW;IAC5E;GACF,SAAS,OAAO;IACd,IAAI,QAAQ,IAAI,UAAU,WAAW;KACnC,QAAQ,KAAK,yCAAyC,GAAG,IAAI,KAAK;IACpE;GACF;GACA,KAAKA,YAAY,IAAI,IAAI,MAAM;GAC/B,IAAI,QAAQ;IACV,SAAS,YAAY,IAAI,IAAI,EAAE;IAC/B,SAAS,mBAAmB,IAAI,IAAI,MAAM;GAC5C;EACF;CACF;AACF"}
1
+ {"version":3,"file":"componentDiscovery.js","names":["#discovered"],"sources":["esm/componentDiscovery.js"],"sourcesContent":["import path from \"node:path\";\nimport {\n getComponentStaticConfigByName\n} from \"./extractor/bundleConfig\";\nconst packageSpecifier = /^(?:@[^/@\\s]+\\/)?[^./~@\\s][^/\\s]*(?:\\/|$)/;\nfunction isPackageSpecifier(specifier) {\n return packageSpecifier.test(specifier);\n}\nclass ComponentDiscovery {\n /** null records a module that had no components or could not evaluate */\n #discovered = /* @__PURE__ */ new Map();\n clear() {\n this.#discovered.clear();\n }\n /** host-resolved ids of every module discovery found components in */\n ids() {\n return [...this.#discovered].filter(([, loaded]) => loaded !== null).map(([id]) => id).sort();\n }\n /** re-register everything found so far into a freshly built registry */\n seed(registry) {\n for (const [id, loaded] of this.#discovered) {\n if (!loaded) continue;\n registry.modulesById.set(id, id);\n registry.componentsByModule.set(id, loaded);\n }\n }\n async prepare(module, registry, evaluate) {\n if (!evaluate) return;\n const seen = /* @__PURE__ */ new Set();\n const provenances = [\n ...module.elements.map((element) => element.component.provenance),\n ...module.styledDefinitions.map((definition) => definition.base.provenance)\n ];\n for (const provenance of provenances) {\n if (!provenance || !isPackageSpecifier(provenance.specifier)) continue;\n const id = provenance.resolvedId.split(/[?#]/, 1)[0];\n if (seen.has(id) || registry.modulesById.has(id) || this.#discovered.has(id)) {\n continue;\n }\n seen.add(id);\n if (!path.isAbsolute(id)) {\n this.#discovered.set(id, null);\n continue;\n }\n let loaded = null;\n try {\n const exports = await evaluate({ id, specifier: provenance.specifier });\n if (exports) {\n const nameToInfo = getComponentStaticConfigByName(\n id,\n exports.default ?? exports\n );\n if (Object.keys(nameToInfo).length) loaded = { moduleName: id, nameToInfo };\n }\n } catch (error) {\n if (process.env.DEBUG === \"tamagui\") {\n console.info(`[tamagui] component discovery skipped ${id}:`, error);\n }\n }\n this.#discovered.set(id, loaded);\n if (loaded) {\n registry.modulesById.set(id, id);\n registry.componentsByModule.set(id, loaded);\n }\n }\n }\n}\nexport {\n ComponentDiscovery\n};\n//# sourceMappingURL=componentDiscovery.js.map\n"],"mappings":";;;;AAIA,MAAM,mBAAmB;AACzB,SAAS,mBAAmB,WAAW;CACrC,OAAO,iBAAiB,KAAK,SAAS;AACxC;AACA,IAAM,qBAAN,MAAyB;;CAEvB,8BAA8B,IAAI,IAAI;CACtC,QAAQ;EACN,KAAKA,YAAY,MAAM;CACzB;;CAEA,MAAM;EACJ,OAAO,CAAC,GAAG,KAAKA,WAAW,CAAC,CAAC,QAAQ,GAAG,YAAY,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK;CAC9F;;CAEA,KAAK,UAAU;EACb,KAAK,MAAM,CAAC,IAAI,WAAW,KAAKA,aAAa;GAC3C,IAAI,CAAC,QAAQ;GACb,SAAS,YAAY,IAAI,IAAI,EAAE;GAC/B,SAAS,mBAAmB,IAAI,IAAI,MAAM;EAC5C;CACF;CACA,MAAM,QAAQ,QAAQ,UAAU,UAAU;EACxC,IAAI,CAAC,UAAU;EACf,MAAM,uBAAuB,IAAI,IAAI;EACrC,MAAM,cAAc,CAClB,GAAG,OAAO,SAAS,KAAK,YAAY,QAAQ,UAAU,UAAU,GAChE,GAAG,OAAO,kBAAkB,KAAK,eAAe,WAAW,KAAK,UAAU,CAC5E;EACA,KAAK,MAAM,cAAc,aAAa;GACpC,IAAI,CAAC,cAAc,CAAC,mBAAmB,WAAW,SAAS,GAAG;GAC9D,MAAM,KAAK,WAAW,WAAW,MAAM,QAAQ,CAAC,CAAC,CAAC;GAClD,IAAI,KAAK,IAAI,EAAE,KAAK,SAAS,YAAY,IAAI,EAAE,KAAK,KAAKA,YAAY,IAAI,EAAE,GAAG;IAC5E;GACF;GACA,KAAK,IAAI,EAAE;GACX,IAAI,CAAC,KAAK,WAAW,EAAE,GAAG;IACxB,KAAKA,YAAY,IAAI,IAAI,IAAI;IAC7B;GACF;GACA,IAAI,SAAS;GACb,IAAI;IACF,MAAM,UAAU,MAAM,SAAS;KAAE;KAAI,WAAW,WAAW;IAAU,CAAC;IACtE,IAAI,SAAS;KACX,MAAM,aAAa,+BACjB,IACA,QAAQ,WAAW,OACrB;KACA,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,QAAQ,SAAS;MAAE,YAAY;MAAI;KAAW;IAC5E;GACF,SAAS,OAAO;IACd,IAAI,QAAQ,IAAI,UAAU,WAAW;KACnC,QAAQ,KAAK,yCAAyC,GAAG,IAAI,KAAK;IACpE;GACF;GACA,KAAKA,YAAY,IAAI,IAAI,MAAM;GAC/B,IAAI,QAAQ;IACV,SAAS,YAAY,IAAI,IAAI,EAAE;IAC/B,SAAS,mBAAmB,IAAI,IAAI,MAAM;GAC5C;EACF;CACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/static",
3
- "version": "3.0.0-beta.881.1",
3
+ "version": "3.0.0-beta.889.1",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "license": "MIT",
6
6
  "source": "src/index.ts",
@@ -45,21 +45,21 @@
45
45
  "clean:build": "tamagui-build clean:build"
46
46
  },
47
47
  "dependencies": {
48
- "@tamagui/cli-color": "3.0.0-beta.881.1",
49
- "@tamagui/compiler-core": "3.0.0-beta.881.1",
50
- "@tamagui/config-default": "3.0.0-beta.881.1",
51
- "@tamagui/core": "3.0.0-beta.881.1",
52
- "@tamagui/dom": "3.0.0-beta.881.1",
53
- "@tamagui/fake-react-native": "3.0.0-beta.881.1",
54
- "@tamagui/generate-themes": "3.0.0-beta.881.1",
55
- "@tamagui/helpers": "3.0.0-beta.881.1",
56
- "@tamagui/helpers-node": "3.0.0-beta.881.1",
57
- "@tamagui/react-native-web-internals": "3.0.0-beta.881.1",
58
- "@tamagui/react-native-web-lite": "3.0.0-beta.881.1",
59
- "@tamagui/shorthands": "3.0.0-beta.881.1",
60
- "@tamagui/style-grammar": "3.0.0-beta.881.1",
61
- "@tamagui/types": "3.0.0-beta.881.1",
62
- "@tamagui/web": "3.0.0-beta.881.1",
48
+ "@tamagui/cli-color": "3.0.0-beta.889.1",
49
+ "@tamagui/compiler-core": "3.0.0-beta.889.1",
50
+ "@tamagui/config-default": "3.0.0-beta.889.1",
51
+ "@tamagui/core": "3.0.0-beta.889.1",
52
+ "@tamagui/dom": "3.0.0-beta.889.1",
53
+ "@tamagui/fake-react-native": "3.0.0-beta.889.1",
54
+ "@tamagui/generate-themes": "3.0.0-beta.889.1",
55
+ "@tamagui/helpers": "3.0.0-beta.889.1",
56
+ "@tamagui/helpers-node": "3.0.0-beta.889.1",
57
+ "@tamagui/react-native-web-internals": "3.0.0-beta.889.1",
58
+ "@tamagui/react-native-web-lite": "3.0.0-beta.889.1",
59
+ "@tamagui/shorthands": "3.0.0-beta.889.1",
60
+ "@tamagui/style-grammar": "3.0.0-beta.889.1",
61
+ "@tamagui/types": "3.0.0-beta.889.1",
62
+ "@tamagui/web": "3.0.0-beta.889.1",
63
63
  "browserslist": "^4.28.1",
64
64
  "check-dependency-version-consistency": "^4.1.0",
65
65
  "esbuild": "0.28.1",
@@ -71,7 +71,7 @@
71
71
  "react-native-web": "~0.21.0"
72
72
  },
73
73
  "devDependencies": {
74
- "@tamagui/build": "3.0.0-beta.881.1",
74
+ "@tamagui/build": "3.0.0-beta.889.1",
75
75
  "@types/find-root": "^1.1.2",
76
76
  "@types/node": "^22.1.0",
77
77
  "@types/webpack": "^4.41.26",
@@ -1209,6 +1209,13 @@ export function createTamaguiCompilerHost(
1209
1209
  definition: MaterializedStyledDefinition | null
1210
1210
  ): { key: string; staticConfig: StaticConfig; displayName?: string } | null => {
1211
1211
  if (!definition || definition.options.kind !== 'static') return null
1212
+ const staticConfig = definition.staticConfig
1213
+ if (
1214
+ staticConfig &&
1215
+ (staticConfig.kind !== 'static' || !staticObject(staticConfig.value))
1216
+ ) {
1217
+ return null
1218
+ }
1212
1219
  const base = directStaticConfig({
1213
1220
  kind: 'element',
1214
1221
  form: 'jsx',
@@ -1236,6 +1243,7 @@ export function createTamaguiCompilerHost(
1236
1243
  : undefined
1237
1244
  const localStaticConfig = {
1238
1245
  ...base.staticConfig,
1246
+ ...(staticConfig?.value as Record<string, unknown> | undefined),
1239
1247
  variants: {
1240
1248
  ...base.staticConfig.variants,
1241
1249
  ...(variants as object | undefined),
@@ -1267,8 +1275,11 @@ export function createTamaguiCompilerHost(
1267
1275
  styledDefinition: MaterializedStyledDefinition | null
1268
1276
  ): TamaguiLoweringComponent | null => {
1269
1277
  const dom = domStaticConfig(element)
1278
+ // a config the host evaluated is the component's real static config. The
1279
+ // one derived from a visible `styled()` literal only stands in for
1280
+ // definitions nothing evaluated, such as the app's own
1270
1281
  const resolved =
1271
- dom ?? styledStaticConfig(styledDefinition) ?? directStaticConfig(element)
1282
+ dom ?? directStaticConfig(element) ?? styledStaticConfig(styledDefinition)
1272
1283
  if (!resolved) return null
1273
1284
  const defaultProps = resolved.staticConfig.defaultProps ?? {}
1274
1285
  return {
@@ -17,6 +17,13 @@ export type ComponentModuleEvaluator = (module: {
17
17
  specifier: string
18
18
  }) => Promise<Record<string, unknown> | null>
19
19
 
20
+ // `pkg`, `@scope/pkg`, and their subpaths. `@/x` and `~/x` are path aliases
21
+ const packageSpecifier = /^(?:@[^/@\s]+\/)?[^./~@\s][^/\s]*(?:\/|$)/
22
+
23
+ function isPackageSpecifier(specifier: string): boolean {
24
+ return packageSpecifier.test(specifier)
25
+ }
26
+
20
27
  /**
21
28
  * Finds the component modules a file uses that the configured `components`
22
29
  * list does not cover, evaluates each once, and registers what it exports so
@@ -60,7 +67,10 @@ export class ComponentDiscovery {
60
67
  ...module.styledDefinitions.map((definition) => definition.base.provenance),
61
68
  ]
62
69
  for (const provenance of provenances) {
63
- if (!provenance) continue
70
+ // a relative or aliased import is the app's own module: the graph
71
+ // already models its styled definitions, and evaluating app code at
72
+ // build time runs its side effects
73
+ if (!provenance || !isPackageSpecifier(provenance.specifier)) continue
64
74
  const id = provenance.resolvedId.split(/[?#]/, 1)[0]
65
75
  if (seen.has(id) || registry.modulesById.has(id) || this.#discovered.has(id)) {
66
76
  continue
@@ -1 +1 @@
1
- {"version":3,"file":"compilerHost.d.ts","sourceRoot":"","sources":["../src/compilerHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EAQf,MAAM,wBAAwB,CAAA;AAoC/B,OAAO,KAAK,EAAiC,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAIhE,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,+EAA+E;IAC/E,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAClD;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,SAAS,gBAAgB,EAAE,EACvC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,GACnD,yBAAyB,CAS3B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,cAAc,CAAA;IACtB,aAAa,EAAE,qBAAqB,CAAA;IACpC,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,gBAAgB,EAAE,uBAAuB,EAAE,CAAA;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,EAAE,yBAAyB,CAAA;IACpC,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,mEAAmE;IACnE,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AA+2BD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,oBAAoB,CAi/EtB"}
1
+ {"version":3,"file":"compilerHost.d.ts","sourceRoot":"","sources":["../src/compilerHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EAQf,MAAM,wBAAwB,CAAA;AAoC/B,OAAO,KAAK,EAAiC,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAIhE,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,+EAA+E;IAC/E,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAClD;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,SAAS,gBAAgB,EAAE,EACvC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,GACnD,yBAAyB,CAS3B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,cAAc,CAAA;IACtB,aAAa,EAAE,qBAAqB,CAAA;IACpC,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,gBAAgB,EAAE,uBAAuB,EAAE,CAAA;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,EAAE,yBAAyB,CAAA;IACpC,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,mEAAmE;IACnE,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AA+2BD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,oBAAoB,CA4/EtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"componentDiscovery.d.ts","sourceRoot":"","sources":["../src/componentDiscovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAM/D;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE;IAC9C,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;AAE7C;;;;;GAKG;AACH,qBAAa,kBAAkB;;IAI7B,KAAK,IAAI,IAAI,CAEZ;IAED,sEAAsE;IACtE,GAAG,IAAI,MAAM,EAAE,CAKd;IAED,wEAAwE;IACxE,IAAI,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAM9C;IAEK,OAAO,CACX,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,GAC7C,OAAO,CAAC,IAAI,CAAC,CAuCf;CACF"}
1
+ {"version":3,"file":"componentDiscovery.d.ts","sourceRoot":"","sources":["../src/componentDiscovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAM/D;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE;IAC9C,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;AAS7C;;;;;GAKG;AACH,qBAAa,kBAAkB;;IAI7B,KAAK,IAAI,IAAI,CAEZ;IAED,sEAAsE;IACtE,GAAG,IAAI,MAAM,EAAE,CAKd;IAED,wEAAwE;IACxE,IAAI,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAM9C;IAEK,OAAO,CACX,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,GAC7C,OAAO,CAAC,IAAI,CAAC,CA0Cf;CACF"}