fiboui 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1894 +0,0 @@
1
- "use client";
2
- var ct = Object.defineProperty;
3
- var lt = (o, t, e) => t in o ? ct(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
4
- var a = (o, t, e) => lt(o, typeof t != "symbol" ? t + "" : t, e);
5
- import g, { useRef as S, createContext as z, useContext as M, useCallback as $, useSyncExternalStore as R, useEffect as L, useState as I, memo as at, cloneElement as O } from "react";
6
- import { jsx as x, Fragment as B } from "react/jsx-runtime";
7
- class X {
8
- constructor() {
9
- a(this, "activeEffect", null);
10
- }
11
- }
12
- const Y = new X(), P = [Y];
13
- function H() {
14
- return new X();
15
- }
16
- function K() {
17
- return P[P.length - 1] ?? Y;
18
- }
19
- function j() {
20
- return K().activeEffect;
21
- }
22
- function ht(o, t) {
23
- P.push(o);
24
- try {
25
- return t();
26
- } finally {
27
- P.pop();
28
- }
29
- }
30
- function N(o) {
31
- const t = K(), e = t.activeEffect;
32
- return t.activeEffect = o, e;
33
- }
34
- class ut {
35
- constructor(t) {
36
- a(this, "dependencies", /* @__PURE__ */ new Set());
37
- a(this, "_onDispose");
38
- this.fn = t, this.run();
39
- }
40
- run() {
41
- const t = N(this);
42
- try {
43
- this.cleanup(), this.fn();
44
- } finally {
45
- N(t);
46
- }
47
- }
48
- track(t) {
49
- this.dependencies.add(t), t.subscribeEffect(this);
50
- }
51
- trigger() {
52
- this.run();
53
- }
54
- cleanup() {
55
- this.dependencies.forEach((t) => t.unsubscribeEffect(this)), this.dependencies.clear();
56
- }
57
- dispose() {
58
- var t;
59
- this.cleanup(), (t = this._onDispose) == null || t.call(this);
60
- }
61
- }
62
- class ft {
63
- constructor(t) {
64
- a(this, "dependencies", /* @__PURE__ */ new Set());
65
- this._onInvalidate = t;
66
- }
67
- execute(t) {
68
- const e = N(this);
69
- try {
70
- return this.cleanup(), t();
71
- } finally {
72
- N(e);
73
- }
74
- }
75
- track(t) {
76
- this.dependencies.add(t), t.subscribeEffect(this);
77
- }
78
- trigger() {
79
- this._onInvalidate();
80
- }
81
- cleanup() {
82
- this.dependencies.forEach((t) => t.unsubscribeEffect(this)), this.dependencies.clear();
83
- }
84
- dispose() {
85
- this.cleanup();
86
- }
87
- }
88
- class E {
89
- constructor(t) {
90
- a(this, "listeners", /* @__PURE__ */ new Set());
91
- a(this, "effects", /* @__PURE__ */ new Set());
92
- this._value = t;
93
- }
94
- get value() {
95
- const t = j();
96
- return t && t.track(this), this._value;
97
- }
98
- set value(t) {
99
- this._value !== t && (this._value = t, this.notify());
100
- }
101
- subscribe(t) {
102
- return this.listeners.add(t), () => this.listeners.delete(t);
103
- }
104
- subscribeEffect(t) {
105
- this.effects.add(t);
106
- }
107
- unsubscribeEffect(t) {
108
- this.effects.delete(t);
109
- }
110
- notify() {
111
- const t = Array.from(this.effects), e = Array.from(this.listeners);
112
- t.forEach((s) => s.trigger()), e.forEach((s) => s(this._value));
113
- }
114
- }
115
- function Ut(o) {
116
- return new E(o);
117
- }
118
- class dt {
119
- constructor(t) {
120
- a(this, "listeners", /* @__PURE__ */ new Set());
121
- a(this, "effects", /* @__PURE__ */ new Set());
122
- a(this, "_value");
123
- a(this, "_dirty", !0);
124
- a(this, "internalEffect");
125
- this.fn = t, this.internalEffect = new ut(() => {
126
- this._dirty || (this._dirty = !0, this.notify());
127
- });
128
- }
129
- get value() {
130
- const t = j();
131
- if (t && t.track(this), this._dirty) {
132
- const e = N(this.internalEffect);
133
- try {
134
- this.internalEffect.cleanup(), this._value = this.fn(), this._dirty = !1;
135
- } finally {
136
- N(e);
137
- }
138
- }
139
- return this._value;
140
- }
141
- subscribe(t) {
142
- return this.listeners.add(t), () => this.listeners.delete(t);
143
- }
144
- subscribeEffect(t) {
145
- this.effects.add(t);
146
- }
147
- unsubscribeEffect(t) {
148
- this.effects.delete(t);
149
- }
150
- notify() {
151
- const t = Array.from(this.effects), e = Array.from(this.listeners);
152
- t.forEach((s) => s.trigger()), e.forEach((s) => s(this._value));
153
- }
154
- }
155
- function qt(o) {
156
- return new dt(o);
157
- }
158
- class pt {
159
- constructor(t) {
160
- a(this, "listeners", /* @__PURE__ */ new Set());
161
- a(this, "effects", /* @__PURE__ */ new Set());
162
- this._value = t;
163
- }
164
- get() {
165
- const t = j();
166
- return t && t.track(this), this._value;
167
- }
168
- set(t) {
169
- this._value !== t && (this._value = t, this.notify());
170
- }
171
- subscribe(t) {
172
- return this.listeners.add(t), () => this.listeners.delete(t);
173
- }
174
- subscribeEffect(t) {
175
- this.effects.add(t);
176
- }
177
- unsubscribeEffect(t) {
178
- this.effects.delete(t);
179
- }
180
- notify() {
181
- Array.from(this.effects).forEach((t) => t.trigger()), Array.from(this.listeners).forEach((t) => t(this._value));
182
- }
183
- }
184
- function Zt(o) {
185
- return new pt(o);
186
- }
187
- class mt {
188
- constructor(t) {
189
- a(this, "listeners", /* @__PURE__ */ new Set());
190
- a(this, "effects", /* @__PURE__ */ new Set());
191
- this.state = t;
192
- }
193
- getState() {
194
- const t = j();
195
- return t && t.track(this), this.state;
196
- }
197
- setState(t) {
198
- const e = typeof t == "function" ? t(this.state) : t, s = { ...this.state, ...e }, r = Object.keys(this.state), i = Object.keys(s);
199
- r.length === i.length && i.every((n) => Object.is(s[n], this.state[n])) || (this.state = s, this.notify());
200
- }
201
- subscribe(t) {
202
- return this.listeners.add(t), () => this.listeners.delete(t);
203
- }
204
- subscribeEffect(t) {
205
- this.effects.add(t);
206
- }
207
- unsubscribeEffect(t) {
208
- this.effects.delete(t);
209
- }
210
- notify() {
211
- Array.from(this.effects).forEach((t) => t.trigger()), Array.from(this.listeners).forEach((t) => t(this.state));
212
- }
213
- }
214
- function Jt(o) {
215
- return new mt(o);
216
- }
217
- const gt = H(), U = z(gt);
218
- function bt() {
219
- return M(U);
220
- }
221
- function Qt({ children: o, scope: t }) {
222
- const e = S(t ?? H()).current;
223
- return /* @__PURE__ */ x(U.Provider, { value: e, children: o });
224
- }
225
- function kt({ children: o }) {
226
- const t = S(0), e = S(/* @__PURE__ */ new Set()), s = S(null);
227
- s.current || (s.current = new ft(() => {
228
- t.current += 1, e.current.forEach((h) => h());
229
- }));
230
- const r = $((h) => (e.current.add(h), () => {
231
- e.current.delete(h);
232
- }), []), i = $(() => t.current, []);
233
- R(r, i, i), L(() => () => {
234
- var h;
235
- (h = s.current) == null || h.dispose();
236
- }, []);
237
- const c = bt();
238
- let n = null;
239
- try {
240
- n = ht(c, () => s.current.execute(o));
241
- } catch {
242
- n = null;
243
- }
244
- return /* @__PURE__ */ x(B, { children: n });
245
- }
246
- const yt = z(/* @__PURE__ */ new Map()), q = z(null);
247
- function te(o) {
248
- const t = M(q);
249
- if (!t)
250
- throw new Error("useBuilderState must be used under a builder that called .state()");
251
- return [t.get(o), (e) => t.set(o, e)];
252
- }
253
- function _t({ stateMap: o = /* @__PURE__ */ new Map(), children: t }) {
254
- const [e, s] = I(() => new Map(o)), r = {
255
- map: e,
256
- get: (i) => e.get(i),
257
- set: (i, c) => {
258
- s((n) => {
259
- if (Object.is(n.get(i), c))
260
- return n;
261
- const h = new Map(n);
262
- return h.set(i, c), h;
263
- });
264
- }
265
- };
266
- return /* @__PURE__ */ x(q.Provider, { value: r, children: /* @__PURE__ */ x(yt.Provider, { value: e, children: t }) });
267
- }
268
- function xt({ observables: o, children: t }) {
269
- const e = S(0), s = $((i) => {
270
- const c = Array.from(o).map(
271
- (n) => n.subscribe(() => {
272
- e.current += 1, i();
273
- })
274
- );
275
- return () => c.forEach((n) => n());
276
- }, [o]), r = $(() => e.current, []);
277
- return R(s, r, r), /* @__PURE__ */ x(B, { children: typeof t == "function" ? t() : t });
278
- }
279
- function wt({ signals: o, children: t }) {
280
- const e = S(0), s = $((i) => {
281
- const c = Array.from(o).map(
282
- (n) => n.subscribe(() => {
283
- e.current += 1, i();
284
- })
285
- );
286
- return () => c.forEach((n) => n());
287
- }, [o]), r = $(() => e.current, []);
288
- return R(s, r, r), /* @__PURE__ */ x(B, { children: typeof t == "function" ? t() : t });
289
- }
290
- const Z = z(/* @__PURE__ */ new Map());
291
- function ee(o) {
292
- const t = M(Z);
293
- return t == null ? void 0 : t.get(o);
294
- }
295
- function St({ providers: o = /* @__PURE__ */ new Map(), children: t }) {
296
- return /* @__PURE__ */ x(Z.Provider, { value: o, children: t });
297
- }
298
- function $t(o) {
299
- return !!o && typeof o == "object" && "build" in o && typeof o.build == "function";
300
- }
301
- function Nt(o) {
302
- return g.isValidElement(o) ? o : $t(o) ? o.build() : o;
303
- }
304
- function D(o) {
305
- if (o == null)
306
- return [];
307
- const t = typeof o == "function" ? o() : o;
308
- return (Array.isArray(t) ? t : [t]).map(Nt);
309
- }
310
- function Ct(o, t, e) {
311
- if (!t) return o;
312
- const s = e ?? (typeof window < "u" ? window.innerWidth : void 0);
313
- if (s === void 0)
314
- return o;
315
- let r = { ...o };
316
- return s < 768 && t.mobile ? r = { ...r, ...t.mobile } : s >= 768 && s < 1024 && t.tablet ? r = { ...r, ...t.tablet } : s >= 1024 && t.desktop && (r = { ...r, ...t.desktop }), r;
317
- }
318
- function se(o, t) {
319
- const e = at(o, t);
320
- return (s) => g.createElement(e, s);
321
- }
322
- function J(o) {
323
- var t, e, s = "";
324
- if (typeof o == "string" || typeof o == "number") s += o;
325
- else if (typeof o == "object") if (Array.isArray(o)) {
326
- var r = o.length;
327
- for (t = 0; t < r; t++) o[t] && (e = J(o[t])) && (s && (s += " "), s += e);
328
- } else for (e in o) o[e] && (s && (s += " "), s += e);
329
- return s;
330
- }
331
- function Et() {
332
- for (var o, t, e = 0, s = "", r = arguments.length; e < r; e++) (o = arguments[e]) && (t = J(o)) && (s && (s += " "), s += t);
333
- return s;
334
- }
335
- const _ = class _ {
336
- constructor() {
337
- a(this, "sheet", null);
338
- a(this, "cache", /* @__PURE__ */ new Map());
339
- typeof document < "u" && (this.sheet = document.createElement("style"), this.sheet.id = "fibo-dynamic-styles", document.head.appendChild(this.sheet));
340
- }
341
- static getInstance() {
342
- return _.instance || (_.instance = new _()), _.instance;
343
- }
344
- register(t, e) {
345
- const s = `${t}:${e}`;
346
- if (this.cache.has(s))
347
- return this.cache.get(s);
348
- const r = e.replace(/[^a-zA-Z0-9-]/g, "_"), i = `fibo-${t}-${r}`, c = `.${i} { ${t}: ${e} !important; }`;
349
- if (this.sheet && this.sheet.sheet)
350
- try {
351
- this.sheet.sheet.insertRule(c, this.sheet.sheet.cssRules.length);
352
- } catch (n) {
353
- console.error("FiboUI: Failed to inject dynamic style", n);
354
- }
355
- return this.cache.set(s, i), i;
356
- }
357
- registerPseudo(t, e, s, r) {
358
- const i = `${t}:${e}:${s}:${r}`;
359
- if (this.cache.has(i))
360
- return t;
361
- const c = `.${t}:${e} { ${s}: ${r} !important; }`;
362
- if (this.sheet && this.sheet.sheet)
363
- try {
364
- this.sheet.sheet.insertRule(c, this.sheet.sheet.cssRules.length);
365
- } catch (n) {
366
- console.error("FiboUI: Failed to inject pseudo-state style", n);
367
- }
368
- return this.cache.set(i, t), t;
369
- }
370
- registerGroupPseudo(t, e, s, r) {
371
- const i = `group:${t}:${e}:${s}:${r}`;
372
- if (this.cache.has(i))
373
- return t;
374
- const c = `.group:${e} .${t} { ${s}: ${r} !important; }`;
375
- if (this.sheet && this.sheet.sheet)
376
- try {
377
- this.sheet.sheet.insertRule(c, this.sheet.sheet.cssRules.length);
378
- } catch (n) {
379
- console.error("FiboUI: Failed to inject group pseudo-state style", n);
380
- }
381
- return this.cache.set(i, t), t;
382
- }
383
- };
384
- a(_, "instance");
385
- let W = _;
386
- const l = W.getInstance();
387
- function Pt(o) {
388
- const t = o.match(/oklch\(\s*([\d.]+)\s+([\d.]+)\s+([\d.]+)\s*\)/);
389
- if (!t)
390
- return o;
391
- const [, e, s, r] = t, i = parseFloat(e), c = parseFloat(s), n = parseFloat(r), h = c * Math.cos(n * Math.PI / 180), u = c * Math.sin(n * Math.PI / 180), d = i + 0.3963377774 * h + 0.2158037573 * u, f = i - 0.1055613458 * h - 0.0638541728 * u, m = i - 0.0894841775 * h - 1.291485548 * u, p = d * d * d, k = f * f * f, y = m * m * m, v = 4.0767416621 * p - 3.3077115913 * k + 0.2309699292 * y, st = -1.2684380046 * p + 2.6097574011 * k - 0.3413193965 * y, ot = -0.0041960863 * p - 0.7034186147 * k + 1.707614701 * y, V = (C) => C >= 31308e-7 ? 1.055 * C ** (1 / 2.4) - 0.055 : 12.92 * C, rt = Math.max(0, Math.min(1, V(v))), it = Math.max(0, Math.min(1, V(st))), nt = Math.max(0, Math.min(1, V(ot))), F = (C) => {
392
- var G;
393
- const A = (G = Math.round(C * 255).toString(16)) == null ? void 0 : G.toUpperCase();
394
- return A.length === 1 ? `0${A}` : A;
395
- };
396
- return `#${F(rt)}${F(it)}${F(nt)}`;
397
- }
398
- function zt(o) {
399
- const t = {}, e = {}, s = o.split(`
400
- `);
401
- for (const r of s) {
402
- const i = r.trim();
403
- if (!i || i.startsWith("//") || i.startsWith("*") || i === "@theme {" || i === "}")
404
- continue;
405
- const c = i.match(/^--color-([a-z0-9\-]+): (oklch\([^)]+\));?$/), n = i.match(/^--color-([a-z0-9\-]+): (#[a-fA-F0-9]{3,6});?$/);
406
- if (c) {
407
- const [, h, u] = c, d = Pt(u);
408
- t[d.toLowerCase()] = `bg-${h}`, e[d.toLowerCase()] = `text-${h}`;
409
- } else if (n) {
410
- const [, h, u] = n;
411
- t[u.toLowerCase()] = `bg-${h}`, e[u.toLowerCase()] = `text-${h}`;
412
- }
413
- }
414
- return { background: t, text: e };
415
- }
416
- const Rt = (o) => {
417
- if (o !== void 0)
418
- return typeof o == "number" ? `${o}px` : o.toString();
419
- }, w = (o, t) => {
420
- const e = Rt(t);
421
- return e === void 0 ? "" : `${o}-[${e}]`;
422
- }, jt = `
423
- --color-red-50: oklch(0.971 0.013 17.38);
424
- --color-red-100: oklch(0.936 0.032 17.717);
425
- --color-red-200: oklch(0.885 0.062 18.334);
426
- --color-red-300: oklch(0.808 0.114 19.571);
427
- --color-red-400: oklch(0.704 0.191 22.216);
428
- --color-red-500: oklch(0.637 0.237 25.331);
429
- --color-red-600: oklch(0.577 0.245 27.325);
430
- --color-red-700: oklch(0.505 0.213 27.518);
431
- --color-red-800: oklch(0.444 0.177 26.899);
432
- --color-red-900: oklch(0.396 0.141 25.723);
433
- --color-red-950: oklch(0.258 0.092 26.042);
434
- --color-orange-50: oklch(0.98 0.016 73.684);
435
- --color-orange-100: oklch(0.954 0.038 75.164);
436
- --color-orange-200: oklch(0.901 0.076 70.697);
437
- --color-orange-300: oklch(0.837 0.128 66.29);
438
- --color-orange-400: oklch(0.75 0.183 55.934);
439
- --color-orange-500: oklch(0.705 0.213 47.604);
440
- --color-orange-600: oklch(0.646 0.222 41.116);
441
- --color-orange-700: oklch(0.553 0.195 38.402);
442
- --color-orange-800: oklch(0.47 0.157 37.304);
443
- --color-orange-900: oklch(0.408 0.123 38.172);
444
- --color-orange-950: oklch(0.266 0.079 36.259);
445
- --color-amber-50: oklch(0.987 0.022 95.277);
446
- --color-amber-100: oklch(0.962 0.059 95.617);
447
- --color-amber-200: oklch(0.924 0.12 95.746);
448
- --color-amber-300: oklch(0.879 0.169 91.605);
449
- --color-amber-400: oklch(0.828 0.189 84.429);
450
- --color-amber-500: oklch(0.769 0.188 70.08);
451
- --color-amber-600: oklch(0.666 0.179 58.318);
452
- --color-amber-700: oklch(0.555 0.163 48.998);
453
- --color-amber-800: oklch(0.473 0.137 46.201);
454
- --color-amber-900: oklch(0.414 0.112 45.904);
455
- --color-amber-950: oklch(0.279 0.077 45.635);
456
- --color-yellow-50: oklch(0.987 0.026 102.212);
457
- --color-yellow-100: oklch(0.973 0.071 103.193);
458
- --color-yellow-200: oklch(0.945 0.129 101.54);
459
- --color-yellow-300: oklch(0.905 0.182 98.111);
460
- --color-yellow-400: oklch(0.852 0.199 91.936);
461
- --color-yellow-500: oklch(0.795 0.184 86.047);
462
- --color-yellow-600: oklch(0.681 0.162 75.834);
463
- --color-yellow-700: oklch(0.554 0.135 66.442);
464
- --color-yellow-800: oklch(0.476 0.114 61.907);
465
- --color-yellow-900: oklch(0.421 0.095 57.708);
466
- --color-yellow-950: oklch(0.286 0.066 53.813);
467
- --color-lime-50: oklch(0.986 0.031 120.757);
468
- --color-lime-100: oklch(0.967 0.067 122.328);
469
- --color-lime-200: oklch(0.938 0.127 124.321);
470
- --color-lime-300: oklch(0.897 0.196 126.665);
471
- --color-lime-400: oklch(0.841 0.238 128.85);
472
- --color-lime-500: oklch(0.768 0.233 130.85);
473
- --color-lime-600: oklch(0.648 0.2 131.684);
474
- --color-lime-700: oklch(0.532 0.157 131.589);
475
- --color-lime-800: oklch(0.453 0.124 130.933);
476
- --color-lime-900: oklch(0.405 0.101 131.063);
477
- --color-lime-950: oklch(0.274 0.072 132.109);
478
- --color-green-50: oklch(0.982 0.018 155.826);
479
- --color-green-100: oklch(0.962 0.044 156.743);
480
- --color-green-200: oklch(0.925 0.084 155.995);
481
- --color-green-300: oklch(0.871 0.15 154.449);
482
- --color-green-400: oklch(0.792 0.209 151.711);
483
- --color-green-500: oklch(0.723 0.219 149.579);
484
- --color-green-600: oklch(0.627 0.194 149.214);
485
- --color-green-700: oklch(0.527 0.154 150.069);
486
- --color-green-800: oklch(0.448 0.119 151.328);
487
- --color-green-900: oklch(0.393 0.095 152.535);
488
- --color-green-950: oklch(0.266 0.065 152.934);
489
- --color-emerald-50: oklch(0.979 0.021 166.113);
490
- --color-emerald-100: oklch(0.95 0.052 163.051);
491
- --color-emerald-200: oklch(0.905 0.093 164.15);
492
- --color-emerald-300: oklch(0.845 0.143 164.978);
493
- --color-emerald-400: oklch(0.765 0.177 163.223);
494
- --color-emerald-500: oklch(0.696 0.17 162.48);
495
- --color-emerald-600: oklch(0.596 0.145 163.225);
496
- --color-emerald-700: oklch(0.508 0.118 165.612);
497
- --color-emerald-800: oklch(0.432 0.095 166.913);
498
- --color-emerald-900: oklch(0.378 0.077 168.94);
499
- --color-emerald-950: oklch(0.262 0.051 172.552);
500
- --color-teal-50: oklch(0.984 0.014 180.72);
501
- --color-teal-100: oklch(0.953 0.051 180.801);
502
- --color-teal-200: oklch(0.91 0.096 180.426);
503
- --color-teal-300: oklch(0.855 0.138 181.071);
504
- --color-teal-400: oklch(0.777 0.152 181.912);
505
- --color-teal-500: oklch(0.704 0.14 182.503);
506
- --color-teal-600: oklch(0.6 0.118 184.704);
507
- --color-teal-700: oklch(0.511 0.096 186.391);
508
- --color-teal-800: oklch(0.437 0.078 188.216);
509
- --color-teal-900: oklch(0.386 0.063 188.416);
510
- --color-teal-950: oklch(0.277 0.046 192.524);
511
- --color-cyan-50: oklch(0.984 0.019 200.873);
512
- --color-cyan-100: oklch(0.956 0.045 203.388);
513
- --color-cyan-200: oklch(0.917 0.08 205.041);
514
- --color-cyan-300: oklch(0.865 0.127 207.078);
515
- --color-cyan-400: oklch(0.789 0.154 211.53);
516
- --color-cyan-500: oklch(0.715 0.143 215.221);
517
- --color-cyan-600: oklch(0.609 0.126 221.723);
518
- --color-cyan-700: oklch(0.52 0.105 223.128);
519
- --color-cyan-800: oklch(0.45 0.085 224.283);
520
- --color-cyan-900: oklch(0.398 0.07 227.392);
521
- --color-cyan-950: oklch(0.302 0.056 229.695);
522
- --color-sky-50: oklch(0.977 0.013 236.62);
523
- --color-sky-100: oklch(0.951 0.026 236.824);
524
- --color-sky-200: oklch(0.901 0.058 230.902);
525
- --color-sky-300: oklch(0.828 0.111 230.318);
526
- --color-sky-400: oklch(0.746 0.16 232.661);
527
- --color-sky-500: oklch(0.685 0.169 237.323);
528
- --color-sky-600: oklch(0.588 0.158 241.966);
529
- --color-sky-700: oklch(0.5 0.134 242.749);
530
- --color-sky-800: oklch(0.443 0.11 240.79);
531
- --color-sky-900: oklch(0.391 0.09 240.876);
532
- --color-sky-950: oklch(0.293 0.066 243.157);
533
- --color-blue-50: oklch(0.97 0.014 254.604);
534
- --color-blue-100: oklch(0.932 0.032 255.585);
535
- --color-blue-200: oklch(0.882 0.059 254.128);
536
- --color-blue-300: oklch(0.809 0.105 251.813);
537
- --color-blue-400: oklch(0.707 0.165 254.624);
538
- --color-blue-500: oklch(0.623 0.214 259.815);
539
- --color-blue-600: oklch(0.546 0.245 262.881);
540
- --color-blue-700: oklch(0.488 0.243 264.376);
541
- --color-blue-800: oklch(0.424 0.199 265.638);
542
- --color-blue-900: oklch(0.379 0.146 265.522);
543
- --color-blue-950: oklch(0.282 0.091 267.935);
544
- --color-indigo-50: oklch(0.962 0.018 272.314);
545
- --color-indigo-100: oklch(0.93 0.034 272.788);
546
- --color-indigo-200: oklch(0.87 0.065 274.039);
547
- --color-indigo-300: oklch(0.785 0.115 274.713);
548
- --color-indigo-400: oklch(0.673 0.182 276.935);
549
- --color-indigo-500: oklch(0.585 0.233 277.117);
550
- --color-indigo-600: oklch(0.511 0.262 276.966);
551
- --color-indigo-700: oklch(0.457 0.24 277.023);
552
- --color-indigo-800: oklch(0.398 0.195 277.366);
553
- --color-indigo-900: oklch(0.359 0.144 278.697);
554
- --color-indigo-950: oklch(0.257 0.09 281.288);
555
- --color-violet-50: oklch(0.969 0.016 293.756);
556
- --color-violet-100: oklch(0.943 0.029 294.588);
557
- --color-violet-200: oklch(0.894 0.057 293.283);
558
- --color-violet-300: oklch(0.811 0.111 293.571);
559
- --color-violet-400: oklch(0.702 0.183 293.541);
560
- --color-violet-500: oklch(0.606 0.25 292.717);
561
- --color-violet-600: oklch(0.541 0.281 293.009);
562
- --color-violet-700: oklch(0.491 0.27 292.581);
563
- --color-violet-800: oklch(0.432 0.232 292.759);
564
- --color-violet-900: oklch(0.38 0.189 293.745);
565
- --color-violet-950: oklch(0.283 0.141 291.089);
566
- --color-purple-50: oklch(0.977 0.014 308.299);
567
- --color-purple-100: oklch(0.946 0.033 307.174);
568
- --color-purple-200: oklch(0.902 0.063 306.703);
569
- --color-purple-300: oklch(0.827 0.119 306.383);
570
- --color-purple-400: oklch(0.714 0.203 305.504);
571
- --color-purple-500: oklch(0.627 0.265 303.9);
572
- --color-purple-600: oklch(0.558 0.288 302.321);
573
- --color-purple-700: oklch(0.496 0.265 301.924);
574
- --color-purple-800: oklch(0.438 0.218 303.724);
575
- --color-purple-900: oklch(0.381 0.176 304.987);
576
- --color-purple-950: oklch(0.291 0.149 302.717);
577
- --color-fuchsia-50: oklch(0.977 0.017 320.058);
578
- --color-fuchsia-100: oklch(0.952 0.037 318.852);
579
- --color-fuchsia-200: oklch(0.903 0.076 319.62);
580
- --color-fuchsia-300: oklch(0.833 0.145 321.434);
581
- --color-fuchsia-400: oklch(0.74 0.238 322.16);
582
- --color-fuchsia-500: oklch(0.667 0.295 322.15);
583
- --color-fuchsia-600: oklch(0.591 0.293 322.896);
584
- --color-fuchsia-700: oklch(0.518 0.253 323.949);
585
- --color-fuchsia-800: oklch(0.452 0.211 324.591);
586
- --color-fuchsia-900: oklch(0.401 0.17 325.612);
587
- --color-fuchsia-950: oklch(0.293 0.136 325.661);
588
- --color-pink-50: oklch(0.971 0.014 343.198);
589
- --color-pink-100: oklch(0.948 0.028 342.258);
590
- --color-pink-200: oklch(0.899 0.061 343.231);
591
- --color-pink-300: oklch(0.823 0.12 346.018);
592
- --color-pink-400: oklch(0.718 0.202 349.761);
593
- --color-pink-500: oklch(0.656 0.241 354.308);
594
- --color-pink-600: oklch(0.592 0.249 0.584);
595
- --color-pink-700: oklch(0.525 0.223 3.958);
596
- --color-pink-800: oklch(0.459 0.187 3.815);
597
- --color-pink-900: oklch(0.408 0.153 2.432);
598
- --color-pink-950: oklch(0.284 0.109 3.907);
599
- --color-rose-50: oklch(0.969 0.015 12.422);
600
- --color-rose-100: oklch(0.941 0.03 12.58);
601
- --color-rose-200: oklch(0.892 0.058 10.001);
602
- --color-rose-300: oklch(0.81 0.117 11.638);
603
- --color-rose-400: oklch(0.712 0.194 13.428);
604
- --color-rose-500: oklch(0.645 0.246 16.439);
605
- --color-rose-600: oklch(0.586 0.253 17.585);
606
- --color-rose-700: oklch(0.514 0.222 16.935);
607
- --color-rose-800: oklch(0.455 0.188 13.697);
608
- --color-rose-900: oklch(0.41 0.159 10.272);
609
- --color-rose-950: oklch(0.271 0.105 12.094);
610
- --color-slate-50: oklch(0.984 0.003 247.858);
611
- --color-slate-100: oklch(0.968 0.007 247.896);
612
- --color-slate-200: oklch(0.929 0.013 255.508);
613
- --color-slate-300: oklch(0.869 0.022 252.894);
614
- --color-slate-400: oklch(0.704 0.04 256.788);
615
- --color-slate-500: oklch(0.554 0.046 257.417);
616
- --color-slate-600: oklch(0.446 0.043 257.281);
617
- --color-slate-700: oklch(0.372 0.044 257.287);
618
- --color-slate-800: oklch(0.279 0.041 260.031);
619
- --color-slate-900: oklch(0.208 0.042 265.755);
620
- --color-slate-950: oklch(0.129 0.042 264.695);
621
- --color-gray-50: oklch(0.985 0.002 247.839);
622
- --color-gray-100: oklch(0.967 0.003 264.542);
623
- --color-gray-200: oklch(0.928 0.006 264.531);
624
- --color-gray-300: oklch(0.872 0.01 258.338);
625
- --color-gray-400: oklch(0.707 0.022 261.325);
626
- --color-gray-500: oklch(0.551 0.027 264.364);
627
- --color-gray-600: oklch(0.446 0.03 256.802);
628
- --color-gray-700: oklch(0.373 0.034 259.733);
629
- --color-gray-800: oklch(0.278 0.033 256.848);
630
- --color-gray-900: oklch(0.21 0.034 264.665);
631
- --color-gray-950: oklch(0.13 0.028 261.692);
632
- --color-zinc-50: oklch(0.985 0 0);
633
- --color-zinc-100: oklch(0.967 0.001 286.375);
634
- --color-zinc-200: oklch(0.92 0.004 286.32);
635
- --color-zinc-300: oklch(0.871 0.006 286.286);
636
- --color-zinc-400: oklch(0.705 0.015 286.067);
637
- --color-zinc-500: oklch(0.552 0.016 285.938);
638
- --color-zinc-600: oklch(0.442 0.017 285.786);
639
- --color-zinc-700: oklch(0.37 0.013 285.805);
640
- --color-zinc-800: oklch(0.274 0.006 286.033);
641
- --color-zinc-900: oklch(0.21 0.006 285.885);
642
- --color-zinc-950: oklch(0.141 0.005 285.823);
643
- --color-neutral-50: oklch(0.985 0 0);
644
- --color-neutral-100: oklch(0.97 0 0);
645
- --color-neutral-200: oklch(0.922 0 0);
646
- --color-neutral-300: oklch(0.87 0 0);
647
- --color-neutral-400: oklch(0.708 0 0);
648
- --color-neutral-500: oklch(0.556 0 0);
649
- --color-neutral-600: oklch(0.439 0 0);
650
- --color-neutral-700: oklch(0.371 0 0);
651
- --color-neutral-800: oklch(0.269 0 0);
652
- --color-neutral-900: oklch(0.205 0 0);
653
- --color-neutral-950: oklch(0.145 0 0);
654
- --color-stone-50: oklch(0.985 0.001 106.423);
655
- --color-stone-100: oklch(0.97 0.001 106.424);
656
- --color-stone-200: oklch(0.923 0.003 48.717);
657
- --color-stone-300: oklch(0.869 0.005 56.366);
658
- --color-stone-400: oklch(0.709 0.01 56.259);
659
- --color-stone-500: oklch(0.553 0.013 58.071);
660
- --color-stone-600: oklch(0.444 0.011 73.639);
661
- --color-stone-700: oklch(0.374 0.01 67.558);
662
- --color-stone-800: oklch(0.268 0.007 34.298);
663
- --color-stone-900: oklch(0.216 0.006 56.043);
664
- --color-stone-950: oklch(0.147 0.004 49.25);
665
- --color-black: #000;
666
- --color-white: #fff;
667
- `, vt = zt(jt), Q = {
668
- borderRadius: {
669
- 0: "rounded-none",
670
- "0px": "rounded-none",
671
- "1px": "rounded-sm",
672
- "2px": "rounded-sm",
673
- "3px": "rounded",
674
- "4px": "rounded",
675
- "5px": "rounded-md",
676
- "6px": "rounded-md",
677
- "7px": "rounded-lg",
678
- "8px": "rounded-lg",
679
- "9px": "rounded-lg",
680
- "10px": "rounded-lg",
681
- "11px": "rounded-xl",
682
- "12px": "rounded-xl",
683
- "14px": "rounded-2xl",
684
- "16px": "rounded-2xl",
685
- "20px": "rounded-3xl",
686
- "50%": "rounded-full",
687
- "9999px": "rounded-full"
688
- },
689
- fontSize: {
690
- "0.75rem": "text-xs",
691
- "0.875rem": "text-sm",
692
- "1rem": "text-base",
693
- "1.125rem": "text-lg",
694
- "1.25rem": "text-xl",
695
- "1.5rem": "text-2xl",
696
- "1.875rem": "text-3xl",
697
- "2.25rem": "text-4xl",
698
- "3rem": "text-5xl",
699
- "3.75rem": "text-6xl",
700
- "4.5rem": "text-7xl",
701
- "6rem": "text-8xl",
702
- "8rem": "text-9xl"
703
- },
704
- fontWeight: {
705
- 100: "font-thin",
706
- 200: "font-extralight",
707
- 300: "font-light",
708
- 400: "font-normal",
709
- 500: "font-medium",
710
- 600: "font-semibold",
711
- 700: "font-bold",
712
- 800: "font-extrabold",
713
- 900: "font-black"
714
- },
715
- fontFamily: {
716
- "ui-serif": "font-serif",
717
- "ui-monospace": "font-mono",
718
- "ui-sans-serif": "font-sans",
719
- default: "font-sans"
720
- },
721
- textAlign: {
722
- left: "text-left",
723
- center: "text-center",
724
- right: "text-right",
725
- justify: "text-justify"
726
- },
727
- textDecoration: {
728
- underline: "underline",
729
- overline: "overline",
730
- "line-through": "line-through",
731
- none: "no-underline"
732
- },
733
- fontVariantNumeric: {
734
- "tabular-nums": "tabular-nums",
735
- "oldstyle-nums": "oldstyle-nums",
736
- "lining-nums": "lining-nums",
737
- "proportional-nums": "proportional-nums",
738
- "diagonal-fractions": "diagonal-fractions",
739
- "stacked-fractions": "stacked-fractions",
740
- ordinal: "ordinal",
741
- "slashed-zero": "slashed-zero",
742
- normal: "normal-nums"
743
- },
744
- fontStyle: {
745
- normal: "normal",
746
- italic: "italic",
747
- oblique: "oblique"
748
- },
749
- display: {
750
- block: "block",
751
- flex: "flex",
752
- "inline-flex": "inline-flex",
753
- grid: "grid",
754
- hidden: "hidden",
755
- none: "hidden"
756
- },
757
- position: {
758
- static: "static",
759
- relative: "relative",
760
- absolute: "absolute",
761
- fixed: "fixed",
762
- sticky: "sticky"
763
- }
764
- }, Vt = (o, t) => ({
765
- // 背景色
766
- backgroundColor: (e) => e.backgroundColor ? [o.background[e.backgroundColor.toLowerCase()] || `bg-[${e.backgroundColor}]`] : [],
767
- // 文字色
768
- color: (e) => e.color ? [o.text[e.color.toLowerCase()] || `text-[${e.color}]`] : [],
769
- // 圆角
770
- borderRadius: (e) => {
771
- if (!e.borderRadius)
772
- return [];
773
- const s = Q.borderRadius[e.borderRadius] || w("rounded", e.borderRadius);
774
- return s ? [s] : [];
775
- },
776
- // 外边距
777
- margin: (e) => {
778
- const s = [];
779
- if (e.margin !== void 0) {
780
- const i = w("m", e.margin);
781
- return i ? [i] : [];
782
- }
783
- return [
784
- { prop: e.marginTop, dir: "mt" },
785
- { prop: e.marginRight, dir: "mr" },
786
- { prop: e.marginBottom, dir: "mb" },
787
- { prop: e.marginLeft, dir: "ml" },
788
- { prop: e.marginX, dir: "mx" },
789
- { prop: e.marginY, dir: "my" }
790
- ].forEach(({ prop: i, dir: c }) => {
791
- if (i !== void 0) {
792
- const n = w(c, i);
793
- n && s.push(n);
794
- }
795
- }), s;
796
- },
797
- // 内边距
798
- padding: (e) => {
799
- const s = [];
800
- if (e.padding !== void 0) {
801
- const i = w("p", e.padding);
802
- return i ? [i] : [];
803
- }
804
- return [
805
- { prop: e.paddingTop, dir: "pt" },
806
- { prop: e.paddingRight, dir: "pr" },
807
- { prop: e.paddingBottom, dir: "pb" },
808
- { prop: e.paddingLeft, dir: "pl" },
809
- { prop: e.paddingX, dir: "px" },
810
- { prop: e.paddingY, dir: "py" }
811
- ].forEach(({ prop: i, dir: c }) => {
812
- if (i !== void 0) {
813
- const n = w(c, i);
814
- n && s.push(n);
815
- }
816
- }), s;
817
- },
818
- // 字体
819
- font: (e) => {
820
- const s = [];
821
- if (e.fontSize && s.push(t.fontSize[e.fontSize.toString()] || `text-[${e.fontSize}]`), e.fontWeight) {
822
- const r = t.fontWeight[e.fontWeight.toString()];
823
- r && s.push(r);
824
- }
825
- if (e.textAlign) {
826
- const r = t.textAlign[e.textAlign];
827
- r && s.push(r);
828
- }
829
- if (e.fontFamily) {
830
- const r = t.fontFamily[e.fontFamily];
831
- r && s.push(r);
832
- }
833
- if (e.textDecoration) {
834
- const r = t.textDecoration[e.textDecoration];
835
- r && s.push(r);
836
- }
837
- if (e.fontVariantNumeric) {
838
- const r = t.fontVariantNumeric[e.fontVariantNumeric];
839
- r && s.push(r);
840
- }
841
- if (e.fontStyle) {
842
- const r = t.fontStyle[e.fontStyle];
843
- r && s.push(r);
844
- }
845
- return s;
846
- },
847
- // 尺寸
848
- size: (e) => {
849
- const s = [];
850
- if (e.width) {
851
- const r = e.width.toString();
852
- s.push(`w-[${r}]`);
853
- }
854
- if (e.height) {
855
- const r = e.height.toString();
856
- s.push(`h-[${r}]`);
857
- }
858
- return s;
859
- },
860
- // 布局
861
- layout: (e) => {
862
- const s = [];
863
- if (e.display) {
864
- const r = t.display[e.display];
865
- r && s.push(r);
866
- }
867
- if (e.flexDirection) {
868
- const i = {
869
- row: "flex-row",
870
- column: "flex-col",
871
- "row-reverse": "flex-row-reverse",
872
- "column-reverse": "flex-col-reverse"
873
- }[e.flexDirection];
874
- i && s.push(i);
875
- }
876
- if (e.justifyContent) {
877
- const i = {
878
- "flex-start": "justify-start",
879
- "flex-end": "justify-end",
880
- center: "justify-center",
881
- "space-between": "justify-between",
882
- "space-around": "justify-around",
883
- "space-evenly": "justify-evenly"
884
- }[e.justifyContent];
885
- i && s.push(i);
886
- }
887
- if (e.alignItems) {
888
- const i = {
889
- "flex-start": "items-start",
890
- "flex-end": "items-end",
891
- center: "items-center",
892
- baseline: "items-baseline",
893
- stretch: "items-stretch"
894
- }[e.alignItems];
895
- i && s.push(i);
896
- }
897
- if (e.gap) {
898
- const r = w("gap", e.gap);
899
- r && s.push(r);
900
- }
901
- return s;
902
- },
903
- // 定位
904
- position: (e) => e.position ? [t.position[e.position] || ""].filter(Boolean) : [],
905
- // 透明度
906
- opacity: (e) => {
907
- if (e.opacity === void 0)
908
- return [];
909
- const s = typeof e.opacity == "string" ? parseFloat(e.opacity) : e.opacity;
910
- return [`opacity-${{
911
- 0: "0",
912
- 0.25: "25",
913
- 0.5: "50",
914
- 0.75: "75",
915
- 1: "100"
916
- }[s] || Math.round(s * 100)}`];
917
- },
918
- // 自定义类名
919
- className: (e) => e.className ? [e.className] : []
920
- }), Ft = {
921
- backgroundColor: "backgroundColor",
922
- color: "color",
923
- borderRadius: "borderRadius",
924
- margin: "margin",
925
- marginTop: "margin",
926
- marginRight: "margin",
927
- marginBottom: "margin",
928
- marginLeft: "margin",
929
- marginX: "margin",
930
- marginY: "margin",
931
- padding: "padding",
932
- paddingTop: "padding",
933
- paddingRight: "padding",
934
- paddingBottom: "padding",
935
- paddingLeft: "padding",
936
- paddingX: "padding",
937
- paddingY: "padding",
938
- fontSize: "font",
939
- fontWeight: "font",
940
- textAlign: "font",
941
- textDecoration: "font",
942
- fontVariantNumeric: "font",
943
- fontStyle: "font",
944
- width: "size",
945
- height: "size",
946
- display: "layout",
947
- flexDirection: "layout",
948
- justifyContent: "layout",
949
- alignItems: "layout",
950
- gap: "layout",
951
- position: "position",
952
- opacity: "opacity",
953
- className: "className"
954
- }, At = (o, t) => {
955
- const e = (t == null ? void 0 : t.colorMaps) || vt, s = (t == null ? void 0 : t.styleMaps) || Q, r = Vt(e, s), i = [], c = /* @__PURE__ */ new Set();
956
- return Object.keys(o).forEach((n) => {
957
- const h = Ft[n];
958
- if (h && !c.has(h)) {
959
- const u = r[h];
960
- if (u) {
961
- const d = u(o);
962
- i.push(...d), c.add(h);
963
- }
964
- }
965
- }), i.filter(Boolean).join(" ");
966
- };
967
- function Wt(o) {
968
- const t = {};
969
- return o.forEach((e, s) => {
970
- t[s] = e.value;
971
- }), t;
972
- }
973
- function Mt({ animatedProps: o, animationConfig: t, children: e }) {
974
- const [s, r] = I(
975
- () => Wt(o)
976
- );
977
- L(() => {
978
- const h = [];
979
- return o.forEach((u, d) => {
980
- const f = (m) => {
981
- r((p) => ({
982
- ...p,
983
- [d]: m
984
- }));
985
- };
986
- h.push(u.subscribe(f)), f(u.value);
987
- }), () => {
988
- h.forEach((u) => u());
989
- };
990
- }, [o]);
991
- const i = [];
992
- s.translateX !== void 0 && i.push(`translateX(${s.translateX}px)`), s.translateY !== void 0 && i.push(`translateY(${s.translateY}px)`), s.scale !== void 0 && i.push(`scale(${s.scale})`), s.rotate !== void 0 && i.push(`rotate(${s.rotate}deg)`);
993
- const c = {};
994
- if (i.length > 0 && (c.transform = i.join(" ")), t) {
995
- const { duration: h = 300, curve: u = "easeOut" } = t, d = u === "spring" ? "cubic-bezier(0.68, -0.55, 0.265, 1.55)" : u;
996
- c.transition = `transform ${h}ms ${d}`;
997
- }
998
- const n = {
999
- ...e.props.style,
1000
- ...c
1001
- };
1002
- return O(e, { style: n });
1003
- }
1004
- class b {
1005
- constructor(t, e, s, r = !1) {
1006
- a(this, "baseClassName");
1007
- a(this, "pseudoState");
1008
- a(this, "parentBuilder");
1009
- a(this, "isGroup");
1010
- a(this, "transitionDuration", 200);
1011
- a(this, "transitionEasing", "ease-in-out");
1012
- a(this, "transitionDelay", 0);
1013
- a(this, "transitionProperties", ["all"]);
1014
- this.baseClassName = t, this.pseudoState = e, this.parentBuilder = s, this.isGroup = r;
1015
- }
1016
- bg(t) {
1017
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "background-color", t) : l.registerPseudo(this.baseClassName, this.pseudoState, "background-color", t), this;
1018
- }
1019
- color(t) {
1020
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "color", t) : l.registerPseudo(this.baseClassName, this.pseudoState, "color", t), this;
1021
- }
1022
- text(t) {
1023
- return this.color(t);
1024
- }
1025
- opacity(t) {
1026
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "opacity", String(t)) : l.registerPseudo(this.baseClassName, this.pseudoState, "opacity", String(t)), this;
1027
- }
1028
- borderColor(t) {
1029
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "border-color", t) : l.registerPseudo(this.baseClassName, this.pseudoState, "border-color", t), this;
1030
- }
1031
- transform(t) {
1032
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "transform", t) : l.registerPseudo(this.baseClassName, this.pseudoState, "transform", t), this;
1033
- }
1034
- scale(t) {
1035
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "transform", `scale(${t})`) : l.registerPseudo(this.baseClassName, this.pseudoState, "transform", `scale(${t})`), this;
1036
- }
1037
- translateX(t) {
1038
- const e = typeof t == "number" ? `${t}px` : t;
1039
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "transform", `translateX(${e})`) : l.registerPseudo(this.baseClassName, this.pseudoState, "transform", `translateX(${e})`), this;
1040
- }
1041
- translateY(t) {
1042
- const e = typeof t == "number" ? `${t}px` : t;
1043
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "transform", `translateY(${e})`) : l.registerPseudo(this.baseClassName, this.pseudoState, "transform", `translateY(${e})`), this;
1044
- }
1045
- shadow(t) {
1046
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "box-shadow", t) : l.registerPseudo(this.baseClassName, this.pseudoState, "box-shadow", t), this;
1047
- }
1048
- css(t, e) {
1049
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, t, e) : l.registerPseudo(this.baseClassName, this.pseudoState, t, e), this;
1050
- }
1051
- transition(t, e, s, r) {
1052
- if (typeof t == "string" && e === void 0)
1053
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "transition", t) : l.registerPseudo(this.baseClassName, this.pseudoState, "transition", t), this;
1054
- const i = Array.isArray(t) ? t.join(", ") : t, c = `${e || this.transitionDuration}ms`, n = s || this.transitionEasing, h = r ? `${r}ms` : "0ms", u = `${i} ${c} ${n} ${h}`;
1055
- return this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "transition", u) : l.registerPseudo(this.baseClassName, this.pseudoState, "transition", u), this;
1056
- }
1057
- duration(t) {
1058
- return this.transitionDuration = t, this.applyTransition(), this;
1059
- }
1060
- easing(t) {
1061
- return this.transitionEasing = t, this.applyTransition(), this;
1062
- }
1063
- delay(t) {
1064
- return this.transitionDelay = t, this.applyTransition(), this;
1065
- }
1066
- properties(t) {
1067
- return this.transitionProperties = t, this.applyTransition(), this;
1068
- }
1069
- applyTransition() {
1070
- const t = this.transitionProperties.join(", "), e = `${this.transitionDuration}ms`, s = this.transitionEasing, r = this.transitionDelay > 0 ? `${this.transitionDelay}ms` : "0ms", i = `${t} ${e} ${s} ${r}`;
1071
- this.isGroup ? l.registerGroupPseudo(this.baseClassName, this.pseudoState, "transition", i) : l.registerPseudo(this.baseClassName, this.pseudoState, "transition", i);
1072
- }
1073
- end() {
1074
- return this.parentBuilder;
1075
- }
1076
- }
1077
- function Bt(o) {
1078
- return typeof window > "u" ? () => {
1079
- } : (window.addEventListener("resize", o), () => window.removeEventListener("resize", o));
1080
- }
1081
- function Gt() {
1082
- return typeof window > "u" ? 1024 : window.innerWidth;
1083
- }
1084
- function Dt({ responsive: o, children: t }) {
1085
- const e = R(Bt, Gt, () => 1024), s = Ct(t.props.style ?? {}, o, e);
1086
- return O(t, { style: s });
1087
- }
1088
- let T = 0;
1089
- function tt(o) {
1090
- return T += 1, `${o}-${T}`;
1091
- }
1092
- class oe {
1093
- constructor() {
1094
- /** @internal Extra DOM props forwarded to the host element. */
1095
- a(this, "_props", {});
1096
- a(this, "_style", {});
1097
- a(this, "_cssStyles", {});
1098
- a(this, "_classNames", []);
1099
- a(this, "_children", []);
1100
- a(this, "_responsive");
1101
- a(this, "_theme");
1102
- a(this, "_state", /* @__PURE__ */ new Map());
1103
- a(this, "_providers", /* @__PURE__ */ new Map());
1104
- a(this, "_observers", /* @__PURE__ */ new Set());
1105
- a(this, "_signals", /* @__PURE__ */ new Set());
1106
- a(this, "_isObserver", !1);
1107
- a(this, "_gesture");
1108
- a(this, "_animationConfig");
1109
- a(this, "_animatedProps", /* @__PURE__ */ new Map());
1110
- a(this, "_transforms", []);
1111
- a(this, "_pseudoStateClassName");
1112
- /** Shrink-wrap: skip the default `w-full` / `self-stretch` on Row and Column. */
1113
- a(this, "_hug", !1);
1114
- // Transition properties
1115
- a(this, "_transitionDuration", 200);
1116
- // ms
1117
- a(this, "_transitionEasing", "ease-in-out");
1118
- a(this, "_transitionDelay", 0);
1119
- // ms
1120
- a(this, "_transitionProperties", ["all"]);
1121
- a(this, "_childFunction");
1122
- }
1123
- hug() {
1124
- return this._hug = !0, this;
1125
- }
1126
- isHug() {
1127
- return this._hug;
1128
- }
1129
- id(t) {
1130
- return this._props.id = t, this;
1131
- }
1132
- /**
1133
- * React list key. After this is called, React reads the key as a string.
1134
- * Builders are valid elements — you do not need `.build()`.
1135
- */
1136
- key(t) {
1137
- return this._props.key = t, this;
1138
- }
1139
- paddingHorizontal(t) {
1140
- const e = typeof t == "number" ? `${t}px` : t, s = l.register("padding-left", e), r = l.register("padding-right", e);
1141
- return this._classNames.push(s, r), this;
1142
- }
1143
- paddingVertical(t) {
1144
- const e = typeof t == "number" ? `${t}px` : t, s = l.register("padding-top", e), r = l.register("padding-bottom", e);
1145
- return this._classNames.push(s, r), this;
1146
- }
1147
- marginHorizontal(t) {
1148
- const e = typeof t == "number" ? `${t}px` : t, s = l.register("margin-left", e), r = l.register("margin-right", e);
1149
- return this._classNames.push(s, r), this;
1150
- }
1151
- marginVertical(t) {
1152
- const e = typeof t == "number" ? `${t}px` : t, s = l.register("margin-top", e), r = l.register("margin-bottom", e);
1153
- return this._classNames.push(s, r), this;
1154
- }
1155
- flexDirection(t) {
1156
- return this._classNames.push(`flex-${t}`), this;
1157
- }
1158
- alignItems(t) {
1159
- return this._classNames.push(`items-${t}`), this;
1160
- }
1161
- justifyContent(t) {
1162
- return this._classNames.push(`justify-${t}`), this;
1163
- }
1164
- flex(t) {
1165
- if (this._classNames.push("flex"), t !== void 0)
1166
- if (typeof t == "number") {
1167
- const e = l.register("flex", String(t));
1168
- this._classNames.push(e);
1169
- } else typeof t == "string" && this._classNames.push(`flex-${t}`);
1170
- return this;
1171
- }
1172
- grid() {
1173
- return this._classNames.push("grid"), this;
1174
- }
1175
- inlineFlex() {
1176
- return this._classNames.push("inline-flex"), this;
1177
- }
1178
- inlineGrid() {
1179
- return this._classNames.push("inline-grid"), this;
1180
- }
1181
- block() {
1182
- return this._classNames.push("block"), this;
1183
- }
1184
- inlineBlock() {
1185
- return this._classNames.push("inline-block"), this;
1186
- }
1187
- hidden() {
1188
- return this._classNames.push("hidden"), this;
1189
- }
1190
- center() {
1191
- return this._classNames.push("flex", "items-center", "justify-center"), this;
1192
- }
1193
- centerX() {
1194
- return this._classNames.push("flex", "justify-center"), this;
1195
- }
1196
- centerY() {
1197
- return this._classNames.push("flex", "items-center"), this;
1198
- }
1199
- spaceBetween() {
1200
- return this._classNames.push("justify-between"), this;
1201
- }
1202
- spaceAround() {
1203
- return this._classNames.push("justify-around"), this;
1204
- }
1205
- spaceEvenly() {
1206
- return this._classNames.push("justify-evenly"), this;
1207
- }
1208
- fill() {
1209
- return this._classNames.push("w-full", "h-full"), this;
1210
- }
1211
- fillWidth() {
1212
- return this._classNames.push("w-full"), this;
1213
- }
1214
- fillHeight() {
1215
- return this._classNames.push("h-full"), this;
1216
- }
1217
- square(t) {
1218
- const e = typeof t == "number" ? `${t}px` : t, s = l.register("width", e), r = l.register("height", e);
1219
- return this._classNames.push(s, r), this;
1220
- }
1221
- circle() {
1222
- return this._classNames.push("rounded-full"), this;
1223
- }
1224
- opacity(t) {
1225
- const e = l.register("opacity", String(t));
1226
- return this._classNames.push(e), this;
1227
- }
1228
- p(t) {
1229
- const e = typeof t == "number" ? `${t}px` : t, s = l.register("padding", e);
1230
- return this._classNames.push(s), this;
1231
- }
1232
- px(t) {
1233
- return this.paddingHorizontal(t);
1234
- }
1235
- py(t) {
1236
- return this.paddingVertical(t);
1237
- }
1238
- paddingX(t) {
1239
- return this.paddingHorizontal(t);
1240
- }
1241
- paddingY(t) {
1242
- return this.paddingVertical(t);
1243
- }
1244
- m(t) {
1245
- const e = typeof t == "number" ? `${t}px` : t, s = l.register("margin", e);
1246
- return this._classNames.push(s), this;
1247
- }
1248
- mx(t) {
1249
- return this.marginHorizontal(t);
1250
- }
1251
- my(t) {
1252
- return this.marginVertical(t);
1253
- }
1254
- marginX(t) {
1255
- return this.marginHorizontal(t);
1256
- }
1257
- marginY(t) {
1258
- return this.marginVertical(t);
1259
- }
1260
- bg(t) {
1261
- const e = typeof t == "string" && !t.startsWith("#") && !t.startsWith("rgb") ? this.resolveSemanticColor(t) : t, s = l.register("background-color", e);
1262
- return this._classNames.push(s), this;
1263
- }
1264
- text(t) {
1265
- const e = typeof t == "string" && !t.startsWith("#") && !t.startsWith("rgb") ? this.resolveSemanticColor(t) : t, s = l.register("color", e);
1266
- return this._classNames.push(s), this;
1267
- }
1268
- color(t) {
1269
- const e = typeof t == "string" && !t.startsWith("#") && !t.startsWith("rgb") ? this.resolveSemanticColor(t) : t, s = l.register("color", e);
1270
- return this._classNames.push(s), this;
1271
- }
1272
- resolveSemanticColor(t) {
1273
- return [
1274
- "primary",
1275
- "on-primary",
1276
- "primary-container",
1277
- "on-primary-container",
1278
- "secondary",
1279
- "on-secondary",
1280
- "secondary-container",
1281
- "on-secondary-container",
1282
- "tertiary",
1283
- "on-tertiary",
1284
- "tertiary-container",
1285
- "on-tertiary-container",
1286
- "error",
1287
- "on-error",
1288
- "background",
1289
- "on-background",
1290
- "surface",
1291
- "on-surface",
1292
- "surface-variant",
1293
- "on-surface-variant",
1294
- "outline"
1295
- ].includes(t) ? `var(--fibo-${t})` : t;
1296
- }
1297
- shadow(t) {
1298
- if (t === null || t === "none") {
1299
- const i = l.register("box-shadow", "none");
1300
- return this._classNames.push(i), this;
1301
- }
1302
- const e = {
1303
- sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
1304
- md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
1305
- lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
1306
- xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
1307
- "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
1308
- card: "0 2px 8px rgba(0, 0, 0, 0.1)",
1309
- button: "0 2px 4px rgba(0, 0, 0, 0.12)",
1310
- modal: "0 10px 40px rgba(0, 0, 0, 0.2)",
1311
- float: "0 8px 16px rgba(0, 0, 0, 0.15)",
1312
- inner: "inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)"
1313
- }, s = (i) => i.startsWith("#") || i.startsWith("rgb") || i.startsWith("hsl") || ["red", "blue", "green", "yellow", "purple", "pink", "orange", "white", "black", "gray"].some((c) => i.includes(c)), r = (i, c, n, h) => {
1314
- let f = n || "rgba(0, 0, 0, " + (h ?? 0.1) + ")";
1315
- if (n && n.startsWith("#") && h !== void 0) {
1316
- const k = parseInt(n.slice(1, 3), 16), y = parseInt(n.slice(3, 5), 16), v = parseInt(n.slice(5, 7), 16);
1317
- f = `rgba(${k}, ${y}, ${v}, ${h})`;
1318
- }
1319
- const p = {
1320
- sm: "2px",
1321
- md: "4px",
1322
- lg: "8px",
1323
- xl: "12px",
1324
- "2xl": "16px"
1325
- }[c] || "4px";
1326
- switch (i) {
1327
- case "top":
1328
- return `0 -${p} ${p} -1px ${f}`;
1329
- case "bottom":
1330
- return `0 ${p} ${p} -1px ${f}`;
1331
- case "left":
1332
- return `-${p} 0 ${p} -1px ${f}`;
1333
- case "right":
1334
- return `${p} 0 ${p} -1px ${f}`;
1335
- case "top-bottom":
1336
- case "vertical":
1337
- return `0 -${p} ${p} -1px ${f}, 0 ${p} ${p} -1px ${f}`;
1338
- case "left-right":
1339
- case "horizontal":
1340
- return `-${p} 0 ${p} -1px ${f}, ${p} 0 ${p} -1px ${f}`;
1341
- case "all":
1342
- default:
1343
- return e[c] || e.md;
1344
- }
1345
- };
1346
- if (!t) {
1347
- const i = l.register("box-shadow", e.md);
1348
- return this._classNames.push(i), this;
1349
- }
1350
- if (typeof t == "string") {
1351
- if (s(t)) {
1352
- const n = r("all", "md", t), h = l.register("box-shadow", n);
1353
- return this._classNames.push(h), this;
1354
- }
1355
- const i = e[t] || e.md, c = l.register("box-shadow", i);
1356
- return this._classNames.push(c), this;
1357
- }
1358
- if (Array.isArray(t)) {
1359
- const [i, c, n, h] = t;
1360
- if (typeof i == "string" && s(i)) {
1361
- const f = r("all", "md", i, c), m = l.register("box-shadow", f);
1362
- return this._classNames.push(m), this;
1363
- }
1364
- const u = i;
1365
- if (typeof c == "string" && s(c)) {
1366
- const f = r(u, "md", c, n), m = l.register("box-shadow", f);
1367
- return this._classNames.push(m), this;
1368
- } else {
1369
- const m = r(u, c, n, h), p = l.register("box-shadow", m);
1370
- return this._classNames.push(p), this;
1371
- }
1372
- }
1373
- return this;
1374
- }
1375
- responsive(t) {
1376
- return this._responsive = t, this;
1377
- }
1378
- rounded(t) {
1379
- if (typeof t == "number") {
1380
- const e = l.register("border-radius", `${t}px`);
1381
- this._classNames.push(e);
1382
- } else if (typeof t == "string" && (t.startsWith("rounded-") || ["sm", "md", "lg", "xl", "2xl", "3xl", "full", "none"].includes(t))) {
1383
- const e = t.startsWith("rounded-") ? t : `rounded-${t}`;
1384
- this._classNames.push(e);
1385
- } else {
1386
- const e = l.register("border-radius", t);
1387
- this._classNames.push(e);
1388
- }
1389
- return this;
1390
- }
1391
- borderRadius(t) {
1392
- if (typeof t == "number") {
1393
- const e = l.register("border-radius", `${t}px`);
1394
- this._classNames.push(e);
1395
- } else {
1396
- const e = l.register("border-radius", t);
1397
- this._classNames.push(e);
1398
- }
1399
- return this;
1400
- }
1401
- borderColor(t) {
1402
- if (t.startsWith("border-"))
1403
- this._classNames.push(t);
1404
- else if (["red", "blue", "green", "gray", "white", "black", "transparent"].some((e) => t.includes(e)))
1405
- this._classNames.push(`border-${t}`);
1406
- else {
1407
- const e = l.register("border-color", t);
1408
- this._classNames.push(e);
1409
- }
1410
- return this;
1411
- }
1412
- width(t) {
1413
- if (typeof t == "number") {
1414
- const e = l.register("width", `${t}px`);
1415
- this._classNames.push(e);
1416
- } else if (typeof t == "string" && (t.startsWith("w-") || t === "full" || t === "screen" || t === "min" || t === "max" || t === "fit")) {
1417
- const e = t.startsWith("w-") ? t : `w-${t}`;
1418
- this._classNames.push(e);
1419
- } else {
1420
- const e = l.register("width", t);
1421
- this._classNames.push(e);
1422
- }
1423
- return this;
1424
- }
1425
- height(t) {
1426
- if (typeof t == "number") {
1427
- const e = l.register("height", `${t}px`);
1428
- this._classNames.push(e);
1429
- } else if (typeof t == "string" && (t.startsWith("h-") || t === "full" || t === "screen" || t === "min" || t === "max" || t === "fit")) {
1430
- const e = t.startsWith("h-") ? t : `h-${t}`;
1431
- this._classNames.push(e);
1432
- } else {
1433
- const e = l.register("height", t);
1434
- this._classNames.push(e);
1435
- }
1436
- return this;
1437
- }
1438
- gap(t) {
1439
- if (typeof t == "number") {
1440
- const e = l.register("gap", `${t}px`);
1441
- this._classNames.push(e);
1442
- } else if (typeof t == "string" && t.startsWith("gap-"))
1443
- this._classNames.push(t);
1444
- else {
1445
- const e = l.register("gap", t);
1446
- this._classNames.push(e);
1447
- }
1448
- return this;
1449
- }
1450
- clean() {
1451
- return this._classNames.push(
1452
- "[&_input]:outline-none",
1453
- "[&_input]:ring-0",
1454
- "[&_input]:border-none",
1455
- "[&_input]:!shadow-none",
1456
- "[&_input]:bg-transparent",
1457
- "[&_input]:h-full",
1458
- "[&_input]:w-full",
1459
- "[&_input]:p-0",
1460
- "[&_textarea]:outline-none",
1461
- "[&_textarea]:ring-0",
1462
- "[&_textarea]:border-none",
1463
- "[&_textarea]:!shadow-none",
1464
- "[&_textarea]:bg-transparent",
1465
- "[&_textarea]:h-full",
1466
- "[&_textarea]:w-full",
1467
- "[&_textarea]:p-0",
1468
- "[&_select]:outline-none",
1469
- "[&_select]:ring-0",
1470
- "[&_select]:border-none",
1471
- "[&_select]:!shadow-none",
1472
- "[&_select]:bg-transparent",
1473
- "[&_select]:h-full",
1474
- "[&_select]:w-full",
1475
- "[&_select]:p-0",
1476
- "[&_.fibo-textfield-input]:outline-none",
1477
- "[&_.fibo-textfield-input]:ring-0",
1478
- "[&_.fibo-textfield-input]:border-none",
1479
- "[&_.fibo-textfield-input]:!shadow-none",
1480
- "[&_.fibo-textfield-input]:bg-transparent",
1481
- "[&_.fibo-textfield-input]:h-full",
1482
- "[&_.fibo-textfield-input]:w-full",
1483
- "[&_.fibo-textfield-input]:p-0",
1484
- "[&_.fibo-textarea-input]:outline-none",
1485
- "[&_.fibo-textarea-input]:ring-0",
1486
- "[&_.fibo-textarea-input]:border-none",
1487
- "[&_.fibo-textarea-input]:!shadow-none",
1488
- "[&_.fibo-textarea-input]:bg-transparent",
1489
- "[&_.fibo-textarea-input]:h-full",
1490
- "[&_.fibo-textarea-input]:w-full",
1491
- "[&_.fibo-textarea-input]:p-0",
1492
- "[&>div]:h-full"
1493
- ), this;
1494
- }
1495
- borderInput(t = "gray-300", e = "blue-500") {
1496
- const s = (c) => ["red", "blue", "green", "yellow", "purple", "pink", "indigo", "gray", "orange", "teal", "cyan", "emerald", "lime", "amber", "fuchsia", "rose", "violet", "sky", "slate", "zinc", "neutral", "stone"].includes(c) ? `${c}-500` : c, r = s(t), i = s(e);
1497
- return this._classNames.push(
1498
- "border",
1499
- `border-${r}`,
1500
- "focus-within:ring-2",
1501
- `focus-within:ring-${i}`,
1502
- `focus-within:border-${i}`
1503
- ), this.clean();
1504
- }
1505
- weight(t) {
1506
- if (typeof t == "number") {
1507
- const e = l.register("font-weight", String(t));
1508
- this._classNames.push(e);
1509
- } else {
1510
- const e = {
1511
- thin: "font-thin",
1512
- extralight: "font-extralight",
1513
- light: "font-light",
1514
- normal: "font-normal",
1515
- medium: "font-medium",
1516
- semibold: "font-semibold",
1517
- bold: "font-bold",
1518
- extrabold: "font-extrabold",
1519
- black: "font-black"
1520
- };
1521
- if (e[t])
1522
- this._classNames.push(e[t]);
1523
- else {
1524
- const s = l.register("font-weight", t);
1525
- this._classNames.push(s);
1526
- }
1527
- }
1528
- return this;
1529
- }
1530
- onClick(t) {
1531
- return this._props.onClick = t, this;
1532
- }
1533
- state(t, e) {
1534
- return this._state.set(t, e), this;
1535
- }
1536
- getState(t) {
1537
- return this._state.get(t);
1538
- }
1539
- setState(t, e) {
1540
- return this._state.set(t, e), this;
1541
- }
1542
- provide(t, e) {
1543
- return this._providers.set(t, e), this;
1544
- }
1545
- consume(t) {
1546
- return this._providers.get(t);
1547
- }
1548
- observer(t) {
1549
- return this._isObserver = !0, typeof t == "object" && t !== null ? t.key !== void 0 && this.key(t.key) : t !== void 0 && this.key(t), this;
1550
- }
1551
- observe(t) {
1552
- return this._observers.add(t), this;
1553
- }
1554
- bindSignal(t) {
1555
- return this._signals.add(t), this;
1556
- }
1557
- translateX(t) {
1558
- return t instanceof E ? this._animatedProps.set("translateX", t) : this._transforms.push(`translateX(${t}px)`), this;
1559
- }
1560
- translateY(t) {
1561
- return t instanceof E ? this._animatedProps.set("translateY", t) : this._transforms.push(`translateY(${t}px)`), this;
1562
- }
1563
- scale(t) {
1564
- return t instanceof E ? this._animatedProps.set("scale", t) : this._transforms.push(`scale(${t})`), this;
1565
- }
1566
- rotate(t) {
1567
- return t instanceof E ? this._animatedProps.set("rotate", t) : this._transforms.push(`rotate(${t}deg)`), this;
1568
- }
1569
- gesture(t) {
1570
- return this._gesture = t, this;
1571
- }
1572
- animation(t) {
1573
- return this._animationConfig = t, this;
1574
- }
1575
- hasStateManagement() {
1576
- return this._state.size > 0 || this._providers.size > 0 || this._observers.size > 0 || this._signals.size > 0 || this._isObserver || this._animatedProps.size > 0;
1577
- }
1578
- className(t) {
1579
- return this._classNames.push(t), this;
1580
- }
1581
- classNames(t) {
1582
- return this._classNames.push(...t), this;
1583
- }
1584
- css(t) {
1585
- return this._cssStyles = { ...this._cssStyles, ...t }, this;
1586
- }
1587
- style(t) {
1588
- return this._style = { ...this._style, ...t }, this;
1589
- }
1590
- props(t) {
1591
- return this._props = { ...this._props, ...t }, this;
1592
- }
1593
- transition(t, e, s, r) {
1594
- if (typeof t == "string" && e === void 0) {
1595
- const f = l.register("transition", t);
1596
- return this._classNames.push(f), this;
1597
- }
1598
- const i = Array.isArray(t) ? t.join(", ") : t, c = `${e || this._transitionDuration}ms`, n = s || this._transitionEasing, h = r ? `${r}ms` : "0ms", u = `${i} ${c} ${n} ${h}`, d = l.register("transition", u);
1599
- return this._classNames.push(d), this;
1600
- }
1601
- /**
1602
- * Set transition duration in milliseconds
1603
- * Example: .duration(200) → 200ms
1604
- */
1605
- duration(t) {
1606
- return this._transitionDuration = t, this._applyTransition(), this;
1607
- }
1608
- /**
1609
- * Set transition easing function
1610
- * Example: .easing('ease-in-out')
1611
- */
1612
- easing(t) {
1613
- return this._transitionEasing = t, this._applyTransition(), this;
1614
- }
1615
- /**
1616
- * Set transition delay in milliseconds
1617
- * Example: .delay(100) → 100ms delay
1618
- */
1619
- delay(t) {
1620
- return this._transitionDelay = t, this._applyTransition(), this;
1621
- }
1622
- /**
1623
- * Set which properties to transition
1624
- * Example: .properties(['color', 'transform'])
1625
- */
1626
- properties(t) {
1627
- return this._transitionProperties = t, this._applyTransition(), this;
1628
- }
1629
- /**
1630
- * Apply the built transition to the element
1631
- */
1632
- _applyTransition() {
1633
- const t = this._transitionProperties.join(", "), e = `${this._transitionDuration}ms`, s = this._transitionEasing, r = this._transitionDelay > 0 ? `${this._transitionDelay}ms` : "0ms", i = `${t} ${e} ${s} ${r}`, c = l.register("transition", i);
1634
- this._classNames.push(c);
1635
- }
1636
- theme(t) {
1637
- return this._theme = t, this;
1638
- }
1639
- getPseudoStateClassName() {
1640
- return this._pseudoStateClassName || (this._pseudoStateClassName = tt("fibo-pseudo"), this._classNames.push(this._pseudoStateClassName)), this._pseudoStateClassName;
1641
- }
1642
- hover(t) {
1643
- const e = this.getPseudoStateClassName(), s = new b(e, "hover", this);
1644
- return t ? (t(s), this) : s;
1645
- }
1646
- focus(t) {
1647
- const e = this.getPseudoStateClassName(), s = new b(e, "focus", this);
1648
- return t ? (t(s), this) : s;
1649
- }
1650
- active(t) {
1651
- const e = this.getPseudoStateClassName(), s = new b(e, "active", this);
1652
- return t ? (t(s), this) : s;
1653
- }
1654
- visited(t) {
1655
- const e = this.getPseudoStateClassName(), s = new b(e, "visited", this);
1656
- return t ? (t(s), this) : s;
1657
- }
1658
- disabledState(t) {
1659
- const e = this.getPseudoStateClassName(), s = new b(e, "disabled", this);
1660
- return t ? (t(s), this) : s;
1661
- }
1662
- focusWithin(t) {
1663
- const e = this.getPseudoStateClassName(), s = new b(e, "focus-within", this);
1664
- return t ? (t(s), this) : s;
1665
- }
1666
- firstChild(t) {
1667
- const e = this.getPseudoStateClassName(), s = new b(e, "first-child", this);
1668
- return t ? (t(s), this) : s;
1669
- }
1670
- lastChild(t) {
1671
- const e = this.getPseudoStateClassName(), s = new b(e, "last-child", this);
1672
- return t ? (t(s), this) : s;
1673
- }
1674
- groupHover(t) {
1675
- const e = this.getPseudoStateClassName(), s = new b(e, "hover", this, !0);
1676
- return t ? (t(s), this) : s;
1677
- }
1678
- groupFocus(t) {
1679
- const e = this.getPseudoStateClassName(), s = new b(e, "focus", this, !0);
1680
- return t ? (t(s), this) : s;
1681
- }
1682
- groupActive(t) {
1683
- const e = this.getPseudoStateClassName(), s = new b(e, "active", this, !0);
1684
- return t ? (t(s), this) : s;
1685
- }
1686
- groupFocusWithin(t) {
1687
- const e = this.getPseudoStateClassName(), s = new b(e, "focus-within", this, !0);
1688
- return t ? (t(s), this) : s;
1689
- }
1690
- group() {
1691
- return this._classNames.push("group"), this;
1692
- }
1693
- children(t) {
1694
- return typeof t == "function" ? (this._childFunction = t, this._children = []) : (this._children = D(t), this._childFunction = void 0), this;
1695
- }
1696
- getClassName() {
1697
- let t;
1698
- return Object.keys(this._cssStyles).length > 0 && (t = At(this._cssStyles) || void 0), Et(this._classNames, t);
1699
- }
1700
- getStyle() {
1701
- let t = { ...this._style, ...this._cssStyles };
1702
- if (this._theme) {
1703
- const e = this._theme.colors || this._theme.colorScheme;
1704
- if (e) {
1705
- const s = t;
1706
- e.primary && (s["--fibo-primary"] = e.primary), e.onPrimary && (s["--fibo-on-primary"] = e.onPrimary), e.secondary && (s["--fibo-secondary"] = e.secondary), e.onSecondary && (s["--fibo-on-secondary"] = e.onSecondary), e.background && (s["--fibo-background"] = e.background), e.onBackground && (s["--fibo-on-background"] = e.onBackground), e.surface && (s["--fibo-surface"] = e.surface), e.onSurface && (s["--fibo-on-surface"] = e.onSurface), e.error && (s["--fibo-error"] = e.error);
1707
- }
1708
- }
1709
- if (this._transforms.length > 0) {
1710
- const e = t.transform || "";
1711
- t.transform = e ? `${e} ${this._transforms.join(" ")}` : this._transforms.join(" ");
1712
- }
1713
- if (this._animationConfig && this._animatedProps.size === 0) {
1714
- const { duration: e = 300, curve: s = "easeOut" } = this._animationConfig, r = s === "spring" ? "cubic-bezier(0.68, -0.55, 0.265, 1.55)" : s;
1715
- t.transition = `all ${e}ms ${r}`;
1716
- }
1717
- return t;
1718
- }
1719
- processChildren() {
1720
- return this._childFunction ? D(this._childFunction) : this._children;
1721
- }
1722
- getChildFunction() {
1723
- return this._childFunction;
1724
- }
1725
- }
1726
- const Tt = /* @__PURE__ */ new Set([
1727
- "$$typeof",
1728
- "type",
1729
- "props",
1730
- "ref",
1731
- "_owner",
1732
- "_store",
1733
- "_self",
1734
- "_source",
1735
- "_debugStack",
1736
- "_debugTask",
1737
- "_debugInfo"
1738
- ]);
1739
- function Lt(o) {
1740
- const t = o._isObserver, e = o._signals, s = o._observers, r = o._state, i = o._providers, c = () => {
1741
- let f = o.build();
1742
- const m = o._animatedProps, p = o._animationConfig;
1743
- m && m.size > 0 && (f = g.createElement(Mt, {
1744
- animatedProps: m,
1745
- animationConfig: p,
1746
- children: f
1747
- }));
1748
- const k = o._gesture;
1749
- k && (f = k.wrap(f));
1750
- const y = o._responsive;
1751
- return y && (f = g.createElement(Dt, {
1752
- responsive: y,
1753
- children: f
1754
- })), f;
1755
- }, n = typeof o.hasStateManagement == "function" ? o.hasStateManagement() : !!(t || e && e.size || s && s.size || r && r.size || i && i.size), h = t ? g.createElement(kt, {
1756
- key: o._props.key,
1757
- children: c
1758
- }) : null, u = () => h ?? c();
1759
- let d = u();
1760
- return n && e && e.size > 0 ? d = g.createElement(wt, {
1761
- key: o._props.key,
1762
- signals: e,
1763
- children: u
1764
- }) : n && s && s.size > 0 && (d = g.createElement(xt, {
1765
- observables: s,
1766
- children: u
1767
- })), n && r && r.size > 0 && (d = g.createElement(_t, {
1768
- stateMap: r,
1769
- children: d
1770
- })), n && i && i.size > 0 && (d = g.createElement(St, {
1771
- providers: i,
1772
- children: d
1773
- })), d;
1774
- }
1775
- function et(o, t, e) {
1776
- const s = function() {
1777
- return t();
1778
- };
1779
- s.displayName = e;
1780
- const r = g.createElement(s);
1781
- Object.defineProperty(o, "$$typeof", {
1782
- value: r.$$typeof,
1783
- enumerable: !0,
1784
- configurable: !0
1785
- }), Object.defineProperty(o, "type", {
1786
- value: s,
1787
- enumerable: !0,
1788
- configurable: !0,
1789
- writable: !0
1790
- }), o.ref = r.ref ?? null, o.__fiboElementProps = r.props ?? {}, r._owner !== void 0 && (o._owner = r._owner), o._store = { validated: 1 };
1791
- }
1792
- function re(o) {
1793
- return (...t) => {
1794
- const e = new o(...t), s = o.name.replace(/Builder$/, "") || "Fibo", r = () => Lt(e);
1795
- return et(e, r, s), new Proxy(e, {
1796
- get(i, c, n) {
1797
- var h;
1798
- if (c === "build")
1799
- return r;
1800
- if (c === "key") {
1801
- const u = (h = i._props) == null ? void 0 : h.key;
1802
- if (u != null && u !== "")
1803
- return typeof u == "number" ? String(u) : u;
1804
- if (!i.__fiboKeyFn) {
1805
- const d = tt("fibo"), f = (m) => (i.key(m), n);
1806
- f.toString = () => d, f.valueOf = () => d, i.__fiboKeyFn = f, i.__fiboAutoKey = d;
1807
- }
1808
- return i.__fiboKeyFn;
1809
- }
1810
- if (c === "props") {
1811
- const u = Object.getPrototypeOf(i).props;
1812
- return typeof u == "function" ? Object.assign((f) => (u.call(i, f), n), i.__fiboElementProps ?? {}) : i.__fiboElementProps ?? {};
1813
- }
1814
- return Tt.has(c) || Reflect.has(i, c) ? Reflect.get(i, c, n) : (u) => {
1815
- const d = c.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase(), m = ["opacity", "z-index", "flex", "flex-grow", "flex-shrink", "order", "font-weight", "line-height"].includes(d), p = typeof u == "number" && !m ? `${u}px` : String(u), k = l.register(d, p);
1816
- return i.className(k), n;
1817
- };
1818
- }
1819
- });
1820
- };
1821
- }
1822
- const It = ({
1823
- signal: o,
1824
- builder: t,
1825
- loading: e,
1826
- error: s
1827
- }) => {
1828
- const r = g.useSyncExternalStore(
1829
- g.useCallback((n) => o.subscribe ? o.subscribe(n) : () => {
1830
- }, [o]),
1831
- () => o.value
1832
- ), i = r == null ? void 0 : r.error;
1833
- return i && s ? s(i) : ((r == null ? void 0 : r.isLoading) || (r == null ? void 0 : r.loading)) === !0 && e ? e() : t ? t(r) : null;
1834
- }, Ot = g.memo(It);
1835
- class Xt {
1836
- constructor(t) {
1837
- a(this, "_loading");
1838
- a(this, "_error");
1839
- a(this, "_builder");
1840
- this._signal = t, et(this, () => this.build(), "ValueBuilder");
1841
- }
1842
- loading(t) {
1843
- return this._loading = typeof t == "function" ? t : () => t, this;
1844
- }
1845
- error(t) {
1846
- return this._error = t, this;
1847
- }
1848
- builder(t) {
1849
- return this._builder = t, this;
1850
- }
1851
- children(t) {
1852
- return this._builder = t, this;
1853
- }
1854
- build() {
1855
- return g.createElement(Ot, {
1856
- signal: this._signal,
1857
- builder: this._builder,
1858
- loading: this._loading,
1859
- error: this._error
1860
- });
1861
- }
1862
- }
1863
- function ie(o) {
1864
- return new Xt(o);
1865
- }
1866
- export {
1867
- dt as C,
1868
- ut as E,
1869
- oe as F,
1870
- pt as O,
1871
- St as P,
1872
- Qt as R,
1873
- E as S,
1874
- ie as V,
1875
- Jt as a,
1876
- H as b,
1877
- qt as c,
1878
- kt as d,
1879
- ee as e,
1880
- Ct as f,
1881
- K as g,
1882
- re as h,
1883
- bt as i,
1884
- _t as j,
1885
- $t as k,
1886
- Nt as l,
1887
- tt as m,
1888
- D as n,
1889
- Zt as o,
1890
- se as p,
1891
- ht as r,
1892
- Ut as s,
1893
- te as u
1894
- };