@tamagui/tailwind 3.0.0-beta.765.1 → 3.0.0-beta.804.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.
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.js","names":[],"sources":["esm/candidate.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport {\n STYLE_FRONTEND_PASSTHROUGH_PREFIX,\n createFrontendProgram,\n plainValueToPayload\n} from \"@tamagui/core/internal-runtime\";\nimport {\n borderSideSuffix,\n classifyCandidate,\n createGrammarConfigView,\n decodeArbitrary,\n getTokenCategory,\n getSafeAreaEdge,\n percentUtilityProps,\n radiusCornerProps,\n splitColorOpacitySuffix\n} from \"@tamagui/style-grammar/runtime\";\nconst styleGrammarConfigCache = /* @__PURE__ */ new WeakMap();\nfunction getStyleGrammarConfig(config) {\n const cached = styleGrammarConfigCache.get(config);\n if (cached) return cached;\n const view = createGrammarConfigView(config);\n styleGrammarConfigCache.set(config, view);\n return view;\n}\nfunction isTokenValueProp(prop) {\n return getTokenCategory(prop) !== null;\n}\nfunction arbitraryValue(inner) {\n const px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction tailwindSizingValue(prop, value) {\n if (value === \"full\") return \"100%\";\n if (value === \"auto\") return \"auto\";\n if (value === \"screen\") return /[Hh]eight/.test(prop) ? \"100vh\" : \"100vw\";\n if (value === \"min\") return \"min-content\";\n if (value === \"max\") return \"max-content\";\n if (value === \"fit\") return \"fit-content\";\n const frac = /^(\\d+)\\/(\\d+)$/.exec(value);\n if (frac && Number(frac[2]) !== 0) {\n return `${Number(frac[1]) / Number(frac[2]) * 100}%`;\n }\n return null;\n}\nfunction borderDimValue(raw) {\n let inner = raw;\n if (raw.length > 1 && raw[0] === \"[\" && raw[raw.length - 1] === \"]\") {\n inner = decodeArbitrary(raw.slice(1, -1));\n }\n const px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number.parseFloat(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction expandBorderCandidate(parsed, value) {\n const prefix = parsed.prefix;\n if (!prefix) return null;\n if (prefix.startsWith(\"rounded-\")) {\n const props = radiusCornerProps[prefix.slice(\"rounded-\".length)];\n if (!props || props.length === 1) return null;\n const out2 = {};\n for (const p of props) out2[p] = value;\n return out2;\n }\n const m = /^border-([trblxy])$/.exec(prefix);\n if (!m) return null;\n const sides = borderSideSuffix[m[1]];\n const suffix = parsed.entry?.prop.endsWith(\"Width\") ? \"Width\" : \"Color\";\n const out = {};\n for (const side of sides) out[`border${side}${suffix}`] = value;\n return out;\n}\nfunction tailwindClassToFlatProp(parsed) {\n if (parsed.kind !== \"dynamic\" || !parsed.entry || parsed.rawValue === void 0) {\n return null;\n }\n const prop = parsed.entry.prop;\n const category = parsed.entry.tokenCategory;\n let value = parsed.rawValue;\n if (prop.endsWith(\"Width\") && parsed.prefix?.startsWith(\"border\")) {\n if (parsed.valueKind === \"token\") {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else if (parsed.valueKind === \"arbitrary\") {\n value = borderDimValue(value);\n } else {\n return null;\n }\n return { key: prop, value };\n }\n if (prop === \"fontFamily\") {\n let famValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n famValue = decodeArbitrary(value.slice(1, -1));\n } else {\n const generic = {\n sans: \"sans-serif\",\n serif: \"serif\",\n mono: \"monospace\"\n };\n famValue = parsed.valueKind === \"token\" ? value : generic[value] || value;\n }\n return {\n key: \"fontFamily\",\n value: famValue\n };\n }\n if (prop === \"fontSize\") {\n let fsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n fsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n fsValue = value;\n }\n return {\n key: \"fontSize\",\n value: fsValue\n };\n }\n if (prop === \"lineHeight\") {\n let lhValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n const inner = decodeArbitrary(value.slice(1, -1));\n lhValue = /^-?\\d*\\.?\\d+px$/.test(inner) ? Number.parseFloat(inner) : inner;\n } else {\n lhValue = value;\n }\n return {\n key: \"lineHeight\",\n value: lhValue\n };\n }\n if (prop === \"letterSpacing\") {\n let lsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n lsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n lsValue = value;\n }\n return {\n key: \"letterSpacing\",\n value: lsValue\n };\n }\n if (prop === \"boxShadow\" && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n return {\n key: \"boxShadow\",\n value: decodeArbitrary(value.slice(1, -1))\n };\n }\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n const inner = decodeArbitrary(value.slice(1, -1));\n if (inner === \"\") return null;\n return { key: prop, value: arbitraryValue(inner) };\n }\n if (category === \"size\" && parsed.valueKind !== \"token\") {\n const sized = tailwindSizingValue(prop, value);\n if (sized != null) {\n return { key: prop, value: sized };\n }\n }\n let opacitySuffix = \"\";\n if (category === \"color\" && typeof value === \"string\") {\n const suffix = splitColorOpacitySuffix(value);\n if (suffix.kind === \"invalid\") {\n return { key: prop, value };\n }\n if (suffix.kind === \"valid\") {\n opacitySuffix = value.slice(suffix.name.length);\n value = suffix.name;\n }\n }\n if (percentUtilityProps.has(prop) && /^\\d+$/.test(value)) {\n value = Number(value) / 100;\n } else if (/^\\d+(\\.\\d+)?$/.test(value)) {\n if (category === \"zIndex\" && parsed.valueKind === \"convenience\") {\n value = Number(value);\n } else if (category) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else {\n value = Number(value);\n }\n } else if (typeof value === \"string\") {\n if (category && !((category === \"space\" || category === \"size\" || category === \"radius\") && getSafeAreaEdge(value))) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n }\n }\n if (opacitySuffix && typeof value === \"string\") {\n value = `${value}${opacitySuffix}`;\n }\n if (parsed.negative && !category) {\n if (typeof value === \"number\") value = -value;\n else if (typeof value === \"string\" && value[0] !== \"-\") value = `-${value}`;\n }\n return { key: prop, value };\n}\nconst classPlanCache = /* @__PURE__ */ new WeakMap();\nfunction getClassPlanCache(grammarConfig) {\n let cache = classPlanCache.get(grammarConfig);\n if (!cache) {\n cache = /* @__PURE__ */ new Map();\n classPlanCache.set(grammarConfig, cache);\n }\n return cache;\n}\nfunction createPlanEntry(property, value, modifiers) {\n if (modifiers.length === 0) return [property, value];\n const payload = plainValueToPayload(value, property);\n if (payload === null) return null;\n return [\n null,\n createFrontendProgram(property, {\n base: null,\n clauses: [{ modifiers, payload }]\n })\n ];\n}\nfunction computeClassPlan(cls, grammarConfig) {\n const groupMarker = /^group(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (groupMarker) {\n return {\n entries: [[\"group\", groupMarker[1] || true]],\n preserveRawClass: isWeb\n };\n }\n const containerMarker = /^@container(-size)?(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (containerMarker) {\n const isSize = containerMarker[1] !== void 0;\n const name = containerMarker[2];\n const entries = [];\n if (name) entries.push([\"containerName\", name]);\n if (isSize) {\n entries.push([\"containerType\", \"size\"]);\n } else if (name) {\n entries.push([\"containerType\", \"inline-size\"]);\n } else {\n entries.push([\"container\", true]);\n }\n return { entries, preserveRawClass: isWeb };\n }\n const classification = classifyCandidate(cls, grammarConfig);\n if (classification.kind === \"passthrough\") {\n return isWeb ? \"raw\" : null;\n }\n const parsed = classification.parsed;\n const util = parsed.kind === \"utility\" ? parsed.properties : null;\n if (util) {\n const entries = [];\n for (const p in util) {\n const entry = createPlanEntry(p, util[p], parsed.modifiers);\n if (!entry) return \"raw\";\n entries.push(entry);\n }\n return entries;\n }\n const flatProp = tailwindClassToFlatProp(parsed);\n if (flatProp) {\n const expanded = expandBorderCandidate(parsed, flatProp.value);\n if (expanded) {\n const entries = [];\n for (const p in expanded) {\n const entry2 = createPlanEntry(p, expanded[p], parsed.modifiers);\n if (!entry2) return \"raw\";\n entries.push(entry2);\n }\n return entries;\n }\n const entry = createPlanEntry(flatProp.key, flatProp.value, parsed.modifiers);\n return entry ? [entry] : \"raw\";\n }\n return \"raw\";\n}\nconst warnedNativePassthroughCandidates = /* @__PURE__ */ new Set();\nfunction setInAuthoredOrder(target, key, value) {\n if (key in target) delete target[key];\n target[key] = value;\n}\nfunction preprocessTailwindClassName(props, config, preservePassthroughPosition = false) {\n const className = props.className;\n if (!className || typeof className !== \"string\") {\n return props;\n }\n const classes = className.split(/\\s+/).filter(Boolean);\n const result = {};\n const grammarConfig = getStyleGrammarConfig(config);\n const plans = getClassPlanCache(grammarConfig);\n const classPlans = classes.map((cls) => {\n let plan = plans.get(cls);\n if (plan === void 0) {\n plan = computeClassPlan(cls, grammarConfig);\n plans.set(cls, plan);\n }\n return plan;\n });\n const hasOwnedStyleCandidate = preservePassthroughPosition && classPlans.some((plan) => Array.isArray(plan));\n let frontendProgramIndex = 0;\n let passthroughIndex = 0;\n const regularClasses = [];\n const preserveRawClass = (cls) => {\n if (hasOwnedStyleCandidate) {\n result[`${STYLE_FRONTEND_PASSTHROUGH_PREFIX}${passthroughIndex++}`] = cls;\n } else {\n regularClasses.push(cls);\n }\n };\n const applyEntry = ([key, value]) => {\n if (key === null) {\n result[`__tamagui_frontend_program_${frontendProgramIndex++}`] = value;\n } else {\n setInAuthoredOrder(result, key, value);\n }\n };\n for (const key in props) {\n if (key !== \"className\") {\n setInAuthoredOrder(result, key, props[key]);\n continue;\n }\n for (let classIndex = 0; classIndex < classes.length; classIndex++) {\n const cls = classes[classIndex];\n const plan = classPlans[classIndex];\n if (plan === null) {\n if (process.env.NODE_ENV !== \"production\" && !warnedNativePassthroughCandidates.has(cls)) {\n warnedNativePassthroughCandidates.add(cls);\n console.warn(\n `[tamagui] Tailwind candidate \"${cls}\" is web-only and was dropped on native. Use a Tamagui grammar candidate or a native style prop for cross-platform output.`\n );\n }\n continue;\n }\n if (plan === \"raw\") {\n preserveRawClass(cls);\n continue;\n }\n if (!Array.isArray(plan)) {\n if (plan.preserveRawClass) {\n preserveRawClass(cls);\n }\n for (let i = 0; i < plan.entries.length; i++) {\n applyEntry(plan.entries[i]);\n }\n continue;\n }\n for (let i = 0; i < plan.length; i++) {\n applyEntry(plan[i]);\n }\n }\n if (regularClasses.length > 0) {\n result.className = regularClasses.join(\" \");\n }\n }\n return result;\n}\nexport {\n getStyleGrammarConfig,\n isTokenValueProp,\n preprocessTailwindClassName,\n setInAuthoredOrder\n};\n//# sourceMappingURL=candidate.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"candidate.js","names":[],"sources":["esm/candidate.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport {\n plainValueToPayload\n} from \"@tamagui/core/internal-runtime\";\nimport {\n borderSideSuffix,\n classifyCandidate,\n configRevisionSymbol,\n createGrammarConfigView,\n decodeArbitrary,\n getTokenCategory,\n getSafeAreaEdge,\n percentUtilityProps,\n radiusCornerProps,\n splitColorOpacitySuffix\n} from \"@tamagui/style-grammar/runtime\";\nconst styleGrammarConfigCache = /* @__PURE__ */ new WeakMap();\nfunction getStyleGrammarConfig(config) {\n const cached = styleGrammarConfigCache.get(config);\n const revision = config[configRevisionSymbol]?.revision || 0;\n if (cached && cached.revision === revision) return cached.value;\n const view = createGrammarConfigView(config);\n styleGrammarConfigCache.set(config, { revision, value: view });\n return view;\n}\nfunction isTokenValueProp(prop) {\n return getTokenCategory(prop) !== null;\n}\nfunction arbitraryValue(inner) {\n const px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction tailwindSizingValue(prop, value) {\n if (value === \"full\") return \"100%\";\n if (value === \"auto\") return \"auto\";\n if (value === \"screen\") return /[Hh]eight/.test(prop) ? \"100vh\" : \"100vw\";\n if (value === \"min\") return \"min-content\";\n if (value === \"max\") return \"max-content\";\n if (value === \"fit\") return \"fit-content\";\n const frac = /^(\\d+)\\/(\\d+)$/.exec(value);\n if (frac && Number(frac[2]) !== 0) {\n return `${Number(frac[1]) / Number(frac[2]) * 100}%`;\n }\n return null;\n}\nfunction borderDimValue(raw) {\n let inner = raw;\n if (raw.length > 1 && raw[0] === \"[\" && raw[raw.length - 1] === \"]\") {\n inner = decodeArbitrary(raw.slice(1, -1));\n }\n const px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number.parseFloat(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction expandBorderCandidate(parsed, value) {\n const prefix = parsed.prefix;\n if (!prefix) return null;\n if (prefix.startsWith(\"rounded-\")) {\n const props = radiusCornerProps[prefix.slice(\"rounded-\".length)];\n if (!props || props.length === 1) return null;\n const out2 = {};\n for (const p of props) out2[p] = value;\n return out2;\n }\n const m = /^border-([trblxy])$/.exec(prefix);\n if (!m) return null;\n const sides = borderSideSuffix[m[1]];\n const suffix = parsed.entry?.prop.endsWith(\"Width\") ? \"Width\" : \"Color\";\n const out = {};\n for (const side of sides) out[`border${side}${suffix}`] = value;\n return out;\n}\nfunction tailwindClassToFlatProp(parsed) {\n if (parsed.kind !== \"dynamic\" || !parsed.entry || parsed.rawValue === void 0) {\n return null;\n }\n const prop = parsed.entry.prop;\n const category = parsed.entry.tokenCategory;\n let value = parsed.rawValue;\n if (prop.endsWith(\"Width\") && parsed.prefix?.startsWith(\"border\")) {\n if (parsed.valueKind === \"token\") {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else if (parsed.valueKind === \"arbitrary\") {\n value = borderDimValue(value);\n } else {\n return null;\n }\n return { key: prop, value };\n }\n if (prop === \"fontFamily\") {\n let famValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n famValue = decodeArbitrary(value.slice(1, -1));\n } else {\n const generic = {\n sans: \"sans-serif\",\n serif: \"serif\",\n mono: \"monospace\"\n };\n famValue = parsed.valueKind === \"token\" ? value : generic[value] || value;\n }\n return {\n key: \"fontFamily\",\n value: famValue\n };\n }\n if (prop === \"fontSize\") {\n let fsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n fsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n fsValue = value;\n }\n return {\n key: \"fontSize\",\n value: fsValue\n };\n }\n if (prop === \"lineHeight\") {\n let lhValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n const inner = decodeArbitrary(value.slice(1, -1));\n lhValue = /^-?\\d*\\.?\\d+px$/.test(inner) ? Number.parseFloat(inner) : inner;\n } else {\n lhValue = value;\n }\n return {\n key: \"lineHeight\",\n value: lhValue\n };\n }\n if (prop === \"letterSpacing\") {\n let lsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n lsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n lsValue = value;\n }\n return {\n key: \"letterSpacing\",\n value: lsValue\n };\n }\n if (prop === \"boxShadow\" && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n return {\n key: \"boxShadow\",\n value: decodeArbitrary(value.slice(1, -1))\n };\n }\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n const inner = decodeArbitrary(value.slice(1, -1));\n if (inner === \"\") return null;\n return { key: prop, value: arbitraryValue(inner) };\n }\n if (category === \"size\" && parsed.valueKind !== \"token\") {\n const sized = tailwindSizingValue(prop, value);\n if (sized != null) {\n return { key: prop, value: sized };\n }\n }\n let opacitySuffix = \"\";\n if (category === \"color\" && typeof value === \"string\") {\n const suffix = splitColorOpacitySuffix(value);\n if (suffix.kind === \"invalid\") {\n return { key: prop, value };\n }\n if (suffix.kind === \"valid\") {\n opacitySuffix = value.slice(suffix.name.length);\n value = suffix.name;\n }\n }\n if (percentUtilityProps.has(prop) && /^\\d+$/.test(value)) {\n value = Number(value) / 100;\n } else if (/^\\d+(\\.\\d+)?$/.test(value)) {\n if (category === \"zIndex\" && parsed.valueKind === \"convenience\") {\n value = Number(value);\n } else if (category) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else {\n value = Number(value);\n }\n } else if (typeof value === \"string\") {\n if (category && !((category === \"space\" || category === \"size\" || category === \"radius\") && getSafeAreaEdge(value))) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n }\n }\n if (opacitySuffix && typeof value === \"string\") {\n value = `${value}${opacitySuffix}`;\n }\n if (parsed.negative && !category) {\n if (typeof value === \"number\") value = -value;\n else if (typeof value === \"string\" && value[0] !== \"-\") value = `-${value}`;\n }\n return { key: prop, value };\n}\nconst classPlanCache = /* @__PURE__ */ new WeakMap();\nfunction getClassPlanCache(grammarConfig) {\n let cache = classPlanCache.get(grammarConfig);\n if (!cache) {\n cache = /* @__PURE__ */ new Map();\n classPlanCache.set(grammarConfig, cache);\n }\n return cache;\n}\nfunction createPlanEntry(property, value, modifiers) {\n if (modifiers.length === 0) return [property, value];\n const payload = plainValueToPayload(value, property);\n if (payload === null) return null;\n let condition = \"\";\n for (let index = 0; index < modifiers.length; index++) {\n if (index) condition += \":\";\n condition += modifiers[index];\n }\n return [property, payload, condition, modifiers];\n}\nfunction computeClassPlan(cls, grammarConfig) {\n const groupMarker = /^group(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (groupMarker) {\n return {\n entries: [[\"group\", groupMarker[1] || true]],\n preserveRawClass: isWeb\n };\n }\n const containerMarker = /^@container(-size)?(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (containerMarker) {\n const isSize = containerMarker[1] !== void 0;\n const name = containerMarker[2];\n const entries = [];\n entries.push([\"container\", name || true]);\n if (isSize) {\n entries.push([\"containerType\", \"size\"]);\n }\n return { entries, preserveRawClass: isWeb };\n }\n const classification = classifyCandidate(cls, grammarConfig);\n if (classification.kind === \"passthrough\") {\n return isWeb ? \"raw\" : null;\n }\n const parsed = classification.parsed;\n const util = parsed.kind === \"utility\" ? parsed.properties : null;\n if (util) {\n const entries = [];\n for (const p in util) {\n const entry = createPlanEntry(p, util[p], parsed.modifiers);\n if (!entry) return \"raw\";\n entries.push(entry);\n }\n return entries;\n }\n const flatProp = tailwindClassToFlatProp(parsed);\n if (flatProp) {\n const expanded = expandBorderCandidate(parsed, flatProp.value);\n if (expanded) {\n const entries = [];\n for (const p in expanded) {\n const entry2 = createPlanEntry(p, expanded[p], parsed.modifiers);\n if (!entry2) return \"raw\";\n entries.push(entry2);\n }\n return entries;\n }\n const entry = createPlanEntry(flatProp.key, flatProp.value, parsed.modifiers);\n return entry ? [entry] : \"raw\";\n }\n return \"raw\";\n}\nfunction getTailwindClassPlan(candidate, config) {\n const grammarConfig = getStyleGrammarConfig(config);\n const plans = getClassPlanCache(grammarConfig);\n let plan = plans.get(candidate);\n if (plan === void 0) {\n plan = computeClassPlan(candidate, grammarConfig);\n plans.set(candidate, plan);\n }\n return plan;\n}\nfunction resolveTailwindClassName(className, config) {\n const result = {};\n let rawClassName = \"\";\n let start = 0;\n for (let index = 0; index <= className.length; index++) {\n if (index !== className.length && className.charCodeAt(index) > 32) continue;\n if (start === index) {\n start = index + 1;\n continue;\n }\n const candidate = className.slice(start, index);\n const plan = getTailwindClassPlan(candidate, config);\n if (plan === \"raw\") {\n rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;\n } else if (plan) {\n const parentPlan = plan;\n if (!Array.isArray(plan) && parentPlan.preserveRawClass) {\n rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;\n }\n const entries = Array.isArray(plan) ? plan : parentPlan.entries;\n for (let entryIndex = 0; entryIndex < entries.length; entryIndex++) {\n const [key, value, condition] = entries[entryIndex];\n const previous = result[key];\n let next = value;\n if (condition !== void 0) {\n next = previous && typeof previous === \"object\" && !Array.isArray(previous) ? { ...previous, [condition]: value } : previous === void 0 ? { [condition]: value } : { default: previous, [condition]: value };\n } else if (previous && typeof previous === \"object\" && !Array.isArray(previous)) {\n next = { ...previous, default: value };\n }\n setInAuthoredOrder(result, key, next);\n }\n }\n start = index + 1;\n }\n if (rawClassName) result.className = rawClassName;\n return result;\n}\nfunction setInAuthoredOrder(target, key, value) {\n if (key in target) delete target[key];\n target[key] = value;\n}\nexport {\n getStyleGrammarConfig,\n getTailwindClassPlan,\n isTokenValueProp,\n resolveTailwindClassName,\n setInAuthoredOrder\n};\n//# sourceMappingURL=candidate.js.map\n"],"mappings":"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"}
@@ -1,13 +1,22 @@
1
1
  import { isWeb } from "@tamagui/constants";
