@tamagui/tailwind 0.0.0-bootstrap.0 → 3.0.0-beta.1093.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.
Files changed (97) hide show
  1. package/dist/cjs/candidate.cjs +540 -0
  2. package/dist/cjs/candidate.native.cjs +578 -0
  3. package/dist/cjs/candidate.native.js +580 -0
  4. package/dist/cjs/candidate.native.js.map +1 -0
  5. package/dist/cjs/compose.cjs +352 -0
  6. package/dist/cjs/compose.native.cjs +358 -0
  7. package/dist/cjs/compose.native.js +360 -0
  8. package/dist/cjs/compose.native.js.map +1 -0
  9. package/dist/cjs/composedResolver.cjs +175 -0
  10. package/dist/cjs/composedResolver.native.cjs +201 -0
  11. package/dist/cjs/composedResolver.native.js +203 -0
  12. package/dist/cjs/composedResolver.native.js.map +1 -0
  13. package/dist/cjs/frontend.cjs +54 -0
  14. package/dist/cjs/frontend.native.cjs +62 -0
  15. package/dist/cjs/frontend.native.js +64 -0
  16. package/dist/cjs/frontend.native.js.map +1 -0
  17. package/dist/cjs/index.cjs +38 -0
  18. package/dist/cjs/index.native.cjs +40 -0
  19. package/dist/cjs/index.native.js +42 -0
  20. package/dist/cjs/index.native.js.map +1 -0
  21. package/dist/cjs/styled.cjs +29 -0
  22. package/dist/cjs/styled.native.cjs +31 -0
  23. package/dist/cjs/styled.native.js +33 -0
  24. package/dist/cjs/styled.native.js.map +1 -0
  25. package/dist/cjs/types.cjs +16 -0
  26. package/dist/cjs/types.native.cjs +18 -0
  27. package/dist/cjs/types.native.js +20 -0
  28. package/dist/cjs/types.native.js.map +1 -0
  29. package/dist/cjs/vite/state.cjs +249 -0
  30. package/dist/cjs/vite/state.native.cjs +331 -0
  31. package/dist/cjs/vite/state.native.js +333 -0
  32. package/dist/cjs/vite/state.native.js.map +1 -0
  33. package/dist/cjs/vite.cjs +147 -0
  34. package/dist/cjs/vite.native.cjs +187 -0
  35. package/dist/cjs/vite.native.js +189 -0
  36. package/dist/cjs/vite.native.js.map +1 -0
  37. package/dist/esm/candidate.mjs +514 -0
  38. package/dist/esm/candidate.mjs.map +1 -0
  39. package/dist/esm/candidate.native.js +550 -0
  40. package/dist/esm/candidate.native.js.map +1 -0
  41. package/dist/esm/compose.mjs +328 -0
  42. package/dist/esm/compose.mjs.map +1 -0
  43. package/dist/esm/compose.native.js +332 -0
  44. package/dist/esm/compose.native.js.map +1 -0
  45. package/dist/esm/composedResolver.mjs +155 -0
  46. package/dist/esm/composedResolver.mjs.map +1 -0
  47. package/dist/esm/composedResolver.native.js +179 -0
  48. package/dist/esm/composedResolver.native.js.map +1 -0
  49. package/dist/esm/frontend.mjs +32 -0
  50. package/dist/esm/frontend.mjs.map +1 -0
  51. package/dist/esm/frontend.native.js +38 -0
  52. package/dist/esm/frontend.native.js.map +1 -0
  53. package/dist/esm/index.mjs +11 -0
  54. package/dist/esm/index.mjs.map +1 -0
  55. package/dist/esm/index.native.js +11 -0
  56. package/dist/esm/index.native.js.map +1 -0
  57. package/dist/esm/styled.mjs +10 -0
  58. package/dist/esm/styled.mjs.map +1 -0
  59. package/dist/esm/styled.native.js +10 -0
  60. package/dist/esm/styled.native.js.map +1 -0
  61. package/dist/esm/types.mjs +0 -0
  62. package/dist/esm/types.native.js +0 -0
  63. package/dist/esm/vite/state.mjs +216 -0
  64. package/dist/esm/vite/state.mjs.map +1 -0
  65. package/dist/esm/vite/state.native.js +296 -0
  66. package/dist/esm/vite/state.native.js.map +1 -0
  67. package/dist/esm/vite.mjs +116 -0
  68. package/dist/esm/vite.mjs.map +1 -0
  69. package/dist/esm/vite.native.js +154 -0
  70. package/dist/esm/vite.native.js.map +1 -0
  71. package/package.json +90 -5
  72. package/src/candidate.ts +805 -0
  73. package/src/frontend.ts +73 -0
  74. package/src/index.tsx +35 -0
  75. package/src/styled.tsx +52 -0
  76. package/src/types.ts +249 -0
  77. package/src/vite/state.ts +274 -0
  78. package/src/vite.ts +204 -0
  79. package/types/candidate.d.ts +18 -0
  80. package/types/candidate.d.ts.map +1 -0
  81. package/types/compose.d.ts +19 -0
  82. package/types/compose.d.ts.map +1 -0
  83. package/types/composedResolver.d.ts +18 -0
  84. package/types/composedResolver.d.ts.map +1 -0
  85. package/types/frontend.d.ts +19 -0
  86. package/types/frontend.d.ts.map +1 -0
  87. package/types/index.d.ts +17 -0
  88. package/types/index.d.ts.map +1 -0
  89. package/types/styled.d.ts +12 -0
  90. package/types/styled.d.ts.map +1 -0
  91. package/types/types.d.ts +169 -0
  92. package/types/types.d.ts.map +1 -0
  93. package/types/vite/state.d.ts +28 -0
  94. package/types/vite/state.d.ts.map +1 -0
  95. package/types/vite.d.ts +20 -0
  96. package/types/vite.d.ts.map +1 -0
  97. package/README.md +0 -1
