@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.
- package/dist/cjs/candidate.cjs +540 -0
- package/dist/cjs/candidate.native.cjs +578 -0
- package/dist/cjs/candidate.native.js +580 -0
- package/dist/cjs/candidate.native.js.map +1 -0
- package/dist/cjs/compose.cjs +352 -0
- package/dist/cjs/compose.native.cjs +358 -0
- package/dist/cjs/compose.native.js +360 -0
- package/dist/cjs/compose.native.js.map +1 -0
- package/dist/cjs/composedResolver.cjs +175 -0
- package/dist/cjs/composedResolver.native.cjs +201 -0
- package/dist/cjs/composedResolver.native.js +203 -0
- package/dist/cjs/composedResolver.native.js.map +1 -0
- package/dist/cjs/frontend.cjs +54 -0
- package/dist/cjs/frontend.native.cjs +62 -0
- package/dist/cjs/frontend.native.js +64 -0
- package/dist/cjs/frontend.native.js.map +1 -0
- package/dist/cjs/index.cjs +38 -0
- package/dist/cjs/index.native.cjs +40 -0
- package/dist/cjs/index.native.js +42 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/styled.cjs +29 -0
- package/dist/cjs/styled.native.cjs +31 -0
- package/dist/cjs/styled.native.js +33 -0
- package/dist/cjs/styled.native.js.map +1 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.native.cjs +18 -0
- package/dist/cjs/types.native.js +20 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/cjs/vite/state.cjs +249 -0
- package/dist/cjs/vite/state.native.cjs +331 -0
- package/dist/cjs/vite/state.native.js +333 -0
- package/dist/cjs/vite/state.native.js.map +1 -0
- package/dist/cjs/vite.cjs +147 -0
- package/dist/cjs/vite.native.cjs +187 -0
- package/dist/cjs/vite.native.js +189 -0
- package/dist/cjs/vite.native.js.map +1 -0
- package/dist/esm/candidate.mjs +514 -0
- package/dist/esm/candidate.mjs.map +1 -0
- package/dist/esm/candidate.native.js +550 -0
- package/dist/esm/candidate.native.js.map +1 -0
- package/dist/esm/compose.mjs +328 -0
- package/dist/esm/compose.mjs.map +1 -0
- package/dist/esm/compose.native.js +332 -0
- package/dist/esm/compose.native.js.map +1 -0
- package/dist/esm/composedResolver.mjs +155 -0
- package/dist/esm/composedResolver.mjs.map +1 -0
- package/dist/esm/composedResolver.native.js +179 -0
- package/dist/esm/composedResolver.native.js.map +1 -0
- package/dist/esm/frontend.mjs +32 -0
- package/dist/esm/frontend.mjs.map +1 -0
- package/dist/esm/frontend.native.js +38 -0
- package/dist/esm/frontend.native.js.map +1 -0
- package/dist/esm/index.mjs +11 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +11 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/styled.mjs +10 -0
- package/dist/esm/styled.mjs.map +1 -0
- package/dist/esm/styled.native.js +10 -0
- package/dist/esm/styled.native.js.map +1 -0
- package/dist/esm/types.mjs +0 -0
- package/dist/esm/types.native.js +0 -0
- package/dist/esm/vite/state.mjs +216 -0
- package/dist/esm/vite/state.mjs.map +1 -0
- package/dist/esm/vite/state.native.js +296 -0
- package/dist/esm/vite/state.native.js.map +1 -0
- package/dist/esm/vite.mjs +116 -0
- package/dist/esm/vite.mjs.map +1 -0
- package/dist/esm/vite.native.js +154 -0
- package/dist/esm/vite.native.js.map +1 -0
- package/package.json +90 -5
- package/src/candidate.ts +805 -0
- package/src/frontend.ts +73 -0
- package/src/index.tsx +35 -0
- package/src/styled.tsx +52 -0
- package/src/types.ts +249 -0
- package/src/vite/state.ts +274 -0
- package/src/vite.ts +204 -0
- package/types/candidate.d.ts +18 -0
- package/types/candidate.d.ts.map +1 -0
- package/types/compose.d.ts +19 -0
- package/types/compose.d.ts.map +1 -0
- package/types/composedResolver.d.ts +18 -0
- package/types/composedResolver.d.ts.map +1 -0
- package/types/frontend.d.ts +19 -0
- package/types/frontend.d.ts.map +1 -0
- package/types/index.d.ts +17 -0
- package/types/index.d.ts.map +1 -0
- package/types/styled.d.ts +12 -0
- package/types/styled.d.ts.map +1 -0
- package/types/types.d.ts +169 -0
- package/types/types.d.ts.map +1 -0
- package/types/vite/state.d.ts +28 -0
- package/types/vite/state.d.ts.map +1 -0
- package/types/vite.d.ts +20 -0
- package/types/vite.d.ts.map +1 -0
- package/README.md +0 -1
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { plainValueToPayload } from "@tamagui/core/internal-runtime";
|
|
2
|
+
import { canonicalClauseModifier, splitColorOpacitySuffix } from "@tamagui/style-grammar/runtime";
|
|
3
|
+
import { classifyCandidate, decodeArbitrary, hasTokenName, splitCandidate } from "@tamagui/style-grammar/tooling/candidate";
|
|
4
|
+
import { isAndroid, isWeb } from "@tamagui/constants";
|
|
5
|
+
|
|
6
|
+
const transformProps = /* @__PURE__ */ new Set([
|
|
7
|
+
"perspective",
|
|
8
|
+
"rotateX",
|
|
9
|
+
"rotateY",
|
|
10
|
+
"rotateZ",
|
|
11
|
+
"skewX",
|
|
12
|
+
"skewY"
|
|
13
|
+
]);
|
|
14
|
+
const nativeTarget = !isWeb || false;
|
|
15
|
+
const linearTo = {
|
|
16
|
+
t: "to top",
|
|
17
|
+
tr: "to top right",
|
|
18
|
+
r: "to right",
|
|
19
|
+
br: "to bottom right",
|
|
20
|
+
b: "to bottom",
|
|
21
|
+
bl: "to bottom left",
|
|
22
|
+
l: "to left",
|
|
23
|
+
tl: "to top left"
|
|
24
|
+
};
|
|
25
|
+
const colorKeywords = {
|
|
26
|
+
transparent: "transparent",
|
|
27
|
+
current: "currentColor",
|
|
28
|
+
inherit: "inherit",
|
|
29
|
+
black: "black",
|
|
30
|
+
white: "white"
|
|
31
|
+
};
|
|
32
|
+
const dropShadowPresets = {
|
|
33
|
+
xs: {
|
|
34
|
+
geometry: "0 1px 1px",
|
|
35
|
+
defaultColor: "rgb(0 0 0 / 0.05)"
|
|
36
|
+
},
|
|
37
|
+
sm: {
|
|
38
|
+
geometry: "0 1px 2px",
|
|
39
|
+
defaultColor: "rgb(0 0 0 / 0.15)"
|
|
40
|
+
},
|
|
41
|
+
md: {
|
|
42
|
+
geometry: "0 3px 3px",
|
|
43
|
+
defaultColor: "rgb(0 0 0 / 0.12)"
|
|
44
|
+
},
|
|
45
|
+
lg: {
|
|
46
|
+
geometry: "0 4px 4px",
|
|
47
|
+
defaultColor: "rgb(0 0 0 / 0.15)"
|
|
48
|
+
},
|
|
49
|
+
xl: {
|
|
50
|
+
geometry: "0 9px 7px",
|
|
51
|
+
defaultColor: "rgb(0 0 0 / 0.1)"
|
|
52
|
+
},
|
|
53
|
+
"2xl": {
|
|
54
|
+
geometry: "0 25px 25px",
|
|
55
|
+
defaultColor: "rgb(0 0 0 / 0.15)"
|
|
56
|
+
},
|
|
57
|
+
none: {
|
|
58
|
+
geometry: "0 0 0",
|
|
59
|
+
defaultColor: "transparent"
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const textShadowPresets = {
|
|
63
|
+
"2xs": {
|
|
64
|
+
offset: {
|
|
65
|
+
width: 0,
|
|
66
|
+
height: 1
|
|
67
|
+
},
|
|
68
|
+
radius: 0,
|
|
69
|
+
defaultColor: "rgb(0 0 0 / 0.15)"
|
|
70
|
+
},
|
|
71
|
+
xs: {
|
|
72
|
+
offset: {
|
|
73
|
+
width: 0,
|
|
74
|
+
height: 1
|
|
75
|
+
},
|
|
76
|
+
radius: 1,
|
|
77
|
+
defaultColor: "rgb(0 0 0 / 0.2)"
|
|
78
|
+
},
|
|
79
|
+
none: {
|
|
80
|
+
offset: {
|
|
81
|
+
width: 0,
|
|
82
|
+
height: 0
|
|
83
|
+
},
|
|
84
|
+
radius: 0,
|
|
85
|
+
defaultColor: "transparent"
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const insetShadowPresets = {
|
|
89
|
+
"2xs": {
|
|
90
|
+
geometry: "inset 0 1px 0",
|
|
91
|
+
defaultColor: "rgb(0 0 0 / 0.05)"
|
|
92
|
+
},
|
|
93
|
+
xs: {
|
|
94
|
+
geometry: "inset 0 1px 1px",
|
|
95
|
+
defaultColor: "rgb(0 0 0 / 0.05)"
|
|
96
|
+
},
|
|
97
|
+
sm: {
|
|
98
|
+
geometry: "inset 0 2px 4px",
|
|
99
|
+
defaultColor: "rgb(0 0 0 / 0.05)"
|
|
100
|
+
},
|
|
101
|
+
none: {
|
|
102
|
+
geometry: "",
|
|
103
|
+
defaultColor: "transparent"
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
const filterPropMap = {
|
|
107
|
+
blur: "__filter_blur",
|
|
108
|
+
brightness: "__filter_brightness",
|
|
109
|
+
contrast: "__filter_contrast",
|
|
110
|
+
grayscale: "__filter_grayscale",
|
|
111
|
+
"hue-rotate": "__filter_hueRotate",
|
|
112
|
+
invert: "__filter_invert",
|
|
113
|
+
saturate: "__filter_saturate",
|
|
114
|
+
sepia: "__filter_sepia"
|
|
115
|
+
};
|
|
116
|
+
function composerKind(core) {
|
|
117
|
+
const first = core.charCodeAt(0);
|
|
118
|
+
if (first === 100) return core.startsWith("drop-shadow-") ? "drop-shadow" : null;
|
|
119
|
+
if (first === 102) return core.startsWith("from-") ? "from" : null;
|
|
120
|
+
if (first === 118) return core.startsWith("via-") ? "via" : null;
|
|
121
|
+
if (first === 116) {
|
|
122
|
+
if (core.startsWith("text-shadow-")) return "text-shadow";
|
|
123
|
+
return core.startsWith("to-") ? "to" : null;
|
|
124
|
+
}
|
|
125
|
+
if (first === 98) {
|
|
126
|
+
if (core.startsWith("bg-linear-to-")) return "image";
|
|
127
|
+
return core.startsWith("blur-") || core.startsWith("brightness-") ? "filter" : null;
|
|
128
|
+
}
|
|
129
|
+
if (first === 114) return core === "ring" || core.startsWith("ring-") ? "ring" : null;
|
|
130
|
+
if (first === 99) return core.startsWith("contrast-") ? "filter" : null;
|
|
131
|
+
if (first === 103) return core === "grayscale" || core.startsWith("grayscale-") ? "filter" : null;
|
|
132
|
+
if (first === 104) return core.startsWith("hue-rotate-") ? "filter" : null;
|
|
133
|
+
if (first === 105) return core.startsWith("inset-ring") ? "inset-ring" : core.startsWith("inset-shadow-") ? "inset-shadow" : core === "invert" || core.startsWith("invert-") ? "filter" : null;
|
|
134
|
+
if (first === 115) return core.startsWith("saturate-") || core === "sepia" || core.startsWith("sepia-") ? "filter" : null;
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
function filterPart(core) {
|
|
138
|
+
if (core.startsWith("blur-")) {
|
|
139
|
+
const value = {
|
|
140
|
+
none: 0,
|
|
141
|
+
xs: 4,
|
|
142
|
+
sm: 8,
|
|
143
|
+
md: 12,
|
|
144
|
+
lg: 16,
|
|
145
|
+
xl: 24,
|
|
146
|
+
"2xl": 40,
|
|
147
|
+
"3xl": 64
|
|
148
|
+
}[core.slice(5)];
|
|
149
|
+
return value === void 0 ? null : ["blur", `${value}px`];
|
|
150
|
+
}
|
|
151
|
+
for (const name of [
|
|
152
|
+
"brightness",
|
|
153
|
+
"contrast",
|
|
154
|
+
"saturate"
|
|
155
|
+
]) {
|
|
156
|
+
if (!core.startsWith(`${name}-`)) continue;
|
|
157
|
+
const value = core.slice(name.length + 1);
|
|
158
|
+
if (!/^\d+$/.test(value)) return null;
|
|
159
|
+
return [name, `${value}%`];
|
|
160
|
+
}
|
|
161
|
+
for (const name of [
|
|
162
|
+
"grayscale",
|
|
163
|
+
"invert",
|
|
164
|
+
"sepia"
|
|
165
|
+
]) {
|
|
166
|
+
if (core === name) return [name, "100%"];
|
|
167
|
+
if (!core.startsWith(`${name}-`)) continue;
|
|
168
|
+
const value = core.slice(name.length + 1);
|
|
169
|
+
if (!/^\d+$/.test(value)) return null;
|
|
170
|
+
return [name, `${value}%`];
|
|
171
|
+
}
|
|
172
|
+
if (core.startsWith("hue-rotate-")) {
|
|
173
|
+
const value = core.slice(11);
|
|
174
|
+
if (!/^\d+$/.test(value)) return null;
|
|
175
|
+
return ["hue-rotate", `${value}deg`];
|
|
176
|
+
}
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
function resolveColor(raw, config) {
|
|
180
|
+
if (raw.length > 1 && raw[0] === "[" && raw[raw.length - 1] === "]") return decodeArbitrary(raw.slice(1, -1)) || null;
|
|
181
|
+
if (raw.endsWith("%")) return null;
|
|
182
|
+
const keyword = colorKeywords[raw];
|
|
183
|
+
if (keyword) return keyword;
|
|
184
|
+
const suffix = splitColorOpacitySuffix(raw);
|
|
185
|
+
if (!hasTokenName(config, "color", suffix.kind === "none" ? raw : suffix.name)) return null;
|
|
186
|
+
return raw;
|
|
187
|
+
}
|
|
188
|
+
function emit(sink, property, value, modifiers) {
|
|
189
|
+
if (modifiers.length === 0) {
|
|
190
|
+
sink([property, value]);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const payload = plainValueToPayload(value, property) ?? value;
|
|
194
|
+
if (payload === null) return;
|
|
195
|
+
let condition = modifiers[0];
|
|
196
|
+
for (let index = 1; index < modifiers.length; index++) condition += `:${modifiers[index]}`;
|
|
197
|
+
sink([
|
|
198
|
+
property,
|
|
199
|
+
payload,
|
|
200
|
+
condition,
|
|
201
|
+
modifiers
|
|
202
|
+
]);
|
|
203
|
+
}
|
|
204
|
+
function ringWidth(raw) {
|
|
205
|
+
if (raw === "inset") return null;
|
|
206
|
+
if (/^\d+$/.test(raw)) return `${raw}px`;
|
|
207
|
+
if (raw.length > 1 && raw[0] === "[" && raw[raw.length - 1] === "]") {
|
|
208
|
+
const inner = decodeArbitrary(raw.slice(1, -1));
|
|
209
|
+
if (/^-?(?:\d+|\d*\.\d+)$/.test(inner)) return `${inner}px`;
|
|
210
|
+
if (/^-?(?:\d+|\d*\.\d+)px$/.test(inner)) return inner;
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
function tryCompose(candidate, config, sink) {
|
|
216
|
+
const modified = candidate.indexOf(":") !== -1;
|
|
217
|
+
const split = modified ? splitCandidate(candidate) : null;
|
|
218
|
+
if (modified && !split) return void 0;
|
|
219
|
+
const core = split ? split.base : candidate;
|
|
220
|
+
if (!core) return void 0;
|
|
221
|
+
const kind = composerKind(core);
|
|
222
|
+
if (kind == null) return void 0;
|
|
223
|
+
const modifiers = split ? split.modifiers.map(canonicalClauseModifier) : [];
|
|
224
|
+
if (kind === "filter") {
|
|
225
|
+
const part = filterPart(core);
|
|
226
|
+
if (!part) return true;
|
|
227
|
+
if (nativeTarget && part[0] !== "brightness" && !isAndroid) return null;
|
|
228
|
+
const prop = filterPropMap[part[0]];
|
|
229
|
+
if (prop) emit(sink, prop, part[1], modifiers);
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
if (kind === "drop-shadow") {
|
|
233
|
+
if (nativeTarget && !isAndroid) return null;
|
|
234
|
+
const raw2 = core.slice(12);
|
|
235
|
+
const shadow = dropShadowPresets[raw2];
|
|
236
|
+
if (shadow) {
|
|
237
|
+
emit(sink, "__dropShadowGeometry", shadow.geometry, modifiers);
|
|
238
|
+
emit(sink, "__dropShadowDefaultColor", shadow.defaultColor, modifiers);
|
|
239
|
+
} else {
|
|
240
|
+
const color2 = resolveColor(raw2, config);
|
|
241
|
+
if (color2 == null) return void 0;
|
|
242
|
+
emit(sink, "__dropShadowColor", color2, modifiers);
|
|
243
|
+
}
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
if (kind === "text-shadow") {
|
|
247
|
+
const raw2 = core.slice(12);
|
|
248
|
+
const geometry = textShadowPresets[raw2];
|
|
249
|
+
if (geometry) {
|
|
250
|
+
if (modifiers.length > 0) return nativeTarget ? null : void 0;
|
|
251
|
+
emit(sink, "__textShadow_preset", geometry, modifiers);
|
|
252
|
+
} else {
|
|
253
|
+
const resolved = resolveColor(raw2, config);
|
|
254
|
+
const classified = resolved == null ? classifyCandidate(core, config) : null;
|
|
255
|
+
const color2 = resolved ?? (classified?.kind === "tamagui" && classified.parsed.entry?.prop === "textShadowColor" ? raw2 : null);
|
|
256
|
+
if (color2 == null) return void 0;
|
|
257
|
+
emit(sink, "__textShadow_color", color2, modifiers);
|
|
258
|
+
}
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
if (kind === "inset-ring") {
|
|
262
|
+
const raw2 = core === "inset-ring" ? "" : core.slice(11);
|
|
263
|
+
const width2 = raw2 === "" ? "1px" : ringWidth(raw2);
|
|
264
|
+
if (width2 != null) emit(sink, "__insetRingWidth", width2, modifiers);
|
|
265
|
+
else {
|
|
266
|
+
const color2 = resolveColor(raw2, config);
|
|
267
|
+
if (color2 == null) return void 0;
|
|
268
|
+
emit(sink, "__insetRingColor", color2, modifiers);
|
|
269
|
+
}
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
if (kind === "inset-shadow") {
|
|
273
|
+
const raw2 = core.slice(13);
|
|
274
|
+
const shadow = insetShadowPresets[raw2];
|
|
275
|
+
if (shadow) {
|
|
276
|
+
emit(sink, "__insetShadowGeometry", shadow.geometry, modifiers);
|
|
277
|
+
emit(sink, "__insetShadowDefaultColor", shadow.defaultColor, modifiers);
|
|
278
|
+
} else {
|
|
279
|
+
const color2 = resolveColor(raw2, config);
|
|
280
|
+
if (color2 == null) return void 0;
|
|
281
|
+
emit(sink, "__insetShadowColor", color2, modifiers);
|
|
282
|
+
}
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
if (kind === "image") {
|
|
286
|
+
const dir = linearTo[core.slice(13)];
|
|
287
|
+
if (!dir) return true;
|
|
288
|
+
emit(sink, "__gradientDirection", dir, modifiers);
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
if (kind === "from" || kind === "via" || kind === "to") {
|
|
292
|
+
const color2 = resolveColor(core.slice(kind.length + 1), config);
|
|
293
|
+
if (color2 == null) return true;
|
|
294
|
+
emit(sink, kind === "from" ? "__gradientFrom" : kind === "via" ? "__gradientVia" : "__gradientTo", color2, modifiers);
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
if (core === "ring") {
|
|
298
|
+
emit(sink, "__ring", "1px", modifiers);
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
if (core === "ring-inset") {
|
|
302
|
+
emit(sink, "__ringInset", true, modifiers);
|
|
303
|
+
return false;
|
|
304
|
+
}
|
|
305
|
+
const raw = core.slice(5);
|
|
306
|
+
const width = ringWidth(raw);
|
|
307
|
+
if (width != null) {
|
|
308
|
+
emit(sink, "__ring", width, modifiers);
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
const color = resolveColor(raw, config);
|
|
312
|
+
if (color == null) return true;
|
|
313
|
+
emit(sink, "__ringColor", color, modifiers);
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
316
|
+
function noteTailwindTransform(sink, entry) {
|
|
317
|
+
if (!transformProps.has(entry[0])) return false;
|
|
318
|
+
emit(sink, `__transform_${entry[0]}`, entry[1], entry[3] || []);
|
|
319
|
+
return true;
|
|
320
|
+
}
|
|
321
|
+
function noteBoxShadow(sink, value, modifiers) {
|
|
322
|
+
if (typeof value !== "string" || value === "unset") return;
|
|
323
|
+
if (value.indexOf(" ") === -1 && value !== "none" && !value.startsWith("inset")) return;
|
|
324
|
+
emit(sink, "__shadow", value, modifiers);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
export { noteBoxShadow, noteTailwindTransform, tryCompose };
|
|
328
|
+
//# sourceMappingURL=compose.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","names":[],"sources":["esm/compose.js"],"sourcesContent":["import { plainValueToPayload } from \"@tamagui/core/internal-runtime\";\nimport { canonicalClauseModifier, splitColorOpacitySuffix } from \"@tamagui/style-grammar/runtime\";\nimport { classifyCandidate, decodeArbitrary, hasTokenName, splitCandidate } from \"@tamagui/style-grammar/tooling/candidate\";\nimport { isAndroid, isWeb } from \"@tamagui/constants\";\n\nconst transformProps = /* @__PURE__ */ new Set([\n\t\"perspective\",\n\t\"rotateX\",\n\t\"rotateY\",\n\t\"rotateZ\",\n\t\"skewX\",\n\t\"skewY\"\n]);\nconst nativeTarget = !isWeb || false;\nconst linearTo = {\n\tt: \"to top\",\n\ttr: \"to top right\",\n\tr: \"to right\",\n\tbr: \"to bottom right\",\n\tb: \"to bottom\",\n\tbl: \"to bottom left\",\n\tl: \"to left\",\n\ttl: \"to top left\"\n};\nconst colorKeywords = {\n\ttransparent: \"transparent\",\n\tcurrent: \"currentColor\",\n\tinherit: \"inherit\",\n\tblack: \"black\",\n\twhite: \"white\"\n};\nconst dropShadowPresets = {\n\txs: {\n\t\tgeometry: \"0 1px 1px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.05)\"\n\t},\n\tsm: {\n\t\tgeometry: \"0 1px 2px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.15)\"\n\t},\n\tmd: {\n\t\tgeometry: \"0 3px 3px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.12)\"\n\t},\n\tlg: {\n\t\tgeometry: \"0 4px 4px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.15)\"\n\t},\n\txl: {\n\t\tgeometry: \"0 9px 7px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.1)\"\n\t},\n\t\"2xl\": {\n\t\tgeometry: \"0 25px 25px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.15)\"\n\t},\n\tnone: {\n\t\tgeometry: \"0 0 0\",\n\t\tdefaultColor: \"transparent\"\n\t}\n};\nconst textShadowPresets = {\n\t\"2xs\": {\n\t\toffset: {\n\t\t\twidth: 0,\n\t\t\theight: 1\n\t\t},\n\t\tradius: 0,\n\t\tdefaultColor: \"rgb(0 0 0 / 0.15)\"\n\t},\n\txs: {\n\t\toffset: {\n\t\t\twidth: 0,\n\t\t\theight: 1\n\t\t},\n\t\tradius: 1,\n\t\tdefaultColor: \"rgb(0 0 0 / 0.2)\"\n\t},\n\tnone: {\n\t\toffset: {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t},\n\t\tradius: 0,\n\t\tdefaultColor: \"transparent\"\n\t}\n};\nconst insetShadowPresets = {\n\t\"2xs\": {\n\t\tgeometry: \"inset 0 1px 0\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.05)\"\n\t},\n\txs: {\n\t\tgeometry: \"inset 0 1px 1px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.05)\"\n\t},\n\tsm: {\n\t\tgeometry: \"inset 0 2px 4px\",\n\t\tdefaultColor: \"rgb(0 0 0 / 0.05)\"\n\t},\n\tnone: {\n\t\tgeometry: \"\",\n\t\tdefaultColor: \"transparent\"\n\t}\n};\nconst filterPropMap = {\n\tblur: \"__filter_blur\",\n\tbrightness: \"__filter_brightness\",\n\tcontrast: \"__filter_contrast\",\n\tgrayscale: \"__filter_grayscale\",\n\t\"hue-rotate\": \"__filter_hueRotate\",\n\tinvert: \"__filter_invert\",\n\tsaturate: \"__filter_saturate\",\n\tsepia: \"__filter_sepia\"\n};\nfunction composerKind(core) {\n\tconst first = core.charCodeAt(0);\n\tif (first === 100) return core.startsWith(\"drop-shadow-\") ? \"drop-shadow\" : null;\n\tif (first === 102) return core.startsWith(\"from-\") ? \"from\" : null;\n\tif (first === 118) return core.startsWith(\"via-\") ? \"via\" : null;\n\tif (first === 116) {\n\t\tif (core.startsWith(\"text-shadow-\")) return \"text-shadow\";\n\t\treturn core.startsWith(\"to-\") ? \"to\" : null;\n\t}\n\tif (first === 98) {\n\t\tif (core.startsWith(\"bg-linear-to-\")) return \"image\";\n\t\treturn core.startsWith(\"blur-\") || core.startsWith(\"brightness-\") ? \"filter\" : null;\n\t}\n\tif (first === 114) return core === \"ring\" || core.startsWith(\"ring-\") ? \"ring\" : null;\n\tif (first === 99) return core.startsWith(\"contrast-\") ? \"filter\" : null;\n\tif (first === 103) return core === \"grayscale\" || core.startsWith(\"grayscale-\") ? \"filter\" : null;\n\tif (first === 104) return core.startsWith(\"hue-rotate-\") ? \"filter\" : null;\n\tif (first === 105) return core.startsWith(\"inset-ring\") ? \"inset-ring\" : core.startsWith(\"inset-shadow-\") ? \"inset-shadow\" : core === \"invert\" || core.startsWith(\"invert-\") ? \"filter\" : null;\n\tif (first === 115) return core.startsWith(\"saturate-\") || core === \"sepia\" || core.startsWith(\"sepia-\") ? \"filter\" : null;\n\treturn null;\n}\nfunction filterPart(core) {\n\tif (core.startsWith(\"blur-\")) {\n\t\tconst value = {\n\t\t\tnone: 0,\n\t\t\txs: 4,\n\t\t\tsm: 8,\n\t\t\tmd: 12,\n\t\t\tlg: 16,\n\t\t\txl: 24,\n\t\t\t\"2xl\": 40,\n\t\t\t\"3xl\": 64\n\t\t}[core.slice(5)];\n\t\treturn value === void 0 ? null : [\"blur\", `${value}px`];\n\t}\n\tfor (const name of [\n\t\t\"brightness\",\n\t\t\"contrast\",\n\t\t\"saturate\"\n\t]) {\n\t\tif (!core.startsWith(`${name}-`)) continue;\n\t\tconst value = core.slice(name.length + 1);\n\t\tif (!/^\\d+$/.test(value)) return null;\n\t\treturn [name, `${value}%`];\n\t}\n\tfor (const name of [\n\t\t\"grayscale\",\n\t\t\"invert\",\n\t\t\"sepia\"\n\t]) {\n\t\tif (core === name) return [name, \"100%\"];\n\t\tif (!core.startsWith(`${name}-`)) continue;\n\t\tconst value = core.slice(name.length + 1);\n\t\tif (!/^\\d+$/.test(value)) return null;\n\t\treturn [name, `${value}%`];\n\t}\n\tif (core.startsWith(\"hue-rotate-\")) {\n\t\tconst value = core.slice(11);\n\t\tif (!/^\\d+$/.test(value)) return null;\n\t\treturn [\"hue-rotate\", `${value}deg`];\n\t}\n\treturn null;\n}\nfunction resolveColor(raw, config) {\n\tif (raw.length > 1 && raw[0] === \"[\" && raw[raw.length - 1] === \"]\") return decodeArbitrary(raw.slice(1, -1)) || null;\n\tif (raw.endsWith(\"%\")) return null;\n\tconst keyword = colorKeywords[raw];\n\tif (keyword) return keyword;\n\tconst suffix = splitColorOpacitySuffix(raw);\n\tif (!hasTokenName(config, \"color\", suffix.kind === \"none\" ? raw : suffix.name)) return null;\n\treturn raw;\n}\nfunction emit(sink, property, value, modifiers) {\n\tif (modifiers.length === 0) {\n\t\tsink([property, value]);\n\t\treturn;\n\t}\n\tconst payload = plainValueToPayload(value, property) ?? value;\n\tif (payload === null) return;\n\tlet condition = modifiers[0];\n\tfor (let index = 1; index < modifiers.length; index++) condition += `:${modifiers[index]}`;\n\tsink([\n\t\tproperty,\n\t\tpayload,\n\t\tcondition,\n\t\tmodifiers\n\t]);\n}\nfunction ringWidth(raw) {\n\tif (raw === \"inset\") return null;\n\tif (/^\\d+$/.test(raw)) return `${raw}px`;\n\tif (raw.length > 1 && raw[0] === \"[\" && raw[raw.length - 1] === \"]\") {\n\t\tconst inner = decodeArbitrary(raw.slice(1, -1));\n\t\tif (/^-?(?:\\d+|\\d*\\.\\d+)$/.test(inner)) return `${inner}px`;\n\t\tif (/^-?(?:\\d+|\\d*\\.\\d+)px$/.test(inner)) return inner;\n\t\treturn null;\n\t}\n\treturn null;\n}\nfunction tryCompose(candidate, config, sink) {\n\tconst modified = candidate.indexOf(\":\") !== -1;\n\tconst split = modified ? splitCandidate(candidate) : null;\n\tif (modified && !split) return void 0;\n\tconst core = split ? split.base : candidate;\n\tif (!core) return void 0;\n\tconst kind = composerKind(core);\n\tif (kind == null) return void 0;\n\tconst modifiers = split ? split.modifiers.map(canonicalClauseModifier) : [];\n\tif (kind === \"filter\") {\n\t\tconst part = filterPart(core);\n\t\tif (!part) return true;\n\t\tif (nativeTarget && part[0] !== \"brightness\" && !isAndroid) return null;\n\t\tconst prop = filterPropMap[part[0]];\n\t\tif (prop) emit(sink, prop, part[1], modifiers);\n\t\treturn false;\n\t}\n\tif (kind === \"drop-shadow\") {\n\t\tif (nativeTarget && !isAndroid) return null;\n\t\tconst raw2 = core.slice(12);\n\t\tconst shadow = dropShadowPresets[raw2];\n\t\tif (shadow) {\n\t\t\temit(sink, \"__dropShadowGeometry\", shadow.geometry, modifiers);\n\t\t\temit(sink, \"__dropShadowDefaultColor\", shadow.defaultColor, modifiers);\n\t\t} else {\n\t\t\tconst color2 = resolveColor(raw2, config);\n\t\t\tif (color2 == null) return void 0;\n\t\t\temit(sink, \"__dropShadowColor\", color2, modifiers);\n\t\t}\n\t\treturn false;\n\t}\n\tif (kind === \"text-shadow\") {\n\t\tconst raw2 = core.slice(12);\n\t\tconst geometry = textShadowPresets[raw2];\n\t\tif (geometry) {\n\t\t\tif (modifiers.length > 0) return nativeTarget ? null : void 0;\n\t\t\temit(sink, \"__textShadow_preset\", geometry, modifiers);\n\t\t} else {\n\t\t\tconst resolved = resolveColor(raw2, config);\n\t\t\tconst classified = resolved == null ? classifyCandidate(core, config) : null;\n\t\t\tconst color2 = resolved ?? (classified?.kind === \"tamagui\" && classified.parsed.entry?.prop === \"textShadowColor\" ? raw2 : null);\n\t\t\tif (color2 == null) return void 0;\n\t\t\temit(sink, \"__textShadow_color\", color2, modifiers);\n\t\t}\n\t\treturn false;\n\t}\n\tif (kind === \"inset-ring\") {\n\t\tconst raw2 = core === \"inset-ring\" ? \"\" : core.slice(11);\n\t\tconst width2 = raw2 === \"\" ? \"1px\" : ringWidth(raw2);\n\t\tif (width2 != null) emit(sink, \"__insetRingWidth\", width2, modifiers);\n\t\telse {\n\t\t\tconst color2 = resolveColor(raw2, config);\n\t\t\tif (color2 == null) return void 0;\n\t\t\temit(sink, \"__insetRingColor\", color2, modifiers);\n\t\t}\n\t\treturn false;\n\t}\n\tif (kind === \"inset-shadow\") {\n\t\tconst raw2 = core.slice(13);\n\t\tconst shadow = insetShadowPresets[raw2];\n\t\tif (shadow) {\n\t\t\temit(sink, \"__insetShadowGeometry\", shadow.geometry, modifiers);\n\t\t\temit(sink, \"__insetShadowDefaultColor\", shadow.defaultColor, modifiers);\n\t\t} else {\n\t\t\tconst color2 = resolveColor(raw2, config);\n\t\t\tif (color2 == null) return void 0;\n\t\t\temit(sink, \"__insetShadowColor\", color2, modifiers);\n\t\t}\n\t\treturn false;\n\t}\n\tif (kind === \"image\") {\n\t\tconst dir = linearTo[core.slice(13)];\n\t\tif (!dir) return true;\n\t\temit(sink, \"__gradientDirection\", dir, modifiers);\n\t\treturn false;\n\t}\n\tif (kind === \"from\" || kind === \"via\" || kind === \"to\") {\n\t\tconst color2 = resolveColor(core.slice(kind.length + 1), config);\n\t\tif (color2 == null) return true;\n\t\temit(sink, kind === \"from\" ? \"__gradientFrom\" : kind === \"via\" ? \"__gradientVia\" : \"__gradientTo\", color2, modifiers);\n\t\treturn false;\n\t}\n\tif (core === \"ring\") {\n\t\temit(sink, \"__ring\", \"1px\", modifiers);\n\t\treturn false;\n\t}\n\tif (core === \"ring-inset\") {\n\t\temit(sink, \"__ringInset\", true, modifiers);\n\t\treturn false;\n\t}\n\tconst raw = core.slice(5);\n\tconst width = ringWidth(raw);\n\tif (width != null) {\n\t\temit(sink, \"__ring\", width, modifiers);\n\t\treturn false;\n\t}\n\tconst color = resolveColor(raw, config);\n\tif (color == null) return true;\n\temit(sink, \"__ringColor\", color, modifiers);\n\treturn false;\n}\nfunction noteTailwindTransform(sink, entry) {\n\tif (!transformProps.has(entry[0])) return false;\n\temit(sink, `__transform_${entry[0]}`, entry[1], entry[3] || []);\n\treturn true;\n}\nfunction noteBoxShadow(sink, value, modifiers) {\n\tif (typeof value !== \"string\" || value === \"unset\") return;\n\tif (value.indexOf(\" \") === -1 && value !== \"none\" && !value.startsWith(\"inset\")) return;\n\temit(sink, \"__shadow\", value, modifiers);\n}\n\nexport { noteBoxShadow, noteTailwindTransform, tryCompose };"],"mappings":"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"}
|