2
- import { STYLE_FRONTEND_PASSTHROUGH_PREFIX, createFrontendProgram, plainValueToPayload } from "@tamagui/core/internal-runtime";
3
- import { borderSideSuffix, classifyCandidate, createGrammarConfigView, decodeArbitrary, getSafeAreaEdge, getTokenCategory, percentUtilityProps, radiusCornerProps, splitColorOpacitySuffix } from "@tamagui/style-grammar/runtime";
2
+ import { plainValueToPayload } from "@tamagui/core/internal-runtime";
3
+ import { borderSideSuffix, classifyCandidate, configRevisionSymbol, createGrammarConfigView, decodeArbitrary, getSafeAreaEdge, getTokenCategory, percentUtilityProps, radiusCornerProps, splitColorOpacitySuffix } from "@tamagui/style-grammar/runtime";
4
4
 
5
+ function _type_of(obj) {
6
+ "@swc/helpers - typeof";
7
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
8
+ }
5
9
  var styleGrammarConfigCache = /* @__PURE__ */ new WeakMap();
6
10
  function getStyleGrammarConfig(config) {
11
+ var _config_configRevisionSymbol;
7
12
  var cached = styleGrammarConfigCache.get(config);
8
- if (cached) return cached;
13
+ var revision = ((_config_configRevisionSymbol = config[configRevisionSymbol]) === null || _config_configRevisionSymbol === void 0 ? void 0 : _config_configRevisionSymbol.revision) || 0;
14
+ if (cached && cached.revision === revision) return cached.value;
9
15
  var view = createGrammarConfigView(config);
10
- styleGrammarConfigCache.set(config, view);
16
+ styleGrammarConfigCache.set(config, {
17
+ revision,
18
+ value: view
19
+ });
11
20
  return view;
12
21
  }