@@ -0,0 +1,550 @@
1
+ import { isWeb } from "@tamagui/constants";
2
+ import { stylePropsUnitless } from "@tamagui/helpers";
3
+ import { mergeFrontendCondition, plainValueToPayload } from "@tamagui/core/internal-runtime";
4
+ import { noteBoxShadow, noteTailwindTransform, tryCompose } from "./compose.native.js";
5
+ import { composedResolver } from "./composedResolver.native.js";
6
+ import { borderSideSuffix, configRevisionSymbol, createGrammarConfigView, getSafeAreaEdge, getTokenCategory, insetAxisProps, percentUtilityProps, radiusCornerProps, sizeUtilityProps, splitColorOpacitySuffix } from "@tamagui/style-grammar/runtime";
7
+ import { classifyCandidate, decodeArbitrary, resolveTokenName } from "@tamagui/style-grammar/tooling/candidate";
8
+
9
+ var styleGrammarConfigCache = /* @__PURE__ */ new WeakMap();
10
+ function getStyleGrammarConfig(config) {
11
+ var _config_configRevisionSymbol;
12
+ var cached = styleGrammarConfigCache.get(config);
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;
15
+ var view = createGrammarConfigView(config);
16
+ styleGrammarConfigCache.set(config, {
17
+ revision,
18
+ value: view
19
+ });
20
+ return view;
21
+ }
22
+ function isTokenValueProp(prop) {
23
+ return getTokenCategory(prop) !== null;
24
+ }
25
+ function arbitraryValue(inner, prop) {
26
+ var px = /^(-?\d*\.?\d+)px$/.exec(inner);
27
+ if (px) return prop && stylePropsUnitless[prop] ? inner : Number(px[1]);
28
+ if (/^-?\d*\.?\d+$/.test(inner)) return Number(inner);
29
+ return inner;
30
+ }
31
+ function unwrapArbitraryValue(raw) {
32
+ return arbitraryValue(raw.length > 1 && raw[0] === "[" && raw[raw.length - 1] === "]" ? decodeArbitrary(raw.slice(1, -1)) : raw);
33
+ }
34
+ function tailwindSizingValue(prop, value) {
35
+ if (value === "full") return "100%";
36
+ if (value === "auto") return "auto";
37
+ if (value === "screen") return /[Hh]eight|[Bb]lock/.test(prop) ? "100vh" : "100vw";
38
+ if (value === "min") return "min-content";
39
+ if (value === "max") return "max-content";
40
+ if (value === "fit") return "fit-content";
41
+ var frac = /^(\d+)\/(\d+)$/.exec(value);
42
+ if (frac && Number(frac[2]) !== 0) return `${Number(frac[1]) / Number(frac[2]) * 100}%`;
43
+ return null;
44
+ }
45
+ function expansionProps(parsed) {
46
+ var _parsed_entry;
47
+ var prefix = parsed.prefix;
48
+ if (!prefix) return null;
49
+ if (prefix === "size") return sizeUtilityProps;
50
+ if (prefix === "translate") return ["x", "y"];
51
+ if (prefix === "skew") return ["skewX", "skewY"];
52
+ if (prefix === "inset-x" || prefix === "inset-y") return insetAxisProps[prefix.slice(6)];
53
+ if (prefix.startsWith("rounded-")) {
54
+ var props = radiusCornerProps[prefix.slice(8)];
55
+ if (!props || props.length === 1) return null;
56
+ return props;
57
+ }
58
+ var m = /^border-([trblxy])$/.exec(prefix);
59
+ if (!m) return null;
60
+ var sides = borderSideSuffix[m[1]];
61
+ var suffix = ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop.endsWith("Width")) ? "Width" : "Color";
62
+ return sides.map(function(side) {
63
+ return `border${side}${suffix}`;
64
+ });
65
+ }
66
+ function tailwindClassToFlatProp(parsed, grammarConfig) {
67
+ var _parsed_prefix;
68
+ if (parsed.kind !== "dynamic" || !parsed.entry || parsed.rawValue === void 0) return null;
69
+ var prop = parsed.entry.prop;
70
+ var category = parsed.entry.tokenCategory;
71
+ var value = parsed.rawValue;
72
+ if (parsed.negative && value === "0" && parsed.convenience !== "angle") return {
73
+ key: prop,
74
+ value: 0
75
+ };
76
+ if (parsed.convenience === "zero") return {
77
+ key: prop,
78
+ value: 0
79
+ };
80
+ if (parsed.convenience === "angle") return {
81
+ key: prop,
82
+ value: `${parsed.negative ? "-" : ""}${value}deg`
83
+ };
84
+ if ((prop === "x" || prop === "y") && parsed.valueKind !== "token") {
85
+ var sized = tailwindSizingValue(prop, value);
86
+ if (sized != null) return {
87
+ key: prop,
88
+ value: parsed.negative && sized[0] !== "-" ? `-${sized}` : sized
89
+ };
90
+ }
91
+ if (prop === "lineHeight" && /^\d+(?:\.\d+)?$/.test(value)) return {
92
+ key: prop,
93
+ value: Number(value) * 4
94
+ };
95
+ if (prop === "gridTemplateColumns" && /^\d+$/.test(value)) return {
96
+ key: prop,
97
+ value: `repeat(${value}, minmax(0, 1fr))`
98
+ };
99
+ if (prop === "gridColumn" && /^\d+$/.test(value)) return {
100
+ key: prop,
101
+ value: `span ${value} / span ${value}`
102
+ };
103
+ if (prop === "gridRow" && /^\d+$/.test(value)) return {
104
+ key: prop,
105
+ value: `span ${value} / span ${value}`
106
+ };
107
+ if ((prop === "gridColumnStart" || prop === "gridColumnEnd" || prop === "gridRowStart" || prop === "gridRowEnd") && /^\d+$/.test(value)) return {
108
+ key: prop,
109
+ value: Number(value)
110
+ };
111
+ if (prop.endsWith("Width") && ((_parsed_prefix = parsed.prefix) === null || _parsed_prefix === void 0 ? void 0 : _parsed_prefix.startsWith("border"))) {
112
+ if (parsed.valueKind === "token") {
113
+ var _parsed_entry;
114
+ value = `${parsed.negative ? "-" : ""}${value}`;
115
+ if (grammarConfig && ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.tokenCategory)) {
116
+ var _resolveTokenName;
117
+ value = (_resolveTokenName = resolveTokenName(grammarConfig, parsed.entry.tokenCategory, value)) !== null && _resolveTokenName !== void 0 ? _resolveTokenName : value;
118
+ }
119
+ } else if (parsed.valueKind === "arbitrary") value = unwrapArbitraryValue(value);
120
+ else return null;
121
+ return {
122
+ key: prop,
123
+ value
124
+ };
125
+ }
126
+ if (prop === "fontFamily") {
127
+ var famValue;
128
+ if (value.length > 2 && value[0] === "[" && value[value.length - 1] === "]") famValue = decodeArbitrary(value.slice(1, -1));
129
+ else famValue = parsed.valueKind === "token" ? value : {
130
+ sans: "sans-serif",
131
+ serif: "serif",
132
+ mono: "monospace"
133
+ }[value] || value;
134
+ return {
135
+ key: "fontFamily",
136
+ value: famValue
137
+ };
138
+ }
139
+ if (prop === "fontSize") {
140
+ var fsValue;
141
+ if (value.length > 2 && value[0] === "[" && value[value.length - 1] === "]") fsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));
142
+ else fsValue = value;
143
+ return {
144
+ key: "fontSize",
145
+ value: fsValue
146
+ };
147
+ }
148
+ if (prop === "lineHeight") {
149
+ var lhValue;
150
+ if (value.length > 2 && value[0] === "[" && value[value.length - 1] === "]") {
151
+ var inner = decodeArbitrary(value.slice(1, -1));
152
+ lhValue = /^-?\d*\.?\d+px$/.test(inner) ? Number.parseFloat(inner) : inner;
153
+ } else lhValue = value;
154
+ return {
155
+ key: "lineHeight",
156
+ value: lhValue
157
+ };
158
+ }
159
+ if (prop === "letterSpacing") {
160
+ var lsValue;
161
+ if (value.length > 2 && value[0] === "[" && value[value.length - 1] === "]") lsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));
162
+ else lsValue = value;
163
+ return {
164
+ key: "letterSpacing",
165
+ value: lsValue
166
+ };
167
+ }
168
+ if (prop === "boxShadow" && value[0] === "[" && value[value.length - 1] === "]") return {
169
+ key: "boxShadow",
170
+ value: decodeArbitrary(value.slice(1, -1))
171
+ };
172
+ if (value.length > 2 && value[0] === "[" && value[value.length - 1] === "]") {
173
+ var inner1 = decodeArbitrary(value.slice(1, -1));
174
+ if (inner1 === "") return null;
175
+ var resolved = arbitraryValue(inner1, prop);
176
+ if ((prop === "rotate" || prop === "rotateX" || prop === "rotateY" || prop === "rotateZ" || prop === "skewX" || prop === "skewY") && typeof resolved === "number") resolved = `${resolved}deg`;
177
+ if (parsed.negative) {
178
+ if (typeof resolved === "number") resolved = -resolved;
179
+ else if (resolved[0] !== "-") resolved = `-${resolved}`;
180
+ }
181
+ return {
182
+ key: prop,
183
+ value: resolved
184
+ };
185
+ }
186
+ if (parsed.valueKind !== "token" && (category === "size" || parsed.convenience === "sizing-keyword")) {
187
+ var sized1 = tailwindSizingValue(prop, value);
188
+ if (sized1 != null) return {
189
+ key: prop,
190
+ value: parsed.negative && sized1[0] !== "-" ? `-${sized1}` : sized1
191
+ };
192
+ }
193
+ var opacitySuffix = "";
194
+ if (category === "color" && typeof value === "string") {
195
+ var suffix = splitColorOpacitySuffix(value);
196
+ if (suffix.kind === "invalid") return {
197
+ key: prop,
198
+ value
199
+ };
200
+ if (suffix.kind === "valid") {
201
+ opacitySuffix = value.slice(suffix.name.length);
202
+ value = suffix.name;
203
+ }
204
+ }
205
+ if (percentUtilityProps.has(prop) && /^\d+$/.test(value)) value = Number(value) / 100;
206
+ else if (/^\d+(\.\d+)?$/.test(value)) if (category === "zIndex" && parsed.valueKind === "convenience") value = Number(value) * (parsed.negative ? -1 : 1);
207
+ else if (category) {
208
+ value = `${parsed.negative ? "-" : ""}${value}`;
209
+ if (grammarConfig) {
210
+ var _resolveTokenName1;
211
+ value = (_resolveTokenName1 = resolveTokenName(grammarConfig, category, value)) !== null && _resolveTokenName1 !== void 0 ? _resolveTokenName1 : value;
212
+ }
213
+ } else value = Number(value);
214
+ else if (typeof value === "string") {
215
+ if (category && !((category === "space" || category === "size" || category === "radius") && getSafeAreaEdge(value))) value = `${parsed.negative ? "-" : ""}${value}`;
216
+ }
217
+ if (opacitySuffix && typeof value === "string") value = `${value}${opacitySuffix}`;
218
+ if (parsed.negative && !category) {
219
+ if (typeof value === "number") value = -value;
220
+ else if (typeof value === "string" && value[0] !== "-") value = `-${value}`;
221
+ }
222
+ return {
223
+ key: prop,
224
+ value
225
+ };
226
+ }
227
+ var classPlanCache = /* @__PURE__ */ new WeakMap();
228
+ var nativeTarget = !isWeb || true;
229
+ var cssGridProps = /* @__PURE__ */ new Set([
230
+ "gridTemplateColumns",
231
+ "gridColumn",
232
+ "gridColumnStart",
233
+ "gridColumnEnd",
234
+ "gridRow",
235
+ "gridRowStart",
236
+ "gridRowEnd"
237
+ ]);
238
+ var nativeUnsupportedProps = /* @__PURE__ */ new Set([
239
+ "objectFit",
240
+ "order",
241
+ "overflowX",
242
+ "overflowY",
243
+ "textOverflow",
244
+ "whiteSpace",
245
+ "visibility"
246
+ ]);
247
+ var nativeUnsupportedSizingValues = /* @__PURE__ */ new Set([
248
+ "screen",
249
+ "min",
250
+ "max",
251
+ "fit"
252
+ ]);
253
+ var nativeUnsupportedDisplayValues = /* @__PURE__ */ new Set([
254
+ "block",
255
+ "inline",
256
+ "inline-flex"
257
+ ]);
258
+ var nativeUnsupportedPositionValues = /* @__PURE__ */ new Set(["fixed", "sticky"]);
259
+ function shouldGateNative(parsed) {
260
+ if (!nativeTarget) return false;
261
+ var properties = parsed.properties || {};
262
+ if (process.env.TAMAGUI_CSS_GRID !== "1" && (parsed.entry && cssGridProps.has(parsed.entry.prop) || properties.display === "grid" || Object.keys(properties).some(function(prop) {
263
+ return cssGridProps.has(prop);
264
+ }))) return true;
265
+ if (parsed.entry && nativeUnsupportedProps.has(parsed.entry.prop) || Object.keys(properties).some(function(prop) {
266
+ return nativeUnsupportedProps.has(prop);
267
+ })) return true;
268
+ if (parsed.convenience === "sizing-keyword" && nativeUnsupportedSizingValues.has(parsed.rawValue || "")) return true;
269
+ return nativeUnsupportedDisplayValues.has(String(properties.display)) || nativeUnsupportedPositionValues.has(String(properties.position)) || properties.overflow === "auto" || properties.cursor !== void 0 && properties.cursor !== "auto" && properties.cursor !== "pointer";
270
+ }
271
+ function getClassPlanCache(grammarConfig) {
272
+ var cache = classPlanCache.get(grammarConfig);
273
+ if (!cache) {
274
+ cache = /* @__PURE__ */ new Map();
275
+ classPlanCache.set(grammarConfig, cache);
276
+ }
277
+ return cache;
278
+ }
279
+ function createPlanEntry(property, value, modifiers) {
280
+ if (modifiers.length === 0) return [property, value];
281
+ var payload = plainValueToPayload(value, property);
282
+ if (payload === null) return null;
283
+ var condition = "";
284
+ for (var index = 0; index < modifiers.length; index++) {
285
+ if (index) condition += ":";
286
+ condition += modifiers[index];
287
+ }
288
+ return [
289
+ property,
290
+ payload,
291
+ condition,
292
+ modifiers
293
+ ];
294
+ }
295
+ var shorthandResets = {
296
+ padding: [
297
+ "paddingTop",
298
+ "paddingRight",
299
+ "paddingBottom",
300
+ "paddingLeft",
301
+ "paddingStart",
302
+ "paddingEnd",
303
+ "paddingInlineStart",
304
+ "paddingInlineEnd",
305
+ "paddingBlockStart",
306
+ "paddingBlockEnd",
307
+ "paddingHorizontal",
308
+ "paddingVertical",
309
+ "paddingInline",
310
+ "paddingBlock"
311
+ ],
312
+ margin: [
313
+ "marginTop",
314
+ "marginRight",
315
+ "marginBottom",
316
+ "marginLeft",
317
+ "marginStart",
318
+ "marginEnd",
319
+ "marginInlineStart",
320
+ "marginInlineEnd",
321
+ "marginBlockStart",
322
+ "marginBlockEnd",
323
+ "marginHorizontal",
324
+ "marginVertical",
325
+ "marginInline",
326
+ "marginBlock"
327
+ ],
328
+ gap: ["rowGap", "columnGap"],
329
+ borderRadius: [
330
+ "borderTopLeftRadius",
331
+ "borderTopRightRadius",
332
+ "borderBottomLeftRadius",
333
+ "borderBottomRightRadius",
334
+ "borderTopStartRadius",
335
+ "borderTopEndRadius",
336
+ "borderBottomStartRadius",
337
+ "borderBottomEndRadius",
338
+ "borderStartStartRadius",
339
+ "borderStartEndRadius",
340
+ "borderEndStartRadius",
341
+ "borderEndEndRadius"
342
+ ],
343
+ borderWidth: [
344
+ "borderTopWidth",
345
+ "borderRightWidth",
346
+ "borderBottomWidth",
347
+ "borderLeftWidth",
348
+ "borderStartWidth",
349
+ "borderEndWidth",
350
+ "borderInlineStartWidth",
351
+ "borderInlineEndWidth",
352
+ "borderBlockStartWidth",
353
+ "borderBlockEndWidth",
354
+ "borderInlineWidth",
355
+ "borderBlockWidth"
356
+ ],
357
+ borderColor: [
358
+ "borderTopColor",
359
+ "borderRightColor",
360
+ "borderBottomColor",
361
+ "borderLeftColor",
362
+ "borderStartColor",
363
+ "borderEndColor",
364
+ "borderInlineStartColor",
365
+ "borderInlineEndColor",
366
+ "borderBlockStartColor",
367
+ "borderBlockEndColor",
368
+ "borderInlineColor",
369
+ "borderBlockColor"
370
+ ]
371
+ };
372
+ function attachShorthandResets(entries, modifiers) {
373
+ if (isWeb || modifiers.length > 0) return entries;
374
+ var unsets = [];
375
+ for (var i = 0; i < entries.length; i++) {
376
+ var resets = shorthandResets[entries[i][0]];
377
+ if (!resets) continue;
378
+ for (var j = 0; j < resets.length; j++) unsets.push([resets[j], "unset"]);
379
+ }
380
+ return unsets.length === 0 ? entries : unsets.concat(entries);
381
+ }
382
+ function computeClassPlan(cls, grammarConfig) {
383
+ var _parsed_entry, _parsed_entry1;
384
+ var groupMarker = /^group(?:\/([A-Za-z0-9_-]+))?$/.exec(cls);
385
+ if (groupMarker) return {
386
+ entries: [["group", groupMarker[1] || true]],
387
+ preserveRawClass: isWeb
388
+ };
389
+ var containerMarker = /^@container(-size)?(?:\/([A-Za-z0-9_-]+))?$/.exec(cls);
390
+ if (containerMarker) {
391
+ var isSize = containerMarker[1] !== void 0;
392
+ var name = containerMarker[2];
393
+ var entries = [];
394
+ entries.push(["container", name || true]);
395
+ if (isSize) entries.push(["containerType", "size"]);
396
+ return {
397
+ entries,
398
+ preserveRawClass: isWeb
399
+ };
400
+ }
401
+ var classification = classifyCandidate(cls, grammarConfig);
402
+ if (classification.kind === "passthrough") return isWeb ? "raw" : null;
403
+ var parsed = classification.parsed;
404
+ if (!nativeTarget && ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop) === "perspective") return "raw";
405
+ if (shouldGateNative(parsed)) return null;
406
+ if (((_parsed_entry1 = parsed.entry) === null || _parsed_entry1 === void 0 ? void 0 : _parsed_entry1.prop) === "flex" && parsed.rawValue) {
407
+ var fraction = /^(\d+)\/(\d+)$/.exec(parsed.rawValue);
408
+ if (fraction && Number(fraction[2]) !== 0) {
409
+ var basis = `${Number(fraction[1]) / Number(fraction[2]) * 100}%`;
410
+ var entries1 = [
411
+ createPlanEntry("flexGrow", 1, parsed.modifiers),
412
+ createPlanEntry("flexShrink", 1, parsed.modifiers),
413
+ createPlanEntry("flexBasis", basis, parsed.modifiers)
414
+ ];
415
+ return entries1.every(Boolean) ? entries1 : "raw";
416
+ }
417
+ }
418
+ var util = parsed.kind === "utility" ? parsed.properties : null;
419
+ if (util) {
420
+ var entries2 = [];
421
+ for (var p in util) {
422
+ var entry = createPlanEntry(p, nativeTarget && p === "transform" && util[p] === "none" ? [] : util[p], parsed.modifiers);
423
+ if (!entry) return "raw";
424
+ entries2.push(entry);
425
+ }
426
+ return attachShorthandResets(entries2, parsed.modifiers);
427
+ }
428
+ var expandedProps = expansionProps(parsed);
429
+ if (expandedProps) {
430
+ var entries3 = [];
431
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
432
+ try {
433
+ for (var _iterator = expandedProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
434
+ var prop = _step.value;
435
+ var flatProp = tailwindClassToFlatProp({
436
+ ...parsed,
437
+ entry: parsed.entry ? {
438
+ ...parsed.entry,
439
+ prop
440
+ } : parsed.entry
441
+ }, grammarConfig);
442
+ if (!flatProp) return "raw";
443
+ var entry1 = createPlanEntry(flatProp.key, flatProp.value, parsed.modifiers);
444
+ if (!entry1) return "raw";
445
+ entries3.push(entry1);
446
+ }
447
+ } catch (err) {
448
+ _didIteratorError = true;
449
+ _iteratorError = err;
450
+ } finally {
451
+ try {
452
+ if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
453
+ } finally {
454
+ if (_didIteratorError) throw _iteratorError;
455
+ }
456
+ }
457
+ return attachShorthandResets(entries3, parsed.modifiers);
458
+ }
459
+ var flatProp1 = tailwindClassToFlatProp(parsed, grammarConfig);
460
+ if (flatProp1) {
461
+ var entry2 = createPlanEntry(flatProp1.key, flatProp1.value, parsed.modifiers);
462
+ return entry2 ? attachShorthandResets([entry2], parsed.modifiers) : "raw";
463
+ }
464
+ return "raw";
465
+ }
466
+ function getTailwindClassPlan(candidate, config) {
467
+ var grammarConfig = getStyleGrammarConfig(config);
468
+ var plans = getClassPlanCache(grammarConfig);
469
+ var plan = plans.get(candidate);
470
+ if (plan === void 0) {
471
+ plan = computeClassPlan(candidate, grammarConfig);
472
+ plans.set(candidate, plan);
473
+ }
474
+ return plan;
475
+ }
476
+ function resolveTailwindCandidate(candidate, config, sink) {
477
+ var composed = tryCompose(candidate, getStyleGrammarConfig(config), sink);
478
+ if (composed !== void 0) return composed;
479
+ var plan = getTailwindClassPlan(candidate, config);
480
+ if (plan === "raw") return true;
481
+ if (plan === null) return null;
482
+ var parent = Array.isArray(plan) ? null : plan;
483
+ var entries = parent ? parent.entries : plan;
484
+ for (var index = 0; index < entries.length; index++) {
485
+ var _config_tokensParsed_transformTokenCategory_entry_, _config_tokensParsed_transformTokenCategory, _config_tokensParsed;
486
+ var entry = entries[index];
487
+ var transformTokenCategory = entry[0] === "x" || entry[0] === "y" ? "space" : entry[0] === "perspective" ? "perspective" : null;
488
+ var _config_tokensParsed_transformTokenCategory_entry__val;
489
+ var transformValue = transformTokenCategory && typeof entry[1] === "string" ? (_config_tokensParsed_transformTokenCategory_entry__val = (_config_tokensParsed = config.tokensParsed) === null || _config_tokensParsed === void 0 ? void 0 : (_config_tokensParsed_transformTokenCategory = _config_tokensParsed[transformTokenCategory]) === null || _config_tokensParsed_transformTokenCategory === void 0 ? void 0 : (_config_tokensParsed_transformTokenCategory_entry_ = _config_tokensParsed_transformTokenCategory[entry[1]]) === null || _config_tokensParsed_transformTokenCategory_entry_ === void 0 ? void 0 : _config_tokensParsed_transformTokenCategory_entry_.val) !== null && _config_tokensParsed_transformTokenCategory_entry__val !== void 0 ? _config_tokensParsed_transformTokenCategory_entry__val : entry[1] : entry[1];
490
+ if (noteTailwindTransform(sink, [
491
+ entry[0],
492
+ transformValue,
493
+ entry[2],
494
+ entry[3]
495
+ ])) continue;
496
+ if (entry[0] === "boxShadow" && typeof entry[1] === "string") {
497
+ var _config_tokensParsed_boxShadow_entry_, _config_tokensParsed_boxShadow, _config_tokensParsed1;
498
+ var _config_tokensParsed_boxShadow_entry__val;
499
+ noteBoxShadow(sink, (_config_tokensParsed_boxShadow_entry__val = (_config_tokensParsed1 = config.tokensParsed) === null || _config_tokensParsed1 === void 0 ? void 0 : (_config_tokensParsed_boxShadow = _config_tokensParsed1.boxShadow) === null || _config_tokensParsed_boxShadow === void 0 ? void 0 : (_config_tokensParsed_boxShadow_entry_ = _config_tokensParsed_boxShadow[entry[1]]) === null || _config_tokensParsed_boxShadow_entry_ === void 0 ? void 0 : _config_tokensParsed_boxShadow_entry_.val) !== null && _config_tokensParsed_boxShadow_entry__val !== void 0 ? _config_tokensParsed_boxShadow_entry__val : entry[1], entry[3] || []);
500
+ }
501
+ sink(entry);
502
+ }
503
+ return (parent === null || parent === void 0 ? void 0 : parent.preserveRawClass) || false;
504
+ }
505
+ function resolveTailwindClassName(className, config) {
506
+ var result = {};
507
+ var composedProps = null;
508
+ var rawClassName = "";
509
+ var sink = function(entry) {
510
+ var [key2, value, condition] = entry;
511
+ if (key2.charCodeAt(0) === 95 && key2.charCodeAt(1) === 95) {
512
+ composedProps || (composedProps = {});
513
+ composedProps[key2] = mergeFrontendCondition(composedProps[key2], value, condition);
514
+ return;
515
+ }
516
+ if (condition === void 0) {
517
+ var resets = shorthandResets[key2];
518
+ if (resets) for (var i = 0; i < resets.length; i++) delete result[resets[i]];
519
+ }
520
+ setInAuthoredOrder(result, key2, mergeFrontendCondition(result[key2], value, condition));
521
+ };
522
+ var start = 0;
523
+ for (var index = 0; index <= className.length; index++) {
524
+ if (index !== className.length && className.charCodeAt(index) > 32) continue;
525
+ if (start === index) {
526
+ start = index + 1;
527
+ continue;
528
+ }
529
+ var candidate = className.slice(start, index);
530
+ if (resolveTailwindCandidate(candidate, config, sink)) rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;
531
+ start = index + 1;
532
+ }
533
+ if (composedProps) {
534
+ var composed = composedResolver(composedProps);
535
+ for (var key in composed) setInAuthoredOrder(result, key, composed[key]);
536
+ }
537
+ if (rawClassName) result.className = rawClassName;
538
+ return result;
539
+ }
540
+ function setInAuthoredOrder(target, key, value) {
541
+ if (value === "unset") {
542
+ delete target[key];
543
+ return;
544
+ }
545
+ if (key in target) delete target[key];
546
+ target[key] = value;
547
+ }
548
+
549
+ export { getStyleGrammarConfig, getTailwindClassPlan, isTokenValueProp, resolveTailwindCandidate, resolveTailwindClassName, setInAuthoredOrder };
550
+ //# sourceMappingURL=candidate.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidate.native.js","names":[],"sources":["esm/candidate.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { stylePropsUnitless } from \"@tamagui/helpers\";\nimport { mergeFrontendCondition, plainValueToPayload } from \"@tamagui/core/internal-runtime\";\nimport { noteBoxShadow, noteTailwindTransform, tryCompose } from \"./compose\";\nimport { composedResolver } from \"./composedResolver\";\nimport { borderSideSuffix, configRevisionSymbol, createGrammarConfigView, getSafeAreaEdge, getTokenCategory, insetAxisProps, percentUtilityProps, radiusCornerProps, sizeUtilityProps, splitColorOpacitySuffix } from \"@tamagui/style-grammar/runtime\";\nimport { classifyCandidate, decodeArbitrary, resolveTokenName } from \"@tamagui/style-grammar/tooling/candidate\";\n\nvar styleGrammarConfigCache = /* @__PURE__ */ new WeakMap();\nfunction getStyleGrammarConfig(config) {\n\tvar _config_configRevisionSymbol;\n\tvar cached = styleGrammarConfigCache.get(config);\n\tvar revision = ((_config_configRevisionSymbol = config[configRevisionSymbol]) === null || _config_configRevisionSymbol === void 0 ? void 0 : _config_configRevisionSymbol.revision) || 0;\n\tif (cached && cached.revision === revision) return cached.value;\n\tvar view = createGrammarConfigView(config);\n\tstyleGrammarConfigCache.set(config, {\n\t\trevision,\n\t\tvalue: view\n\t});\n\treturn view;\n}\nfunction isTokenValueProp(prop) {\n\treturn getTokenCategory(prop) !== null;\n}\nfunction arbitraryValue(inner, prop) {\n\tvar px = /^(-?\\d*\\.?\\d+)px$/.exec(inner);\n\tif (px) return prop && stylePropsUnitless[prop] ? inner : Number(px[1]);\n\tif (/^-?\\d*\\.?\\d+$/.test(inner)) return Number(inner);\n\treturn inner;\n}\nfunction unwrapArbitraryValue(raw) {\n\treturn arbitraryValue(raw.length > 1 && raw[0] === \"[\" && raw[raw.length - 1] === \"]\" ? decodeArbitrary(raw.slice(1, -1)) : raw);\n}\nfunction tailwindSizingValue(prop, value) {\n\tif (value === \"full\") return \"100%\";\n\tif (value === \"auto\") return \"auto\";\n\tif (value === \"screen\") return /[Hh]eight|[Bb]lock/.test(prop) ? \"100vh\" : \"100vw\";\n\tif (value === \"min\") return \"min-content\";\n\tif (value === \"max\") return \"max-content\";\n\tif (value === \"fit\") return \"fit-content\";\n\tvar frac = /^(\\d+)\\/(\\d+)$/.exec(value);\n\tif (frac && Number(frac[2]) !== 0) return `${Number(frac[1]) / Number(frac[2]) * 100}%`;\n\treturn null;\n}\nfunction expansionProps(parsed) {\n\tvar _parsed_entry;\n\tvar prefix = parsed.prefix;\n\tif (!prefix) return null;\n\tif (prefix === \"size\") return sizeUtilityProps;\n\tif (prefix === \"translate\") return [\"x\", \"y\"];\n\tif (prefix === \"skew\") return [\"skewX\", \"skewY\"];\n\tif (prefix === \"inset-x\" || prefix === \"inset-y\") return insetAxisProps[prefix.slice(6)];\n\tif (prefix.startsWith(\"rounded-\")) {\n\t\tvar props = radiusCornerProps[prefix.slice(8)];\n\t\tif (!props || props.length === 1) return null;\n\t\treturn props;\n\t}\n\tvar m = /^border-([trblxy])$/.exec(prefix);\n\tif (!m) return null;\n\tvar sides = borderSideSuffix[m[1]];\n\tvar suffix = ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop.endsWith(\"Width\")) ? \"Width\" : \"Color\";\n\treturn sides.map(function(side) {\n\t\treturn `border${side}${suffix}`;\n\t});\n}\nfunction tailwindClassToFlatProp(parsed, grammarConfig) {\n\tvar _parsed_prefix;\n\tif (parsed.kind !== \"dynamic\" || !parsed.entry || parsed.rawValue === void 0) return null;\n\tvar prop = parsed.entry.prop;\n\tvar category = parsed.entry.tokenCategory;\n\tvar value = parsed.rawValue;\n\tif (parsed.negative && value === \"0\" && parsed.convenience !== \"angle\") return {\n\t\tkey: prop,\n\t\tvalue: 0\n\t};\n\tif (parsed.convenience === \"zero\") return {\n\t\tkey: prop,\n\t\tvalue: 0\n\t};\n\tif (parsed.convenience === \"angle\") return {\n\t\tkey: prop,\n\t\tvalue: `${parsed.negative ? \"-\" : \"\"}${value}deg`\n\t};\n\tif ((prop === \"x\" || prop === \"y\") && parsed.valueKind !== \"token\") {\n\t\tvar sized = tailwindSizingValue(prop, value);\n\t\tif (sized != null) return {\n\t\t\tkey: prop,\n\t\t\tvalue: parsed.negative && sized[0] !== \"-\" ? `-${sized}` : sized\n\t\t};\n\t}\n\tif (prop === \"lineHeight\" && /^\\d+(?:\\.\\d+)?$/.test(value)) return {\n\t\tkey: prop,\n\t\tvalue: Number(value) * 4\n\t};\n\tif (prop === \"gridTemplateColumns\" && /^\\d+$/.test(value)) return {\n\t\tkey: prop,\n\t\tvalue: `repeat(${value}, minmax(0, 1fr))`\n\t};\n\tif (prop === \"gridColumn\" && /^\\d+$/.test(value)) return {\n\t\tkey: prop,\n\t\tvalue: `span ${value} / span ${value}`\n\t};\n\tif (prop === \"gridRow\" && /^\\d+$/.test(value)) return {\n\t\tkey: prop,\n\t\tvalue: `span ${value} / span ${value}`\n\t};\n\tif ((prop === \"gridColumnStart\" || prop === \"gridColumnEnd\" || prop === \"gridRowStart\" || prop === \"gridRowEnd\") && /^\\d+$/.test(value)) return {\n\t\tkey: prop,\n\t\tvalue: Number(value)\n\t};\n\tif (prop.endsWith(\"Width\") && ((_parsed_prefix = parsed.prefix) === null || _parsed_prefix === void 0 ? void 0 : _parsed_prefix.startsWith(\"border\"))) {\n\t\tif (parsed.valueKind === \"token\") {\n\t\t\tvar _parsed_entry;\n\t\t\tvalue = `${parsed.negative ? \"-\" : \"\"}${value}`;\n\t\t\tif (grammarConfig && ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.tokenCategory)) {\n\t\t\t\tvar _resolveTokenName;\n\t\t\t\tvalue = (_resolveTokenName = resolveTokenName(grammarConfig, parsed.entry.tokenCategory, value)) !== null && _resolveTokenName !== void 0 ? _resolveTokenName : value;\n\t\t\t}\n\t\t} else if (parsed.valueKind === \"arbitrary\") value = unwrapArbitraryValue(value);\n\t\telse return null;\n\t\treturn {\n\t\t\tkey: prop,\n\t\t\tvalue\n\t\t};\n\t}\n\tif (prop === \"fontFamily\") {\n\t\tvar famValue;\n\t\tif (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") famValue = decodeArbitrary(value.slice(1, -1));\n\t\telse famValue = parsed.valueKind === \"token\" ? value : {\n\t\t\tsans: \"sans-serif\",\n\t\t\tserif: \"serif\",\n\t\t\tmono: \"monospace\"\n\t\t}[value] || value;\n\t\treturn {\n\t\t\tkey: \"fontFamily\",\n\t\t\tvalue: famValue\n\t\t};\n\t}\n\tif (prop === \"fontSize\") {\n\t\tvar fsValue;\n\t\tif (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") fsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n\t\telse fsValue = value;\n\t\treturn {\n\t\t\tkey: \"fontSize\",\n\t\t\tvalue: fsValue\n\t\t};\n\t}\n\tif (prop === \"lineHeight\") {\n\t\tvar lhValue;\n\t\tif (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n\t\t\tvar inner = decodeArbitrary(value.slice(1, -1));\n\t\t\tlhValue = /^-?\\d*\\.?\\d+px$/.test(inner) ? Number.parseFloat(inner) : inner;\n\t\t} else lhValue = value;\n\t\treturn {\n\t\t\tkey: \"lineHeight\",\n\t\t\tvalue: lhValue\n\t\t};\n\t}\n\tif (prop === \"letterSpacing\") {\n\t\tvar lsValue;\n\t\tif (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") lsValue = arbitraryValue(decodeArbitrary(value.slice(1, -1)));\n\t\telse lsValue = value;\n\t\treturn {\n\t\t\tkey: \"letterSpacing\",\n\t\t\tvalue: lsValue\n\t\t};\n\t}\n\tif (prop === \"boxShadow\" && value[0] === \"[\" && value[value.length - 1] === \"]\") return {\n\t\tkey: \"boxShadow\",\n\t\tvalue: decodeArbitrary(value.slice(1, -1))\n\t};\n\tif (value.length > 2 && value[0] === \"[\" && value[value.length - 1] === \"]\") {\n\t\tvar inner1 = decodeArbitrary(value.slice(1, -1));\n\t\tif (inner1 === \"\") return null;\n\t\tvar resolved = arbitraryValue(inner1, prop);\n\t\tif ((prop === \"rotate\" || prop === \"rotateX\" || prop === \"rotateY\" || prop === \"rotateZ\" || prop === \"skewX\" || prop === \"skewY\") && typeof resolved === \"number\") resolved = `${resolved}deg`;\n\t\tif (parsed.negative) {\n\t\t\tif (typeof resolved === \"number\") resolved = -resolved;\n\t\t\telse if (resolved[0] !== \"-\") resolved = `-${resolved}`;\n\t\t}\n\t\treturn {\n\t\t\tkey: prop,\n\t\t\tvalue: resolved\n\t\t};\n\t}\n\tif (parsed.valueKind !== \"token\" && (category === \"size\" || parsed.convenience === \"sizing-keyword\")) {\n\t\tvar sized1 = tailwindSizingValue(prop, value);\n\t\tif (sized1 != null) return {\n\t\t\tkey: prop,\n\t\t\tvalue: parsed.negative && sized1[0] !== \"-\" ? `-${sized1}` : sized1\n\t\t};\n\t}\n\tvar opacitySuffix = \"\";\n\tif (category === \"color\" && typeof value === \"string\") {\n\t\tvar suffix = splitColorOpacitySuffix(value);\n\t\tif (suffix.kind === \"invalid\") return {\n\t\t\tkey: prop,\n\t\t\tvalue\n\t\t};\n\t\tif (suffix.kind === \"valid\") {\n\t\t\topacitySuffix = value.slice(suffix.name.length);\n\t\t\tvalue = suffix.name;\n\t\t}\n\t}\n\tif (percentUtilityProps.has(prop) && /^\\d+$/.test(value)) value = Number(value) / 100;\n\telse if (/^\\d+(\\.\\d+)?$/.test(value)) if (category === \"zIndex\" && parsed.valueKind === \"convenience\") value = Number(value) * (parsed.negative ? -1 : 1);\n\telse if (category) {\n\t\tvalue = `${parsed.negative ? \"-\" : \"\"}${value}`;\n\t\tif (grammarConfig) {\n\t\t\tvar _resolveTokenName1;\n\t\t\tvalue = (_resolveTokenName1 = resolveTokenName(grammarConfig, category, value)) !== null && _resolveTokenName1 !== void 0 ? _resolveTokenName1 : value;\n\t\t}\n\t} else value = Number(value);\n\telse if (typeof value === \"string\") {\n\t\tif (category && !((category === \"space\" || category === \"size\" || category === \"radius\") && getSafeAreaEdge(value))) value = `${parsed.negative ? \"-\" : \"\"}${value}`;\n\t}\n\tif (opacitySuffix && typeof value === \"string\") value = `${value}${opacitySuffix}`;\n\tif (parsed.negative && !category) {\n\t\tif (typeof value === \"number\") value = -value;\n\t\telse if (typeof value === \"string\" && value[0] !== \"-\") value = `-${value}`;\n\t}\n\treturn {\n\t\tkey: prop,\n\t\tvalue\n\t};\n}\nvar classPlanCache = /* @__PURE__ */ new WeakMap();\nvar nativeTarget = !isWeb || true;\nvar cssGridProps = /* @__PURE__ */ new Set([\n\t\"gridTemplateColumns\",\n\t\"gridColumn\",\n\t\"gridColumnStart\",\n\t\"gridColumnEnd\",\n\t\"gridRow\",\n\t\"gridRowStart\",\n\t\"gridRowEnd\"\n]);\nvar nativeUnsupportedProps = /* @__PURE__ */ new Set([\n\t\"objectFit\",\n\t\"order\",\n\t\"overflowX\",\n\t\"overflowY\",\n\t\"textOverflow\",\n\t\"whiteSpace\",\n\t\"visibility\"\n]);\nvar nativeUnsupportedSizingValues = /* @__PURE__ */ new Set([\n\t\"screen\",\n\t\"min\",\n\t\"max\",\n\t\"fit\"\n]);\nvar nativeUnsupportedDisplayValues = /* @__PURE__ */ new Set([\n\t\"block\",\n\t\"inline\",\n\t\"inline-flex\"\n]);\nvar nativeUnsupportedPositionValues = /* @__PURE__ */ new Set([\"fixed\", \"sticky\"]);\nfunction shouldGateNative(parsed) {\n\tif (!nativeTarget) return false;\n\tvar properties = parsed.properties || {};\n\tif (process.env.TAMAGUI_CSS_GRID !== \"1\" && (parsed.entry && cssGridProps.has(parsed.entry.prop) || properties.display === \"grid\" || Object.keys(properties).some(function(prop) {\n\t\treturn cssGridProps.has(prop);\n\t}))) return true;\n\tif (parsed.entry && nativeUnsupportedProps.has(parsed.entry.prop) || Object.keys(properties).some(function(prop) {\n\t\treturn nativeUnsupportedProps.has(prop);\n\t})) return true;\n\tif (parsed.convenience === \"sizing-keyword\" && nativeUnsupportedSizingValues.has(parsed.rawValue || \"\")) return true;\n\treturn nativeUnsupportedDisplayValues.has(String(properties.display)) || nativeUnsupportedPositionValues.has(String(properties.position)) || properties.overflow === \"auto\" || properties.cursor !== void 0 && properties.cursor !== \"auto\" && properties.cursor !== \"pointer\";\n}\nfunction getClassPlanCache(grammarConfig) {\n\tvar cache = classPlanCache.get(grammarConfig);\n\tif (!cache) {\n\t\tcache = /* @__PURE__ */ new Map();\n\t\tclassPlanCache.set(grammarConfig, cache);\n\t}\n\treturn cache;\n}\nfunction createPlanEntry(property, value, modifiers) {\n\tif (modifiers.length === 0) return [property, value];\n\tvar payload = plainValueToPayload(value, property);\n\tif (payload === null) return null;\n\tvar condition = \"\";\n\tfor (var index = 0; index < modifiers.length; index++) {\n\t\tif (index) condition += \":\";\n\t\tcondition += modifiers[index];\n\t}\n\treturn [\n\t\tproperty,\n\t\tpayload,\n\t\tcondition,\n\t\tmodifiers\n\t];\n}\nvar shorthandResets = {\n\tpadding: [\n\t\t\"paddingTop\",\n\t\t\"paddingRight\",\n\t\t\"paddingBottom\",\n\t\t\"paddingLeft\",\n\t\t\"paddingStart\",\n\t\t\"paddingEnd\",\n\t\t\"paddingInlineStart\",\n\t\t\"paddingInlineEnd\",\n\t\t\"paddingBlockStart\",\n\t\t\"paddingBlockEnd\",\n\t\t\"paddingHorizontal\",\n\t\t\"paddingVertical\",\n\t\t\"paddingInline\",\n\t\t\"paddingBlock\"\n\t],\n\tmargin: [\n\t\t\"marginTop\",\n\t\t\"marginRight\",\n\t\t\"marginBottom\",\n\t\t\"marginLeft\",\n\t\t\"marginStart\",\n\t\t\"marginEnd\",\n\t\t\"marginInlineStart\",\n\t\t\"marginInlineEnd\",\n\t\t\"marginBlockStart\",\n\t\t\"marginBlockEnd\",\n\t\t\"marginHorizontal\",\n\t\t\"marginVertical\",\n\t\t\"marginInline\",\n\t\t\"marginBlock\"\n\t],\n\tgap: [\"rowGap\", \"columnGap\"],\n\tborderRadius: [\n\t\t\"borderTopLeftRadius\",\n\t\t\"borderTopRightRadius\",\n\t\t\"borderBottomLeftRadius\",\n\t\t\"borderBottomRightRadius\",\n\t\t\"borderTopStartRadius\",\n\t\t\"borderTopEndRadius\",\n\t\t\"borderBottomStartRadius\",\n\t\t\"borderBottomEndRadius\",\n\t\t\"borderStartStartRadius\",\n\t\t\"borderStartEndRadius\",\n\t\t\"borderEndStartRadius\",\n\t\t\"borderEndEndRadius\"\n\t],\n\tborderWidth: [\n\t\t\"borderTopWidth\",\n\t\t\"borderRightWidth\",\n\t\t\"borderBottomWidth\",\n\t\t\"borderLeftWidth\",\n\t\t\"borderStartWidth\",\n\t\t\"borderEndWidth\",\n\t\t\"borderInlineStartWidth\",\n\t\t\"borderInlineEndWidth\",\n\t\t\"borderBlockStartWidth\",\n\t\t\"borderBlockEndWidth\",\n\t\t\"borderInlineWidth\",\n\t\t\"borderBlockWidth\"\n\t],\n\tborderColor: [\n\t\t\"borderTopColor\",\n\t\t\"borderRightColor\",\n\t\t\"borderBottomColor\",\n\t\t\"borderLeftColor\",\n\t\t\"borderStartColor\",\n\t\t\"borderEndColor\",\n\t\t\"borderInlineStartColor\",\n\t\t\"borderInlineEndColor\",\n\t\t\"borderBlockStartColor\",\n\t\t\"borderBlockEndColor\",\n\t\t\"borderInlineColor\",\n\t\t\"borderBlockColor\"\n\t]\n};\nfunction attachShorthandResets(entries, modifiers) {\n\tif (isWeb || modifiers.length > 0) return entries;\n\tvar unsets = [];\n\tfor (var i = 0; i < entries.length; i++) {\n\t\tvar resets = shorthandResets[entries[i][0]];\n\t\tif (!resets) continue;\n\t\tfor (var j = 0; j < resets.length; j++) unsets.push([resets[j], \"unset\"]);\n\t}\n\treturn unsets.length === 0 ? entries : unsets.concat(entries);\n}\nfunction computeClassPlan(cls, grammarConfig) {\n\tvar _parsed_entry, _parsed_entry1;\n\tvar groupMarker = /^group(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n\tif (groupMarker) return {\n\t\tentries: [[\"group\", groupMarker[1] || true]],\n\t\tpreserveRawClass: isWeb\n\t};\n\tvar containerMarker = /^@container(-size)?(?:\\/([A-Za-z0-9_-]+))?$/.exec(cls);\n\tif (containerMarker) {\n\t\tvar isSize = containerMarker[1] !== void 0;\n\t\tvar name = containerMarker[2];\n\t\tvar entries = [];\n\t\tentries.push([\"container\", name || true]);\n\t\tif (isSize) entries.push([\"containerType\", \"size\"]);\n\t\treturn {\n\t\t\tentries,\n\t\t\tpreserveRawClass: isWeb\n\t\t};\n\t}\n\tvar classification = classifyCandidate(cls, grammarConfig);\n\tif (classification.kind === \"passthrough\") return isWeb ? \"raw\" : null;\n\tvar parsed = classification.parsed;\n\tif (!nativeTarget && ((_parsed_entry = parsed.entry) === null || _parsed_entry === void 0 ? void 0 : _parsed_entry.prop) === \"perspective\") return \"raw\";\n\tif (shouldGateNative(parsed)) return null;\n\tif (((_parsed_entry1 = parsed.entry) === null || _parsed_entry1 === void 0 ? void 0 : _parsed_entry1.prop) === \"flex\" && parsed.rawValue) {\n\t\tvar fraction = /^(\\d+)\\/(\\d+)$/.exec(parsed.rawValue);\n\t\tif (fraction && Number(fraction[2]) !== 0) {\n\t\t\tvar basis = `${Number(fraction[1]) / Number(fraction[2]) * 100}%`;\n\t\t\tvar entries1 = [\n\t\t\t\tcreatePlanEntry(\"flexGrow\", 1, parsed.modifiers),\n\t\t\t\tcreatePlanEntry(\"flexShrink\", 1, parsed.modifiers),\n\t\t\t\tcreatePlanEntry(\"flexBasis\", basis, parsed.modifiers)\n\t\t\t];\n\t\t\treturn entries1.every(Boolean) ? entries1 : \"raw\";\n\t\t}\n\t}\n\tvar util = parsed.kind === \"utility\" ? parsed.properties : null;\n\tif (util) {\n\t\tvar entries2 = [];\n\t\tfor (var p in util) {\n\t\t\tvar entry = createPlanEntry(p, nativeTarget && p === \"transform\" && util[p] === \"none\" ? [] : util[p], parsed.modifiers);\n\t\t\tif (!entry) return \"raw\";\n\t\t\tentries2.push(entry);\n\t\t}\n\t\treturn attachShorthandResets(entries2, parsed.modifiers);\n\t}\n\tvar expandedProps = expansionProps(parsed);\n\tif (expandedProps) {\n\t\tvar entries3 = [];\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = expandedProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar prop = _step.value;\n\t\t\t\tvar flatProp = tailwindClassToFlatProp({\n\t\t\t\t\t...parsed,\n\t\t\t\t\tentry: parsed.entry ? {\n\t\t\t\t\t\t...parsed.entry,\n\t\t\t\t\t\tprop\n\t\t\t\t\t} : parsed.entry\n\t\t\t\t}, grammarConfig);\n\t\t\t\tif (!flatProp) return \"raw\";\n\t\t\t\tvar entry1 = createPlanEntry(flatProp.key, flatProp.value, parsed.modifiers);\n\t\t\t\tif (!entry1) return \"raw\";\n\t\t\t\tentries3.push(entry1);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t\treturn attachShorthandResets(entries3, parsed.modifiers);\n\t}\n\tvar flatProp1 = tailwindClassToFlatProp(parsed, grammarConfig);\n\tif (flatProp1) {\n\t\tvar entry2 = createPlanEntry(flatProp1.key, flatProp1.value, parsed.modifiers);\n\t\treturn entry2 ? attachShorthandResets([entry2], parsed.modifiers) : \"raw\";\n\t}\n\treturn \"raw\";\n}\nfunction getTailwindClassPlan(candidate, config) {\n\tvar grammarConfig = getStyleGrammarConfig(config);\n\tvar plans = getClassPlanCache(grammarConfig);\n\tvar plan = plans.get(candidate);\n\tif (plan === void 0) {\n\t\tplan = computeClassPlan(candidate, grammarConfig);\n\t\tplans.set(candidate, plan);\n\t}\n\treturn plan;\n}\nfunction resolveTailwindCandidate(candidate, config, sink) {\n\tvar composed = tryCompose(candidate, getStyleGrammarConfig(config), sink);\n\tif (composed !== void 0) return composed;\n\tvar plan = getTailwindClassPlan(candidate, config);\n\tif (plan === \"raw\") return true;\n\tif (plan === null) return null;\n\tvar parent = Array.isArray(plan) ? null : plan;\n\tvar entries = parent ? parent.entries : plan;\n\tfor (var index = 0; index < entries.length; index++) {\n\t\tvar _config_tokensParsed_transformTokenCategory_entry_, _config_tokensParsed_transformTokenCategory, _config_tokensParsed;\n\t\tvar entry = entries[index];\n\t\tvar transformTokenCategory = entry[0] === \"x\" || entry[0] === \"y\" ? \"space\" : entry[0] === \"perspective\" ? \"perspective\" : null;\n\t\tvar _config_tokensParsed_transformTokenCategory_entry__val;\n\t\tvar transformValue = transformTokenCategory && typeof entry[1] === \"string\" ? (_config_tokensParsed_transformTokenCategory_entry__val = (_config_tokensParsed = config.tokensParsed) === null || _config_tokensParsed === void 0 ? void 0 : (_config_tokensParsed_transformTokenCategory = _config_tokensParsed[transformTokenCategory]) === null || _config_tokensParsed_transformTokenCategory === void 0 ? void 0 : (_config_tokensParsed_transformTokenCategory_entry_ = _config_tokensParsed_transformTokenCategory[entry[1]]) === null || _config_tokensParsed_transformTokenCategory_entry_ === void 0 ? void 0 : _config_tokensParsed_transformTokenCategory_entry_.val) !== null && _config_tokensParsed_transformTokenCategory_entry__val !== void 0 ? _config_tokensParsed_transformTokenCategory_entry__val : entry[1] : entry[1];\n\t\tif (noteTailwindTransform(sink, [\n\t\t\tentry[0],\n\t\t\ttransformValue,\n\t\t\tentry[2],\n\t\t\tentry[3]\n\t\t])) continue;\n\t\tif (entry[0] === \"boxShadow\" && typeof entry[1] === \"string\") {\n\t\t\tvar _config_tokensParsed_boxShadow_entry_, _config_tokensParsed_boxShadow, _config_tokensParsed1;\n\t\t\tvar _config_tokensParsed_boxShadow_entry__val;\n\t\t\tnoteBoxShadow(sink, (_config_tokensParsed_boxShadow_entry__val = (_config_tokensParsed1 = config.tokensParsed) === null || _config_tokensParsed1 === void 0 ? void 0 : (_config_tokensParsed_boxShadow = _config_tokensParsed1.boxShadow) === null || _config_tokensParsed_boxShadow === void 0 ? void 0 : (_config_tokensParsed_boxShadow_entry_ = _config_tokensParsed_boxShadow[entry[1]]) === null || _config_tokensParsed_boxShadow_entry_ === void 0 ? void 0 : _config_tokensParsed_boxShadow_entry_.val) !== null && _config_tokensParsed_boxShadow_entry__val !== void 0 ? _config_tokensParsed_boxShadow_entry__val : entry[1], entry[3] || []);\n\t\t}\n\t\tsink(entry);\n\t}\n\treturn (parent === null || parent === void 0 ? void 0 : parent.preserveRawClass) || false;\n}\nfunction resolveTailwindClassName(className, config) {\n\tvar result = {};\n\tvar composedProps = null;\n\tvar rawClassName = \"\";\n\tvar sink = function(entry) {\n\t\tvar [key2, value, condition] = entry;\n\t\tif (key2.charCodeAt(0) === 95 && key2.charCodeAt(1) === 95) {\n\t\t\tcomposedProps || (composedProps = {});\n\t\t\tcomposedProps[key2] = mergeFrontendCondition(composedProps[key2], value, condition);\n\t\t\treturn;\n\t\t}\n\t\tif (condition === void 0) {\n\t\t\tvar resets = shorthandResets[key2];\n\t\t\tif (resets) for (var i = 0; i < resets.length; i++) delete result[resets[i]];\n\t\t}\n\t\tsetInAuthoredOrder(result, key2, mergeFrontendCondition(result[key2], value, condition));\n\t};\n\tvar start = 0;\n\tfor (var index = 0; index <= className.length; index++) {\n\t\tif (index !== className.length && className.charCodeAt(index) > 32) continue;\n\t\tif (start === index) {\n\t\t\tstart = index + 1;\n\t\t\tcontinue;\n\t\t}\n\t\tvar candidate = className.slice(start, index);\n\t\tif (resolveTailwindCandidate(candidate, config, sink)) rawClassName = rawClassName ? `${rawClassName} ${candidate}` : candidate;\n\t\tstart = index + 1;\n\t}\n\tif (composedProps) {\n\t\tvar composed = composedResolver(composedProps);\n\t\tfor (var key in composed) setInAuthoredOrder(result, key, composed[key]);\n\t}\n\tif (rawClassName) result.className = rawClassName;\n\treturn result;\n}\nfunction setInAuthoredOrder(target, key, value) {\n\tif (value === \"unset\") {\n\t\tdelete target[key];\n\t\treturn;\n\t}\n\tif (key in target) delete target[key];\n\ttarget[key] = value;\n}\n\nexport { getStyleGrammarConfig, getTailwindClassPlan, isTokenValueProp, resolveTailwindCandidate, resolveTailwindClassName, setInAuthoredOrder };"],"mappings":"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"}