@tamagui/style-grammar 3.1.9 → 3.1.10
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.
- package/dist/cjs/tooling/candidate.cjs +8 -1
- package/dist/cjs/tooling/candidate.native.cjs +8 -1
- package/dist/cjs/tooling/candidate.native.js +8 -1
- package/dist/cjs/tooling/candidate.native.js.map +1 -1
- package/dist/esm/tooling/candidate.mjs +8 -1
- package/dist/esm/tooling/candidate.mjs.map +1 -1
- package/dist/esm/tooling/candidate.native.js +8 -1
- package/dist/esm/tooling/candidate.native.js.map +1 -1
- package/package.json +3 -3
- package/src/tooling/candidate.ts +10 -0
- package/src/tooling/registry.ts +1 -0
- package/types/tooling/candidate.d.ts.map +2 -2
- package/types/tooling/registry.d.ts +1 -1
- package/types/tooling/registry.d.ts.map +2 -2
|
@@ -684,6 +684,13 @@ function chooseEntry(entries, prefix, rawValue, negative, config) {
|
|
|
684
684
|
convenience: "integer"
|
|
685
685
|
};
|
|
686
686
|
}
|
|
687
|
+
if (numericPattern.test(rawValue) && (entry.tokenCategory === "space" || entry.tokenCategory === "size" || import_config.propTokenGroupFallbacks[entry.tokenCategory] === "size")) {
|
|
688
|
+
return {
|
|
689
|
+
entry,
|
|
690
|
+
valueKind: "convenience",
|
|
691
|
+
convenience: "spacing-scale"
|
|
692
|
+
};
|
|
693
|
+
}
|
|
687
694
|
continue;
|
|
688
695
|
}
|
|
689
696
|
if (prefix === "opacity" || prefix === "scale" || prefix === "scale-x" || prefix === "scale-y") {
|
|
@@ -727,7 +734,7 @@ function parseCandidate(candidate, config) {
|
|
|
727
734
|
if (rawValue) {
|
|
728
735
|
const entries = resolveEntries(prefix, config);
|
|
729
736
|
const selected = chooseEntry(entries, prefix, rawValue, negative, config);
|
|
730
|
-
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "integer"))) {
|
|
737
|
+
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "spacing-scale" || selected.convenience === "integer"))) {
|
|
731
738
|
dynamic = {
|
|
732
739
|
prefix,
|
|
733
740
|
rawValue,
|
|
@@ -851,6 +851,13 @@ function chooseEntry(entries, prefix, rawValue, negative, config) {
|
|
|
851
851
|
convenience: "integer"
|
|
852
852
|
};
|
|
853
853
|
}
|
|
854
|
+
if (numericPattern.test(rawValue) && (entry2.tokenCategory === "space" || entry2.tokenCategory === "size" || import_config.propTokenGroupFallbacks[entry2.tokenCategory] === "size")) {
|
|
855
|
+
return {
|
|
856
|
+
entry: entry2,
|
|
857
|
+
valueKind: "convenience",
|
|
858
|
+
convenience: "spacing-scale"
|
|
859
|
+
};
|
|
860
|
+
}
|
|
854
861
|
continue;
|
|
855
862
|
}
|
|
856
863
|
if (prefix === "opacity" || prefix === "scale" || prefix === "scale-x" || prefix === "scale-y") {
|
|
@@ -908,7 +915,7 @@ function parseCandidate(candidate, config) {
|
|
|
908
915
|
if (rawValue) {
|
|
909
916
|
var entries = resolveEntries(prefix, config);
|
|
910
917
|
var selected = chooseEntry(entries, prefix, rawValue, negative, config);
|
|
911
|
-
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "integer"))) {
|
|
918
|
+
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "spacing-scale" || selected.convenience === "integer"))) {
|
|
912
919
|
dynamic = {
|
|
913
920
|
prefix,
|
|
914
921
|
rawValue,
|
|
@@ -851,6 +851,13 @@ function chooseEntry(entries, prefix, rawValue, negative, config) {
|
|
|
851
851
|
convenience: "integer"
|
|
852
852
|
};
|
|
853
853
|
}
|
|
854
|
+
if (numericPattern.test(rawValue) && (entry2.tokenCategory === "space" || entry2.tokenCategory === "size" || import_config.propTokenGroupFallbacks[entry2.tokenCategory] === "size")) {
|
|
855
|
+
return {
|
|
856
|
+
entry: entry2,
|
|
857
|
+
valueKind: "convenience",
|
|
858
|
+
convenience: "spacing-scale"
|
|
859
|
+
};
|
|
860
|
+
}
|
|
854
861
|
continue;
|
|
855
862
|
}
|
|
856
863
|
if (prefix === "opacity" || prefix === "scale" || prefix === "scale-x" || prefix === "scale-y") {
|
|
@@ -908,7 +915,7 @@ function parseCandidate(candidate, config) {
|
|
|
908
915
|
if (rawValue) {
|
|
909
916
|
var entries = resolveEntries(prefix, config);
|
|
910
917
|
var selected = chooseEntry(entries, prefix, rawValue, negative, config);
|
|
911
|
-
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "integer"))) {
|
|
918
|
+
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "spacing-scale" || selected.convenience === "integer"))) {
|
|
912
919
|
dynamic = {
|
|
913
920
|
prefix,
|
|
914
921
|
rawValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate.native.js","names":[],"sources":["cjs/tooling/candidate.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar candidate_exports = {};\n__export(candidate_exports, {\n classifyCandidate: () => classifyCandidate,\n decimalHalfTokenAlias: () => decimalHalfTokenAlias,\n decodeArbitrary: () => decodeArbitrary,\n encodeArbitrary: () => encodeArbitrary,\n formatCandidate: () => formatCandidate,\n hasTokenName: () => hasTokenName,\n parseCandidate: () => parseCandidate,\n resolveTokenName: () => resolveTokenName,\n splitCandidate: () => splitCandidate,\n tailwindLeadingRatios: () => tailwindLeadingRatios,\n tailwindTrackingEms: () => tailwindTrackingEms\n});\nmodule.exports = __toCommonJS(candidate_exports);\nvar import_namedCssColors = require(\"../runtime/namedCssColors\");\nvar import_config = require(\"./config\");\nvar import_registry = require(\"./registry\");\nvar import_clauseIdentity = require(\"../runtime/clauseIdentity\");\nvar import_modifierVocabulary = require(\"../runtime/modifierVocabulary\");\nvar import_colorOpacity = require(\"../runtime/colorOpacity\");\nvar import_safeAreaVariables = require(\"../runtime/safeAreaVariables\");\nvar sizingConveniences = /* @__PURE__ */ new Set([\n \"full\",\n \"auto\",\n \"screen\",\n \"dvh\",\n \"lvh\",\n \"svh\",\n \"dvw\",\n \"lvw\",\n \"svw\",\n \"min\",\n \"max\",\n \"fit\"\n]);\nvar fontGenerics = /* @__PURE__ */ new Set([\n \"sans\",\n \"serif\",\n \"mono\"\n]);\nvar numericPattern = /^\\d+(?:\\.\\d+)?$/;\nvar tailwindLeadingRatios = {\n none: 1,\n tight: 1.25,\n snug: 1.375,\n normal: 1.5,\n relaxed: 1.625,\n loose: 2\n};\nvar tailwindTrackingEms = {\n tighter: -0.05,\n tight: -0.025,\n normal: 0,\n wide: 0.025,\n wider: 0.05,\n widest: 0.1\n};\nvar extraPrefixes = [\n \"border-x\",\n \"border-y\",\n \"rounded-t\",\n \"rounded-r\",\n \"rounded-b\",\n \"rounded-l\",\n \"rounded-s\",\n \"rounded-e\",\n \"inset-x\",\n \"inset-y\",\n \"size\",\n \"translate\"\n];\nvar negativeTokenProps = /* @__PURE__ */ new Set([\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n \"marginInlineStart\",\n \"marginInlineEnd\",\n \"marginBlockStart\",\n \"marginBlockEnd\",\n \"marginHorizontal\",\n \"marginVertical\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"inset\",\n \"insetInlineStart\",\n \"insetInlineEnd\",\n \"insetBlockStart\",\n \"insetBlockEnd\",\n \"start\",\n \"end\",\n \"zIndex\",\n \"x\",\n \"y\",\n \"rotate\",\n \"rotateX\",\n \"rotateY\",\n \"rotateZ\",\n \"skewX\",\n \"skewY\",\n \"order\",\n \"scale\",\n \"scaleX\",\n \"scaleY\",\n \"letterSpacing\",\n \"outlineOffset\"\n]);\nvar positionSpaceProps = /* @__PURE__ */ new Set([\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"inset\",\n \"insetInlineStart\",\n \"insetInlineEnd\",\n \"insetBlockStart\",\n \"insetBlockEnd\",\n \"start\",\n \"end\"\n]);\nvar marginSpaceProps = /* @__PURE__ */ new Set([\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n \"marginInlineStart\",\n \"marginInlineEnd\",\n \"marginBlockStart\",\n \"marginBlockEnd\",\n \"marginHorizontal\",\n \"marginVertical\"\n]);\nvar borderWidthKeywords = /* @__PURE__ */ new Set([\n \"thin\",\n \"medium\",\n \"thick\"\n]);\nvar ambiguousCssKeywords = /* @__PURE__ */ new Set([\n \"auto\",\n \"dashed\",\n \"dotted\",\n \"double\",\n \"groove\",\n \"hidden\",\n \"inherit\",\n \"initial\",\n \"inset\",\n \"none\",\n \"outset\",\n \"revert\",\n \"revert-layer\",\n \"ridge\",\n \"solid\",\n \"unset\"\n]);\nvar cssLengthUnits = \"(?:px|em|rem|ex|ch|cap|ic|lh|rlh|vw|vh|vmin|vmax|svw|svh|svmin|svmax|lvw|lvh|lvmin|lvmax|dvw|dvh|dvmin|dvmax|cm|mm|q|in|pt|pc)\";\nvar cssLengthPattern = new RegExp(`^-?(?:\\\\d+|\\\\d*\\\\.\\\\d+)${cssLengthUnits}$`, \"i\");\nfunction hasName(names, name) {\n if (!names) return false;\n if (Array.isArray(names)) return names.includes(name);\n if (names instanceof Set) return names.has(name);\n return name in names;\n}\nfunction splitCandidate(candidate) {\n var parts = [];\n var current = \"\";\n var bracketDepth = 0;\n var escaped = false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = candidate[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var char = _step.value;\n if (escaped) {\n current += char;\n escaped = false;\n continue;\n }\n if (char === \"\\\\\") {\n current += char;\n escaped = true;\n continue;\n }\n if (char === \"[\") bracketDepth++;\n if (char === \"]\") bracketDepth--;\n if (char === \":\" && bracketDepth === 0) {\n parts.push(current);\n current = \"\";\n } else {\n current += char;\n }\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 if (!current || bracketDepth !== 0) return null;\n return {\n modifiers: parts,\n base: current\n };\n}\nvar modifierVocabularyCache = /* @__PURE__ */ new WeakMap();\nvar modifierKindGroup = 5;\nvar modifierKindContainer = 6;\nfunction getModifierVocabulary(config) {\n var vocabulary = modifierVocabularyCache.get(config);\n if (!vocabulary) {\n vocabulary = (0, import_modifierVocabulary.compileModifierVocabulary)(config);\n modifierVocabularyCache.set(config, vocabulary);\n }\n return vocabulary;\n}\nfunction modifierKindCode(modifier, config) {\n var vocabulary = getModifierVocabulary(config);\n var exact = vocabulary[modifier];\n if (exact !== void 0) return exact & 7;\n if ((0, import_clauseIdentity.parseGroupModifier)(modifier)) return modifierKindGroup;\n var sizeEnd = (0, import_clauseIdentity.containerModifierSizeEnd)(modifier);\n if (sizeEnd === -1) return 0;\n var size = modifier.slice(1, sizeEnd);\n return (vocabulary[size] & 7) === import_modifierVocabulary.modifierKindMedia && (config.containerSizeNames === void 0 || hasName(config.containerSizeNames, size)) ? modifierKindContainer : 0;\n}\nfunction normalizeModifiers(modifiers, config) {\n var normalized = [];\n var seen = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = modifiers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var modifier = _step.value;\n var canonical = (0, import_clauseIdentity.canonicalClauseModifier)(modifier);\n var kind = modifierKindCode(canonical, config);\n if (!kind || seen.has(kind)) return null;\n seen.add(kind);\n normalized.push(canonical);\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 normalized;\n}\nfunction tokenDomain(config, category) {\n var _config_tokenNames, _config_tokenNames1;\n var fallback = import_config.propTokenGroupFallbacks[category];\n return ((_config_tokenNames = config.tokenNames) === null || _config_tokenNames === void 0 ? void 0 : _config_tokenNames[category]) || (fallback ? (_config_tokenNames1 = config.tokenNames) === null || _config_tokenNames1 === void 0 ? void 0 : _config_tokenNames1[fallback] : void 0);\n}\nfunction hasTokenDomain(config, category) {\n return tokenDomain(config, category) !== void 0;\n}\nfunction hasTokenName(config, category, name) {\n return resolveTokenName(config, category, name) !== null;\n}\nfunction decimalHalfTokenAlias(name) {\n var match = /^(-?\\d+)\\.5$/.exec(name);\n return match ? `${match[1]}-5` : null;\n}\nfunction resolveTokenName(config, category, name) {\n var names = tokenDomain(config, category);\n if (hasName(names, name)) return name;\n var alias = decimalHalfTokenAlias(name);\n return alias !== null && hasName(names, alias) ? alias : null;\n}\nfunction entriesForProps(props) {\n var byProp = new Map(import_registry.grammarEntries.map(function(entry2) {\n return [\n entry2.prop,\n entry2\n ];\n }));\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 prop = _step.value;\n var entry = byProp.get(prop);\n if (entry) out.push(entry);\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}\nfunction resolveEntries(prefix, config) {\n var _config_shorthands;\n var registered = import_registry.prefixToEntries[prefix];\n if (prefix === \"text\") {\n return entriesForProps([\n \"fontSize\",\n \"textAlign\",\n \"color\"\n ]);\n }\n if (registered) return registered;\n if (prefix === \"border-x\" || prefix === \"border-y\") {\n var sides = prefix === \"border-x\" ? [\n \"Left\",\n \"Right\"\n ] : [\n \"Top\",\n \"Bottom\"\n ];\n return entriesForProps(sides.flatMap(function(side) {\n return [\n `border${side}Width`,\n `border${side}Color`\n ];\n }));\n }\n if (prefix === \"size\") {\n return entriesForProps(import_registry.sizeUtilityProps).map(function(entry) {\n return {\n ...entry,\n tokenCategory: \"size\"\n };\n });\n }\n if (prefix === \"inset-x\" || prefix === \"inset-y\") {\n return entriesForProps(import_registry.insetAxisProps[prefix.slice(\"inset-\".length)]);\n }\n if (prefix === \"translate\") {\n return entriesForProps([\n \"x\",\n \"y\"\n ]);\n }\n if (prefix.startsWith(\"rounded-\")) {\n var props = import_registry.radiusCornerProps[prefix.slice(\"rounded-\".length)];\n return props ? entriesForProps(props) : [];\n }\n var expanded = (_config_shorthands = config.shorthands) === null || _config_shorthands === void 0 ? void 0 : _config_shorthands[prefix];\n if (!expanded) return [];\n return import_registry.grammarEntries.filter(function(entry) {\n return entry.prop === expanded;\n });\n}\nfunction findPrefix(base, config) {\n var prefixes = new Set(Object.keys(import_registry.prefixToEntries));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = extraPrefixes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var prefix = _step.value;\n prefixes.add(prefix);\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 for (var shorthand in config.shorthands) prefixes.add(shorthand);\n var found = null;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = prefixes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var prefix1 = _step1.value;\n if (base.startsWith(`${prefix1}-`) && (!found || prefix1.length > found.length)) {\n found = prefix1;\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return found;\n}\nfunction arbitraryInner(rawValue) {\n if (rawValue.length <= 2 || rawValue[0] !== \"[\" || rawValue.at(-1) !== \"]\") {\n return null;\n }\n var inner = rawValue.slice(1, -1);\n return arbitraryValueIsBalanced(decodeArbitrary(inner)) ? inner : null;\n}\nfunction arbitraryValueIsBalanced(value) {\n var opening = /* @__PURE__ */ new Set([\n \"(\",\n \"[\",\n \"{\"\n ]);\n var matching = {\n \")\": \"(\",\n \"]\": \"[\",\n \"}\": \"{\"\n };\n var stack = [];\n var quote = \"\";\n var escaped = false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var char = _step.value;\n if (escaped) {\n escaped = false;\n continue;\n }\n if (char === \"\\\\\") {\n escaped = true;\n continue;\n }\n if (quote) {\n if (char === quote) quote = \"\";\n continue;\n }\n if (char === '\"' || char === \"'\") {\n quote = char;\n continue;\n }\n if (opening.has(char)) {\n stack.push(char);\n continue;\n }\n var expected = matching[char];\n if (expected && stack.pop() !== expected) return false;\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 !escaped && !quote && stack.length === 0;\n}\nfunction fractionIsValid(value) {\n var fraction = /^(\\d+)\\/(\\d+)$/.exec(value);\n return !!fraction && Number(fraction[2]) !== 0;\n}\nfunction arbitraryTextKind(value) {\n if (/^-?(?:\\d+|\\d*\\.\\d+)$/.test(value)) return \"fontSize\";\n if (cssLengthPattern.test(value) || /^(?:calc|min|max|clamp)\\(/.test(value)) {\n return \"fontSize\";\n }\n if (ambiguousCssKeywords.has(value) || value.startsWith(\"var(\")) return null;\n if (value.startsWith(\"#\") || /^(?:rgb|hsl|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\\(/.test(value) || import_namedCssColors.namedCssColors.has(value.toLowerCase())) {\n return \"color\";\n }\n if (/^[a-zA-Z][a-zA-Z0-9-]*$/.test(value)) return \"fontSize\";\n return null;\n}\nfunction isWidthColorPrefix(prefix) {\n return prefix.startsWith(\"border\") || prefix === \"outline\";\n}\nfunction arbitraryBorderKind(value) {\n if (/^-?(?:\\d+|\\d*\\.\\d+)$/.test(value)) return \"width\";\n if (cssLengthPattern.test(value) || borderWidthKeywords.has(value)) return \"width\";\n if (/^(?:calc|min|max|clamp)\\(/.test(value)) return \"width\";\n if (ambiguousCssKeywords.has(value) || value.startsWith(\"var(\")) return null;\n if (value.startsWith(\"#\") || /^(?:rgb|hsl|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\\(/.test(value) || /^[a-zA-Z][a-zA-Z0-9-]*$/.test(value)) {\n return \"color\";\n }\n return null;\n}\nfunction tokenLookupName(category, value) {\n if (category !== \"color\") return value;\n var suffix = (0, import_colorOpacity.splitColorOpacitySuffix)(value);\n return suffix.kind === \"none\" ? value : suffix.name;\n}\nfunction chooseEntry(entries, prefix, rawValue, negative, config) {\n if ((0, import_safeAreaVariables.getSafeAreaEdge)(rawValue)) {\n var entry = entries.find(function(param) {\n var { tokenCategory } = param;\n return tokenCategory === \"space\" || tokenCategory === \"size\" || tokenCategory === \"radius\" || tokenCategory === \"fontSize\" || tokenCategory === \"lineHeight\" || tokenCategory === \"letterSpacing\";\n });\n if (entry) {\n return {\n entry,\n valueKind: \"convenience\",\n convenience: \"safe-area\"\n };\n }\n }\n var arbitrary = arbitraryInner(rawValue);\n if (arbitrary !== null) {\n if (!arbitrary) return null;\n if (isWidthColorPrefix(prefix)) {\n var width = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Width\");\n });\n var color = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Color\");\n });\n var kind = arbitraryBorderKind(decodeArbitrary(arbitrary));\n if (!kind || !width || !color) return null;\n return {\n entry: kind === \"width\" ? width : color,\n valueKind: \"arbitrary\"\n };\n }\n if (prefix === \"text\") {\n var kind1 = arbitraryTextKind(decodeArbitrary(arbitrary));\n var fontSize = entries.find(function(entry3) {\n return entry3.prop === \"fontSize\";\n });\n var color1 = entries.find(function(entry3) {\n return entry3.prop === \"color\";\n });\n if (kind1 === \"fontSize\" && fontSize) {\n return {\n entry: fontSize,\n valueKind: \"arbitrary\"\n };\n }\n if (kind1 === \"color\" && color1) {\n return {\n entry: color1,\n valueKind: \"arbitrary\"\n };\n }\n return null;\n }\n if (prefix === \"font\") {\n return {\n entry: entries.find(function(entry3) {\n return entry3.prop === \"fontFamily\";\n }),\n valueKind: \"arbitrary\"\n };\n }\n return {\n entry: entries[0],\n valueKind: \"arbitrary\"\n };\n }\n if (prefix === \"text\") {\n var fontSize1 = entries.find(function(entry3) {\n return entry3.prop === \"fontSize\";\n });\n if (fontSize1 && hasTokenName(config, \"fontSize\", rawValue)) {\n return {\n entry: fontSize1,\n valueKind: \"token\"\n };\n }\n if (import_registry.textAlignKeywords.has(rawValue)) {\n return {\n entry: entries.find(function(entry3) {\n return entry3.prop === \"textAlign\";\n }),\n valueKind: \"enum\"\n };\n }\n var color2 = entries.find(function(entry3) {\n return entry3.prop === \"color\";\n });\n if (color2 && rawValue === \"transparent\") {\n return {\n entry: color2,\n valueKind: \"enum\"\n };\n }\n var colorName = tokenLookupName(\"color\", rawValue);\n if (color2 && hasTokenName(config, \"color\", colorName)) {\n return {\n entry: color2,\n valueKind: \"token\"\n };\n }\n return null;\n }\n if (prefix === \"font\") {\n var fontFamily = entries.find(function(entry3) {\n return entry3.prop === \"fontFamily\";\n });\n var fontWeight = entries.find(function(entry3) {\n return entry3.prop === \"fontWeight\";\n });\n if (!fontFamily) return null;\n var matchesFamily = hasTokenName(config, \"fontFamily\", rawValue);\n var matchesWeight = fontWeight && hasTokenName(config, \"fontWeight\", rawValue);\n if (matchesFamily && matchesWeight) return null;\n if (matchesFamily) {\n return {\n entry: fontFamily,\n valueKind: \"token\"\n };\n }\n if (matchesWeight) {\n return {\n entry: fontWeight,\n valueKind: \"token\"\n };\n }\n return fontGenerics.has(rawValue) ? {\n entry: fontFamily,\n valueKind: \"convenience\",\n convenience: \"font-generic\"\n } : null;\n }\n if (isWidthColorPrefix(prefix)) {\n var width1 = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Width\");\n });\n var color3 = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Color\");\n });\n var token = negative ? `-${rawValue}` : rawValue;\n var widthCategory = (width1 === null || width1 === void 0 ? void 0 : width1.tokenCategory) || \"space\";\n var matchesWidth = width1 && hasTokenName(config, widthCategory, token);\n var colorName1 = tokenLookupName(\"color\", rawValue);\n var matchesColor = color3 && hasTokenName(config, \"color\", colorName1);\n if (matchesWidth && matchesColor) return null;\n if (matchesWidth) {\n return {\n entry: width1,\n valueKind: \"token\"\n };\n }\n if (matchesColor) {\n return {\n entry: color3,\n valueKind: \"token\"\n };\n }\n if (color3 && rawValue === \"transparent\") {\n return {\n entry: color3,\n valueKind: \"enum\"\n };\n }\n return null;\n }\n if (prefix === \"flex\" && fractionIsValid(rawValue)) {\n var flex = entries.find(function(entry3) {\n return entry3.prop === \"flex\";\n });\n if (flex) {\n return {\n entry: flex,\n valueKind: \"convenience\",\n convenience: \"flex-bundle\"\n };\n }\n }\n if (prefix === \"tracking\" && Object.hasOwn(tailwindTrackingEms, rawValue)) {\n var letterSpacing = entries.find(function(entry3) {\n return entry3.prop === \"letterSpacing\";\n });\n if (letterSpacing) {\n return {\n entry: letterSpacing,\n valueKind: \"convenience\",\n convenience: \"tracking-keyword\"\n };\n }\n }\n if (prefix === \"leading\" && Object.hasOwn(tailwindLeadingRatios, rawValue)) {\n var lineHeight = entries.find(function(entry3) {\n return entry3.prop === \"lineHeight\";\n });\n if (lineHeight) {\n return {\n entry: lineHeight,\n valueKind: \"convenience\",\n convenience: \"leading-keyword\"\n };\n }\n }\n if (numericPattern.test(rawValue)) {\n var angle = entries.find(function(entry3) {\n var _entry_conveniences2;\n return (_entry_conveniences2 = entry3.conveniences) === null || _entry_conveniences2 === void 0 ? void 0 : _entry_conveniences2.includes(\"angle\");\n });\n if (angle) {\n return {\n entry: angle,\n valueKind: \"convenience\",\n convenience: \"angle\"\n };\n }\n if (prefix === \"flex\") {\n var flex1 = entries.find(function(entry3) {\n return entry3.prop === \"flex\";\n });\n if (flex1) return {\n entry: flex1,\n valueKind: \"convenience\",\n convenience: \"flex-bundle\"\n };\n }\n if (prefix === \"grow\") {\n var grow = entries.find(function(entry3) {\n return entry3.prop === \"flexGrow\";\n });\n if (grow) return {\n entry: grow,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (prefix === \"shrink\") {\n var shrink = entries.find(function(entry3) {\n return entry3.prop === \"flexShrink\";\n });\n if (shrink) return {\n entry: shrink,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (prefix === \"line-clamp\") {\n var clamp = entries.find(function(entry3) {\n return entry3.prop === \"numberOfLines\";\n });\n if (clamp) return {\n entry: clamp,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (prefix === \"leading\") {\n var lineHeight1 = entries.find(function(entry3) {\n return entry3.prop === \"lineHeight\";\n });\n if (lineHeight1 && (!lineHeight1.tokenCategory || !hasTokenName(config, lineHeight1.tokenCategory, rawValue))) {\n return {\n entry: lineHeight1,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n }\n if (prefix === \"grid-cols\" || prefix === \"col-span\" || prefix === \"col-start\" || prefix === \"col-end\" || prefix === \"row-span\" || prefix === \"row-start\" || prefix === \"row-end\") {\n var entry1 = entries[0];\n if (entry1) return {\n entry: entry1,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry2 = _step.value;\n var _entry_conveniences;\n if (entry2.tokenCategory) {\n var _entry_conveniences1;\n if (entry2.tokenCategory === \"color\" && rawValue === \"transparent\") {\n return {\n entry: entry2,\n valueKind: \"enum\"\n };\n }\n if (entry2.tokenCategory === \"radius\" && rawValue === \"none\") {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"zero\"\n };\n }\n var name = negative && rawValue !== \"0\" ? `-${rawValue}` : rawValue;\n var tokenName = tokenLookupName(entry2.tokenCategory, name);\n if (hasTokenName(config, entry2.tokenCategory, tokenName)) {\n return {\n entry: entry2,\n valueKind: \"token\"\n };\n }\n if (((_entry_conveniences1 = entry2.conveniences) === null || _entry_conveniences1 === void 0 ? void 0 : _entry_conveniences1.includes(\"sizing-keyword\")) && (sizingConveniences.has(rawValue) || fractionIsValid(rawValue))) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"sizing-keyword\"\n };\n }\n if (positionSpaceProps.has(entry2.prop) && (rawValue === \"full\" || rawValue === \"auto\" || fractionIsValid(rawValue))) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"sizing-keyword\"\n };\n }\n if (marginSpaceProps.has(entry2.prop) && rawValue === \"auto\") {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"sizing-keyword\"\n };\n }\n if (entry2.tokenCategory === \"zIndex\" && numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n continue;\n }\n if (prefix === \"opacity\" || prefix === \"scale\" || prefix === \"scale-x\" || prefix === \"scale-y\") {\n if (numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"percentage\"\n };\n }\n continue;\n }\n if (entry2.prop === \"zIndex\" && numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (((_entry_conveniences = entry2.conveniences) === null || _entry_conveniences === void 0 ? void 0 : _entry_conveniences.includes(\"integer\")) && numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\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 null;\n}\nfunction parseCandidate(candidate, config) {\n var split = splitCandidate(candidate);\n if (!split) return null;\n var modifiers = normalizeModifiers(split.modifiers, config);\n if (!modifiers) return null;\n var negative = split.base[0] === \"-\";\n var core = negative ? split.base.slice(1) : split.base;\n var prefix = findPrefix(core, config);\n var dynamic;\n if (prefix) {\n var rawValue = core.slice(prefix.length + 1);\n if (rawValue) {\n var entries = resolveEntries(prefix, config);\n var selected = chooseEntry(entries, prefix, rawValue, negative, config);\n if (selected && (!negative || selected.convenience === \"tracking-keyword\" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === \"token\" || selected.valueKind === \"arbitrary\" && selected.entry.prop === \"order\" || selected.convenience === \"angle\" || selected.convenience === \"percentage\" || selected.convenience === \"sizing-keyword\" || selected.convenience === \"integer\"))) {\n dynamic = {\n prefix,\n rawValue,\n selected\n };\n if (selected.valueKind === \"token\") {\n return {\n candidate,\n base: split.base,\n modifiers,\n negative,\n kind: \"dynamic\",\n prefix,\n rawValue,\n arbitrary: arbitraryInner(rawValue) !== null,\n entry: selected.entry,\n valueKind: selected.valueKind,\n convenience: selected.convenience\n };\n }\n }\n }\n }\n var direct = import_registry.wholeClassUtilities[split.base];\n if (!negative && direct && (split.base !== \"shadow\" || hasTokenName(config, \"boxShadow\", \"sm\"))) {\n var convenience = import_registry.wholeClassConveniences[split.base];\n return {\n candidate,\n base: split.base,\n modifiers,\n kind: \"utility\",\n valueKind: convenience ? \"convenience\" : \"enum\",\n properties: direct,\n convenience,\n negative: false\n };\n }\n if (dynamic) {\n return {\n candidate,\n base: split.base,\n modifiers,\n negative,\n kind: \"dynamic\",\n prefix: dynamic.prefix,\n rawValue: dynamic.rawValue,\n arbitrary: arbitraryInner(dynamic.rawValue) !== null,\n entry: dynamic.selected.entry,\n valueKind: dynamic.selected.valueKind,\n convenience: dynamic.selected.convenience\n };\n }\n return null;\n}\nfunction classifyCandidate(candidate, config) {\n var parsed = parseCandidate(candidate, config);\n return parsed ? {\n kind: \"tamagui\",\n parsed\n } : {\n kind: \"passthrough\",\n reason: \"not in the configured Tamagui grammar\"\n };\n}\nfunction tokenValidationConfig(entry, value, config) {\n var tokenNames = {\n ...config === null || config === void 0 ? void 0 : config.tokenNames\n };\n var category = entry.tokenCategory;\n if (tokenNames[category] === void 0) {\n tokenNames[category] = [\n tokenLookupName(category, value)\n ];\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (import_registry.prefixToEntries[entry.prefix] || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var other = _step.value;\n if (other.tokenCategory && tokenNames[other.tokenCategory] === void 0) {\n tokenNames[other.tokenCategory] = [];\n }\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 {\n ...config,\n tokenNames\n };\n}\nfunction formatCandidate(param, config) {\n var { prop, value, valueKind, modifiers = [] } = param;\n var _parsed_entry;\n var entry = import_registry.propToGrammarEntry[prop];\n if (!entry) return null;\n if (valueKind === \"arbitrary\" && value === \"\") return null;\n var normalizedModifiers = normalizeModifiers(modifiers, config || {});\n if (!normalizedModifiers) return null;\n if (valueKind === \"enum\") {\n var _standaloneValueProps_prop;\n var whole = (_standaloneValueProps_prop = import_registry.standaloneValueProps[prop]) === null || _standaloneValueProps_prop === void 0 ? void 0 : _standaloneValueProps_prop[value];\n if (whole) {\n var candidate = normalizedModifiers.length ? `${normalizedModifiers.join(\":\")}:${whole}` : whole;\n if (config) {\n var parsed = parseCandidate(candidate, config);\n if (!(parsed === null || parsed === void 0 ? void 0 : parsed.properties) || parsed.properties[prop] !== value) return null;\n }\n return candidate;\n }\n if (prop === \"fontWeight\") {\n var _wholeClassUtilities_core;\n var name = import_registry.fontWeightNames[value];\n if (!name) return null;\n var core = `font-${name}`;\n if (String((_wholeClassUtilities_core = import_registry.wholeClassUtilities[core]) === null || _wholeClassUtilities_core === void 0 ? void 0 : _wholeClassUtilities_core.fontWeight) !== value) return null;\n var candidate1 = normalizedModifiers.length ? `${normalizedModifiers.join(\":\")}:${core}` : core;\n if (config) {\n var parsed1 = parseCandidate(candidate1, config);\n if (!(parsed1 === null || parsed1 === void 0 ? void 0 : parsed1.properties) || String(parsed1.properties.fontWeight) !== value) {\n return null;\n }\n }\n return candidate1;\n }\n }\n if (!entry.prefix) return null;\n if (valueKind === \"token\") {\n if (!entry.tokenCategory) return null;\n var sourceDomainKnown = !!config && hasTokenDomain(config, entry.tokenCategory);\n var lookupName = tokenLookupName(entry.tokenCategory, value);\n if (sourceDomainKnown && !hasTokenName(config, entry.tokenCategory, lookupName)) return null;\n var colliding = import_registry.prefixToEntries[entry.prefix].filter(function(other2) {\n return other2.prop !== prop && other2.tokenCategory;\n });\n if (colliding.length) {\n if (!config || !sourceDomainKnown) return null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = colliding[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var other = _step.value;\n if (!hasTokenDomain(config, other.tokenCategory)) return null;\n if (hasTokenName(config, other.tokenCategory, value)) return null;\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 }\n }\n var formattedValue = valueKind === \"arbitrary\" ? `[${encodeArbitrary(value)}]` : value;\n var core1 = formattedValue[0] === \"-\" && formattedValue[1] !== \"[\" ? `-${entry.prefix}-${formattedValue.slice(1)}` : formattedValue ? `${entry.prefix}-${formattedValue}` : entry.prefix;\n var candidate2 = normalizedModifiers.length ? `${normalizedModifiers.join(\":\")}:${core1}` : core1;\n var whole1 = import_registry.wholeClassUtilities[core1];\n if (whole1) {\n if (valueKind === \"token\") {\n if (!config || !hasTokenDomain(config, entry.tokenCategory)) return null;\n } else if (config) {\n var _parsed_entry1;\n var parsed2 = parseCandidate(candidate2, config);\n if ((parsed2 === null || parsed2 === void 0 ? void 0 : parsed2.kind) === \"utility\") {\n return parsed2.properties && prop in parsed2.properties && String(parsed2.properties[prop]) === value ? candidate2 : null;\n }\n return (parsed2 === null || parsed2 === void 0 ? void 0 : (_parsed_entry1 = parsed2.entry) === null || _parsed_entry1 === void 0 ? void 0 : _parsed_entry1.prop) === prop && parsed2.valueKind === valueKind ? candidate2 : null;\n } else if (prop in whole1 && String(whole1[prop]) === value) {\n return candidate2;\n } else {\n return null;\n }\n }\n if (valueKind === \"token\") {\n var _parsed_entry2;\n if (!hasTokenDomain(config || {}, entry.tokenCategory) && parseCandidate(candidate2, config || {})) {\n return null;\n }\n var parsed3 = parseCandidate(candidate2, tokenValidationConfig(entry, value, config));\n var parsedValue = (parsed3 === null || parsed3 === void 0 ? void 0 : parsed3.rawValue) ? `${parsed3.negative ? \"-\" : \"\"}${parsed3.rawValue}` : null;\n if ((parsed3 === null || parsed3 === void 0 ? void 0 : parsed3.kind) !== \"dynamic\" || ((_parsed_entry2 = parsed3.entry) === null || _parsed_entry2 === void 0 ? void 0 : _parsed_entry2.prop) !== prop || parsed3.valueKind !== \"token\" || parsedValue !== value) {\n return null;\n }\n return candidate2;\n }\n var parsed4 = parseCandidate(candidate2, config || {});\n if (!parsed4 || ((_parsed_entry = parsed4.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop) !== prop || parsed4.valueKind !== valueKind) return null;\n return candidate2;\n}\nfunction encodeArbitrary(value) {\n var encoded = \"\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var char = _step.value;\n if (char === \"\\\\\" || char === \"_\" || char === \"[\" || char === \"]\") {\n encoded += `\\\\${char}`;\n } else if (/\\s/.test(char)) {\n encoded += \"_\";\n } else {\n encoded += char;\n }\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 encoded;\n}\nfunction decodeArbitrary(value) {\n var decoded = \"\";\n for (var index = 0; index < value.length; index++) {\n var char = value[index];\n if (char === \"\\\\\" && index + 1 < value.length) {\n decoded += value[++index];\n } else {\n decoded += char === \"_\" ? \" \" : char;\n }\n }\n return decoded;\n}\n//# sourceMappingURL=candidate.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,oBAAoB,CAAC;AACzB,SAAS,mBAAmB;CAC1B,yBAAyB;CACzB,6BAA6B;CAC7B,uBAAuB;CACvB,uBAAuB;CACvB,uBAAuB;CACvB,oBAAoB;CACpB,sBAAsB;CACtB,wBAAwB;CACxB,sBAAsB;CACtB,6BAA6B;CAC7B,2BAA2B;AAC7B,CAAC;AACD,OAAO,UAAU,aAAa,iBAAiB;AAC/C,IAAI,wBAAwB,QAAQ,qCAA2B;AAC/D,IAAI,gBAAgB,QAAQ,oBAAU;AACtC,IAAI,kBAAkB,QAAQ,sBAAY;AAC1C,IAAI,wBAAwB,QAAQ,qCAA2B;AAC/D,IAAI,4BAA4B,QAAQ,yCAA+B;AACvE,IAAI,sBAAsB,QAAQ,mCAAyB;AAC3D,IAAI,2BAA2B,QAAQ,wCAA8B;AACrE,IAAI,qCAAqC,IAAI,IAAI;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,+BAA+B,IAAI,IAAI;CACzC;CACA;CACA;AACF,CAAC;AACD,IAAI,iBAAiB;AACrB,IAAI,wBAAwB;CAC1B,MAAM;CACN,OAAO;CACP,MAAM;CACN,QAAQ;CACR,SAAS;CACT,OAAO;AACT;AACA,IAAI,sBAAsB;CACxB,SAAS,CAAC;CACV,OAAO,CAAC;CACR,QAAQ;CACR,MAAM;CACN,OAAO;CACP,QAAQ;AACV;AACA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,IAAI,qCAAqC,IAAI,IAAI;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,qCAAqC,IAAI,IAAI;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,mCAAmC,IAAI,IAAI;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,sCAAsC,IAAI,IAAI;CAChD;CACA;CACA;AACF,CAAC;AACD,IAAI,uCAAuC,IAAI,IAAI;CACjD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,iBAAiB;AACrB,IAAI,mBAAmB,IAAI,OAAO,0BAA0B,eAAe,IAAI,GAAG;AAClF,SAAS,QAAQ,OAAO,MAAM;CAC5B,IAAI,CAAC,OAAO,OAAO;CACnB,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,SAAS,IAAI;CACpD,IAAI,iBAAiB,KAAK,OAAO,MAAM,IAAI,IAAI;CAC/C,OAAO,QAAQ;AACjB;AACA,SAAS,eAAe,WAAW;CACjC,IAAI,QAAQ,CAAC;CACb,IAAI,UAAU;CACd,IAAI,eAAe;CACnB,IAAI,UAAU;CACd,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,UAAU,OAA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"}
|
|
1
|
+
{"version":3,"file":"candidate.native.js","names":[],"sources":["cjs/tooling/candidate.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar candidate_exports = {};\n__export(candidate_exports, {\n classifyCandidate: () => classifyCandidate,\n decimalHalfTokenAlias: () => decimalHalfTokenAlias,\n decodeArbitrary: () => decodeArbitrary,\n encodeArbitrary: () => encodeArbitrary,\n formatCandidate: () => formatCandidate,\n hasTokenName: () => hasTokenName,\n parseCandidate: () => parseCandidate,\n resolveTokenName: () => resolveTokenName,\n splitCandidate: () => splitCandidate,\n tailwindLeadingRatios: () => tailwindLeadingRatios,\n tailwindTrackingEms: () => tailwindTrackingEms\n});\nmodule.exports = __toCommonJS(candidate_exports);\nvar import_namedCssColors = require(\"../runtime/namedCssColors\");\nvar import_config = require(\"./config\");\nvar import_registry = require(\"./registry\");\nvar import_clauseIdentity = require(\"../runtime/clauseIdentity\");\nvar import_modifierVocabulary = require(\"../runtime/modifierVocabulary\");\nvar import_colorOpacity = require(\"../runtime/colorOpacity\");\nvar import_safeAreaVariables = require(\"../runtime/safeAreaVariables\");\nvar sizingConveniences = /* @__PURE__ */ new Set([\n \"full\",\n \"auto\",\n \"screen\",\n \"dvh\",\n \"lvh\",\n \"svh\",\n \"dvw\",\n \"lvw\",\n \"svw\",\n \"min\",\n \"max\",\n \"fit\"\n]);\nvar fontGenerics = /* @__PURE__ */ new Set([\n \"sans\",\n \"serif\",\n \"mono\"\n]);\nvar numericPattern = /^\\d+(?:\\.\\d+)?$/;\nvar tailwindLeadingRatios = {\n none: 1,\n tight: 1.25,\n snug: 1.375,\n normal: 1.5,\n relaxed: 1.625,\n loose: 2\n};\nvar tailwindTrackingEms = {\n tighter: -0.05,\n tight: -0.025,\n normal: 0,\n wide: 0.025,\n wider: 0.05,\n widest: 0.1\n};\nvar extraPrefixes = [\n \"border-x\",\n \"border-y\",\n \"rounded-t\",\n \"rounded-r\",\n \"rounded-b\",\n \"rounded-l\",\n \"rounded-s\",\n \"rounded-e\",\n \"inset-x\",\n \"inset-y\",\n \"size\",\n \"translate\"\n];\nvar negativeTokenProps = /* @__PURE__ */ new Set([\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n \"marginInlineStart\",\n \"marginInlineEnd\",\n \"marginBlockStart\",\n \"marginBlockEnd\",\n \"marginHorizontal\",\n \"marginVertical\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"inset\",\n \"insetInlineStart\",\n \"insetInlineEnd\",\n \"insetBlockStart\",\n \"insetBlockEnd\",\n \"start\",\n \"end\",\n \"zIndex\",\n \"x\",\n \"y\",\n \"rotate\",\n \"rotateX\",\n \"rotateY\",\n \"rotateZ\",\n \"skewX\",\n \"skewY\",\n \"order\",\n \"scale\",\n \"scaleX\",\n \"scaleY\",\n \"letterSpacing\",\n \"outlineOffset\"\n]);\nvar positionSpaceProps = /* @__PURE__ */ new Set([\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"inset\",\n \"insetInlineStart\",\n \"insetInlineEnd\",\n \"insetBlockStart\",\n \"insetBlockEnd\",\n \"start\",\n \"end\"\n]);\nvar marginSpaceProps = /* @__PURE__ */ new Set([\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n \"marginInlineStart\",\n \"marginInlineEnd\",\n \"marginBlockStart\",\n \"marginBlockEnd\",\n \"marginHorizontal\",\n \"marginVertical\"\n]);\nvar borderWidthKeywords = /* @__PURE__ */ new Set([\n \"thin\",\n \"medium\",\n \"thick\"\n]);\nvar ambiguousCssKeywords = /* @__PURE__ */ new Set([\n \"auto\",\n \"dashed\",\n \"dotted\",\n \"double\",\n \"groove\",\n \"hidden\",\n \"inherit\",\n \"initial\",\n \"inset\",\n \"none\",\n \"outset\",\n \"revert\",\n \"revert-layer\",\n \"ridge\",\n \"solid\",\n \"unset\"\n]);\nvar cssLengthUnits = \"(?:px|em|rem|ex|ch|cap|ic|lh|rlh|vw|vh|vmin|vmax|svw|svh|svmin|svmax|lvw|lvh|lvmin|lvmax|dvw|dvh|dvmin|dvmax|cm|mm|q|in|pt|pc)\";\nvar cssLengthPattern = new RegExp(`^-?(?:\\\\d+|\\\\d*\\\\.\\\\d+)${cssLengthUnits}$`, \"i\");\nfunction hasName(names, name) {\n if (!names) return false;\n if (Array.isArray(names)) return names.includes(name);\n if (names instanceof Set) return names.has(name);\n return name in names;\n}\nfunction splitCandidate(candidate) {\n var parts = [];\n var current = \"\";\n var bracketDepth = 0;\n var escaped = false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = candidate[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var char = _step.value;\n if (escaped) {\n current += char;\n escaped = false;\n continue;\n }\n if (char === \"\\\\\") {\n current += char;\n escaped = true;\n continue;\n }\n if (char === \"[\") bracketDepth++;\n if (char === \"]\") bracketDepth--;\n if (char === \":\" && bracketDepth === 0) {\n parts.push(current);\n current = \"\";\n } else {\n current += char;\n }\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 if (!current || bracketDepth !== 0) return null;\n return {\n modifiers: parts,\n base: current\n };\n}\nvar modifierVocabularyCache = /* @__PURE__ */ new WeakMap();\nvar modifierKindGroup = 5;\nvar modifierKindContainer = 6;\nfunction getModifierVocabulary(config) {\n var vocabulary = modifierVocabularyCache.get(config);\n if (!vocabulary) {\n vocabulary = (0, import_modifierVocabulary.compileModifierVocabulary)(config);\n modifierVocabularyCache.set(config, vocabulary);\n }\n return vocabulary;\n}\nfunction modifierKindCode(modifier, config) {\n var vocabulary = getModifierVocabulary(config);\n var exact = vocabulary[modifier];\n if (exact !== void 0) return exact & 7;\n if ((0, import_clauseIdentity.parseGroupModifier)(modifier)) return modifierKindGroup;\n var sizeEnd = (0, import_clauseIdentity.containerModifierSizeEnd)(modifier);\n if (sizeEnd === -1) return 0;\n var size = modifier.slice(1, sizeEnd);\n return (vocabulary[size] & 7) === import_modifierVocabulary.modifierKindMedia && (config.containerSizeNames === void 0 || hasName(config.containerSizeNames, size)) ? modifierKindContainer : 0;\n}\nfunction normalizeModifiers(modifiers, config) {\n var normalized = [];\n var seen = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = modifiers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var modifier = _step.value;\n var canonical = (0, import_clauseIdentity.canonicalClauseModifier)(modifier);\n var kind = modifierKindCode(canonical, config);\n if (!kind || seen.has(kind)) return null;\n seen.add(kind);\n normalized.push(canonical);\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 normalized;\n}\nfunction tokenDomain(config, category) {\n var _config_tokenNames, _config_tokenNames1;\n var fallback = import_config.propTokenGroupFallbacks[category];\n return ((_config_tokenNames = config.tokenNames) === null || _config_tokenNames === void 0 ? void 0 : _config_tokenNames[category]) || (fallback ? (_config_tokenNames1 = config.tokenNames) === null || _config_tokenNames1 === void 0 ? void 0 : _config_tokenNames1[fallback] : void 0);\n}\nfunction hasTokenDomain(config, category) {\n return tokenDomain(config, category) !== void 0;\n}\nfunction hasTokenName(config, category, name) {\n return resolveTokenName(config, category, name) !== null;\n}\nfunction decimalHalfTokenAlias(name) {\n var match = /^(-?\\d+)\\.5$/.exec(name);\n return match ? `${match[1]}-5` : null;\n}\nfunction resolveTokenName(config, category, name) {\n var names = tokenDomain(config, category);\n if (hasName(names, name)) return name;\n var alias = decimalHalfTokenAlias(name);\n return alias !== null && hasName(names, alias) ? alias : null;\n}\nfunction entriesForProps(props) {\n var byProp = new Map(import_registry.grammarEntries.map(function(entry2) {\n return [\n entry2.prop,\n entry2\n ];\n }));\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 prop = _step.value;\n var entry = byProp.get(prop);\n if (entry) out.push(entry);\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}\nfunction resolveEntries(prefix, config) {\n var _config_shorthands;\n var registered = import_registry.prefixToEntries[prefix];\n if (prefix === \"text\") {\n return entriesForProps([\n \"fontSize\",\n \"textAlign\",\n \"color\"\n ]);\n }\n if (registered) return registered;\n if (prefix === \"border-x\" || prefix === \"border-y\") {\n var sides = prefix === \"border-x\" ? [\n \"Left\",\n \"Right\"\n ] : [\n \"Top\",\n \"Bottom\"\n ];\n return entriesForProps(sides.flatMap(function(side) {\n return [\n `border${side}Width`,\n `border${side}Color`\n ];\n }));\n }\n if (prefix === \"size\") {\n return entriesForProps(import_registry.sizeUtilityProps).map(function(entry) {\n return {\n ...entry,\n tokenCategory: \"size\"\n };\n });\n }\n if (prefix === \"inset-x\" || prefix === \"inset-y\") {\n return entriesForProps(import_registry.insetAxisProps[prefix.slice(\"inset-\".length)]);\n }\n if (prefix === \"translate\") {\n return entriesForProps([\n \"x\",\n \"y\"\n ]);\n }\n if (prefix.startsWith(\"rounded-\")) {\n var props = import_registry.radiusCornerProps[prefix.slice(\"rounded-\".length)];\n return props ? entriesForProps(props) : [];\n }\n var expanded = (_config_shorthands = config.shorthands) === null || _config_shorthands === void 0 ? void 0 : _config_shorthands[prefix];\n if (!expanded) return [];\n return import_registry.grammarEntries.filter(function(entry) {\n return entry.prop === expanded;\n });\n}\nfunction findPrefix(base, config) {\n var prefixes = new Set(Object.keys(import_registry.prefixToEntries));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = extraPrefixes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var prefix = _step.value;\n prefixes.add(prefix);\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 for (var shorthand in config.shorthands) prefixes.add(shorthand);\n var found = null;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = prefixes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var prefix1 = _step1.value;\n if (base.startsWith(`${prefix1}-`) && (!found || prefix1.length > found.length)) {\n found = prefix1;\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return found;\n}\nfunction arbitraryInner(rawValue) {\n if (rawValue.length <= 2 || rawValue[0] !== \"[\" || rawValue.at(-1) !== \"]\") {\n return null;\n }\n var inner = rawValue.slice(1, -1);\n return arbitraryValueIsBalanced(decodeArbitrary(inner)) ? inner : null;\n}\nfunction arbitraryValueIsBalanced(value) {\n var opening = /* @__PURE__ */ new Set([\n \"(\",\n \"[\",\n \"{\"\n ]);\n var matching = {\n \")\": \"(\",\n \"]\": \"[\",\n \"}\": \"{\"\n };\n var stack = [];\n var quote = \"\";\n var escaped = false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var char = _step.value;\n if (escaped) {\n escaped = false;\n continue;\n }\n if (char === \"\\\\\") {\n escaped = true;\n continue;\n }\n if (quote) {\n if (char === quote) quote = \"\";\n continue;\n }\n if (char === '\"' || char === \"'\") {\n quote = char;\n continue;\n }\n if (opening.has(char)) {\n stack.push(char);\n continue;\n }\n var expected = matching[char];\n if (expected && stack.pop() !== expected) return false;\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 !escaped && !quote && stack.length === 0;\n}\nfunction fractionIsValid(value) {\n var fraction = /^(\\d+)\\/(\\d+)$/.exec(value);\n return !!fraction && Number(fraction[2]) !== 0;\n}\nfunction arbitraryTextKind(value) {\n if (/^-?(?:\\d+|\\d*\\.\\d+)$/.test(value)) return \"fontSize\";\n if (cssLengthPattern.test(value) || /^(?:calc|min|max|clamp)\\(/.test(value)) {\n return \"fontSize\";\n }\n if (ambiguousCssKeywords.has(value) || value.startsWith(\"var(\")) return null;\n if (value.startsWith(\"#\") || /^(?:rgb|hsl|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\\(/.test(value) || import_namedCssColors.namedCssColors.has(value.toLowerCase())) {\n return \"color\";\n }\n if (/^[a-zA-Z][a-zA-Z0-9-]*$/.test(value)) return \"fontSize\";\n return null;\n}\nfunction isWidthColorPrefix(prefix) {\n return prefix.startsWith(\"border\") || prefix === \"outline\";\n}\nfunction arbitraryBorderKind(value) {\n if (/^-?(?:\\d+|\\d*\\.\\d+)$/.test(value)) return \"width\";\n if (cssLengthPattern.test(value) || borderWidthKeywords.has(value)) return \"width\";\n if (/^(?:calc|min|max|clamp)\\(/.test(value)) return \"width\";\n if (ambiguousCssKeywords.has(value) || value.startsWith(\"var(\")) return null;\n if (value.startsWith(\"#\") || /^(?:rgb|hsl|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\\(/.test(value) || /^[a-zA-Z][a-zA-Z0-9-]*$/.test(value)) {\n return \"color\";\n }\n return null;\n}\nfunction tokenLookupName(category, value) {\n if (category !== \"color\") return value;\n var suffix = (0, import_colorOpacity.splitColorOpacitySuffix)(value);\n return suffix.kind === \"none\" ? value : suffix.name;\n}\nfunction chooseEntry(entries, prefix, rawValue, negative, config) {\n if ((0, import_safeAreaVariables.getSafeAreaEdge)(rawValue)) {\n var entry = entries.find(function(param) {\n var { tokenCategory } = param;\n return tokenCategory === \"space\" || tokenCategory === \"size\" || tokenCategory === \"radius\" || tokenCategory === \"fontSize\" || tokenCategory === \"lineHeight\" || tokenCategory === \"letterSpacing\";\n });\n if (entry) {\n return {\n entry,\n valueKind: \"convenience\",\n convenience: \"safe-area\"\n };\n }\n }\n var arbitrary = arbitraryInner(rawValue);\n if (arbitrary !== null) {\n if (!arbitrary) return null;\n if (isWidthColorPrefix(prefix)) {\n var width = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Width\");\n });\n var color = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Color\");\n });\n var kind = arbitraryBorderKind(decodeArbitrary(arbitrary));\n if (!kind || !width || !color) return null;\n return {\n entry: kind === \"width\" ? width : color,\n valueKind: \"arbitrary\"\n };\n }\n if (prefix === \"text\") {\n var kind1 = arbitraryTextKind(decodeArbitrary(arbitrary));\n var fontSize = entries.find(function(entry3) {\n return entry3.prop === \"fontSize\";\n });\n var color1 = entries.find(function(entry3) {\n return entry3.prop === \"color\";\n });\n if (kind1 === \"fontSize\" && fontSize) {\n return {\n entry: fontSize,\n valueKind: \"arbitrary\"\n };\n }\n if (kind1 === \"color\" && color1) {\n return {\n entry: color1,\n valueKind: \"arbitrary\"\n };\n }\n return null;\n }\n if (prefix === \"font\") {\n return {\n entry: entries.find(function(entry3) {\n return entry3.prop === \"fontFamily\";\n }),\n valueKind: \"arbitrary\"\n };\n }\n return {\n entry: entries[0],\n valueKind: \"arbitrary\"\n };\n }\n if (prefix === \"text\") {\n var fontSize1 = entries.find(function(entry3) {\n return entry3.prop === \"fontSize\";\n });\n if (fontSize1 && hasTokenName(config, \"fontSize\", rawValue)) {\n return {\n entry: fontSize1,\n valueKind: \"token\"\n };\n }\n if (import_registry.textAlignKeywords.has(rawValue)) {\n return {\n entry: entries.find(function(entry3) {\n return entry3.prop === \"textAlign\";\n }),\n valueKind: \"enum\"\n };\n }\n var color2 = entries.find(function(entry3) {\n return entry3.prop === \"color\";\n });\n if (color2 && rawValue === \"transparent\") {\n return {\n entry: color2,\n valueKind: \"enum\"\n };\n }\n var colorName = tokenLookupName(\"color\", rawValue);\n if (color2 && hasTokenName(config, \"color\", colorName)) {\n return {\n entry: color2,\n valueKind: \"token\"\n };\n }\n return null;\n }\n if (prefix === \"font\") {\n var fontFamily = entries.find(function(entry3) {\n return entry3.prop === \"fontFamily\";\n });\n var fontWeight = entries.find(function(entry3) {\n return entry3.prop === \"fontWeight\";\n });\n if (!fontFamily) return null;\n var matchesFamily = hasTokenName(config, \"fontFamily\", rawValue);\n var matchesWeight = fontWeight && hasTokenName(config, \"fontWeight\", rawValue);\n if (matchesFamily && matchesWeight) return null;\n if (matchesFamily) {\n return {\n entry: fontFamily,\n valueKind: \"token\"\n };\n }\n if (matchesWeight) {\n return {\n entry: fontWeight,\n valueKind: \"token\"\n };\n }\n return fontGenerics.has(rawValue) ? {\n entry: fontFamily,\n valueKind: \"convenience\",\n convenience: \"font-generic\"\n } : null;\n }\n if (isWidthColorPrefix(prefix)) {\n var width1 = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Width\");\n });\n var color3 = entries.find(function(entry3) {\n return entry3.prop.endsWith(\"Color\");\n });\n var token = negative ? `-${rawValue}` : rawValue;\n var widthCategory = (width1 === null || width1 === void 0 ? void 0 : width1.tokenCategory) || \"space\";\n var matchesWidth = width1 && hasTokenName(config, widthCategory, token);\n var colorName1 = tokenLookupName(\"color\", rawValue);\n var matchesColor = color3 && hasTokenName(config, \"color\", colorName1);\n if (matchesWidth && matchesColor) return null;\n if (matchesWidth) {\n return {\n entry: width1,\n valueKind: \"token\"\n };\n }\n if (matchesColor) {\n return {\n entry: color3,\n valueKind: \"token\"\n };\n }\n if (color3 && rawValue === \"transparent\") {\n return {\n entry: color3,\n valueKind: \"enum\"\n };\n }\n return null;\n }\n if (prefix === \"flex\" && fractionIsValid(rawValue)) {\n var flex = entries.find(function(entry3) {\n return entry3.prop === \"flex\";\n });\n if (flex) {\n return {\n entry: flex,\n valueKind: \"convenience\",\n convenience: \"flex-bundle\"\n };\n }\n }\n if (prefix === \"tracking\" && Object.hasOwn(tailwindTrackingEms, rawValue)) {\n var letterSpacing = entries.find(function(entry3) {\n return entry3.prop === \"letterSpacing\";\n });\n if (letterSpacing) {\n return {\n entry: letterSpacing,\n valueKind: \"convenience\",\n convenience: \"tracking-keyword\"\n };\n }\n }\n if (prefix === \"leading\" && Object.hasOwn(tailwindLeadingRatios, rawValue)) {\n var lineHeight = entries.find(function(entry3) {\n return entry3.prop === \"lineHeight\";\n });\n if (lineHeight) {\n return {\n entry: lineHeight,\n valueKind: \"convenience\",\n convenience: \"leading-keyword\"\n };\n }\n }\n if (numericPattern.test(rawValue)) {\n var angle = entries.find(function(entry3) {\n var _entry_conveniences2;\n return (_entry_conveniences2 = entry3.conveniences) === null || _entry_conveniences2 === void 0 ? void 0 : _entry_conveniences2.includes(\"angle\");\n });\n if (angle) {\n return {\n entry: angle,\n valueKind: \"convenience\",\n convenience: \"angle\"\n };\n }\n if (prefix === \"flex\") {\n var flex1 = entries.find(function(entry3) {\n return entry3.prop === \"flex\";\n });\n if (flex1) return {\n entry: flex1,\n valueKind: \"convenience\",\n convenience: \"flex-bundle\"\n };\n }\n if (prefix === \"grow\") {\n var grow = entries.find(function(entry3) {\n return entry3.prop === \"flexGrow\";\n });\n if (grow) return {\n entry: grow,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (prefix === \"shrink\") {\n var shrink = entries.find(function(entry3) {\n return entry3.prop === \"flexShrink\";\n });\n if (shrink) return {\n entry: shrink,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (prefix === \"line-clamp\") {\n var clamp = entries.find(function(entry3) {\n return entry3.prop === \"numberOfLines\";\n });\n if (clamp) return {\n entry: clamp,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (prefix === \"leading\") {\n var lineHeight1 = entries.find(function(entry3) {\n return entry3.prop === \"lineHeight\";\n });\n if (lineHeight1 && (!lineHeight1.tokenCategory || !hasTokenName(config, lineHeight1.tokenCategory, rawValue))) {\n return {\n entry: lineHeight1,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n }\n if (prefix === \"grid-cols\" || prefix === \"col-span\" || prefix === \"col-start\" || prefix === \"col-end\" || prefix === \"row-span\" || prefix === \"row-start\" || prefix === \"row-end\") {\n var entry1 = entries[0];\n if (entry1) return {\n entry: entry1,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry2 = _step.value;\n var _entry_conveniences;\n if (entry2.tokenCategory) {\n var _entry_conveniences1;\n if (entry2.tokenCategory === \"color\" && rawValue === \"transparent\") {\n return {\n entry: entry2,\n valueKind: \"enum\"\n };\n }\n if (entry2.tokenCategory === \"radius\" && rawValue === \"none\") {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"zero\"\n };\n }\n var name = negative && rawValue !== \"0\" ? `-${rawValue}` : rawValue;\n var tokenName = tokenLookupName(entry2.tokenCategory, name);\n if (hasTokenName(config, entry2.tokenCategory, tokenName)) {\n return {\n entry: entry2,\n valueKind: \"token\"\n };\n }\n if (((_entry_conveniences1 = entry2.conveniences) === null || _entry_conveniences1 === void 0 ? void 0 : _entry_conveniences1.includes(\"sizing-keyword\")) && (sizingConveniences.has(rawValue) || fractionIsValid(rawValue))) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"sizing-keyword\"\n };\n }\n if (positionSpaceProps.has(entry2.prop) && (rawValue === \"full\" || rawValue === \"auto\" || fractionIsValid(rawValue))) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"sizing-keyword\"\n };\n }\n if (marginSpaceProps.has(entry2.prop) && rawValue === \"auto\") {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"sizing-keyword\"\n };\n }\n if (entry2.tokenCategory === \"zIndex\" && numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (numericPattern.test(rawValue) && (entry2.tokenCategory === \"space\" || entry2.tokenCategory === \"size\" || import_config.propTokenGroupFallbacks[entry2.tokenCategory] === \"size\")) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"spacing-scale\"\n };\n }\n continue;\n }\n if (prefix === \"opacity\" || prefix === \"scale\" || prefix === \"scale-x\" || prefix === \"scale-y\") {\n if (numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"percentage\"\n };\n }\n continue;\n }\n if (entry2.prop === \"zIndex\" && numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\n if (((_entry_conveniences = entry2.conveniences) === null || _entry_conveniences === void 0 ? void 0 : _entry_conveniences.includes(\"integer\")) && numericPattern.test(rawValue)) {\n return {\n entry: entry2,\n valueKind: \"convenience\",\n convenience: \"integer\"\n };\n }\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 null;\n}\nfunction parseCandidate(candidate, config) {\n var split = splitCandidate(candidate);\n if (!split) return null;\n var modifiers = normalizeModifiers(split.modifiers, config);\n if (!modifiers) return null;\n var negative = split.base[0] === \"-\";\n var core = negative ? split.base.slice(1) : split.base;\n var prefix = findPrefix(core, config);\n var dynamic;\n if (prefix) {\n var rawValue = core.slice(prefix.length + 1);\n if (rawValue) {\n var entries = resolveEntries(prefix, config);\n var selected = chooseEntry(entries, prefix, rawValue, negative, config);\n if (selected && (!negative || selected.convenience === \"tracking-keyword\" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === \"token\" || selected.valueKind === \"arbitrary\" && selected.entry.prop === \"order\" || selected.convenience === \"angle\" || selected.convenience === \"percentage\" || selected.convenience === \"sizing-keyword\" || selected.convenience === \"spacing-scale\" || selected.convenience === \"integer\"))) {\n dynamic = {\n prefix,\n rawValue,\n selected\n };\n if (selected.valueKind === \"token\") {\n return {\n candidate,\n base: split.base,\n modifiers,\n negative,\n kind: \"dynamic\",\n prefix,\n rawValue,\n arbitrary: arbitraryInner(rawValue) !== null,\n entry: selected.entry,\n valueKind: selected.valueKind,\n convenience: selected.convenience\n };\n }\n }\n }\n }\n var direct = import_registry.wholeClassUtilities[split.base];\n if (!negative && direct && (split.base !== \"shadow\" || hasTokenName(config, \"boxShadow\", \"sm\"))) {\n var convenience = import_registry.wholeClassConveniences[split.base];\n return {\n candidate,\n base: split.base,\n modifiers,\n kind: \"utility\",\n valueKind: convenience ? \"convenience\" : \"enum\",\n properties: direct,\n convenience,\n negative: false\n };\n }\n if (dynamic) {\n return {\n candidate,\n base: split.base,\n modifiers,\n negative,\n kind: \"dynamic\",\n prefix: dynamic.prefix,\n rawValue: dynamic.rawValue,\n arbitrary: arbitraryInner(dynamic.rawValue) !== null,\n entry: dynamic.selected.entry,\n valueKind: dynamic.selected.valueKind,\n convenience: dynamic.selected.convenience\n };\n }\n return null;\n}\nfunction classifyCandidate(candidate, config) {\n var parsed = parseCandidate(candidate, config);\n return parsed ? {\n kind: \"tamagui\",\n parsed\n } : {\n kind: \"passthrough\",\n reason: \"not in the configured Tamagui grammar\"\n };\n}\nfunction tokenValidationConfig(entry, value, config) {\n var tokenNames = {\n ...config === null || config === void 0 ? void 0 : config.tokenNames\n };\n var category = entry.tokenCategory;\n if (tokenNames[category] === void 0) {\n tokenNames[category] = [\n tokenLookupName(category, value)\n ];\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (import_registry.prefixToEntries[entry.prefix] || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var other = _step.value;\n if (other.tokenCategory && tokenNames[other.tokenCategory] === void 0) {\n tokenNames[other.tokenCategory] = [];\n }\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 {\n ...config,\n tokenNames\n };\n}\nfunction formatCandidate(param, config) {\n var { prop, value, valueKind, modifiers = [] } = param;\n var _parsed_entry;\n var entry = import_registry.propToGrammarEntry[prop];\n if (!entry) return null;\n if (valueKind === \"arbitrary\" && value === \"\") return null;\n var normalizedModifiers = normalizeModifiers(modifiers, config || {});\n if (!normalizedModifiers) return null;\n if (valueKind === \"enum\") {\n var _standaloneValueProps_prop;\n var whole = (_standaloneValueProps_prop = import_registry.standaloneValueProps[prop]) === null || _standaloneValueProps_prop === void 0 ? void 0 : _standaloneValueProps_prop[value];\n if (whole) {\n var candidate = normalizedModifiers.length ? `${normalizedModifiers.join(\":\")}:${whole}` : whole;\n if (config) {\n var parsed = parseCandidate(candidate, config);\n if (!(parsed === null || parsed === void 0 ? void 0 : parsed.properties) || parsed.properties[prop] !== value) return null;\n }\n return candidate;\n }\n if (prop === \"fontWeight\") {\n var _wholeClassUtilities_core;\n var name = import_registry.fontWeightNames[value];\n if (!name) return null;\n var core = `font-${name}`;\n if (String((_wholeClassUtilities_core = import_registry.wholeClassUtilities[core]) === null || _wholeClassUtilities_core === void 0 ? void 0 : _wholeClassUtilities_core.fontWeight) !== value) return null;\n var candidate1 = normalizedModifiers.length ? `${normalizedModifiers.join(\":\")}:${core}` : core;\n if (config) {\n var parsed1 = parseCandidate(candidate1, config);\n if (!(parsed1 === null || parsed1 === void 0 ? void 0 : parsed1.properties) || String(parsed1.properties.fontWeight) !== value) {\n return null;\n }\n }\n return candidate1;\n }\n }\n if (!entry.prefix) return null;\n if (valueKind === \"token\") {\n if (!entry.tokenCategory) return null;\n var sourceDomainKnown = !!config && hasTokenDomain(config, entry.tokenCategory);\n var lookupName = tokenLookupName(entry.tokenCategory, value);\n if (sourceDomainKnown && !hasTokenName(config, entry.tokenCategory, lookupName)) return null;\n var colliding = import_registry.prefixToEntries[entry.prefix].filter(function(other2) {\n return other2.prop !== prop && other2.tokenCategory;\n });\n if (colliding.length) {\n if (!config || !sourceDomainKnown) return null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = colliding[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var other = _step.value;\n if (!hasTokenDomain(config, other.tokenCategory)) return null;\n if (hasTokenName(config, other.tokenCategory, value)) return null;\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 }\n }\n var formattedValue = valueKind === \"arbitrary\" ? `[${encodeArbitrary(value)}]` : value;\n var core1 = formattedValue[0] === \"-\" && formattedValue[1] !== \"[\" ? `-${entry.prefix}-${formattedValue.slice(1)}` : formattedValue ? `${entry.prefix}-${formattedValue}` : entry.prefix;\n var candidate2 = normalizedModifiers.length ? `${normalizedModifiers.join(\":\")}:${core1}` : core1;\n var whole1 = import_registry.wholeClassUtilities[core1];\n if (whole1) {\n if (valueKind === \"token\") {\n if (!config || !hasTokenDomain(config, entry.tokenCategory)) return null;\n } else if (config) {\n var _parsed_entry1;\n var parsed2 = parseCandidate(candidate2, config);\n if ((parsed2 === null || parsed2 === void 0 ? void 0 : parsed2.kind) === \"utility\") {\n return parsed2.properties && prop in parsed2.properties && String(parsed2.properties[prop]) === value ? candidate2 : null;\n }\n return (parsed2 === null || parsed2 === void 0 ? void 0 : (_parsed_entry1 = parsed2.entry) === null || _parsed_entry1 === void 0 ? void 0 : _parsed_entry1.prop) === prop && parsed2.valueKind === valueKind ? candidate2 : null;\n } else if (prop in whole1 && String(whole1[prop]) === value) {\n return candidate2;\n } else {\n return null;\n }\n }\n if (valueKind === \"token\") {\n var _parsed_entry2;\n if (!hasTokenDomain(config || {}, entry.tokenCategory) && parseCandidate(candidate2, config || {})) {\n return null;\n }\n var parsed3 = parseCandidate(candidate2, tokenValidationConfig(entry, value, config));\n var parsedValue = (parsed3 === null || parsed3 === void 0 ? void 0 : parsed3.rawValue) ? `${parsed3.negative ? \"-\" : \"\"}${parsed3.rawValue}` : null;\n if ((parsed3 === null || parsed3 === void 0 ? void 0 : parsed3.kind) !== \"dynamic\" || ((_parsed_entry2 = parsed3.entry) === null || _parsed_entry2 === void 0 ? void 0 : _parsed_entry2.prop) !== prop || parsed3.valueKind !== \"token\" || parsedValue !== value) {\n return null;\n }\n return candidate2;\n }\n var parsed4 = parseCandidate(candidate2, config || {});\n if (!parsed4 || ((_parsed_entry = parsed4.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop) !== prop || parsed4.valueKind !== valueKind) return null;\n return candidate2;\n}\nfunction encodeArbitrary(value) {\n var encoded = \"\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var char = _step.value;\n if (char === \"\\\\\" || char === \"_\" || char === \"[\" || char === \"]\") {\n encoded += `\\\\${char}`;\n } else if (/\\s/.test(char)) {\n encoded += \"_\";\n } else {\n encoded += char;\n }\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 encoded;\n}\nfunction decodeArbitrary(value) {\n var decoded = \"\";\n for (var index = 0; index < value.length; index++) {\n var char = value[index];\n if (char === \"\\\\\" && index + 1 < value.length) {\n decoded += value[++index];\n } else {\n decoded += char === \"_\" ? \" \" : char;\n }\n }\n return decoded;\n}\n//# sourceMappingURL=candidate.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,oBAAoB,CAAC;AACzB,SAAS,mBAAmB;CAC1B,yBAAyB;CACzB,6BAA6B;CAC7B,uBAAuB;CACvB,uBAAuB;CACvB,uBAAuB;CACvB,oBAAoB;CACpB,sBAAsB;CACtB,wBAAwB;CACxB,sBAAsB;CACtB,6BAA6B;CAC7B,2BAA2B;AAC7B,CAAC;AACD,OAAO,UAAU,aAAa,iBAAiB;AAC/C,IAAI,wBAAwB,QAAQ,qCAA2B;AAC/D,IAAI,gBAAgB,QAAQ,oBAAU;AACtC,IAAI,kBAAkB,QAAQ,sBAAY;AAC1C,IAAI,wBAAwB,QAAQ,qCAA2B;AAC/D,IAAI,4BAA4B,QAAQ,yCAA+B;AACvE,IAAI,sBAAsB,QAAQ,mCAAyB;AAC3D,IAAI,2BAA2B,QAAQ,wCAA8B;AACrE,IAAI,qCAAqC,IAAI,IAAI;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,+BAA+B,IAAI,IAAI;CACzC;CACA;CACA;AACF,CAAC;AACD,IAAI,iBAAiB;AACrB,IAAI,wBAAwB;CAC1B,MAAM;CACN,OAAO;CACP,MAAM;CACN,QAAQ;CACR,SAAS;CACT,OAAO;AACT;AACA,IAAI,sBAAsB;CACxB,SAAS,CAAC;CACV,OAAO,CAAC;CACR,QAAQ;CACR,MAAM;CACN,OAAO;CACP,QAAQ;AACV;AACA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,IAAI,qCAAqC,IAAI,IAAI;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,qCAAqC,IAAI,IAAI;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,mCAAmC,IAAI,IAAI;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,sCAAsC,IAAI,IAAI;CAChD;CACA;CACA;AACF,CAAC;AACD,IAAI,uCAAuC,IAAI,IAAI;CACjD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,iBAAiB;AACrB,IAAI,mBAAmB,IAAI,OAAO,0BAA0B,eAAe,IAAI,GAAG;AAClF,SAAS,QAAQ,OAAO,MAAM;CAC5B,IAAI,CAAC,OAAO,OAAO;CACnB,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,SAAS,IAAI;CACpD,IAAI,iBAAiB,KAAK,OAAO,MAAM,IAAI,IAAI;CAC/C,OAAO,QAAQ;AACjB;AACA,SAAS,eAAe,WAAW;CACjC,IAAI,QAAQ,CAAC;CACb,IAAI,UAAU;CACd,IAAI,eAAe;CACnB,IAAI,UAAU;CACd,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,UAAU,OAA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"}
|
|
@@ -650,6 +650,13 @@ function chooseEntry(entries, prefix, rawValue, negative, config) {
|
|
|
650
650
|
convenience: "integer"
|
|
651
651
|
};
|
|
652
652
|
}
|
|
653
|
+
if (numericPattern.test(rawValue) && (entry.tokenCategory === "space" || entry.tokenCategory === "size" || propTokenGroupFallbacks[entry.tokenCategory] === "size")) {
|
|
654
|
+
return {
|
|
655
|
+
entry,
|
|
656
|
+
valueKind: "convenience",
|
|
657
|
+
convenience: "spacing-scale"
|
|
658
|
+
};
|
|
659
|
+
}
|
|
653
660
|
continue;
|
|
654
661
|
}
|
|
655
662
|
if (prefix === "opacity" || prefix === "scale" || prefix === "scale-x" || prefix === "scale-y") {
|
|
@@ -693,7 +700,7 @@ function parseCandidate(candidate, config) {
|
|
|
693
700
|
if (rawValue) {
|
|
694
701
|
const entries = resolveEntries(prefix, config);
|
|
695
702
|
const selected = chooseEntry(entries, prefix, rawValue, negative, config);
|
|
696
|
-
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "integer"))) {
|
|
703
|
+
if (selected && (!negative || selected.convenience === "tracking-keyword" || negativeTokenProps.has(selected.entry.prop) && (selected.valueKind === "token" || selected.valueKind === "arbitrary" && selected.entry.prop === "order" || selected.convenience === "angle" || selected.convenience === "percentage" || selected.convenience === "sizing-keyword" || selected.convenience === "spacing-scale" || selected.convenience === "integer"))) {
|
|
697
704
|
dynamic = {
|
|
698
705
|
prefix,
|
|
699
706
|
rawValue,
|