13
22
  function isTokenValueProp(prop) {
@@ -251,13 +260,17 @@ function createPlanEntry(property, value, modifiers) {
251
260
  if (modifiers.length === 0) return [property, value];
252
261
  var payload = plainValueToPayload(value, property);
253
262
  if (payload === null) return null;
254
- return [null, createFrontendProgram(property, {
255
- base: null,
256
- clauses: [{
257
- modifiers,
258
- payload
259
- }]
260
- })];
263
+ var condition = "";
264
+ for (var index = 0; index < modifiers.length; index++) {
265
+ if (index) condition += ":";
266
+ condition += modifiers[index];
267
+ }
268
+ return [
269
+ property,
270
+ payload,
271
+ condition,
272
+ modifiers
273
+ ];
261
274
  }
262
275
  function computeClassPlan(cls, grammarConfig) {
263
276
  var groupMarker = /^group(?:\/([A-Za-z0-9_-]+))?$/.exec(cls);
@@ -272,13 +285,9 @@ function computeClassPlan(cls, grammarConfig) {
272
285
  var isSize = containerMarker[1] !== void 0;
273
286
  var name = containerMarker[2];
274
287
  var entries = [];
275
- if (name) entries.push(["containerName", name]);
288
+ entries.push(["container", name || true]);
276
289
  if (isSize) {
277
290
  entries.push(["containerType", "size"]);
278
- } else if (name) {
279
- entries.push(["containerType", "inline-size"]);
280
- } else {
281
- entries.push(["container", true]);
282
291
  }
283
292
  return {
284
293
  entries,
@@ -317,88 +326,66 @@ function computeClassPlan(cls, grammarConfig) {
317
326
  }
318
327
  return "raw";
319
328
  }
320
- var warnedNativePassthroughCandidates = /* @__PURE__ */ new Set();
321
- function setInAuthoredOrder(target, key, value) {
322
- if (key in target) delete target[key];
323
- target[key] = value;
324
- }
325
- function preprocessTailwindClassName(props, config) {
326
- var preservePassthroughPosition = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
327
- var className = props.className;
328
- if (!className || typeof className !== "string") {
329
- return props;
330
- }
331
- var classes = className.split(/\s+/).filter(Boolean);
332
- var result = {};
329
+ function getTailwindClassPlan(candidate, config) {
333
330
  var grammarConfig = getStyleGrammarConfig(config);
334
331
  var plans = getClassPlanCache(grammarConfig);
335
- var classPlans = classes.map(function(cls2) {
336
- var plan2 = plans.get(cls2);
337
- if (plan2 === void 0) {
338
- plan2 = computeClassPlan(cls2, grammarConfig);
339
- plans.set(cls2, plan2);
340
- }
341
- return plan2;
342
- });
343
- var hasOwnedStyleCandidate = preservePassthroughPosition && classPlans.some(function(plan2) {
344
- return Array.isArray(plan2);
345
- });
346
- var frontendProgramIndex = 0;
347
- var passthroughIndex = 0;
348
- var regularClasses = [];
349
- var preserveRawClass = function(cls2) {
350
- if (hasOwnedStyleCandidate) {
351
- result[`${STYLE_FRONTEND_PASSTHROUGH_PREFIX}${passthroughIndex++}`] = cls2;
352
- } else {
353
- regularClasses.push(cls2);
354
- }
355
- };
356
- var applyEntry = function(param) {
357
- var [key2, value] = param;
358
- if (key2 === null) {
359
- result[`__tamagui_frontend_program_${frontendProgramIndex++}`] = value;
360
- } else {
361
- setInAuthoredOrder(result, key2, value);
362
- }
363
- };
364
- for (var key in props) {
365
- if (key !== "className") {
366
- setInAuthoredOrder(result, key, props[key]);
332
+ var plan = plans.get(candidate);
333
+ if (plan === void 0) {
334
+ plan = computeClassPlan(candidate, grammarConfig);
335
+ plans.set(candidate, plan);
336
+ }
337
+ return plan;
338
+ }
339
+ function resolveTailwindClassName(className, config) {
340
+ var result = {};
341
+ var rawClassName = "";
342
+ var start = 0;
343
+ for (var index = 0; index <= className.length; index++) {
344
+ if (index !== className.length && className.charCodeAt(index) > 32) continue;
345
+ if (start === index) {
346
+ start = index + 1;
367
347
  continue;
368
348
  }
369
- for (var classIndex = 0; classIndex < classes.length; classIndex++) {
370
- var cls = classes[classIndex];
371
- var plan = classPlans[classIndex];
372
- if (plan === null) {
373
- if (process.env.NODE_ENV !== "production" && !warnedNativePassthroughCandidates.has(cls)) {
374
- warnedNativePassthroughCandidates.add(cls);
375
- console.warn(`[tamagui] Tailwind candidate "${cls}" is web-only and was dropped on native. Use a Tamagui grammar candidate or a native style prop for cross-platform output.`);
376
- }
377
- continue;
378
- }
379
- if (plan === "raw") {
380
- preserveRawClass(cls);
381
- continue;
349
+ var candidate = className.slice(start, index);
350
+ var plan = getTailwindClassPlan(candidate, config);
351
+ if (plan === "raw") {
352
+ rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;
353
+ } else if (plan) {
354
+ var parentPlan = plan;
355
+ if (!Array.isArray(plan) && parentPlan.preserveRawClass) {
356
+ rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;
382
357
  }
383
- if (!Array.isArray(plan)) {
384
- if (plan.preserveRawClass) {
385
- preserveRawClass(cls);
358
+ var entries = Array.isArray(plan) ? plan : parentPlan.entries;
359
+ for (var entryIndex = 0; entryIndex < entries.length; entryIndex++) {
360
+ var [key, value, condition] = entries[entryIndex];
361
+ var previous = result[key];
362
+ var next = value;
363
+ if (condition !== void 0) {
364
+ next = previous && (typeof previous === "undefined" ? "undefined" : _type_of(previous)) === "object" && !Array.isArray(previous) ? {
365
+ ...previous,
366
+ [condition]: value
367
+ } : previous === void 0 ? { [condition]: value } : {
368
+ default: previous,
369
+ [condition]: value
370
+ };
371
+ } else if (previous && (typeof previous === "undefined" ? "undefined" : _type_of(previous)) === "object" && !Array.isArray(previous)) {
372
+ next = {
373
+ ...previous,
374
+ default: value
375
+ };
386
376
  }
387
- for (var i = 0; i < plan.entries.length; i++) {
388
- applyEntry(plan.entries[i]);
389
- }
390
- continue;
391
- }
392
- for (var i1 = 0; i1 < plan.length; i1++) {
393
- applyEntry(plan[i1]);
377
+ setInAuthoredOrder(result, key, next);
394
378
  }
395
379
  }
396
- if (regularClasses.length > 0) {
397
- result.className = regularClasses.join(" ");
398
- }
380
+ start = index + 1;
399
381
  }
382
+ if (rawClassName) result.className = rawClassName;
400
383
  return result;
401
384
  }
385
+ function setInAuthoredOrder(target, key, value) {
386
+ if (key in target) delete target[key];
387
+ target[key] = value;
388
+ }
402
389
 
403
- export { getStyleGrammarConfig, isTokenValueProp, preprocessTailwindClassName, setInAuthoredOrder };
390
+ export { getStyleGrammarConfig, getTailwindClassPlan, isTokenValueProp, resolveTailwindClassName, setInAuthoredOrder };
404
391
  //# sourceMappingURL=candidate.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.native.js","names":[],"sources":["esm/candidate.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { STYLE_FRONTEND_PASSTHROUGH_PREFIX, createFrontendProgram, plainValueToPayload } from \"@tamagui/core/internal-runtime\";\nimport { borderSideSuffix, classifyCandidate, createGrammarConfigView, decodeArbitrary, getTokenCategory, getSafeAreaEdge, percentUtilityProps, radiusCornerProps, splitColorOpacitySuffix } from \"@tamagui/style-grammar/runtime\";\nvar styleGrammarConfigCache = /* @__PURE__ */ new WeakMap();\nfunction getStyleGrammarConfig(config) {\n var cached = styleGrammarConfigCache.get(config);\n if (cached) return cached;\n var view = createGrammarConfigView(config);\n styleGrammarConfigCache.set(config, view);\n return view;\n}\nfunction isTokenValueProp(prop) {\n return getTokenCategory(prop) !== null;\n}\nfunction arbitraryValue(inner) {\n var px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction tailwindSizingValue(prop, value) {\n if (value === \"full\") return \"100%\";\n if (value === \"auto\") return \"auto\";\n if (value === \"screen\") return /[Hh]eight/.test(prop) ? \"100vh\" : \"100vw\";\n if (value === \"min\") return \"min-content\";\n if (value === \"max\") return \"max-content\";\n if (value === \"fit\") return \"fit-content\";\n var frac = /^(\\d+)\\/(\\d+)$/.exec(value);\n if (frac && Number(frac[2]) !== 0) {\n return `${Number(frac[1]) / Number(frac[2]) * 100}%`;\n }\n return null;\n}\nfunction borderDimValue(raw) {\n var inner = raw;\n if (raw.length > 1 && raw[0] === \"[\" && raw[raw.length - 1] === \"]\") {\n inner = decodeArbitrary(raw.slice(1, -1));\n }\n var px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number.parseFloat(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction expandBorderCandidate(parsed, value) {\n var _parsed_entry;\n var prefix = parsed.prefix;\n if (!prefix) return null;\n if (prefix.startsWith(\"rounded-\")) {\n var props = radiusCornerProps[prefix.slice(\"rounded-\".length)];\n if (!props || props.length === 1) return null;\n var out = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = props[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var p = _step.value;\n out[p] = value;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return out;\n }\n var m = /^border-([trblxy])$/.exec(prefix);\n if (!m) return null;\n var sides = borderSideSuffix[m[1]];\n var suffix = ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop.endsWith(\"Width\")) ? \"Width\" : \"Color\";\n var out1 = {};\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = sides[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var side = _step1.value;\n out1[`border${side}${suffix}`] = value;\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return out1;\n}\nfunction tailwindClassToFlatProp(parsed) {\n var _parsed_prefix;\n if (parsed.kind !== \"dynamic\" || !parsed.entry || parsed.rawValue === void 0) {\n return null;\n }\n var prop = parsed.entry.prop;\n var category = parsed.entry.tokenCategory;\n var value = parsed.rawValue;\n if (prop.endsWith(\"Width\") && ((_parsed_prefix = parsed.prefix) === null || _parsed_prefix === void 0 ? void 0 : _parsed_prefix.startsWith(\"border\"))) {\n if (parsed.valueKind === \"token\") {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else if (parsed.valueKind === \"arbitrary\") {\n value = borderDimValue(value);\n } else {\n return null;\n }\n return {\n key: prop,\n value\n };\n }\n if (prop === \"fontFamily\") {\n var famValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n famValue = decodeArbitrary(value.slice(1, -1));\n } else {\n var generic = {\n sans: \"sans-serif\",\n serif: \"serif\",\n mono: \"monospace\"\n };\n famValue = parsed.valueKind === \"token\" ? value : generic[value] || value;\n }\n return {\n key: \"fontFamily\",\n value: famValue\n };\n }\n if (prop === \"fontSize\") {\n var fsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n fsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n fsValue = value;\n }\n return {\n key: \"fontSize\",\n value: fsValue\n };\n }\n if (prop === \"lineHeight\") {\n var lhValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n var inner = decodeArbitrary(value.slice(1, -1));\n lhValue = /^-?\\d*\\.?\\d+px$/.test(inner) ? Number.parseFloat(inner) : inner;\n } else {\n lhValue = value;\n }\n return {\n key: \"lineHeight\",\n value: lhValue\n };\n }\n if (prop === \"letterSpacing\") {\n var lsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n lsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n lsValue = value;\n }\n return {\n key: \"letterSpacing\",\n value: lsValue\n };\n }\n if (prop === \"boxShadow\" && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n return {\n key: \"boxShadow\",\n value: decodeArbitrary(value.slice(1, -1))\n };\n }\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n var inner1 = decodeArbitrary(value.slice(1, -1));\n if (inner1 === \"\") return null;\n return {\n key: prop,\n value: arbitraryValue(inner1)\n };\n }\n if (category === \"size\" && parsed.valueKind !== \"token\") {\n var sized = tailwindSizingValue(prop, value);\n if (sized != null) {\n return {\n key: prop,\n value: sized\n };\n }\n }\n var opacitySuffix = \"\";\n if (category === \"color\" && typeof value === \"string\") {\n var suffix = splitColorOpacitySuffix(value);\n if (suffix.kind === \"invalid\") {\n return {\n key: prop,\n value\n };\n }\n if (suffix.kind === \"valid\") {\n opacitySuffix = value.slice(suffix.name.length);\n value = suffix.name;\n }\n }\n if (percentUtilityProps.has(prop) && /^\\d+$/.test(value)) {\n value = Number(value) / 100;\n } else if (/^\\d+(\\.\\d+)?$/.test(value)) {\n if (category === \"zIndex\" && parsed.valueKind === \"convenience\") {\n value = Number(value);\n } else if (category) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else {\n value = Number(value);\n }\n } else if (typeof value === \"string\") {\n if (category && !((category === \"space\" || category === \"size\" || category === \"radius\") && getSafeAreaEdge(value))) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n }\n }\n if (opacitySuffix && typeof value === \"string\") {\n value = `${value}${opacitySuffix}`;\n }\n if (parsed.negative && !category) {\n if (typeof value === \"number\") value = -value;\n else if (typeof value === \"string\" && value[0] !== \"-\") value = `-${value}`;\n }\n return {\n key: prop,\n value\n };\n}\nvar classPlanCache = /* @__PURE__ */ new WeakMap();\nfunction getClassPlanCache(grammarConfig) {\n var cache = classPlanCache.get(grammarConfig);\n if (!cache) {\n cache = /* @__PURE__ */ new Map();\n classPlanCache.set(grammarConfig, cache);\n }\n return cache;\n}\nfunction createPlanEntry(property, value, modifiers) {\n if (modifiers.length === 0) return [\n property,\n value\n ];\n var payload = plainValueToPayload(value, property);\n if (payload === null) return null;\n return [\n null,\n createFrontendProgram(property, {\n base: null,\n clauses: [\n {\n modifiers,\n payload\n }\n ]\n })\n ];\n}\nfunction computeClassPlan(cls, grammarConfig) {\n var groupMarker = /^group(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (groupMarker) {\n return {\n entries: [\n [\n \"group\",\n groupMarker[1] || true\n ]\n ],\n preserveRawClass: isWeb\n };\n }\n var containerMarker = /^@container(-size)?(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (containerMarker) {\n var isSize = containerMarker[1] !== void 0;\n var name = containerMarker[2];\n var entries = [];\n if (name) entries.push([\n \"containerName\",\n name\n ]);\n if (isSize) {\n entries.push([\n \"containerType\",\n \"size\"\n ]);\n } else if (name) {\n entries.push([\n \"containerType\",\n \"inline-size\"\n ]);\n } else {\n entries.push([\n \"container\",\n true\n ]);\n }\n return {\n entries,\n preserveRawClass: isWeb\n };\n }\n var classification = classifyCandidate(cls, grammarConfig);\n if (classification.kind === \"passthrough\") {\n return isWeb ? \"raw\" : null;\n }\n var parsed = classification.parsed;\n var util = parsed.kind === \"utility\" ? parsed.properties : null;\n if (util) {\n var entries1 = [];\n for (var p in util) {\n var entry = createPlanEntry(p, util[p], parsed.modifiers);\n if (!entry) return \"raw\";\n entries1.push(entry);\n }\n return entries1;\n }\n var flatProp = tailwindClassToFlatProp(parsed);\n if (flatProp) {\n var expanded = expandBorderCandidate(parsed, flatProp.value);\n if (expanded) {\n var entries2 = [];\n for (var p1 in expanded) {\n var entry1 = createPlanEntry(p1, expanded[p1], parsed.modifiers);\n if (!entry1) return \"raw\";\n entries2.push(entry1);\n }\n return entries2;\n }\n var entry2 = createPlanEntry(flatProp.key, flatProp.value, parsed.modifiers);\n return entry2 ? [\n entry2\n ] : \"raw\";\n }\n return \"raw\";\n}\nvar warnedNativePassthroughCandidates = /* @__PURE__ */ new Set();\nfunction setInAuthoredOrder(target, key, value) {\n if (key in target) delete target[key];\n target[key] = value;\n}\nfunction preprocessTailwindClassName(props, config) {\n var preservePassthroughPosition = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n var className = props.className;\n if (!className || typeof className !== \"string\") {\n return props;\n }\n var classes = className.split(/\\s+/).filter(Boolean);\n var result = {};\n var grammarConfig = getStyleGrammarConfig(config);\n var plans = getClassPlanCache(grammarConfig);\n var classPlans = classes.map(function(cls2) {\n var plan2 = plans.get(cls2);\n if (plan2 === void 0) {\n plan2 = computeClassPlan(cls2, grammarConfig);\n plans.set(cls2, plan2);\n }\n return plan2;\n });\n var hasOwnedStyleCandidate = preservePassthroughPosition && classPlans.some(function(plan2) {\n return Array.isArray(plan2);\n });\n var frontendProgramIndex = 0;\n var passthroughIndex = 0;\n var regularClasses = [];\n var preserveRawClass = function(cls2) {\n if (hasOwnedStyleCandidate) {\n result[`${STYLE_FRONTEND_PASSTHROUGH_PREFIX}${passthroughIndex++}`] = cls2;\n } else {\n regularClasses.push(cls2);\n }\n };\n var applyEntry = function(param) {\n var [key2, value] = param;\n if (key2 === null) {\n result[`__tamagui_frontend_program_${frontendProgramIndex++}`] = value;\n } else {\n setInAuthoredOrder(result, key2, value);\n }\n };\n for (var key in props) {\n if (key !== \"className\") {\n setInAuthoredOrder(result, key, props[key]);\n continue;\n }\n for (var classIndex = 0; classIndex < classes.length; classIndex++) {\n var cls = classes[classIndex];\n var plan = classPlans[classIndex];\n if (plan === null) {\n if (process.env.NODE_ENV !== \"production\" && !warnedNativePassthroughCandidates.has(cls)) {\n warnedNativePassthroughCandidates.add(cls);\n console.warn(`[tamagui] Tailwind candidate \"${cls}\" is web-only and was dropped on native. Use a Tamagui grammar candidate or a native style prop for cross-platform output.`);\n }\n continue;\n }\n if (plan === \"raw\") {\n preserveRawClass(cls);\n continue;\n }\n if (!Array.isArray(plan)) {\n if (plan.preserveRawClass) {\n preserveRawClass(cls);\n }\n for (var i = 0; i < plan.entries.length; i++) {\n applyEntry(plan.entries[i]);\n }\n continue;\n }\n for (var i1 = 0; i1 < plan.length; i1++) {\n applyEntry(plan[i1]);\n }\n }\n if (regularClasses.length > 0) {\n result.className = regularClasses.join(\" \");\n }\n }\n return result;\n}\nexport {\n getStyleGrammarConfig,\n isTokenValueProp,\n preprocessTailwindClassName,\n setInAuthoredOrder\n};\n//# sourceMappingURL=candidate.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"candidate.native.js","names":[],"sources":["esm/candidate.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { plainValueToPayload } from \"@tamagui/core/internal-runtime\";\nimport { borderSideSuffix, classifyCandidate, configRevisionSymbol, createGrammarConfigView, decodeArbitrary, getTokenCategory, getSafeAreaEdge, percentUtilityProps, radiusCornerProps, splitColorOpacitySuffix } from \"@tamagui/style-grammar/runtime\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar styleGrammarConfigCache = /* @__PURE__ */ new WeakMap();\nfunction getStyleGrammarConfig(config) {\n var _config_configRevisionSymbol;\n var cached = styleGrammarConfigCache.get(config);\n var revision = ((_config_configRevisionSymbol = config[configRevisionSymbol]) === null || _config_configRevisionSymbol === void 0 ? void 0 : _config_configRevisionSymbol.revision) || 0;\n if (cached && cached.revision === revision) return cached.value;\n var view = createGrammarConfigView(config);\n styleGrammarConfigCache.set(config, {\n revision,\n value: view\n });\n return view;\n}\nfunction isTokenValueProp(prop) {\n return getTokenCategory(prop) !== null;\n}\nfunction arbitraryValue(inner) {\n var px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction tailwindSizingValue(prop, value) {\n if (value === \"full\") return \"100%\";\n if (value === \"auto\") return \"auto\";\n if (value === \"screen\") return /[Hh]eight/.test(prop) ? \"100vh\" : \"100vw\";\n if (value === \"min\") return \"min-content\";\n if (value === \"max\") return \"max-content\";\n if (value === \"fit\") return \"fit-content\";\n var frac = /^(\\d+)\\/(\\d+)$/.exec(value);\n if (frac && Number(frac[2]) !== 0) {\n return `${Number(frac[1]) / Number(frac[2]) * 100}%`;\n }\n return null;\n}\nfunction borderDimValue(raw) {\n var inner = raw;\n if (raw.length > 1 && raw[0] === \"[\" && raw[raw.length - 1] === \"]\") {\n inner = decodeArbitrary(raw.slice(1, -1));\n }\n var px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n if (px) return Number.parseFloat(px[1]);\n if (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n return inner;\n}\nfunction expandBorderCandidate(parsed, value) {\n var _parsed_entry;\n var prefix = parsed.prefix;\n if (!prefix) return null;\n if (prefix.startsWith(\"rounded-\")) {\n var props = radiusCornerProps[prefix.slice(\"rounded-\".length)];\n if (!props || props.length === 1) return null;\n var out = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = props[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var p = _step.value;\n out[p] = value;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return out;\n }\n var m = /^border-([trblxy])$/.exec(prefix);\n if (!m) return null;\n var sides = borderSideSuffix[m[1]];\n var suffix = ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop.endsWith(\"Width\")) ? \"Width\" : \"Color\";\n var out1 = {};\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = sides[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var side = _step1.value;\n out1[`border${side}${suffix}`] = value;\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return out1;\n}\nfunction tailwindClassToFlatProp(parsed) {\n var _parsed_prefix;\n if (parsed.kind !== \"dynamic\" || !parsed.entry || parsed.rawValue === void 0) {\n return null;\n }\n var prop = parsed.entry.prop;\n var category = parsed.entry.tokenCategory;\n var value = parsed.rawValue;\n if (prop.endsWith(\"Width\") && ((_parsed_prefix = parsed.prefix) === null || _parsed_prefix === void 0 ? void 0 : _parsed_prefix.startsWith(\"border\"))) {\n if (parsed.valueKind === \"token\") {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else if (parsed.valueKind === \"arbitrary\") {\n value = borderDimValue(value);\n } else {\n return null;\n }\n return {\n key: prop,\n value\n };\n }\n if (prop === \"fontFamily\") {\n var famValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n famValue = decodeArbitrary(value.slice(1, -1));\n } else {\n var generic = {\n sans: \"sans-serif\",\n serif: \"serif\",\n mono: \"monospace\"\n };\n famValue = parsed.valueKind === \"token\" ? value : generic[value] || value;\n }\n return {\n key: \"fontFamily\",\n value: famValue\n };\n }\n if (prop === \"fontSize\") {\n var fsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n fsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n fsValue = value;\n }\n return {\n key: \"fontSize\",\n value: fsValue\n };\n }\n if (prop === \"lineHeight\") {\n var lhValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n var inner = decodeArbitrary(value.slice(1, -1));\n lhValue = /^-?\\d*\\.?\\d+px$/.test(inner) ? Number.parseFloat(inner) : inner;\n } else {\n lhValue = value;\n }\n return {\n key: \"lineHeight\",\n value: lhValue\n };\n }\n if (prop === \"letterSpacing\") {\n var lsValue;\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n lsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n } else {\n lsValue = value;\n }\n return {\n key: \"letterSpacing\",\n value: lsValue\n };\n }\n if (prop === \"boxShadow\" && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n return {\n key: \"boxShadow\",\n value: decodeArbitrary(value.slice(1, -1))\n };\n }\n if (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n var inner1 = decodeArbitrary(value.slice(1, -1));\n if (inner1 === \"\") return null;\n return {\n key: prop,\n value: arbitraryValue(inner1)\n };\n }\n if (category === \"size\" && parsed.valueKind !== \"token\") {\n var sized = tailwindSizingValue(prop, value);\n if (sized != null) {\n return {\n key: prop,\n value: sized\n };\n }\n }\n var opacitySuffix = \"\";\n if (category === \"color\" && typeof value === \"string\") {\n var suffix = splitColorOpacitySuffix(value);\n if (suffix.kind === \"invalid\") {\n return {\n key: prop,\n value\n };\n }\n if (suffix.kind === \"valid\") {\n opacitySuffix = value.slice(suffix.name.length);\n value = suffix.name;\n }\n }\n if (percentUtilityProps.has(prop) && /^\\d+$/.test(value)) {\n value = Number(value) / 100;\n } else if (/^\\d+(\\.\\d+)?$/.test(value)) {\n if (category === \"zIndex\" && parsed.valueKind === \"convenience\") {\n value = Number(value);\n } else if (category) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n } else {\n value = Number(value);\n }\n } else if (typeof value === \"string\") {\n if (category && !((category === \"space\" || category === \"size\" || category === \"radius\") && getSafeAreaEdge(value))) {\n value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n }\n }\n if (opacitySuffix && typeof value === \"string\") {\n value = `${value}${opacitySuffix}`;\n }\n if (parsed.negative && !category) {\n if (typeof value === \"number\") value = -value;\n else if (typeof value === \"string\" && value[0] !== \"-\") value = `-${value}`;\n }\n return {\n key: prop,\n value\n };\n}\nvar classPlanCache = /* @__PURE__ */ new WeakMap();\nfunction getClassPlanCache(grammarConfig) {\n var cache = classPlanCache.get(grammarConfig);\n if (!cache) {\n cache = /* @__PURE__ */ new Map();\n classPlanCache.set(grammarConfig, cache);\n }\n return cache;\n}\nfunction createPlanEntry(property, value, modifiers) {\n if (modifiers.length === 0) return [\n property,\n value\n ];\n var payload = plainValueToPayload(value, property);\n if (payload === null) return null;\n var condition = \"\";\n for (var index = 0; index < modifiers.length; index++) {\n if (index) condition += \":\";\n condition += modifiers[index];\n }\n return [\n property,\n payload,\n condition,\n modifiers\n ];\n}\nfunction computeClassPlan(cls, grammarConfig) {\n var groupMarker = /^group(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (groupMarker) {\n return {\n entries: [\n [\n \"group\",\n groupMarker[1] || true\n ]\n ],\n preserveRawClass: isWeb\n };\n }\n var containerMarker = /^@container(-size)?(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n if (containerMarker) {\n var isSize = containerMarker[1] !== void 0;\n var name = containerMarker[2];\n var entries = [];\n entries.push([\n \"container\",\n name || true\n ]);\n if (isSize) {\n entries.push([\n \"containerType\",\n \"size\"\n ]);\n }\n return {\n entries,\n preserveRawClass: isWeb\n };\n }\n var classification = classifyCandidate(cls, grammarConfig);\n if (classification.kind === \"passthrough\") {\n return isWeb ? \"raw\" : null;\n }\n var parsed = classification.parsed;\n var util = parsed.kind === \"utility\" ? parsed.properties : null;\n if (util) {\n var entries1 = [];\n for (var p in util) {\n var entry = createPlanEntry(p, util[p], parsed.modifiers);\n if (!entry) return \"raw\";\n entries1.push(entry);\n }\n return entries1;\n }\n var flatProp = tailwindClassToFlatProp(parsed);\n if (flatProp) {\n var expanded = expandBorderCandidate(parsed, flatProp.value);\n if (expanded) {\n var entries2 = [];\n for (var p1 in expanded) {\n var entry1 = createPlanEntry(p1, expanded[p1], parsed.modifiers);\n if (!entry1) return \"raw\";\n entries2.push(entry1);\n }\n return entries2;\n }\n var entry2 = createPlanEntry(flatProp.key, flatProp.value, parsed.modifiers);\n return entry2 ? [\n entry2\n ] : \"raw\";\n }\n return \"raw\";\n}\nfunction getTailwindClassPlan(candidate, config) {\n var grammarConfig = getStyleGrammarConfig(config);\n var plans = getClassPlanCache(grammarConfig);\n var plan = plans.get(candidate);\n if (plan === void 0) {\n plan = computeClassPlan(candidate, grammarConfig);\n plans.set(candidate, plan);\n }\n return plan;\n}\nfunction resolveTailwindClassName(className, config) {\n var result = {};\n var rawClassName = \"\";\n var start = 0;\n for (var index = 0; index <= className.length; index++) {\n if (index !== className.length && className.charCodeAt(index) > 32) continue;\n if (start === index) {\n start = index + 1;\n continue;\n }\n var candidate = className.slice(start, index);\n var plan = getTailwindClassPlan(candidate, config);\n if (plan === \"raw\") {\n rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;\n } else if (plan) {\n var parentPlan = plan;\n if (!Array.isArray(plan) && parentPlan.preserveRawClass) {\n rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;\n }\n var entries = Array.isArray(plan) ? plan : parentPlan.entries;\n for (var entryIndex = 0; entryIndex < entries.length; entryIndex++) {\n var [key, value, condition] = entries[entryIndex];\n var previous = result[key];\n var next = value;\n if (condition !== void 0) {\n next = previous && (typeof previous === \"undefined\" ? \"undefined\" : _type_of(previous)) === \"object\" && !Array.isArray(previous) ? {\n ...previous,\n [condition]: value\n } : previous === void 0 ? {\n [condition]: value\n } : {\n default: previous,\n [condition]: value\n };\n } else if (previous && (typeof previous === \"undefined\" ? \"undefined\" : _type_of(previous)) === \"object\" && !Array.isArray(previous)) {\n next = {\n ...previous,\n default: value\n };\n }\n setInAuthoredOrder(result, key, next);\n }\n }\n start = index + 1;\n }\n if (rawClassName) result.className = rawClassName;\n return result;\n}\nfunction setInAuthoredOrder(target, key, value) {\n if (key in target) delete target[key];\n target[key] = value;\n}\nexport {\n getStyleGrammarConfig,\n getTailwindClassPlan,\n isTokenValueProp,\n resolveTailwindClassName,\n setInAuthoredOrder\n};\n//# sourceMappingURL=candidate.js.map\n"],"mappings":";;;;;AAGA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,IAAI,0CAA0C,IAAI,QAAQ;AAC1D,SAAS,sBAAsB,QAAQ;CACrC,IAAI;CACJ,IAAI,SAAS,wBAAwB,IAAI,MAAM;CAC/C,IAAI,aAAa,+BAA+B,OAAO,2BAA2B,QAAQ,iCAAiC,KAAK,IAAI,KAAK,IAAI,6BAA6B,aAAa;CACvL,IAAI,UAAU,OAAO,aAAa,UAAU,OAAO,OAAO;CAC1D,IAAI,OAAO,wBAAwB,MAAM;CACzC,wBAAwB,IAAI,QAAQ;EAClC;EACA,OAAO;CACT,CAAC;CACD,OAAO;AACT;AACA,SAAS,iBAAiB,MAAM;CAC9B,OAAO,iBAAiB,IAAI,MAAM;AACpC;AACA,SAAS,eAAe,OAAO;CAC7B,IAAI,KAAK,oBAAoB,KAAK,KAAK;CACvC,IAAI,IAAI,OAAO,OAAO,GAAG,EAAE;CAC3B,IAAI,gBAAgB,KAAK,KAAK,GAAG,OAAO,OAAO,KAAK;CACpD,OAAO;AACT;AACA,SAAS,oBAAoB,MAAM,OAAO;CACxC,IAAI,UAAU,QAAQ,OAAO;CAC7B,IAAI,UAAU,QAAQ,OAAO;CAC7B,IAAI,UAAU,UAAU,OAAO,YAAY,KAAK,IAAI,IAAI,UAAU;CAClE,IAAI,UAAU,OAAO,OAAO;CAC5B,IAAI,UAAU,OAAO,OAAO;CAC5B,IAAI,UAAU,OAAO,OAAO;CAC5B,IAAI,OAAO,iBAAiB,KAAK,KAAK;CACtC,IAAI,QAAQ,OAAO,KAAK,EAAE,MAAM,GAAG;EACjC,OAAO,GAAG,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,IAAI,IAAI;CACpD;CACA,OAAO;AACT;AACA,SAAS,eAAe,KAAK;CAC3B,IAAI,QAAQ;CACZ,IAAI,IAAI,SAAS,KAAK,IAAI,OAAO,OAAO,IAAI,IAAI,SAAS,OAAO,KAAK;EACnE,QAAQ,gBAAgB,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;CAC1C;CACA,IAAI,KAAK,oBAAoB,KAAK,KAAK;CACvC,IAAI,IAAI,OAAO,OAAO,WAAW,GAAG,EAAE;CACtC,IAAI,gBAAgB,KAAK,KAAK,GAAG,OAAO,OAAO,KAAK;CACpD,OAAO;AACT;AACA,SAAS,sBAAsB,QAAQ,OAAO;CAC5C,IAAI;CACJ,IAAI,SAAS,OAAO;CACpB,IAAI,CAAC,QAAQ,OAAO;CACpB,IAAI,OAAO,WAAW,UAAU,GAAG;EACjC,IAAI,QAAQ,kBAAkB,OAAO,MAAM,WAAW,MAAM;EAC5D,IAAI,CAAC,SAAS,MAAM,WAAW,GAAG,OAAO;EACzC,IAAI,MAAM,CAAC;EACX,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;EACvF,IAAI;GACF,KAAK,IAAI,YAAY,MAAM,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;IACtJ,IAAI,IAAI,MAAM;IACd,IAAI,KAAK;GACX;EACF,SAAS,KAAK;GACZ,oBAAoB;GACpB,iBAAiB;EACnB,UAAU;GACR,IAAI;IACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;KAC1D,UAAU,OAAO;IACnB;GACF,UAAU;IACR,IAAI,mBAAmB;KACrB,MAAM;IACR;GACF;EACF;EACA,OAAO;CACT;CACA,IAAI,IAAI,sBAAsB,KAAK,MAAM;CACzC,IAAI,CAAC,GAAG,OAAO;CACf,IAAI,QAAQ,iBAAiB,EAAE;CAC/B,IAAI,WAAW,gBAAgB,OAAO,WAAW,QAAQ,kBAAkB,KAAK,IAAI,KAAK,IAAI,cAAc,KAAK,SAAS,OAAO,KAAK,UAAU;CAC/I,IAAI,OAAO,CAAC;CACZ,IAAI,6BAA6B,MAAM,qBAAqB,OAAO,kBAAkB,KAAK;CAC1F,IAAI;EACF,KAAK,IAAI,aAAa,MAAM,OAAO,SAAS,CAAC,GAAG,QAAQ,EAAE,8BAA8B,SAAS,WAAW,KAAK,EAAC,CAAE,OAAO,6BAA6B,MAAM;GAC5J,IAAI,OAAO,OAAO;GAClB,KAAK,SAAS,OAAO,YAAY;EACnC;CACF,SAAS,KAAK;EACZ,qBAAqB;EACrB,kBAAkB;CACpB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,8BAA8B,WAAW,UAAU,MAAM;IAC5D,WAAW,OAAO;GACpB;EACF,UAAU;GACR,IAAI,oBAAoB;IACtB,MAAM;GACR;EACF;CACF;CACA,OAAO;AACT;AACA,SAAS,wBAAwB,QAAQ;CACvC,IAAI;CACJ,IAAI,OAAO,SAAS,aAAa,CAAC,OAAO,SAAS,OAAO,aAAa,KAAK,GAAG;EAC5E,OAAO;CACT;CACA,IAAI,OAAO,OAAO,MAAM;CACxB,IAAI,WAAW,OAAO,MAAM;CAC5B,IAAI,QAAQ,OAAO;CACnB,IAAI,KAAK,SAAS,OAAO,OAAO,iBAAiB,OAAO,YAAY,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe,WAAW,QAAQ,IAAI;EACrJ,IAAI,OAAO,cAAc,SAAS;GAChC,QAAQ,GAAG,OAAO,WAAW,MAAM,KAAK;EAC1C,OAAO,IAAI,OAAO,cAAc,aAAa;GAC3C,QAAQ,eAAe,KAAK;EAC9B,OAAO;GACL,OAAO;EACT;EACA,OAAO;GACL,KAAK;GACL;EACF;CACF;CACA,IAAI,SAAS,cAAc;EACzB,IAAI;EACJ,IAAI,MAAM,SAAS,KAAK,MAAM,OAAO,OAAO,MAAM,MAAM,SAAS,OAAO,KAAK;GAC3E,WAAW,gBAAgB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;EAC/C,OAAO;GACL,IAAI,UAAU;IACZ,MAAM;IACN,OAAO;IACP,MAAM;GACR;GACA,WAAW,OAAO,cAAc,UAAU,QAAQ,QAAQ,UAAU;EACtE;EACA,OAAO;GACL,KAAK;GACL,OAAO;EACT;CACF;CACA,IAAI,SAAS,YAAY;EACvB,IAAI;EACJ,IAAI,MAAM,SAAS,KAAK,MAAM,OAAO,OAAO,MAAM,MAAM,SAAS,OAAO,KAAK;GAC3E,UAAU,eAAe,gBAAgB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;EAC9D,OAAO;GACL,UAAU;EACZ;EACA,OAAO;GACL,KAAK;GACL,OAAO;EACT;CACF;CACA,IAAI,SAAS,cAAc;EACzB,IAAI;EACJ,IAAI,MAAM,SAAS,KAAK,MAAM,OAAO,OAAO,MAAM,MAAM,SAAS,OAAO,KAAK;GAC3E,IAAI,QAAQ,gBAAgB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;GAC9C,UAAU,kBAAkB,KAAK,KAAK,IAAI,OAAO,WAAW,KAAK,IAAI;EACvE,OAAO;GACL,UAAU;EACZ;EACA,OAAO;GACL,KAAK;GACL,OAAO;EACT;CACF;CACA,IAAI,SAAS,iBAAiB;EAC5B,IAAI;EACJ,IAAI,MAAM,SAAS,KAAK,MAAM,OAAO,OAAO,MAAM,MAAM,SAAS,OAAO,KAAK;GAC3E,UAAU,eAAe,gBAAgB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;EAC9D,OAAO;GACL,UAAU;EACZ;EACA,OAAO;GACL,KAAK;GACL,OAAO;EACT;CACF;CACA,IAAI,SAAS,eAAe,MAAM,OAAO,OAAO,MAAM,MAAM,SAAS,OAAO,KAAK;EAC/E,OAAO;GACL,KAAK;GACL,OAAO,gBAAgB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;EAC3C;CACF;CACA,IAAI,MAAM,SAAS,KAAK,MAAM,OAAO,OAAO,MAAM,MAAM,SAAS,OAAO,KAAK;EAC3E,IAAI,SAAS,gBAAgB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;EAC/C,IAAI,WAAW,IAAI,OAAO;EAC1B,OAAO;GACL,KAAK;GACL,OAAO,eAAe,MAAM;EAC9B;CACF;CACA,IAAI,aAAa,UAAU,OAAO,cAAc,SAAS;EACvD,IAAI,QAAQ,oBAAoB,MAAM,KAAK;EAC3C,IAAI,SAAS,MAAM;GACjB,OAAO;IACL,KAAK;IACL,OAAO;GACT;EACF;CACF;CACA,IAAI,gBAAgB;CACpB,IAAI,aAAa,WAAW,OAAO,UAAU,UAAU;EACrD,IAAI,SAAS,wBAAwB,KAAK;EAC1C,IAAI,OAAO,SAAS,WAAW;GAC7B,OAAO;IACL,KAAK;IACL;GACF;EACF;EACA,IAAI,OAAO,SAAS,SAAS;GAC3B,gBAAgB,MAAM,MAAM,OAAO,KAAK,MAAM;GAC9C,QAAQ,OAAO;EACjB;CACF;CACA,IAAI,oBAAoB,IAAI,IAAI,KAAK,QAAQ,KAAK,KAAK,GAAG;EACxD,QAAQ,OAAO,KAAK,IAAI;CAC1B,OAAO,IAAI,gBAAgB,KAAK,KAAK,GAAG;EACtC,IAAI,aAAa,YAAY,OAAO,cAAc,eAAe;GAC/D,QAAQ,OAAO,KAAK;EACtB,OAAO,IAAI,UAAU;GACnB,QAAQ,GAAG,OAAO,WAAW,MAAM,KAAK;EAC1C,OAAO;GACL,QAAQ,OAAO,KAAK;EACtB;CACF,OAAO,IAAI,OAAO,UAAU,UAAU;EACpC,IAAI,YAAY,GAAG,aAAa,WAAW,aAAa,UAAU,aAAa,aAAa,gBAAgB,KAAK,IAAI;GACnH,QAAQ,GAAG,OAAO,WAAW,MAAM,KAAK;EAC1C;CACF;CACA,IAAI,iBAAiB,OAAO,UAAU,UAAU;EAC9C,QAAQ,GAAG,QAAQ;CACrB;CACA,IAAI,OAAO,YAAY,CAAC,UAAU;EAChC,IAAI,OAAO,UAAU,UAAU,QAAQ,CAAC;OACnC,IAAI,OAAO,UAAU,YAAY,MAAM,OAAO,KAAK,QAAQ,IAAI;CACtE;CACA,OAAO;EACL,KAAK;EACL;CACF;AACF;AACA,IAAI,iCAAiC,IAAI,QAAQ;AACjD,SAAS,kBAAkB,eAAe;CACxC,IAAI,QAAQ,eAAe,IAAI,aAAa;CAC5C,IAAI,CAAC,OAAO;EACV,wBAAwB,IAAI,IAAI;EAChC,eAAe,IAAI,eAAe,KAAK;CACzC;CACA,OAAO;AACT;AACA,SAAS,gBAAgB,UAAU,OAAO,WAAW;CACnD,IAAI,UAAU,WAAW,GAAG,OAAO,CACjC,UACA,KACF;CACA,IAAI,UAAU,oBAAoB,OAAO,QAAQ;CACjD,IAAI,YAAY,MAAM,OAAO;CAC7B,IAAI,YAAY;CAChB,KAAK,IAAI,QAAQ,GAAG,QAAQ,UAAU,QAAQ,SAAS;EACrD,IAAI,OAAO,aAAa;EACxB,aAAa,UAAU;CACzB;CACA,OAAO;EACL;EACA;EACA;EACA;CACF;AACF;AACA,SAAS,iBAAiB,KAAK,eAAe;CAC5C,IAAI,cAAc,iCAAiC,KAAK,GAAG;CAC3D,IAAI,aAAa;EACf,OAAO;GACL,SAAS,CACP,CACE,SACA,YAAY,MAAM,IACpB,CACF;GACA,kBAAkB;EACpB;CACF;CACA,IAAI,kBAAkB,8CAA8C,KAAK,GAAG;CAC5E,IAAI,iBAAiB;EACnB,IAAI,SAAS,gBAAgB,OAAO,KAAK;EACzC,IAAI,OAAO,gBAAgB;EAC3B,IAAI,UAAU,CAAC;EACf,QAAQ,KAAK,CACX,aACA,QAAQ,IACV,CAAC;EACD,IAAI,QAAQ;GACV,QAAQ,KAAK,CACX,iBACA,MACF,CAAC;EACH;EACA,OAAO;GACL;GACA,kBAAkB;EACpB;CACF;CACA,IAAI,iBAAiB,kBAAkB,KAAK,aAAa;CACzD,IAAI,eAAe,SAAS,eAAe;EACzC,OAAO,QAAQ,QAAQ;CACzB;CACA,IAAI,SAAS,eAAe;CAC5B,IAAI,OAAO,OAAO,SAAS,YAAY,OAAO,aAAa;CAC3D,IAAI,MAAM;EACR,IAAI,WAAW,CAAC;EAChB,KAAK,IAAI,KAAK,MAAM;GAClB,IAAI,QAAQ,gBAAgB,GAAG,KAAK,IAAI,OAAO,SAAS;GACxD,IAAI,CAAC,OAAO,OAAO;GACnB,SAAS,KAAK,KAAK;EACrB;EACA,OAAO;CACT;CACA,IAAI,WAAW,wBAAwB,MAAM;CAC7C,IAAI,UAAU;EACZ,IAAI,WAAW,sBAAsB,QAAQ,SAAS,KAAK;EAC3D,IAAI,UAAU;GACZ,IAAI,WAAW,CAAC;GAChB,KAAK,IAAI,MAAM,UAAU;IACvB,IAAI,SAAS,gBAAgB,IAAI,SAAS,KAAK,OAAO,SAAS;IAC/D,IAAI,CAAC,QAAQ,OAAO;IACpB,SAAS,KAAK,MAAM;GACtB;GACA,OAAO;EACT;EACA,IAAI,SAAS,gBAAgB,SAAS,KAAK,SAAS,OAAO,OAAO,SAAS;EAC3E,OAAO,SAAS,CACd,MACF,IAAI;CACN;CACA,OAAO;AACT;AACA,SAAS,qBAAqB,WAAW,QAAQ;CAC/C,IAAI,gBAAgB,sBAAsB,MAAM;CAChD,IAAI,QAAQ,kBAAkB,aAAa;CAC3C,IAAI,OAAO,MAAM,IAAI,SAAS;CAC9B,IAAI,SAAS,KAAK,GAAG;EACnB,OAAO,iBAAiB,WAAW,aAAa;EAChD,MAAM,IAAI,WAAW,IAAI;CAC3B;CACA,OAAO;AACT;AACA,SAAS,yBAAyB,WAAW,QAAQ;CACnD,IAAI,SAAS,CAAC;CACd,IAAI,eAAe;CACnB,IAAI,QAAQ;CACZ,KAAK,IAAI,QAAQ,GAAG,SAAS,UAAU,QAAQ,SAAS;EACtD,IAAI,UAAU,UAAU,UAAU,UAAU,WAAW,KAAK,IAAI,IAAI;EACpE,IAAI,UAAU,OAAO;GACnB,QAAQ,QAAQ;GAChB;EACF;EACA,IAAI,YAAY,UAAU,MAAM,OAAO,KAAK;EAC5C,IAAI,OAAO,qBAAqB,WAAW,MAAM;EACjD,IAAI,SAAS,OAAO;GAClB,eAAe,eAAe,GAAG,aAAa,GAAG,cAAc;EACjE,OAAO,IAAI,MAAM;GACf,IAAI,aAAa;GACjB,IAAI,CAAC,MAAM,QAAQ,IAAI,KAAK,WAAW,kBAAkB;IACvD,eAAe,eAAe,GAAG,aAAa,GAAG,cAAc;GACjE;GACA,IAAI,UAAU,MAAM,QAAQ,IAAI,IAAI,OAAO,WAAW;GACtD,KAAK,IAAI,aAAa,GAAG,aAAa,QAAQ,QAAQ,cAAc;IAClE,IAAI,CAAC,KAAK,OAAO,aAAa,QAAQ;IACtC,IAAI,WAAW,OAAO;IACtB,IAAI,OAAO;IACX,IAAI,cAAc,KAAK,GAAG;KACxB,OAAO,aAAa,OAAO,aAAa,cAAc,cAAc,SAAS,QAAQ,OAAO,YAAY,CAAC,MAAM,QAAQ,QAAQ,IAAI;MACjI,GAAG;OACF,YAAY;KACf,IAAI,aAAa,KAAK,IAAI,GACvB,YAAY,MACf,IAAI;MACF,SAAS;OACR,YAAY;KACf;IACF,OAAO,IAAI,aAAa,OAAO,aAAa,cAAc,cAAc,SAAS,QAAQ,OAAO,YAAY,CAAC,MAAM,QAAQ,QAAQ,GAAG;KACpI,OAAO;MACL,GAAG;MACH,SAAS;KACX;IACF;IACA,mBAAmB,QAAQ,KAAK,IAAI;GACtC;EACF;EACA,QAAQ,QAAQ;CAClB;CACA,IAAI,cAAc,OAAO,YAAY;CACrC,OAAO;AACT;AACA,SAAS,mBAAmB,QAAQ,KAAK,OAAO;CAC9C,IAAI,OAAO,QAAQ,OAAO,OAAO;CACjC,OAAO,OAAO;AAChB"}
@@ -1,8 +1,8 @@
1
- import { STYLE_FRONTEND_PREPROCESSED } from "@tamagui/core/internal-runtime";
2
- import { preprocessTailwindClassName } from "./candidate.mjs";
1
+ import { configRevisionSymbol } from "@tamagui/style-grammar/runtime";
2
+ import { getTailwindClassPlan, resolveTailwindClassName } from "./candidate.mjs";
3
3
 
4
4
  function parseStaticStyle(input, config) {
5
- return preprocessTailwindClassName({ className: input }, config);
5
+ return resolveTailwindClassName(input, config);
6
6
  }
7
7
  const normalizedStaticConfigCache = /* @__PURE__ */ new WeakMap();
8
8
  const normalizedStaticConfigs = /* @__PURE__ */ new WeakSet();
@@ -12,7 +12,8 @@ function normalizeTailwindStaticConfig(staticConfig, config) {
12
12
  }
13
13
  let configCache = normalizedStaticConfigCache.get(staticConfig);
14
14
  const cached = configCache?.get(config);
15
- if (cached) return cached;
15
+ const revision = config[configRevisionSymbol]?.revision || 0;
16
+ if (cached && cached.revision === revision) return cached.value;
16
17
  let variants = staticConfig.variants;
17
18
  if (variants) {
18
19
  variants = Object.fromEntries(Object.entries(variants).map(([variantName, definition]) => [variantName, typeof definition === "object" && definition ? Object.fromEntries(Object.entries(definition).map(([matcher, value]) => [matcher, typeof value === "string" ? parseStaticStyle(value, config) : value])) : definition]));
@@ -37,19 +38,15 @@ function normalizeTailwindStaticConfig(staticConfig, config) {
37
38
  };
38
39
  normalizedStaticConfigs.add(normalized);
39
40
  configCache ||= /* @__PURE__ */ new WeakMap();
40
- configCache.set(config, normalized);
41
+ configCache.set(config, {
42
+ revision,
43
+ value: normalized
44
+ });
41
45
  normalizedStaticConfigCache.set(staticConfig, configCache);
42
46
  return normalized;
43
47
  }
44
48
  const tailwindStyleFrontend = {
45
- preprocessProps(props, config) {
46
- const transformed = typeof props.className === "string" ? preprocessTailwindClassName(props, config, true) : props;
47
- if (transformed !== props) {
48
- ;
49
- transformed[STYLE_FRONTEND_PREPROCESSED] = true;
50
- }
51
- return transformed;
52
- },
49
+ getClassPlan: getTailwindClassPlan,
53
50
  normalizeStaticConfig: normalizeTailwindStaticConfig
54
51
  };
55
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"frontend.js","names":[],"sources":["esm/frontend.js"],"sourcesContent":["import {\n STYLE_FRONTEND_PREPROCESSED\n} from \"@tamagui/core/internal-runtime\";\nimport { preprocessTailwindClassName } from \"./candidate\";\nfunction parseStaticStyle(input, config) {\n return preprocessTailwindClassName({ className: input }, config);\n}\nconst normalizedStaticConfigCache = /* @__PURE__ */ new WeakMap();\nconst normalizedStaticConfigs = /* @__PURE__ */ new WeakSet();\nfunction normalizeTailwindStaticConfig(staticConfig, config) {\n if (normalizedStaticConfigs.has(staticConfig)) {\n return staticConfig;\n }\n let configCache = normalizedStaticConfigCache.get(staticConfig);\n const cached = configCache?.get(config);\n if (cached) return cached;\n let variants = staticConfig.variants;\n if (variants) {\n variants = Object.fromEntries(\n Object.entries(variants).map(([variantName, definition]) => [\n variantName,\n typeof definition === \"object\" && definition ? Object.fromEntries(\n Object.entries(definition).map(([matcher, value]) => [\n matcher,\n typeof value === \"string\" ? parseStaticStyle(value, config) : value\n ])\n ) : definition\n ])\n );\n }\n const compoundVariants = staticConfig.compoundVariants?.map((compoundVariant) => ({\n ...compoundVariant,\n style: typeof compoundVariant.style === \"string\" ? parseStaticStyle(compoundVariant.style, config) : compoundVariant.style\n }));\n let baseStyle = staticConfig.baseStyle;\n let passthroughClassName = staticConfig.passthroughClassName;\n if (staticConfig.baseClassName) {\n const { className, ...styles } = parseStaticStyle(staticConfig.baseClassName, config);\n baseStyle = styles;\n passthroughClassName = className;\n }\n const normalized = {\n ...staticConfig,\n baseStyle,\n passthroughClassName,\n variants,\n compoundVariants\n };\n normalizedStaticConfigs.add(normalized);\n configCache ||= /* @__PURE__ */ new WeakMap();\n configCache.set(config, normalized);\n normalizedStaticConfigCache.set(staticConfig, configCache);\n return normalized;\n}\nconst tailwindStyleFrontend = {\n preprocessProps(props, config) {\n const transformed = typeof props.className === \"string\" ? preprocessTailwindClassName(props, config, true) : props;\n if (transformed !== props) {\n ;\n transformed[STYLE_FRONTEND_PREPROCESSED] = true;\n }\n return transformed;\n },\n normalizeStaticConfig: normalizeTailwindStaticConfig\n};\nexport {\n parseStaticStyle,\n tailwindStyleFrontend\n};\n//# sourceMappingURL=frontend.js.map\n"],"mappings":";;;;AAIA,SAAS,iBAAiB,OAAO,QAAQ;CACvC,OAAO,4BAA4B,EAAE,WAAW,MAAM,GAAG,MAAM;AACjE;AACA,MAAM,8CAA8C,IAAI,QAAQ;AAChE,MAAM,0CAA0C,IAAI,QAAQ;AAC5D,SAAS,8BAA8B,cAAc,QAAQ;CAC3D,IAAI,wBAAwB,IAAI,YAAY,GAAG;EAC7C,OAAO;CACT;CACA,IAAI,cAAc,4BAA4B,IAAI,YAAY;CAC9D,MAAM,SAAS,aAAa,IAAI,MAAM;CACtC,IAAI,QAAQ,OAAO;CACnB,IAAI,WAAW,aAAa;CAC5B,IAAI,UAAU;EACZ,WAAW,OAAO,YAChB,OAAO,QAAQ,QAAQ,CAAC,CAAC,KAAK,CAAC,aAAa,gBAAgB,CAC1D,aACA,OAAO,eAAe,YAAY,aAAa,OAAO,YACpD,OAAO,QAAQ,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,WAAW,CACnD,SACA,OAAO,UAAU,WAAW,iBAAiB,OAAO,MAAM,IAAI,KAChE,CAAC,CACH,IAAI,UACN,CAAC,CACH;CACF;CACA,MAAM,mBAAmB,aAAa,kBAAkB,KAAK,qBAAqB;EAChF,GAAG;EACH,OAAO,OAAO,gBAAgB,UAAU,WAAW,iBAAiB,gBAAgB,OAAO,MAAM,IAAI,gBAAgB;CACvH,EAAE;CACF,IAAI,YAAY,aAAa;CAC7B,IAAI,uBAAuB,aAAa;CACxC,IAAI,aAAa,eAAe;EAC9B,MAAM,EAAE,WAAW,GAAG,WAAW,iBAAiB,aAAa,eAAe,MAAM;EACpF,YAAY;EACZ,uBAAuB;CACzB;CACA,MAAM,aAAa;EACjB,GAAG;EACH;EACA;EACA;EACA;CACF;CACA,wBAAwB,IAAI,UAAU;CACtC,gCAAgC,IAAI,QAAQ;CAC5C,YAAY,IAAI,QAAQ,UAAU;CAClC,4BAA4B,IAAI,cAAc,WAAW;CACzD,OAAO;AACT;AACA,MAAM,wBAAwB;CAC5B,gBAAgB,OAAO,QAAQ;EAC7B,MAAM,cAAc,OAAO,MAAM,cAAc,WAAW,4BAA4B,OAAO,QAAQ,IAAI,IAAI;EAC7G,IAAI,gBAAgB,OAAO;GACzB;GACA,YAAY,+BAA+B;EAC7C;EACA,OAAO;CACT;CACA,uBAAuB;AACzB"}
1
+ {"version":3,"file":"frontend.js","names":[],"sources":["esm/frontend.js"],"sourcesContent":["import { configRevisionSymbol } from \"@tamagui/style-grammar/runtime\";\nimport { getTailwindClassPlan, resolveTailwindClassName } from \"./candidate\";\nfunction parseStaticStyle(input, config) {\n return resolveTailwindClassName(input, config);\n}\nconst normalizedStaticConfigCache = /* @__PURE__ */ new WeakMap();\nconst normalizedStaticConfigs = /* @__PURE__ */ new WeakSet();\nfunction normalizeTailwindStaticConfig(staticConfig, config) {\n if (normalizedStaticConfigs.has(staticConfig)) {\n return staticConfig;\n }\n let configCache = normalizedStaticConfigCache.get(staticConfig);\n const cached = configCache?.get(config);\n const revision = config[configRevisionSymbol]?.revision || 0;\n if (cached && cached.revision === revision) return cached.value;\n let variants = staticConfig.variants;\n if (variants) {\n variants = Object.fromEntries(\n Object.entries(variants).map(([variantName, definition]) => [\n variantName,\n typeof definition === \"object\" && definition ? Object.fromEntries(\n Object.entries(definition).map(([matcher, value]) => [\n matcher,\n typeof value === \"string\" ? parseStaticStyle(value, config) : value\n ])\n ) : definition\n ])\n );\n }\n const compoundVariants = staticConfig.compoundVariants?.map((compoundVariant) => ({\n ...compoundVariant,\n style: typeof compoundVariant.style === \"string\" ? parseStaticStyle(compoundVariant.style, config) : compoundVariant.style\n }));\n let baseStyle = staticConfig.baseStyle;\n let passthroughClassName = staticConfig.passthroughClassName;\n if (staticConfig.baseClassName) {\n const { className, ...styles } = parseStaticStyle(staticConfig.baseClassName, config);\n baseStyle = styles;\n passthroughClassName = className;\n }\n const normalized = {\n ...staticConfig,\n baseStyle,\n passthroughClassName,\n variants,\n compoundVariants\n };\n normalizedStaticConfigs.add(normalized);\n configCache ||= /* @__PURE__ */ new WeakMap();\n configCache.set(config, { revision, value: normalized });\n normalizedStaticConfigCache.set(staticConfig, configCache);\n return normalized;\n}\nconst tailwindStyleFrontend = {\n getClassPlan: getTailwindClassPlan,\n normalizeStaticConfig: normalizeTailwindStaticConfig\n};\nexport {\n parseStaticStyle,\n tailwindStyleFrontend\n};\n//# sourceMappingURL=frontend.js.map\n"],"mappings":";;;;AAEA,SAAS,iBAAiB,OAAO,QAAQ;CACvC,OAAO,yBAAyB,OAAO,MAAM;AAC/C;AACA,MAAM,8CAA8C,IAAI,QAAQ;AAChE,MAAM,0CAA0C,IAAI,QAAQ;AAC5D,SAAS,8BAA8B,cAAc,QAAQ;CAC3D,IAAI,wBAAwB,IAAI,YAAY,GAAG;EAC7C,OAAO;CACT;CACA,IAAI,cAAc,4BAA4B,IAAI,YAAY;CAC9D,MAAM,SAAS,aAAa,IAAI,MAAM;CACtC,MAAM,WAAW,OAAO,qBAAqB,EAAE,YAAY;CAC3D,IAAI,UAAU,OAAO,aAAa,UAAU,OAAO,OAAO;CAC1D,IAAI,WAAW,aAAa;CAC5B,IAAI,UAAU;EACZ,WAAW,OAAO,YAChB,OAAO,QAAQ,QAAQ,CAAC,CAAC,KAAK,CAAC,aAAa,gBAAgB,CAC1D,aACA,OAAO,eAAe,YAAY,aAAa,OAAO,YACpD,OAAO,QAAQ,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,WAAW,CACnD,SACA,OAAO,UAAU,WAAW,iBAAiB,OAAO,MAAM,IAAI,KAChE,CAAC,CACH,IAAI,UACN,CAAC,CACH;CACF;CACA,MAAM,mBAAmB,aAAa,kBAAkB,KAAK,qBAAqB;EAChF,GAAG;EACH,OAAO,OAAO,gBAAgB,UAAU,WAAW,iBAAiB,gBAAgB,OAAO,MAAM,IAAI,gBAAgB;CACvH,EAAE;CACF,IAAI,YAAY,aAAa;CAC7B,IAAI,uBAAuB,aAAa;CACxC,IAAI,aAAa,eAAe;EAC9B,MAAM,EAAE,WAAW,GAAG,WAAW,iBAAiB,aAAa,eAAe,MAAM;EACpF,YAAY;EACZ,uBAAuB;CACzB;CACA,MAAM,aAAa;EACjB,GAAG;EACH;EACA;EACA;EACA;CACF;CACA,wBAAwB,IAAI,UAAU;CACtC,gCAAgC,IAAI,QAAQ;CAC5C,YAAY,IAAI,QAAQ;EAAE;EAAU,OAAO;CAAW,CAAC;CACvD,4BAA4B,IAAI,cAAc,WAAW;CACzD,OAAO;AACT;AACA,MAAM,wBAAwB;CAC5B,cAAc;CACd,uBAAuB;AACzB"}
@@ -1,23 +1,24 @@
1
- import { STYLE_FRONTEND_PREPROCESSED } from "@tamagui/core/internal-runtime";
2
- import { preprocessTailwindClassName } from "./candidate.native.js";
1
+ import { configRevisionSymbol } from "@tamagui/style-grammar/runtime";
2
+ import { getTailwindClassPlan, resolveTailwindClassName } from "./candidate.native.js";
3
3
 
4
4
  function _type_of(obj) {
5
5
  "@swc/helpers - typeof";
6
6
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
7
7
  }
8
8
  function parseStaticStyle(input, config) {
9
- return preprocessTailwindClassName({ className: input }, config);
9
+ return resolveTailwindClassName(input, config);
10
10
  }
11
11
  var normalizedStaticConfigCache = /* @__PURE__ */ new WeakMap();
12
12
  var normalizedStaticConfigs = /* @__PURE__ */ new WeakSet();
13
13
  function normalizeTailwindStaticConfig(staticConfig, config) {
14
- var _staticConfig_compoundVariants;
14
+ var _config_configRevisionSymbol, _staticConfig_compoundVariants;
15
15
  if (normalizedStaticConfigs.has(staticConfig)) {
16
16
  return staticConfig;
17
17
  }
18
18
  var configCache = normalizedStaticConfigCache.get(staticConfig);
19
19
  var cached = configCache === null || configCache === void 0 ? void 0 : configCache.get(config);
20
- if (cached) return cached;
20
+ var revision = ((_config_configRevisionSymbol = config[configRevisionSymbol]) === null || _config_configRevisionSymbol === void 0 ? void 0 : _config_configRevisionSymbol.revision) || 0;
21
+ if (cached && cached.revision === revision) return cached.value;
21
22
  var variants = staticConfig.variants;
22
23
  if (variants) {
23
24
  variants = Object.fromEntries(Object.entries(variants).map(function(param) {
@@ -50,19 +51,15 @@ function normalizeTailwindStaticConfig(staticConfig, config) {
50
51
  };
51
52
  normalizedStaticConfigs.add(normalized);
52
53
  configCache || (configCache = /* @__PURE__ */ new WeakMap());
53
- configCache.set(config, normalized);
54
+ configCache.set(config, {
55
+ revision,
56
+ value: normalized
57
+ });
54
58
  normalizedStaticConfigCache.set(staticConfig, configCache);
55
59
  return normalized;
56
60
  }
57
61
  var tailwindStyleFrontend = {
58
- preprocessProps(props, config) {
59
- var transformed = typeof props.className === "string" ? preprocessTailwindClassName(props, config, true) : props;
60
- if (transformed !== props) {
61
- ;
62
- transformed[STYLE_FRONTEND_PREPROCESSED] = true;
63
- }
64
- return transformed;
65
- },
62
+ getClassPlan: getTailwindClassPlan,
66
63
  normalizeStaticConfig: normalizeTailwindStaticConfig
67
64
  };
68
65
 
@@ -1 +1 @@
1
- {"version":3,"file":"frontend.native.js","names":[],"sources":["esm/frontend.native.js"],"sourcesContent":["import { STYLE_FRONTEND_PREPROCESSED } from \"@tamagui/core/internal-runtime\";\nimport { preprocessTailwindClassName } from \"./candidate\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction parseStaticStyle(input, config) {\n return preprocessTailwindClassName({\n className: input\n }, config);\n}\nvar normalizedStaticConfigCache = /* @__PURE__ */ new WeakMap();\nvar normalizedStaticConfigs = /* @__PURE__ */ new WeakSet();\nfunction normalizeTailwindStaticConfig(staticConfig, config) {\n var _staticConfig_compoundVariants;\n if (normalizedStaticConfigs.has(staticConfig)) {\n return staticConfig;\n }\n var configCache = normalizedStaticConfigCache.get(staticConfig);\n var cached = configCache === null || configCache === void 0 ? void 0 : configCache.get(config);\n if (cached) return cached;\n var variants = staticConfig.variants;\n if (variants) {\n variants = Object.fromEntries(Object.entries(variants).map(function(param) {\n var [variantName, definition] = param;\n return [\n variantName,\n (typeof definition === \"undefined\" ? \"undefined\" : _type_of(definition)) === \"object\" && definition ? Object.fromEntries(Object.entries(definition).map(function(param2) {\n var [matcher, value] = param2;\n return [\n matcher,\n typeof value === \"string\" ? parseStaticStyle(value, config) : value\n ];\n })) : definition\n ];\n }));\n }\n var compoundVariants = (_staticConfig_compoundVariants = staticConfig.compoundVariants) === null || _staticConfig_compoundVariants === void 0 ? void 0 : _staticConfig_compoundVariants.map(function(compoundVariant) {\n return {\n ...compoundVariant,\n style: typeof compoundVariant.style === \"string\" ? parseStaticStyle(compoundVariant.style, config) : compoundVariant.style\n };\n });\n var baseStyle = staticConfig.baseStyle;\n var passthroughClassName = staticConfig.passthroughClassName;\n if (staticConfig.baseClassName) {\n var { className, ...styles } = parseStaticStyle(staticConfig.baseClassName, config);\n baseStyle = styles;\n passthroughClassName = className;\n }\n var normalized = {\n ...staticConfig,\n baseStyle,\n passthroughClassName,\n variants,\n compoundVariants\n };\n normalizedStaticConfigs.add(normalized);\n configCache || (configCache = /* @__PURE__ */ new WeakMap());\n configCache.set(config, normalized);\n normalizedStaticConfigCache.set(staticConfig, configCache);\n return normalized;\n}\nvar tailwindStyleFrontend = {\n preprocessProps(props, config) {\n var transformed = typeof props.className === \"string\" ? preprocessTailwindClassName(props, config, true) : props;\n if (transformed !== props) {\n ;\n transformed[STYLE_FRONTEND_PREPROCESSED] = true;\n }\n return transformed;\n },\n normalizeStaticConfig: normalizeTailwindStaticConfig\n};\nexport {\n parseStaticStyle,\n tailwindStyleFrontend\n};\n//# sourceMappingURL=frontend.js.map\n"],"mappings":";;;;AAEA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,SAAS,iBAAiB,OAAO,QAAQ;CACvC,OAAO,4BAA4B,EACjC,WAAW,MACb,GAAG,MAAM;AACX;AACA,IAAI,8CAA8C,IAAI,QAAQ;AAC9D,IAAI,0CAA0C,IAAI,QAAQ;AAC1D,SAAS,8BAA8B,cAAc,QAAQ;CAC3D,IAAI;CACJ,IAAI,wBAAwB,IAAI,YAAY,GAAG;EAC7C,OAAO;CACT;CACA,IAAI,cAAc,4BAA4B,IAAI,YAAY;CAC9D,IAAI,SAAS,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,IAAI,MAAM;CAC7F,IAAI,QAAQ,OAAO;CACnB,IAAI,WAAW,aAAa;CAC5B,IAAI,UAAU;EACZ,WAAW,OAAO,YAAY,OAAO,QAAQ,QAAQ,CAAC,CAAC,IAAI,SAAS,OAAO;GACzE,IAAI,CAAC,aAAa,cAAc;GAChC,OAAO,CACL,cACC,OAAO,eAAe,cAAc,cAAc,SAAS,UAAU,OAAO,YAAY,aAAa,OAAO,YAAY,OAAO,QAAQ,UAAU,CAAC,CAAC,IAAI,SAAS,QAAQ;IACvK,IAAI,CAAC,SAAS,SAAS;IACvB,OAAO,CACL,SACA,OAAO,UAAU,WAAW,iBAAiB,OAAO,MAAM,IAAI,KAChE;GACF,CAAC,CAAC,IAAI,UACR;EACF,CAAC,CAAC;CACJ;CACA,IAAI,oBAAoB,iCAAiC,aAAa,sBAAsB,QAAQ,mCAAmC,KAAK,IAAI,KAAK,IAAI,+BAA+B,IAAI,SAAS,iBAAiB;EACpN,OAAO;GACL,GAAG;GACH,OAAO,OAAO,gBAAgB,UAAU,WAAW,iBAAiB,gBAAgB,OAAO,MAAM,IAAI,gBAAgB;EACvH;CACF,CAAC;CACD,IAAI,YAAY,aAAa;CAC7B,IAAI,uBAAuB,aAAa;CACxC,IAAI,aAAa,eAAe;EAC9B,IAAI,EAAE,WAAW,GAAG,WAAW,iBAAiB,aAAa,eAAe,MAAM;EAClF,YAAY;EACZ,uBAAuB;CACzB;CACA,IAAI,aAAa;EACf,GAAG;EACH;EACA;EACA;EACA;CACF;CACA,wBAAwB,IAAI,UAAU;CACtC,gBAAgB,8BAA8B,IAAI,QAAQ;CAC1D,YAAY,IAAI,QAAQ,UAAU;CAClC,4BAA4B,IAAI,cAAc,WAAW;CACzD,OAAO;AACT;AACA,IAAI,wBAAwB;CAC1B,gBAAgB,OAAO,QAAQ;EAC7B,IAAI,cAAc,OAAO,MAAM,cAAc,WAAW,4BAA4B,OAAO,QAAQ,IAAI,IAAI;EAC3G,IAAI,gBAAgB,OAAO;GACzB;GACA,YAAY,+BAA+B;EAC7C;EACA,OAAO;CACT;CACA,uBAAuB;AACzB"}
1
+ {"version":3,"file":"frontend.native.js","names":[],"sources":["esm/frontend.native.js"],"sourcesContent":["import { configRevisionSymbol } from \"@tamagui/style-grammar/runtime\";\nimport { getTailwindClassPlan, resolveTailwindClassName } from \"./candidate\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction parseStaticStyle(input, config) {\n return resolveTailwindClassName(input, config);\n}\nvar normalizedStaticConfigCache = /* @__PURE__ */ new WeakMap();\nvar normalizedStaticConfigs = /* @__PURE__ */ new WeakSet();\nfunction normalizeTailwindStaticConfig(staticConfig, config) {\n var _config_configRevisionSymbol, _staticConfig_compoundVariants;\n if (normalizedStaticConfigs.has(staticConfig)) {\n return staticConfig;\n }\n var configCache = normalizedStaticConfigCache.get(staticConfig);\n var cached = configCache === null || configCache === void 0 ? void 0 : configCache.get(config);\n var revision = ((_config_configRevisionSymbol = config[configRevisionSymbol]) === null || _config_configRevisionSymbol === void 0 ? void 0 : _config_configRevisionSymbol.revision) || 0;\n if (cached && cached.revision === revision) return cached.value;\n var variants = staticConfig.variants;\n if (variants) {\n variants = Object.fromEntries(Object.entries(variants).map(function(param) {\n var [variantName, definition] = param;\n return [\n variantName,\n (typeof definition === \"undefined\" ? \"undefined\" : _type_of(definition)) === \"object\" && definition ? Object.fromEntries(Object.entries(definition).map(function(param2) {\n var [matcher, value] = param2;\n return [\n matcher,\n typeof value === \"string\" ? parseStaticStyle(value, config) : value\n ];\n })) : definition\n ];\n }));\n }\n var compoundVariants = (_staticConfig_compoundVariants = staticConfig.compoundVariants) === null || _staticConfig_compoundVariants === void 0 ? void 0 : _staticConfig_compoundVariants.map(function(compoundVariant) {\n return {\n ...compoundVariant,\n style: typeof compoundVariant.style === \"string\" ? parseStaticStyle(compoundVariant.style, config) : compoundVariant.style\n };\n });\n var baseStyle = staticConfig.baseStyle;\n var passthroughClassName = staticConfig.passthroughClassName;\n if (staticConfig.baseClassName) {\n var { className, ...styles } = parseStaticStyle(staticConfig.baseClassName, config);\n baseStyle = styles;\n passthroughClassName = className;\n }\n var normalized = {\n ...staticConfig,\n baseStyle,\n passthroughClassName,\n variants,\n compoundVariants\n };\n normalizedStaticConfigs.add(normalized);\n configCache || (configCache = /* @__PURE__ */ new WeakMap());\n configCache.set(config, {\n revision,\n value: normalized\n });\n normalizedStaticConfigCache.set(staticConfig, configCache);\n return normalized;\n}\nvar tailwindStyleFrontend = {\n getClassPlan: getTailwindClassPlan,\n normalizeStaticConfig: normalizeTailwindStaticConfig\n};\nexport {\n parseStaticStyle,\n tailwindStyleFrontend\n};\n//# sourceMappingURL=frontend.js.map\n"],"mappings":";;;;AAEA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,SAAS,iBAAiB,OAAO,QAAQ;CACvC,OAAO,yBAAyB,OAAO,MAAM;AAC/C;AACA,IAAI,8CAA8C,IAAI,QAAQ;AAC9D,IAAI,0CAA0C,IAAI,QAAQ;AAC1D,SAAS,8BAA8B,cAAc,QAAQ;CAC3D,IAAI,8BAA8B;CAClC,IAAI,wBAAwB,IAAI,YAAY,GAAG;EAC7C,OAAO;CACT;CACA,IAAI,cAAc,4BAA4B,IAAI,YAAY;CAC9D,IAAI,SAAS,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,IAAI,MAAM;CAC7F,IAAI,aAAa,+BAA+B,OAAO,2BAA2B,QAAQ,iCAAiC,KAAK,IAAI,KAAK,IAAI,6BAA6B,aAAa;CACvL,IAAI,UAAU,OAAO,aAAa,UAAU,OAAO,OAAO;CAC1D,IAAI,WAAW,aAAa;CAC5B,IAAI,UAAU;EACZ,WAAW,OAAO,YAAY,OAAO,QAAQ,QAAQ,CAAC,CAAC,IAAI,SAAS,OAAO;GACzE,IAAI,CAAC,aAAa,cAAc;GAChC,OAAO,CACL,cACC,OAAO,eAAe,cAAc,cAAc,SAAS,UAAU,OAAO,YAAY,aAAa,OAAO,YAAY,OAAO,QAAQ,UAAU,CAAC,CAAC,IAAI,SAAS,QAAQ;IACvK,IAAI,CAAC,SAAS,SAAS;IACvB,OAAO,CACL,SACA,OAAO,UAAU,WAAW,iBAAiB,OAAO,MAAM,IAAI,KAChE;GACF,CAAC,CAAC,IAAI,UACR;EACF,CAAC,CAAC;CACJ;CACA,IAAI,oBAAoB,iCAAiC,aAAa,sBAAsB,QAAQ,mCAAmC,KAAK,IAAI,KAAK,IAAI,+BAA+B,IAAI,SAAS,iBAAiB;EACpN,OAAO;GACL,GAAG;GACH,OAAO,OAAO,gBAAgB,UAAU,WAAW,iBAAiB,gBAAgB,OAAO,MAAM,IAAI,gBAAgB;EACvH;CACF,CAAC;CACD,IAAI,YAAY,aAAa;CAC7B,IAAI,uBAAuB,aAAa;CACxC,IAAI,aAAa,eAAe;EAC9B,IAAI,EAAE,WAAW,GAAG,WAAW,iBAAiB,aAAa,eAAe,MAAM;EAClF,YAAY;EACZ,uBAAuB;CACzB;CACA,IAAI,aAAa;EACf,GAAG;EACH;EACA;EACA;EACA;CACF;CACA,wBAAwB,IAAI,UAAU;CACtC,gBAAgB,8BAA8B,IAAI,QAAQ;CAC1D,YAAY,IAAI,QAAQ;EACtB;EACA,OAAO;CACT,CAAC;CACD,4BAA4B,IAAI,cAAc,WAAW;CACzD,OAAO;AACT;AACA,IAAI,wBAAwB;CAC1B,cAAc;CACd,uBAAuB;AACzB"}
@@ -1,11 +1,10 @@
1
1
  import { createFrontendViews } from "@tamagui/core/internal-runtime";
2
2
  import { parseStaticStyle, tailwindStyleFrontend, tailwindStyleFrontend as tailwindStyleFrontend2 } from "./frontend.mjs";
3
3
  import { styled } from "./styled.mjs";
4
- import { preprocessTailwindClassName } from "./candidate.mjs";
5
4
 
6
5
  const frontendViews = createFrontendViews(tailwindStyleFrontend);
7
6
  const View = frontendViews.View;
8
7
  const Text = frontendViews.Text;
9
8
 
10
- export { Text, View, parseStaticStyle, preprocessTailwindClassName, styled, tailwindStyleFrontend2 as tailwindStyleFrontend };
9
+ export { Text, View, parseStaticStyle, styled, tailwindStyleFrontend2 as tailwindStyleFrontend };
11
10
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import { createFrontendViews } from \"@tamagui/core/internal-runtime\";\nimport { tailwindStyleFrontend } from \"./frontend\";\nimport { styled } from \"./styled\";\nimport { parseStaticStyle, tailwindStyleFrontend as tailwindStyleFrontend2 } from \"./frontend\";\nimport { preprocessTailwindClassName } from \"./candidate\";\nconst frontendViews = createFrontendViews(tailwindStyleFrontend);\nconst View = frontendViews.View;\nconst Text = frontendViews.Text;\nexport {\n Text,\n View,\n parseStaticStyle,\n preprocessTailwindClassName,\n styled,\n tailwindStyleFrontend2 as tailwindStyleFrontend\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;AAKA,MAAM,gBAAgB,oBAAoB,qBAAqB;AAC/D,MAAM,OAAO,cAAc;AAC3B,MAAM,OAAO,cAAc"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import { createFrontendViews } from \"@tamagui/core/internal-runtime\";\nimport { tailwindStyleFrontend } from \"./frontend\";\nimport { styled } from \"./styled\";\nimport { parseStaticStyle, tailwindStyleFrontend as tailwindStyleFrontend2 } from \"./frontend\";\nconst frontendViews = createFrontendViews(tailwindStyleFrontend);\nconst View = frontendViews.View;\nconst Text = frontendViews.Text;\nexport {\n Text,\n View,\n parseStaticStyle,\n styled,\n tailwindStyleFrontend2 as tailwindStyleFrontend\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;AAIA,MAAM,gBAAgB,oBAAoB,qBAAqB;AAC/D,MAAM,OAAO,cAAc;AAC3B,MAAM,OAAO,cAAc"}
@@ -1,11 +1,10 @@
1
1
  import { createFrontendViews } from "@tamagui/core/internal-runtime";
2
2
  import { parseStaticStyle, tailwindStyleFrontend, tailwindStyleFrontend as tailwindStyleFrontend2 } from "./frontend.native.js";
3
3
  import { styled } from "./styled.native.js";
4
- import { preprocessTailwindClassName } from "./candidate.native.js";
5
4
 
6
5
  var frontendViews = createFrontendViews(tailwindStyleFrontend);
7
6
  var View = frontendViews.View;
8
7
  var Text = frontendViews.Text;
9
8
 
10
- export { Text, View, parseStaticStyle, preprocessTailwindClassName, styled, tailwindStyleFrontend2 as tailwindStyleFrontend };
9
+ export { Text, View, parseStaticStyle, styled, tailwindStyleFrontend2 as tailwindStyleFrontend };
11
10
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["import { createFrontendViews } from \"@tamagui/core/internal-runtime\";\nimport { tailwindStyleFrontend } from \"./frontend\";\nimport { styled } from \"./styled\";\nimport { parseStaticStyle, tailwindStyleFrontend as tailwindStyleFrontend2 } from \"./frontend\";\nimport { preprocessTailwindClassName } from \"./candidate\";\nvar frontendViews = createFrontendViews(tailwindStyleFrontend);\nvar View = frontendViews.View;\nvar Text = frontendViews.Text;\nexport {\n Text,\n View,\n parseStaticStyle,\n preprocessTailwindClassName,\n styled,\n tailwindStyleFrontend2 as tailwindStyleFrontend\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;AAKA,IAAI,gBAAgB,oBAAoB,qBAAqB;AAC7D,IAAI,OAAO,cAAc;AACzB,IAAI,OAAO,cAAc"}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["import { createFrontendViews } from \"@tamagui/core/internal-runtime\";\nimport { tailwindStyleFrontend } from \"./frontend\";\nimport { styled } from \"./styled\";\nimport { parseStaticStyle, tailwindStyleFrontend as tailwindStyleFrontend2 } from \"./frontend\";\nvar frontendViews = createFrontendViews(tailwindStyleFrontend);\nvar View = frontendViews.View;\nvar Text = frontendViews.Text;\nexport {\n Text,\n View,\n parseStaticStyle,\n styled,\n tailwindStyleFrontend2 as tailwindStyleFrontend\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;AAIA,IAAI,gBAAgB,oBAAoB,qBAAqB;AAC7D,IAAI,OAAO,cAAc;AACzB,IAAI,OAAO,cAAc"}