@tempots/beatui 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +172 -0
  3. package/dist/beatui.css +1 -0
  4. package/dist/index.es.js +2227 -0
  5. package/dist/index.umd.js +5 -0
  6. package/dist/types/components/button/button.d.ts +14 -0
  7. package/dist/types/components/button/index.d.ts +1 -0
  8. package/dist/types/components/data/icon.d.ts +9 -0
  9. package/dist/types/components/data/index.d.ts +2 -0
  10. package/dist/types/components/data/tag.d.ts +8 -0
  11. package/dist/types/components/form/control/control-input-wrapper.d.ts +8 -0
  12. package/dist/types/components/form/control/control-options.d.ts +19 -0
  13. package/dist/types/components/form/control/date-control.d.ts +2 -0
  14. package/dist/types/components/form/control/date-time-control.d.ts +2 -0
  15. package/dist/types/components/form/control/email-control.d.ts +2 -0
  16. package/dist/types/components/form/control/form-status.d.ts +20 -0
  17. package/dist/types/components/form/control/index.d.ts +21 -0
  18. package/dist/types/components/form/control/lazy-native-select-control.d.ts +16 -0
  19. package/dist/types/components/form/control/native-select-control.d.ts +9 -0
  20. package/dist/types/components/form/control/nullable-date-control.d.ts +2 -0
  21. package/dist/types/components/form/control/nullable-date-time-control.d.ts +2 -0
  22. package/dist/types/components/form/control/nullable-string-date-control.d.ts +2 -0
  23. package/dist/types/components/form/control/nullable-string-date-time-control.d.ts +2 -0
  24. package/dist/types/components/form/control/nullable-text-area-control.d.ts +7 -0
  25. package/dist/types/components/form/control/nullable-text-control.d.ts +2 -0
  26. package/dist/types/components/form/control/number-control.d.ts +9 -0
  27. package/dist/types/components/form/control/password-control.d.ts +2 -0
  28. package/dist/types/components/form/control/segmented-control.d.ts +12 -0
  29. package/dist/types/components/form/control/string-date-control.d.ts +2 -0
  30. package/dist/types/components/form/control/tags-control.d.ts +2 -0
  31. package/dist/types/components/form/control/text-area-control.d.ts +7 -0
  32. package/dist/types/components/form/control/text-control.d.ts +7 -0
  33. package/dist/types/components/form/controller/form-controller.d.ts +4 -0
  34. package/dist/types/components/form/controller/group-controller.d.ts +15 -0
  35. package/dist/types/components/form/controller/index.d.ts +6 -0
  36. package/dist/types/components/form/controller/list-controller.d.ts +22 -0
  37. package/dist/types/components/form/controller/path.d.ts +5 -0
  38. package/dist/types/components/form/controller/validation-result.d.ts +12 -0
  39. package/dist/types/components/form/controller/value-controller.d.ts +27 -0
  40. package/dist/types/components/form/index.d.ts +5 -0
  41. package/dist/types/components/form/input/checkbox-input.d.ts +2 -0
  42. package/dist/types/components/form/input/date-input.d.ts +2 -0
  43. package/dist/types/components/form/input/date-time-input.d.ts +2 -0
  44. package/dist/types/components/form/input/editable-text.d.ts +8 -0
  45. package/dist/types/components/form/input/email-input.d.ts +2 -0
  46. package/dist/types/components/form/input/index.d.ts +18 -0
  47. package/dist/types/components/form/input/input-container.d.ts +11 -0
  48. package/dist/types/components/form/input/input-options.d.ts +34 -0
  49. package/dist/types/components/form/input/lazy-native-select.d.ts +16 -0
  50. package/dist/types/components/form/input/native-select.d.ts +31 -0
  51. package/dist/types/components/form/input/nullable-date-input.d.ts +2 -0
  52. package/dist/types/components/form/input/nullable-date-time-input.d.ts +2 -0
  53. package/dist/types/components/form/input/nullable-text-area.d.ts +7 -0
  54. package/dist/types/components/form/input/nullable-text-input.d.ts +4 -0
  55. package/dist/types/components/form/input/number-input.d.ts +9 -0
  56. package/dist/types/components/form/input/password-input.d.ts +2 -0
  57. package/dist/types/components/form/input/tags-input.d.ts +2 -0
  58. package/dist/types/components/form/input/text-area.d.ts +7 -0
  59. package/dist/types/components/form/input/text-input.d.ts +2 -0
  60. package/dist/types/components/form/schema/index.d.ts +2 -0
  61. package/dist/types/components/form/schema/schema-utils.d.ts +4 -0
  62. package/dist/types/components/form/schema/standard-schema-v1.d.ts +55 -0
  63. package/dist/types/components/form/use-form.d.ts +14 -0
  64. package/dist/types/components/layout/app-shell.d.ts +42 -0
  65. package/dist/types/components/layout/card.d.ts +9 -0
  66. package/dist/types/components/layout/center.d.ts +7 -0
  67. package/dist/types/components/layout/group.d.ts +2 -0
  68. package/dist/types/components/layout/index.d.ts +7 -0
  69. package/dist/types/components/layout/sink.d.ts +9 -0
  70. package/dist/types/components/layout/stack.d.ts +2 -0
  71. package/dist/types/components/layout/with-breakpoint.d.ts +48 -0
  72. package/dist/types/components/misc/expando.d.ts +4 -0
  73. package/dist/types/components/misc/index.d.ts +1 -0
  74. package/dist/types/components/overlay/index.d.ts +1 -0
  75. package/dist/types/components/overlay/overlay.d.ts +14 -0
  76. package/dist/types/components/theme/index.d.ts +2 -0
  77. package/dist/types/components/theme/theme.d.ts +5 -0
  78. package/dist/types/components/theme/types.d.ts +110 -0
  79. package/dist/types/components/typography/index.d.ts +1 -0
  80. package/dist/types/components/typography/label.d.ts +5 -0
  81. package/dist/types/index.d.ts +9 -0
  82. package/dist/types/theme/beatui-theme.d.ts +19 -0
  83. package/dist/types/tokens/base-colors.d.ts +288 -0
  84. package/dist/types/tokens/breakpoints.d.ts +12 -0
  85. package/dist/types/tokens/colors.d.ts +28 -0
  86. package/dist/types/tokens/index.d.ts +6 -0
  87. package/dist/types/tokens/radius.d.ts +14 -0
  88. package/dist/types/tokens/spacing.d.ts +18 -0
  89. package/dist/types/tokens/typography.d.ts +89 -0
  90. package/dist/types/utils/delay-signal.d.ts +2 -0
  91. package/dist/types/utils/use-animated-toggle.d.ts +51 -0
  92. package/package.json +123 -0
@@ -0,0 +1,2227 @@
1
+ var Ye = Object.defineProperty;
2
+ var Te = (t) => {
3
+ throw TypeError(t);
4
+ };
5
+ var Je = (t, r, e) => r in t ? Ye(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
6
+ var w = (t, r, e) => Je(t, typeof r != "symbol" ? r + "" : r, e), Ke = (t, r, e) => r.has(t) || Te("Cannot " + e);
7
+ var S = (t, r, e) => (Ke(t, r, "read from private field"), e ? e.call(t) : r.get(t)), U = (t, r, e) => r.has(t) ? Te("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(t) : r.set(t, e);
8
+ import { makeProviderMark as Qe, localStorageProp as Ze, computedOf as $, Use as C, attr as a, html as p, on as m, aria as J, style as d, Value as A, Empty as x, Ensure as We, WithElement as q, OnDispose as K, Fragment as R, input as H, emitValue as v, emitValueAsDate as en, ForEach as pe, OneOfType as nn, emitValueAsNullableDate as tn, emitValueAsNullableDateTime as rn, emitValueAsNumber as oe, prop as P, When as ee, computed as Oe, emitChecked as sn, dataAttr as ae, render as ln, WithBrowserCtx as on } from "@tempots/dom";
9
+ import { Use as Yt } from "@tempots/dom";
10
+ import { useAppearence as an, WhenInViewport as un, Resource as Fe, ElementRect as de, AutoSelect as cn, WindowSize as pn } from "@tempots/ui";
11
+ class dn {
12
+ button({ variant: r, size: e, color: n, roundedness: s }) {
13
+ const l = [
14
+ "bc-button",
15
+ `bu-text-${e}`,
16
+ `bc-control--padding-${e}`,
17
+ `bc-control--rounded-${s}`
18
+ ];
19
+ switch (r) {
20
+ case "filled":
21
+ l.push(`bu-bg--${n}`), l.push(`hover:bu-bg--${n}`);
22
+ break;
23
+ case "light":
24
+ l.push(`bu-bg--light-${n}`), l.push(`hover:bu-bg--light-${n}`);
25
+ break;
26
+ case "outline":
27
+ l.push(`bu-border--${n}`), l.push(`hover:bu-bg--light-${n}`);
28
+ break;
29
+ case "default":
30
+ l.push("bu-bg--light-neutral"), l.push(`bu-text--${n}`), l.push("hover:bu-bg--light-base");
31
+ break;
32
+ case "text":
33
+ l.push("bu-bg--inherit"), l.push(`bu-text--${n}`), l.push("hover:bu-underline");
34
+ break;
35
+ }
36
+ return l.join(" ");
37
+ }
38
+ overlay({ effect: r, mode: e }) {
39
+ return `bc-overlay bc-overlay--effect-${r} bc-overlay--mode-${e}`;
40
+ }
41
+ icon({ size: r, color: e }) {
42
+ const n = ["bc-icon", `bc-icon--${r}`];
43
+ return e && n.push(`bu-fg--${e}`), n.join(" ");
44
+ }
45
+ panel({ side: r, color: e, shadow: n }) {
46
+ return `bc-panel ${(Array.isArray(r) ? r : [r]).map((l) => `bc-panel--side-${l}`).join(" ")} bu-bg--lighter-${e} bc-panel--shadow-${n}`;
47
+ }
48
+ label(r) {
49
+ return `bc-label bc-label--${r.type}`;
50
+ }
51
+ inputContainer({ disabled: r, hasError: e }) {
52
+ const n = ["bc-input-container"];
53
+ return r ? n.push("bc-input-container--disabled") : n.push("bc-input-container--default"), e && n.push("bc-input-container--error"), n.join(" ");
54
+ }
55
+ controlInputWrapper(r) {
56
+ return ["bc-control-input-wrapper"].join(" ");
57
+ }
58
+ controlInputWrapperLabelText({
59
+ hasError: r,
60
+ disabled: e
61
+ }) {
62
+ const n = ["bc-control-input-wrapper__label-text"];
63
+ return r ? n.push("bc-control-input-wrapper__label-text--error") : e ? n.push("bc-control-input-wrapper__label-text--disabled") : n.push("bc-control-input-wrapper__label-text--default"), n.join(" ");
64
+ }
65
+ tag({ disabled: r, color: e = "base" }) {
66
+ const n = ["bc-tag"];
67
+ return r ? n.push("bc-tag--disabled") : n.push(`bc-tag--${e}`), n.join(" ");
68
+ }
69
+ checkboxInput(r) {
70
+ return "bc-checkbox-input";
71
+ }
72
+ editableText(r) {
73
+ return "bc-editable-text";
74
+ }
75
+ numberInput(r) {
76
+ return "bc-number-input";
77
+ }
78
+ card({
79
+ variant: r = "default",
80
+ size: e = "md",
81
+ roundedness: n = "lg"
82
+ }) {
83
+ const s = ["bc-card"];
84
+ return r !== "default" && s.push(`bc-card--${r}`), e !== "md" && s.push(`bc-card--padding-${e}`), n !== "lg" && s.push(`bc-card--rounded-${n}`), s.join(" ");
85
+ }
86
+ center({ gap: r = "lg" }) {
87
+ const e = ["bc-center"];
88
+ return r !== "lg" && e.push(`bc-center--gap-${r}`), e.join(" ");
89
+ }
90
+ sink({
91
+ variant: r = "default",
92
+ size: e = "md",
93
+ roundedness: n = "lg"
94
+ }) {
95
+ const s = ["bc-sink"];
96
+ return r !== "default" && s.push(`bc-sink--${r}`), e !== "md" && s.push(`bc-sink--padding-${e}`), n !== "lg" && s.push(`bc-sink--rounded-${n}`), s.join(" ");
97
+ }
98
+ segmentedControl({ size: r = "sm" }) {
99
+ const e = ["bc-segmented-control"];
100
+ return r !== "sm" && e.push(`bc-segmented-control--size-${r}`), e.join(" ");
101
+ }
102
+ }
103
+ const _ = {
104
+ mark: Qe("Theme"),
105
+ // Create function returns the value and cleanup
106
+ create: (t) => {
107
+ const r = new dn(), e = an(), n = Ze({
108
+ key: "beatui-appearance-preference",
109
+ defaultValue: "system"
110
+ }), s = () => {
111
+ e.dispose(), n.dispose();
112
+ }, l = $(
113
+ e,
114
+ n
115
+ )((c, i) => i === "system" ? c : i);
116
+ return {
117
+ value: {
118
+ theme: r,
119
+ appearance: l,
120
+ appearancePreference: n,
121
+ setAppearancePreference: (c) => {
122
+ n.set(c);
123
+ }
124
+ },
125
+ dispose: s
126
+ };
127
+ }
128
+ }, ot = () => C(
129
+ _,
130
+ ({ appearance: t }) => a.class(t.map((r) => `b-${r}`))
131
+ );
132
+ function je({
133
+ type: t = "button",
134
+ disabled: r,
135
+ variant: e = "filled",
136
+ size: n = "md",
137
+ color: s = "base",
138
+ roundedness: l = "sm",
139
+ onClick: o = () => {
140
+ }
141
+ }, ...c) {
142
+ return C(_, (i) => p.button(
143
+ a.type(t),
144
+ a.disabled(r),
145
+ a.class(
146
+ $(
147
+ i,
148
+ e ?? "primary",
149
+ n ?? "md",
150
+ s,
151
+ l
152
+ )(
153
+ ({ theme: u }, h, g, b, y) => u.button({
154
+ variant: h,
155
+ size: g,
156
+ color: b,
157
+ roundedness: y
158
+ })
159
+ )
160
+ ),
161
+ m.click(o),
162
+ ...c
163
+ ));
164
+ }
165
+ const mn = "bui-icons";
166
+ function hn() {
167
+ return new Promise((t, r) => {
168
+ const e = indexedDB.open(mn, 1);
169
+ e.onupgradeneeded = function(n) {
170
+ const s = n.target.result;
171
+ s.objectStoreNames.contains("icons") || s.createObjectStore("icons");
172
+ }, e.onsuccess = function() {
173
+ t(e.result);
174
+ }, e.onerror = function() {
175
+ r(e.error);
176
+ };
177
+ });
178
+ }
179
+ const Pe = hn();
180
+ function gn(t, r) {
181
+ return new Promise(async (e, n) => {
182
+ const l = (await Pe).transaction("icons", "readwrite");
183
+ l.objectStore("icons").put(r, t), l.oncomplete = e, l.onerror = n;
184
+ });
185
+ }
186
+ function fn(t) {
187
+ return new Promise(async (r, e) => {
188
+ const o = (await Pe).transaction("icons", "readonly").objectStore("icons").get(t);
189
+ o.onsuccess = function() {
190
+ r(o.result);
191
+ }, o.onerror = e;
192
+ });
193
+ }
194
+ async function bn(t) {
195
+ const r = `https://api.iconify.design/${t}.svg`;
196
+ return fetch(r).then((e) => {
197
+ if (e.status === 200)
198
+ return e.text();
199
+ throw new Error(`Failed to load icon: ${t}`);
200
+ });
201
+ }
202
+ async function xn(t) {
203
+ const r = t.replace(":", "/"), e = await fn(r);
204
+ if (e)
205
+ return e;
206
+ const n = await bn(r);
207
+ return await gn(r, n), n;
208
+ }
209
+ function Q({ icon: t, size: r = "md", color: e, title: n }, ...s) {
210
+ return C(_, ({ theme: l }) => p.span(
211
+ a.class(
212
+ $(
213
+ l,
214
+ r,
215
+ e
216
+ )((o, c, i) => o.icon({ size: c, color: i }))
217
+ ),
218
+ J.label(n),
219
+ un(
220
+ { once: !0 },
221
+ () => Fe({
222
+ request: t,
223
+ load: ({ request: o }) => xn(o),
224
+ mapError: String
225
+ })({
226
+ success: (o) => p.span(
227
+ d.width("100%"),
228
+ d.height("100%"),
229
+ a.innerHTML(o)
230
+ ),
231
+ loading: () => p.span(a.class("animate-spin"), "↻"),
232
+ failure: (o) => p.span(a.title(o), a.class("text-red-500"), "🚫")
233
+ })
234
+ ),
235
+ ...s
236
+ ));
237
+ }
238
+ const yn = ({
239
+ disabled: t,
240
+ value: r,
241
+ color: e = "base",
242
+ onClose: n
243
+ }) => {
244
+ const s = A.map(t ?? !1, (o) => o), l = A.map(e ?? "base", (o) => o);
245
+ return C(_, (o) => p.span(
246
+ a.class(
247
+ $(
248
+ o,
249
+ s,
250
+ l
251
+ )(
252
+ ({ theme: c }, i, u) => c.tag({
253
+ disabled: i,
254
+ color: u
255
+ })
256
+ )
257
+ ),
258
+ p.span(a.class("bc-tag__text"), r),
259
+ n != null ? p.button(
260
+ a.disabled(t),
261
+ a.class("bc-tag__close"),
262
+ p.span("×"),
263
+ m.click(() => n == null ? void 0 : n(A.get(r)))
264
+ ) : x
265
+ ));
266
+ }, at = (...t) => C(
267
+ _,
268
+ ({ theme: r }) => p.span(a.class(r.label({ type: "emphasis" })), ...t)
269
+ ), vn = (...t) => C(
270
+ _,
271
+ ({ theme: r }) => p.span(a.class(r.label({ type: "default" })), ...t)
272
+ ), wn = (...t) => C(
273
+ _,
274
+ ({ theme: r }) => p.span(a.class(r.label({ type: "muted" })), ...t)
275
+ ), ut = (...t) => C(
276
+ _,
277
+ ({ theme: r }) => p.span(a.class(r.label({ type: "error" })), ...t)
278
+ ), $n = p.span(
279
+ a.class("bc-control-input-wrapper__required"),
280
+ " *"
281
+ ), k = ({
282
+ required: t,
283
+ label: r,
284
+ context: e,
285
+ description: n,
286
+ content: s,
287
+ controller: l
288
+ }) => C(_, (o) => p.div(
289
+ a.class(
290
+ $(
291
+ o,
292
+ l.hasError,
293
+ l.disabled
294
+ )(
295
+ ({ theme: c }, i, u) => c.controlInputWrapper({
296
+ hasError: i,
297
+ disabled: u
298
+ })
299
+ )
300
+ ),
301
+ r != null || e != null ? p.div(
302
+ a.class("bc-control-input-wrapper__header"),
303
+ p.label(
304
+ a.class("bc-control-input-wrapper__label"),
305
+ a.for(l.name),
306
+ p.span(
307
+ a.class(
308
+ $(
309
+ o,
310
+ l.hasError,
311
+ l.disabled
312
+ )(
313
+ ({ theme: c }, i, u) => c.controlInputWrapperLabelText({
314
+ hasError: i,
315
+ disabled: u
316
+ })
317
+ )
318
+ ),
319
+ r
320
+ ),
321
+ r != null && t ? $n : x
322
+ ),
323
+ e != null ? vn(e) : x
324
+ ) : x,
325
+ p.div(a.class("bc-control-input-wrapper__content"), s),
326
+ n != null ? p.div(
327
+ a.class("bc-control-input-wrapper__description"),
328
+ n
329
+ ) : x,
330
+ We(
331
+ l.error,
332
+ (c) => p.div(a.class("bc-control-input-wrapper__error"), c)
333
+ )
334
+ )), O = ({
335
+ child: t,
336
+ disabled: r,
337
+ input: e,
338
+ before: n,
339
+ after: s,
340
+ hasError: l,
341
+ focusableSelector: o = "input, select, textarea",
342
+ growInput: c = !0
343
+ }) => {
344
+ const i = A.map(r ?? !1, (u) => u);
345
+ return C(_, (u) => p.div(
346
+ t,
347
+ q((h) => {
348
+ const g = () => {
349
+ const b = h.querySelector(o);
350
+ b == null || b.focus();
351
+ };
352
+ return h.addEventListener("click", g), K(() => h.removeEventListener("click", g));
353
+ }),
354
+ a.class(
355
+ $(
356
+ u,
357
+ i,
358
+ l ?? !1
359
+ )(
360
+ ({ theme: h }, g, b) => h.inputContainer({
361
+ disabled: g,
362
+ hasError: b
363
+ })
364
+ )
365
+ ),
366
+ n != null ? p.span(a.class("bc-input-container__before"), n) : null,
367
+ p.div(
368
+ a.class("bc-input-container__input"),
369
+ a.class(
370
+ A.map(
371
+ c,
372
+ (h) => h ? "bc-input-container__input--grow" : ""
373
+ )
374
+ ),
375
+ e
376
+ ),
377
+ s != null ? p.span(a.class("bc-input-container__after"), s) : null
378
+ ));
379
+ }, j = ({
380
+ autocomplete: t,
381
+ autofocus: r,
382
+ class: e,
383
+ disabled: n,
384
+ name: s,
385
+ placeholder: l,
386
+ id: o
387
+ }) => R(
388
+ a.autocomplete(t),
389
+ a.autofocus(r),
390
+ a.class(e),
391
+ a.disabled(n),
392
+ a.name(s ?? o),
393
+ a.placeholder(l),
394
+ a.id(o)
395
+ ), T = (t) => ({
396
+ id: t.name,
397
+ disabled: t.disabled,
398
+ value: t.value,
399
+ hasError: t.hasError
400
+ }), me = (t, r) => ({
401
+ ...T(t),
402
+ value: t.value.map(r)
403
+ }), He = (t) => {
404
+ const { value: r, onBlur: e, onChange: n } = t;
405
+ return O({
406
+ ...t,
407
+ input: H.date(
408
+ j(t),
409
+ a.valueAsDate(r),
410
+ a.class("bc-input"),
411
+ e != null ? m.blur(v(e)) : x,
412
+ n != null ? m.change(en(n)) : x
413
+ )
414
+ });
415
+ }, Sn = (t) => {
416
+ const { value: r, onBlur: e, onChange: n, onInput: s } = t;
417
+ return O({
418
+ ...t,
419
+ input: H.text(
420
+ j(t),
421
+ a.value(r),
422
+ a.class("bc-input"),
423
+ e != null ? m.blur(v(e)) : x,
424
+ n != null ? m.change(v(n)) : x,
425
+ s != null ? m.input(v(s)) : x
426
+ )
427
+ });
428
+ }, E = (
429
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
430
+ (t, r) => () => {
431
+ r == null || r();
432
+ }
433
+ ), D = (t, r) => (e) => {
434
+ t.change(e), r == null || r(e);
435
+ }, he = (t, r, e) => (n) => {
436
+ const s = r(n);
437
+ t.change(s), e == null || e(s);
438
+ }, ct = (t, r, e) => (n) => {
439
+ r(n) ? (t.change(null), e == null || e(null)) : (t.change(n), e == null || e(n));
440
+ }, it = (t) => {
441
+ const { onBlur: r, onChange: e, ...n } = t;
442
+ return k({
443
+ ...n,
444
+ content: Sn({
445
+ ...n,
446
+ ...T(n.controller),
447
+ onChange: D(n.controller, e),
448
+ onBlur: E(n.controller, r)
449
+ })
450
+ });
451
+ }, pt = (t) => {
452
+ const { onBlur: r, onChange: e, ...n } = t;
453
+ return k({
454
+ ...n,
455
+ content: He({
456
+ ...n,
457
+ ...T(n.controller),
458
+ onChange: D(n.controller, e),
459
+ onBlur: E(n.controller, r)
460
+ })
461
+ });
462
+ }, Cn = (t) => {
463
+ const r = t.getFullYear(), e = (t.getMonth() + 1).toString().padStart(2, "0"), n = t.getDate().toString().padStart(2, "0"), s = t.getHours().toString().padStart(2, "0"), l = t.getMinutes().toString().padStart(2, "0");
464
+ return `${r}-${e}-${n}T${s}:${l}`;
465
+ }, _n = (t) => {
466
+ const { value: r, onBlur: e, onChange: n } = t;
467
+ return O({
468
+ ...t,
469
+ input: H["datetime-local"](
470
+ j(t),
471
+ a.value(A.map(r, Cn)),
472
+ a.class("bc-input"),
473
+ e != null ? m.blur(v(e)) : x,
474
+ n != null ? m.change(v((s) => n(new Date(s)))) : x
475
+ )
476
+ });
477
+ }, dt = (t) => {
478
+ const { onBlur: r, onChange: e, ...n } = t;
479
+ return k({
480
+ ...n,
481
+ content: _n({
482
+ ...n,
483
+ ...T(n.controller),
484
+ onChange: D(n.controller, e),
485
+ onBlur: E(n.controller, r)
486
+ })
487
+ });
488
+ }, Bn = (t) => {
489
+ const r = {
490
+ name: "email",
491
+ autocomplete: "email",
492
+ placeholder: "you@company.com",
493
+ ...t
494
+ }, { value: e, onBlur: n, onChange: s, onInput: l } = r;
495
+ return O({
496
+ ...t,
497
+ input: H.email(
498
+ j(r),
499
+ a.value(e),
500
+ a.class("bc-input"),
501
+ n != null ? m.blur(v(n)) : x,
502
+ s != null ? m.change(v(s)) : x,
503
+ l != null ? m.input(v(l)) : x
504
+ )
505
+ });
506
+ }, mt = (t) => {
507
+ const { onChange: r, onBlur: e, ...n } = t;
508
+ return k({
509
+ label: "Email",
510
+ ...n,
511
+ content: Bn({
512
+ ...n,
513
+ ...T(n.controller),
514
+ onChange: D(n.controller, r),
515
+ onBlur: E(n.controller, e)
516
+ })
517
+ });
518
+ }, ht = {
519
+ filling: { type: "filling" },
520
+ submitting: { type: "submitting" },
521
+ error: (t) => ({ type: "error", error: t }),
522
+ success: { type: "success" }
523
+ }, ge = "$$tts-exp-", In = (t, r) => q((e) => {
524
+ const n = `${ge}${t}`;
525
+ return K(A.on(r, (s) => Reflect.set(e, n, s)));
526
+ }), gt = (t, r) => {
527
+ const e = `${ge}${t}`;
528
+ return (n) => {
529
+ r(Reflect.get(n.target, e));
530
+ };
531
+ }, kn = (t, r) => {
532
+ const e = `${ge}${t}`;
533
+ return (n) => {
534
+ const s = n.target, l = s.selectedIndex, o = s.options[l];
535
+ r(Reflect.get(o, e));
536
+ };
537
+ }, ue = {
538
+ value: (t, r, e) => ({
539
+ type: "value",
540
+ value: t,
541
+ label: r,
542
+ disabled: e
543
+ }),
544
+ group: (t, r, e) => ({
545
+ type: "group",
546
+ group: t,
547
+ options: r,
548
+ disabled: e
549
+ }),
550
+ break: { type: "break" },
551
+ getOptionValues: (t) => t.flatMap(
552
+ (r) => r.type === "group" ? ue.getOptionValues(r.options) : r.type === "break" ? [] : [r.value]
553
+ ),
554
+ contains: (t, r, e = (n, s) => n === s) => ue.getOptionValues(t).some((n) => e(n, r))
555
+ }, Ve = (t, r, e) => We(
556
+ t,
557
+ (n) => nn(n, {
558
+ value: (s) => {
559
+ const l = $(
560
+ s,
561
+ e
562
+ )((o, c) => r(o.value, c));
563
+ return p.option(
564
+ K(l.dispose),
565
+ a.selected(l),
566
+ In("value", s.$.value),
567
+ s.$.label
568
+ );
569
+ },
570
+ group: (s) => p.optgroup(
571
+ a.label(s.$.group),
572
+ pe(
573
+ s.$.options,
574
+ (l) => Ve(
575
+ l,
576
+ r,
577
+ e
578
+ )
579
+ )
580
+ ),
581
+ break: () => p.hr()
582
+ })
583
+ ), Me = (t) => {
584
+ const {
585
+ value: r,
586
+ onBlur: e,
587
+ onChange: n,
588
+ options: s,
589
+ unselectedLabel: l = "Select one ...",
590
+ equality: o = (i, u) => i === u
591
+ } = t;
592
+ let c;
593
+ return O({
594
+ ...t,
595
+ child: m.click(() => {
596
+ c == null || c.focus(), typeof (c == null ? void 0 : c.showPicker) == "function" && c.showPicker();
597
+ }),
598
+ input: p.select(
599
+ q((i) => {
600
+ c = i;
601
+ const u = new MutationObserver((h) => {
602
+ const { removedNodes: g } = h[0];
603
+ g.length > 0 && (c.selectedIndex = 0);
604
+ });
605
+ return u.observe(i, { childList: !0 }), K(() => u.disconnect());
606
+ }),
607
+ j(t),
608
+ a.class("focus:outline-none bg-transparent"),
609
+ a.class("w-full"),
610
+ p.option(a.hidden("hidden"), l),
611
+ pe(s, (i) => Ve(i, o, r)),
612
+ e != null ? m.blur(e) : x,
613
+ n != null ? m.change(kn("value", (i) => n(i))) : x
614
+ )
615
+ });
616
+ }, En = (t) => Fe({
617
+ request: t.request,
618
+ load: t.load,
619
+ mapError: String
620
+ })({
621
+ success: (r) => {
622
+ const e = r.map(
623
+ (n) => n.map((s) => typeof s == "object" && "id" in s && "label" in s ? ue.value(s.id, s.label) : s)
624
+ );
625
+ return Me({
626
+ ...t,
627
+ options: e,
628
+ unselectedLabel: t.unselectedLabel,
629
+ equality: t.equality
630
+ });
631
+ },
632
+ loading: () => p.span(a.class("animate-spin"), J.label("Loading..."), "↻")
633
+ }), ft = (t) => {
634
+ const { onBlur: r, onChange: e, ...n } = t;
635
+ return k({
636
+ ...n,
637
+ content: En({
638
+ ...t,
639
+ ...T(n.controller),
640
+ onChange: D(n.controller, e),
641
+ onBlur: E(n.controller, r)
642
+ })
643
+ });
644
+ }, bt = (t) => {
645
+ const { onBlur: r, onChange: e, ...n } = t;
646
+ return k({
647
+ ...n,
648
+ content: Me({
649
+ ...n,
650
+ ...T(n.controller),
651
+ onChange: D(n.controller, e),
652
+ onBlur: E(n.controller, r)
653
+ })
654
+ });
655
+ }, Le = (t) => {
656
+ const { value: r, onBlur: e, onChange: n } = t;
657
+ return O({
658
+ ...t,
659
+ input: H.date(
660
+ j(t),
661
+ a.valueAsDate(r),
662
+ a.class("bc-input"),
663
+ e != null ? m.blur(v(e)) : x,
664
+ n != null ? m.change(tn(n)) : x
665
+ )
666
+ });
667
+ }, xt = (t) => {
668
+ const { onBlur: r, onChange: e, ...n } = t;
669
+ return k({
670
+ ...n,
671
+ content: Le({
672
+ ...n,
673
+ ...T(n.controller),
674
+ onChange: D(n.controller, e),
675
+ onBlur: E(n.controller, r)
676
+ })
677
+ });
678
+ }, An = (t) => {
679
+ const r = t.getFullYear(), e = t.getMonth() + 1, n = t.getDate(), s = t.getHours(), l = t.getMinutes(), o = t.getSeconds();
680
+ return `${r}-${e.toString().padStart(2, "0")}-${n.toString().padStart(2, "0")}T${s.toString().padStart(2, "0")}:${l.toString().padStart(2, "0")}:${o.toString().padStart(2, "0")}`;
681
+ }, qe = (t) => {
682
+ const { value: r, onBlur: e, onChange: n } = t, s = A.map(r, (l) => l != null ? An(l) : null);
683
+ return O({
684
+ ...t,
685
+ input: H["datetime-local"](
686
+ j(t),
687
+ a.value(A.map(s, (l) => l ?? null)),
688
+ a.class("bc-input"),
689
+ e != null ? m.blur(v(e)) : x,
690
+ n != null ? m.change(rn(n)) : x
691
+ )
692
+ });
693
+ }, yt = (t) => {
694
+ const { onBlur: r, onChange: e, ...n } = t;
695
+ return k({
696
+ ...n,
697
+ content: qe({
698
+ ...n,
699
+ ...T(n.controller),
700
+ onChange: D(n.controller, e),
701
+ onBlur: E(n.controller, r)
702
+ })
703
+ });
704
+ }, vt = (t) => {
705
+ const { onBlur: r, onChange: e, ...n } = t;
706
+ return k({
707
+ ...n,
708
+ content: Le({
709
+ ...n,
710
+ ...me(
711
+ n.controller,
712
+ (s) => s != null && s !== "" ? new Date(s) : null
713
+ ),
714
+ onChange: he(
715
+ n.controller,
716
+ (s) => s != null ? s.toISOString().split("T")[0] : null,
717
+ e
718
+ ),
719
+ onBlur: E(n.controller, r)
720
+ })
721
+ });
722
+ }, Tn = (t) => new Date(t), On = (t) => t.toISOString(), wt = (t) => {
723
+ const { onBlur: r, onChange: e, ...n } = t;
724
+ return k({
725
+ ...n,
726
+ content: qe({
727
+ ...n,
728
+ ...me(
729
+ n.controller,
730
+ (s) => s != null && s !== "" ? Tn(s) : null
731
+ ),
732
+ onChange: he(
733
+ n.controller,
734
+ (s) => s != null ? On(s) : null,
735
+ e
736
+ ),
737
+ onBlur: E(n.controller, r)
738
+ })
739
+ });
740
+ }, ne = (t) => typeof t == "string" && t.trim() === "" ? null : t, Re = (t) => t ?? "", jn = (t) => {
741
+ const { value: r, onBlur: e, onChange: n, onInput: s, ...l } = t;
742
+ return O({
743
+ ...l,
744
+ input: H.text(
745
+ j(l),
746
+ a.value(A.map(r, Re)),
747
+ a.class("bc-input"),
748
+ e != null ? m.blur(e) : x,
749
+ n != null ? m.change(v((o) => n(ne(o)))) : x,
750
+ s != null ? m.input(v((o) => s(ne(o)))) : x
751
+ )
752
+ });
753
+ }, Dn = (t) => {
754
+ const { value: r, onBlur: e, onChange: n, onInput: s, rows: l } = t;
755
+ return O({
756
+ ...t,
757
+ input: p.textarea(
758
+ j(t),
759
+ a.rows(l ?? 10),
760
+ a.value(A.map(r, Re)),
761
+ a.class("bc-input"),
762
+ e != null ? m.blur(e) : x,
763
+ n != null ? m.change(v((o) => n(ne(o)))) : x,
764
+ s != null ? m.input(v((o) => s(ne(o)))) : x
765
+ )
766
+ });
767
+ }, $t = (t) => {
768
+ const { onBlur: r, onChange: e, rows: n, ...s } = t;
769
+ return k({
770
+ ...s,
771
+ content: Dn({
772
+ ...s,
773
+ ...T(s.controller),
774
+ rows: n,
775
+ onChange: D(s.controller, e),
776
+ onBlur: E(s.controller, r)
777
+ })
778
+ });
779
+ }, St = (t) => {
780
+ const { onBlur: r, onChange: e, ...n } = t;
781
+ return k({
782
+ ...n,
783
+ content: jn({
784
+ ...n,
785
+ ...T(n.controller),
786
+ onChange: D(n.controller, e),
787
+ onBlur: E(n.controller, r)
788
+ })
789
+ });
790
+ }, Nn = (t) => {
791
+ const { value: r, step: e, min: n, max: s, onBlur: l, onChange: o, onInput: c, disabled: i } = t;
792
+ return C(_, (u) => O({
793
+ ...t,
794
+ input: H.number(
795
+ j(t),
796
+ a.valueAsNumber(r),
797
+ a.step(e),
798
+ a.min(n),
799
+ a.max(s),
800
+ a.class("bc-input"),
801
+ a.class(
802
+ $(
803
+ u,
804
+ i ?? !1
805
+ )(
806
+ ({ theme: h }, g) => h.numberInput({
807
+ disabled: g
808
+ })
809
+ )
810
+ ),
811
+ l != null ? m.blur(v(l)) : x,
812
+ o != null ? m.change(oe(o)) : x,
813
+ c != null ? m.input(oe(c)) : x
814
+ )
815
+ }));
816
+ }, Ct = (t) => {
817
+ const { onBlur: r, onChange: e, ...n } = t;
818
+ return k({
819
+ ...n,
820
+ content: Nn({
821
+ ...n,
822
+ ...T(n.controller),
823
+ onChange: D(n.controller, e),
824
+ onBlur: E(n.controller, r)
825
+ })
826
+ });
827
+ }, Wn = (t) => {
828
+ const {
829
+ value: r,
830
+ onBlur: e,
831
+ onChange: n,
832
+ onInput: s,
833
+ before: l,
834
+ after: o,
835
+ hasError: c,
836
+ disabled: i,
837
+ autocomplete: u,
838
+ placeholder: h,
839
+ ...g
840
+ } = t, b = {
841
+ name: "password",
842
+ ...g
843
+ }, y = P(!0), B = $(
844
+ y,
845
+ u
846
+ )((V, z) => V ? z ?? "current-password" : "off"), W = $(
847
+ y,
848
+ h
849
+ )((V, z) => V ? "•••••••••••••••" : z ?? "secret password");
850
+ return O({
851
+ before: l,
852
+ disabled: i,
853
+ hasError: c,
854
+ input: p.input(
855
+ j({
856
+ ...b,
857
+ autocomplete: B,
858
+ placeholder: W
859
+ }),
860
+ ee(
861
+ y,
862
+ () => R(a.type("password")),
863
+ () => R(a.type("text"))
864
+ ),
865
+ a.class("bc-input"),
866
+ a.value(r),
867
+ e != null ? m.blur(v(e)) : x,
868
+ n != null ? m.change(v(n)) : x,
869
+ s != null ? m.input(v(s)) : x
870
+ ),
871
+ after: o ?? p.button(
872
+ a.class("bc-input-container__password-toggle"),
873
+ J.label("Toggle password visibility"),
874
+ m.click(() => y.update((V) => !V)),
875
+ ee(
876
+ y,
877
+ () => Q({ icon: "line-md--eye" }),
878
+ () => Q({ icon: "line-md--eye-off" })
879
+ )
880
+ )
881
+ });
882
+ }, _t = (t) => {
883
+ const { onBlur: r, onChange: e, ...n } = t;
884
+ return k({
885
+ label: "Password",
886
+ ...n,
887
+ content: Wn({
888
+ ...n,
889
+ ...T(n.controller),
890
+ onChange: D(n.controller, e),
891
+ onBlur: E(n.controller, r)
892
+ })
893
+ });
894
+ };
895
+ function Fn(t, r) {
896
+ return t.length === r.length && t.every((e, n) => e === r[n]);
897
+ }
898
+ function Bt({
899
+ segments: t,
900
+ activeSegment: r = null,
901
+ onSegmentChange: e,
902
+ size: n = "sm"
903
+ }) {
904
+ const s = A.toSignal(r ?? null).deriveProp(), l = P(
905
+ t.map(() => 0),
906
+ Fn
907
+ );
908
+ return C(_, (o) => p.div(
909
+ a.class(
910
+ $(
911
+ o,
912
+ n
913
+ )(
914
+ ({ theme: c }, i) => c.segmentedControl({
915
+ size: i
916
+ })
917
+ )
918
+ ),
919
+ p.div(
920
+ a.class("bc-segmented-control__container"),
921
+ // sliding tab block
922
+ p.div(
923
+ a.class("bc-segmented-control__indicator"),
924
+ d.display(
925
+ s.map((c) => c == null ? "none" : "block")
926
+ ),
927
+ d.width(
928
+ Oe(() => `${l.value[s.value ?? 0]}px`, [s, l])
929
+ ),
930
+ d.left(
931
+ Oe(() => `${l.value.slice(0, s.value ?? 0).reduce((i, u) => i + u, 0)}px`, [s, l])
932
+ )
933
+ ),
934
+ // clickable buttons
935
+ t.map(({ label: c, onSelect: i }, u) => p.button(
936
+ // { href: href ?? '' },
937
+ m.click((h) => {
938
+ h.preventDefault(), s.set(u), e == null || e(u), i == null || i();
939
+ }),
940
+ a.class("bc-segmented-control__segment"),
941
+ a.class(
942
+ s.map((h) => h == null || h === u ? "bc-segmented-control__segment--active" : "bc-segmented-control__segment--inactive")
943
+ ),
944
+ de((h) => (h.on(({ width: g }) => {
945
+ l.update((b) => {
946
+ const y = [...b];
947
+ return y[u] = g, y;
948
+ });
949
+ }), c))
950
+ ))
951
+ )
952
+ ));
953
+ }
954
+ const It = (t) => {
955
+ const { onBlur: r, onChange: e, ...n } = t;
956
+ return k({
957
+ ...n,
958
+ content: He({
959
+ ...n,
960
+ ...me(
961
+ n.controller,
962
+ (s) => new Date(s)
963
+ ),
964
+ onChange: he(
965
+ n.controller,
966
+ (s) => s.toISOString(),
967
+ e
968
+ ),
969
+ onBlur: E(n.controller, r)
970
+ })
971
+ });
972
+ }, Pn = (t) => {
973
+ const { value: r, onChange: e, onBlur: n } = t, s = P(""), l = (c) => {
974
+ e == null || e(A.get(r).filter((i) => i !== c));
975
+ }, o = () => {
976
+ const c = s.value.trim(), i = A.get(r);
977
+ c === "" || i.includes(c) || (s.set(""), e == null || e([...i, c]));
978
+ };
979
+ return O({
980
+ ...t,
981
+ input: R(
982
+ a.class("bc-input-container__tags"),
983
+ pe(r, (c) => yn({ value: c, onClose: () => l(c.value) })),
984
+ H.text(
985
+ j(t),
986
+ a.value(s),
987
+ a.class("bc-input bc-input-container__tags-input"),
988
+ m.input(v(s.set)),
989
+ e != null ? m.change(o) : x,
990
+ n != null ? m.blur(n) : x
991
+ )
992
+ )
993
+ });
994
+ }, kt = (t) => {
995
+ const { onBlur: r, onChange: e, ...n } = t;
996
+ return k({
997
+ ...n,
998
+ content: Pn({
999
+ ...n,
1000
+ ...T(n.controller),
1001
+ onChange: D(n.controller, e),
1002
+ onBlur: E(n.controller, r)
1003
+ })
1004
+ });
1005
+ }, Hn = (t) => {
1006
+ const { value: r, onBlur: e, onChange: n, onInput: s, rows: l } = t;
1007
+ return O({
1008
+ ...t,
1009
+ input: p.textarea(
1010
+ j(t),
1011
+ a.rows(l ?? 10),
1012
+ a.value(r),
1013
+ a.class("bc-input"),
1014
+ e != null ? m.blur(v(e)) : x,
1015
+ n != null ? m.change(v(n)) : x,
1016
+ s != null ? m.input(v(s)) : x
1017
+ )
1018
+ });
1019
+ }, Et = (t) => {
1020
+ const { onBlur: r, onChange: e, rows: n, ...s } = t;
1021
+ return k({
1022
+ ...s,
1023
+ content: Hn({
1024
+ ...s,
1025
+ ...T(s.controller),
1026
+ rows: n,
1027
+ value: s.controller.value,
1028
+ onChange: D(s.controller, e),
1029
+ onBlur: E(s.controller, r)
1030
+ })
1031
+ });
1032
+ };
1033
+ function ze(t) {
1034
+ return function(e) {
1035
+ var s;
1036
+ if (e.type === "Valid") return e;
1037
+ const n = (s = e.dependencies) == null ? void 0 : s[t];
1038
+ return n != null ? { type: "Invalid", ...n } : { type: "Valid" };
1039
+ };
1040
+ }
1041
+ function At(t) {
1042
+ return t.split(".").map((e) => {
1043
+ const n = e.match(/^\[(\d+)\]$/);
1044
+ return n ? Number(n[1]) : e;
1045
+ });
1046
+ }
1047
+ function Vn(t) {
1048
+ return typeof t == "number" ? `[${t}]` : `.${t}`;
1049
+ }
1050
+ function Mn(t) {
1051
+ if (t.length === 0) return "";
1052
+ const [r, ...e] = t;
1053
+ return [
1054
+ typeof r == "number" ? `[${r}]` : r,
1055
+ ...e.map(Vn)
1056
+ ].join("");
1057
+ }
1058
+ var G;
1059
+ class te {
1060
+ constructor(r, e, n, s, l) {
1061
+ w(this, "path");
1062
+ w(this, "change");
1063
+ w(this, "value");
1064
+ w(this, "status");
1065
+ w(this, "error");
1066
+ w(this, "hasError");
1067
+ w(this, "dependencyErrors");
1068
+ U(this, G, {
1069
+ disabled: P(!1)
1070
+ });
1071
+ w(this, "parent");
1072
+ w(this, "disabled");
1073
+ w(this, "disable", () => {
1074
+ S(this, G).disabled.set(!0);
1075
+ });
1076
+ w(this, "enable", () => {
1077
+ S(this, G).disabled.set(!1);
1078
+ });
1079
+ this.path = r, this.change = e, this.value = n, this.status = s, this.error = s.map((o) => o.type === "Invalid" ? o.error : void 0), this.hasError = s.map((o) => o.type === "Invalid"), this.dependencyErrors = s.map(
1080
+ (o) => o.type === "Invalid" ? o.dependencies : void 0
1081
+ ), this.parent = l, this.disabled = $(
1082
+ S(this, G).disabled,
1083
+ l.disabled
1084
+ )((o, c) => o || c);
1085
+ }
1086
+ get name() {
1087
+ return Mn(this.path);
1088
+ }
1089
+ dispose() {
1090
+ S(this, G).disabled.dispose();
1091
+ }
1092
+ }
1093
+ G = new WeakMap();
1094
+ var M, X;
1095
+ const be = class be extends te {
1096
+ constructor(e, n, s, l, o) {
1097
+ super(
1098
+ e,
1099
+ n,
1100
+ s.map((c) => c ?? []),
1101
+ l,
1102
+ o
1103
+ );
1104
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1105
+ U(this, M, new Array());
1106
+ U(this, X, (e, n) => {
1107
+ if (S(this, M)[e])
1108
+ return S(this, M)[e];
1109
+ const s = async (o) => {
1110
+ const c = this.value.value.slice();
1111
+ c[e] = o, this.change(c);
1112
+ }, l = n(
1113
+ [...this.path, e],
1114
+ s,
1115
+ this.value.map((o) => o[e]),
1116
+ this.status.map(ze(e)),
1117
+ { disabled: this.disabled }
1118
+ );
1119
+ return S(this, M)[e] = l, l;
1120
+ });
1121
+ w(this, "length", this.value.map((e) => e.length));
1122
+ w(this, "item", (e) => S(this, X).call(this, e, (n, s, l, o, c) => new te(n, s, l, o, c)));
1123
+ w(this, "list", (e) => S(this, X).call(this, e, (n, s, l, o, c) => new be(n, s, l, o, c)));
1124
+ w(this, "group", (e) => S(this, X).call(this, e, (n, s, l, o, c) => new re(n, s, l, o, c)));
1125
+ w(this, "push", (...e) => {
1126
+ this.change([...this.value.value, ...e]);
1127
+ });
1128
+ w(this, "pop", () => {
1129
+ this.splice(this.value.value.length - 1, 1);
1130
+ });
1131
+ w(this, "shift", () => {
1132
+ this.splice(0, 1);
1133
+ });
1134
+ w(this, "unshift", (...e) => {
1135
+ this.change([...e, ...this.value.value]);
1136
+ });
1137
+ w(this, "removeAt", (e) => {
1138
+ this.splice(e, 1);
1139
+ });
1140
+ w(this, "splice", (e, n) => {
1141
+ const s = S(this, M).splice(e, n);
1142
+ for (const o of s)
1143
+ o.dispose();
1144
+ const l = this.value.value.slice();
1145
+ l.splice(e, n), this.change(l);
1146
+ });
1147
+ }
1148
+ dispose() {
1149
+ super.dispose();
1150
+ for (const e of S(this, M))
1151
+ e.dispose();
1152
+ S(this, M).length = 0;
1153
+ }
1154
+ };
1155
+ M = new WeakMap(), X = new WeakMap();
1156
+ let ce = be;
1157
+ var L, Y;
1158
+ const xe = class xe extends te {
1159
+ constructor(e, n, s, l, o) {
1160
+ super(
1161
+ e,
1162
+ n,
1163
+ s.map((c) => c ?? {}),
1164
+ l,
1165
+ o
1166
+ );
1167
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1168
+ U(this, L, /* @__PURE__ */ new Map());
1169
+ U(this, Y, (e, n) => {
1170
+ if (S(this, L).has(e))
1171
+ return S(this, L).get(e);
1172
+ const s = async (o) => {
1173
+ this.change({
1174
+ ...this.value.value,
1175
+ [e]: o
1176
+ });
1177
+ }, l = n(
1178
+ [...this.path, e],
1179
+ s,
1180
+ this.value.map((o) => o[e]),
1181
+ this.status.map(ze(e)),
1182
+ { disabled: this.disabled }
1183
+ );
1184
+ return S(this, L).set(
1185
+ e,
1186
+ l
1187
+ ), l;
1188
+ });
1189
+ w(this, "field", (e) => S(this, Y).call(this, e, (n, s, l, o, c) => new te(n, s, l, o, c)));
1190
+ w(this, "list", (e) => S(this, Y).call(this, e, (n, s, l, o, c) => new ce(n, s, l, o, c)));
1191
+ w(this, "group", (e) => S(this, Y).call(this, e, (n, s, l, o, c) => new xe(n, s, l, o, c)));
1192
+ }
1193
+ dispose() {
1194
+ super.dispose();
1195
+ for (const e of S(this, L).values())
1196
+ e.dispose();
1197
+ S(this, L).clear();
1198
+ }
1199
+ };
1200
+ L = new WeakMap(), Y = new WeakMap();
1201
+ let re = xe;
1202
+ class Ln extends re {
1203
+ dispose() {
1204
+ super.dispose(), this.parent.disabled.dispose(), this.value.dispose(), this.status.dispose();
1205
+ }
1206
+ }
1207
+ const Tt = (t) => {
1208
+ const { value: r, onBlur: e, onChange: n, placeholder: s, disabled: l } = t;
1209
+ return C(_, (o) => O({
1210
+ growInput: !1,
1211
+ ...t,
1212
+ input: p.span(
1213
+ a.class(
1214
+ $(
1215
+ o,
1216
+ l ?? !1
1217
+ )(
1218
+ ({ theme: c }, i) => c.checkboxInput({
1219
+ disabled: i
1220
+ })
1221
+ )
1222
+ ),
1223
+ H.checkbox(
1224
+ j(t),
1225
+ a.checked(r),
1226
+ a.class("bc-checkbox-input__checkbox"),
1227
+ e != null ? m.blur(v(e)) : x,
1228
+ n != null ? m.change(sn(n)) : x
1229
+ ),
1230
+ s != null ? p.span(
1231
+ a.class("bc-checkbox-input__label"),
1232
+ wn(s)
1233
+ ) : x
1234
+ )
1235
+ }));
1236
+ }, Ot = ({
1237
+ startEditing: t,
1238
+ value: r,
1239
+ onChange: e,
1240
+ placeholder: n
1241
+ }) => {
1242
+ const s = A.deriveProp(t ?? !1), l = P(!1);
1243
+ return C(_, (o) => p.div(
1244
+ a.class(
1245
+ $(
1246
+ o,
1247
+ s
1248
+ )(
1249
+ ({ theme: c }, i) => c.editableText({
1250
+ isEditing: i
1251
+ })
1252
+ )
1253
+ ),
1254
+ ee(
1255
+ s,
1256
+ () => p.input(
1257
+ a.placeholder(n),
1258
+ a.value(r),
1259
+ a.class("bc-editable-text__input"),
1260
+ cn(),
1261
+ m.keydown((c) => {
1262
+ c.key === "Enter" ? s.set(!1) : c.key === "Escape" && (l.set(!0), s.set(!1));
1263
+ }),
1264
+ m.blur(
1265
+ v((c) => {
1266
+ if (s.set(!1), l.value) {
1267
+ l.set(!1);
1268
+ return;
1269
+ }
1270
+ e(c);
1271
+ })
1272
+ )
1273
+ ),
1274
+ () => p.span(
1275
+ m.click(() => s.set(!0)),
1276
+ a.class("bc-editable-text__display"),
1277
+ ee(
1278
+ A.map(r, (c) => c != null && c.trim() !== ""),
1279
+ () => p.span(a.class("bc-editable-text__text"), r),
1280
+ () => p.span(
1281
+ a.class("bc-editable-text__placeholder"),
1282
+ n
1283
+ )
1284
+ ),
1285
+ p.button(
1286
+ a.class("bc-editable-text__edit-button"),
1287
+ J.label("Edit"),
1288
+ m.click(() => s.set(!0)),
1289
+ Q({ icon: "line-md/pencil" })
1290
+ )
1291
+ )
1292
+ )
1293
+ ));
1294
+ };
1295
+ function qn(t) {
1296
+ function r(e) {
1297
+ return typeof e == "number" ? e : e.toString();
1298
+ }
1299
+ return t.map(
1300
+ (e) => typeof e == "object" && e.key != null ? r(e.key) : r(e)
1301
+ );
1302
+ }
1303
+ function Rn(t) {
1304
+ const r = t.filter((s) => s.path == null || s.path.length === 0).map((s) => s.message), e = t.filter((s) => s.path != null && s.path.length > 0).reduce((s, l) => {
1305
+ const o = qn(l.path), c = o.pop();
1306
+ let i = s;
1307
+ for (const u of o)
1308
+ i.dependencies == null && (i.dependencies = {}), i.dependencies[u] == null && (i.dependencies[u] = {}), i = i.dependencies[u];
1309
+ return i.dependencies == null && (i.dependencies = {}), i.dependencies[c] = { error: l.message }, s;
1310
+ }, {}), n = r.join(`
1311
+ `);
1312
+ return {
1313
+ ...e,
1314
+ error: n != "" ? n : void 0
1315
+ };
1316
+ }
1317
+ function Ge(t) {
1318
+ return R(a.disabled(t.disabled), a.name(t.name));
1319
+ }
1320
+ function jt(t, {
1321
+ triggerOn: r = "change"
1322
+ } = {}) {
1323
+ return R(
1324
+ Ge(t),
1325
+ a.value(t.value),
1326
+ (r === "input" ? m.input : m.change)(v(t.change))
1327
+ );
1328
+ }
1329
+ function Dt(t, {
1330
+ triggerOn: r = "change"
1331
+ } = {}) {
1332
+ return R(
1333
+ Ge(t),
1334
+ a.valueAsNumber(t.value),
1335
+ (r === "input" ? m.input : m.change)(
1336
+ oe(t.change)
1337
+ )
1338
+ );
1339
+ }
1340
+ function Nt({
1341
+ defaultValue: t = {},
1342
+ schema: r
1343
+ }) {
1344
+ const e = P(t), n = P({ type: "Valid" }), s = P(!1), l = async (c) => {
1345
+ e.set(c);
1346
+ const i = await r["~standard"].validate(c);
1347
+ i.issues != null ? n.set({
1348
+ type: "Invalid",
1349
+ ...Rn(i.issues)
1350
+ }) : n.set({ type: "Valid" });
1351
+ };
1352
+ return new Ln([], l, e, n, {
1353
+ disabled: s
1354
+ });
1355
+ }
1356
+ const zn = ["!=", "<=", ">=", "<", ">", "="];
1357
+ function Gn(t) {
1358
+ for (const r of zn)
1359
+ if (typeof t == "string" && t.startsWith(r))
1360
+ return [r, t.slice(r.length)];
1361
+ return ["=", t];
1362
+ }
1363
+ function Un(t, r, e) {
1364
+ const [n, s] = Gn(r), l = t.findIndex((i) => i[1] === s);
1365
+ if (l === -1)
1366
+ throw new Error(`Breakpoint ${String(s)} not found`);
1367
+ const o = t[l][0], c = l < t.length - 1 ? t[l + 1][0] : 1 / 0;
1368
+ switch (n) {
1369
+ case "=":
1370
+ return e >= o && e < c;
1371
+ case "!=":
1372
+ return !(e >= o && e < c);
1373
+ case "<=":
1374
+ return e <= o;
1375
+ case ">=":
1376
+ return e >= o;
1377
+ case "<":
1378
+ return e < o;
1379
+ case ">":
1380
+ return e > o;
1381
+ default:
1382
+ return !1;
1383
+ }
1384
+ }
1385
+ function Wt(t, r) {
1386
+ const e = t.findIndex((n) => n[0] > r) - 1;
1387
+ return e >= 0 ? t[e][1] : (t.length > 0 && r >= t[0][0], t[0][1]);
1388
+ }
1389
+ function Ue(t, { breakpoints: r, mode: e = "viewport" }) {
1390
+ const s = [...Object.entries(r).map(
1391
+ ([o, c]) => [c, o]
1392
+ )].sort((o, c) => o[0] - c[0]), l = (o) => {
1393
+ const c = o.map(({ width: u }) => {
1394
+ const h = s.findIndex((g) => g[0] > u) - 1;
1395
+ return h >= 0 ? { width: u, breakpoint: s[h][1] } : s.length > 0 && u >= s[0][0] ? { width: u, breakpoint: s[0][1] } : { width: u, breakpoint: s[0][1] };
1396
+ });
1397
+ return t({
1398
+ value: c,
1399
+ breakpoints: r,
1400
+ asList: s,
1401
+ is: (u, h) => Un(s, u, h)
1402
+ });
1403
+ };
1404
+ return e === "element" ? de(l) : pn(l);
1405
+ }
1406
+ let se = NaN;
1407
+ function Xn(t, r) {
1408
+ return t ? (isNaN(se) && (se = parseFloat(getComputedStyle(document.documentElement).fontSize)), parseFloat(t) * se) : r;
1409
+ }
1410
+ function I(t, r, e) {
1411
+ return Xn(t.getPropertyValue(r), e);
1412
+ }
1413
+ function Yn(t) {
1414
+ return q((r) => {
1415
+ const e = getComputedStyle(r), n = {
1416
+ zero: 0,
1417
+ xs: I(e, "--breakpoint-xs", 640),
1418
+ sm: I(e, "--breakpoint-sm", 768),
1419
+ md: I(e, "--breakpoint-md", 1024),
1420
+ lg: I(e, "--breakpoint-lg", 1280),
1421
+ xl: I(e, "--breakpoint-xl", 1536)
1422
+ };
1423
+ return Ue(t, { breakpoints: n });
1424
+ });
1425
+ }
1426
+ function Ft(t) {
1427
+ return q((r) => {
1428
+ const e = getComputedStyle(r), n = {
1429
+ zero: 0,
1430
+ "3xs": I(e, "--container-3xs", 256),
1431
+ "2xs": I(e, "--container-2xs", 288),
1432
+ xs: I(e, "--container-xs", 320),
1433
+ sm: I(e, "--container-sm", 384),
1434
+ md: I(e, "--container-md", 448),
1435
+ lg: I(e, "--container-lg", 512),
1436
+ xl: I(e, "--container-xl", 640),
1437
+ "2xl": I(e, "--container-2xl", 768),
1438
+ "3xl": I(e, "--container-3xl", 1024),
1439
+ "4xl": I(e, "--container-4xl", 1280),
1440
+ "5xl": I(e, "--container-5xl", 1536),
1441
+ "6xl": I(e, "--container-6xl", 2048)
1442
+ };
1443
+ return Ue(t, {
1444
+ breakpoints: n,
1445
+ mode: "element"
1446
+ });
1447
+ });
1448
+ }
1449
+ const fe = (t, r) => {
1450
+ const e = setTimeout(t, r);
1451
+ return () => clearTimeout(e);
1452
+ };
1453
+ function Jn({
1454
+ initialStatus: t = "closed",
1455
+ openedAfter: r,
1456
+ closedAfter: e
1457
+ }) {
1458
+ const n = P(t), s = () => {
1459
+ n.set("start-opening");
1460
+ }, l = () => {
1461
+ n.set("closing");
1462
+ }, o = () => {
1463
+ n.value === "open" || n.value === "opening" ? l() : s();
1464
+ }, c = (b) => {
1465
+ b ? s() : l();
1466
+ }, i = (b) => n.on((y) => {
1467
+ y === "closed" && b();
1468
+ });
1469
+ let u = () => {
1470
+ };
1471
+ n.on((b) => {
1472
+ u(), b === "start-opening" && (u = fe(() => n.set("opening"), 0)), b === "opening" && (u = r(() => n.set("open"))), b === "closing" && (u = e(() => n.set("closed")));
1473
+ }), n.onDispose(() => u());
1474
+ const h = n.map((b) => b !== "closed"), g = n.map((b) => b === "open" || b === "opening");
1475
+ return {
1476
+ status: n,
1477
+ open: s,
1478
+ close: l,
1479
+ toggle: o,
1480
+ setOpen: c,
1481
+ isOpen: h,
1482
+ displayOpen: g,
1483
+ dispose: () => n.dispose(),
1484
+ onClosed: i
1485
+ };
1486
+ }
1487
+ function De(t, r) {
1488
+ function e() {
1489
+ if (t.getAnimations().length === 0) {
1490
+ r();
1491
+ return;
1492
+ }
1493
+ t.addEventListener("transitionend", e, { once: !0 });
1494
+ }
1495
+ const n = fe(e, 10);
1496
+ return () => {
1497
+ n(), t.removeEventListener("transitionend", e);
1498
+ };
1499
+ }
1500
+ function ie({
1501
+ initialStatus: t = "closed",
1502
+ element: r
1503
+ } = {}) {
1504
+ let e = r;
1505
+ return {
1506
+ setElement: (n) => {
1507
+ e = n;
1508
+ },
1509
+ ...Jn({
1510
+ initialStatus: t,
1511
+ openedAfter: (n) => e == null ? (n(), () => {
1512
+ }) : De(e, n),
1513
+ closedAfter: (n) => e == null ? (n(), () => {
1514
+ }) : De(e, n)
1515
+ })
1516
+ };
1517
+ }
1518
+ const F = {
1519
+ banner: {
1520
+ zero: 32,
1521
+ xs: 32,
1522
+ sm: 32,
1523
+ md: 32,
1524
+ lg: 32,
1525
+ xl: 32
1526
+ },
1527
+ header: {
1528
+ zero: 60,
1529
+ xs: 60,
1530
+ sm: 60,
1531
+ md: 60,
1532
+ lg: 60,
1533
+ xl: 60
1534
+ },
1535
+ mainHeader: {
1536
+ zero: 48,
1537
+ xs: 48,
1538
+ sm: 48,
1539
+ md: 48,
1540
+ lg: 48,
1541
+ xl: 48
1542
+ },
1543
+ mainFooter: {
1544
+ zero: 48,
1545
+ xs: 48,
1546
+ sm: 48,
1547
+ md: 48,
1548
+ lg: 48,
1549
+ xl: 48
1550
+ },
1551
+ footer: {
1552
+ zero: 48,
1553
+ xs: 48,
1554
+ sm: 48,
1555
+ md: 48,
1556
+ lg: 48,
1557
+ xl: 48
1558
+ },
1559
+ menu: {
1560
+ zero: 300,
1561
+ xs: 300,
1562
+ sm: 300,
1563
+ md: 300,
1564
+ lg: 300,
1565
+ xl: 300
1566
+ },
1567
+ aside: {
1568
+ zero: 280,
1569
+ xs: 280,
1570
+ sm: 280,
1571
+ md: 280,
1572
+ lg: 280,
1573
+ xl: 280
1574
+ }
1575
+ };
1576
+ function Ne(t, r) {
1577
+ if (typeof t == "number")
1578
+ return {
1579
+ zero: t,
1580
+ xs: t,
1581
+ sm: t,
1582
+ md: t,
1583
+ lg: t,
1584
+ xl: t
1585
+ };
1586
+ const e = {
1587
+ zero: t.zero ?? r.zero,
1588
+ xs: t.xs ?? r.xs,
1589
+ sm: t.sm ?? r.sm,
1590
+ md: t.md ?? r.md,
1591
+ lg: t.lg ?? r.lg,
1592
+ xl: t.xl ?? r.xl
1593
+ };
1594
+ return e.xs < e.zero && (e.xs = e.zero), e.sm < e.xs && (e.sm = e.xs), e.md < e.sm && (e.md = e.sm), e.lg < e.md && (e.lg = e.md), e.xl < e.lg && (e.xl = e.lg), e;
1595
+ }
1596
+ function le(t) {
1597
+ t = t.filter((r) => r.some((e) => e != null && !e.startsWith("?")));
1598
+ for (let r = 0; r < t[0].length; r++)
1599
+ t.every((e) => e[r] == null || e[r].startsWith("?")) && (t = t.map((e) => e.filter((n, s) => s !== r)), r--);
1600
+ return t = t.map((r) => r.map((e) => e != null && e.startsWith("?") ? e.slice(1) : e)), t;
1601
+ }
1602
+ function Kn({
1603
+ smallBreakpoint: t,
1604
+ mediumBreakpoint: r,
1605
+ vertical: e,
1606
+ horizontal: n,
1607
+ is: s
1608
+ }) {
1609
+ function l(i) {
1610
+ var y;
1611
+ let u = [
1612
+ [null],
1613
+ [null],
1614
+ [null],
1615
+ [null],
1616
+ [null],
1617
+ [null]
1618
+ ];
1619
+ const h = [];
1620
+ h.push("1fr");
1621
+ const g = [];
1622
+ return n.banner && (g.push(n.banner[i] + "px"), u[0][1] = "banner"), (n.header || e.menu || e.aside) && (g.push(
1623
+ (((y = n.header) == null ? void 0 : y[i]) ?? F.header[i]) + "px"
1624
+ ), u[1][1] = "header"), n.mainHeader && (g.push(n.mainHeader[i] + "px"), u[2][1] = "mainHeader"), g.push("1fr"), u[3][1] = "main", n.mainFooter && (g.push(n.mainFooter[i] + "px"), u[4][1] = "mainFooter"), n.footer && (g.push(n.footer[i] + "px"), u[5][1] = "footer"), u = le(u), {
1625
+ columns: h.join(" "),
1626
+ rows: g.join(" "),
1627
+ areas: u.map((B) => `"${B.join(" ")}"`).join(`
1628
+ `),
1629
+ displayMenu: !1,
1630
+ displayAside: !1,
1631
+ menuWidth: F.menu[i] + "px",
1632
+ asideWidth: F.aside[i] + "px"
1633
+ };
1634
+ }
1635
+ function o(i) {
1636
+ var y;
1637
+ let u = [
1638
+ [null, null],
1639
+ [null, null],
1640
+ [null, null],
1641
+ [null, null],
1642
+ [null, null],
1643
+ [null, null]
1644
+ ];
1645
+ const h = [];
1646
+ e.menu && (h.push(e.menu[i] + "px"), u[2][0] = "?menu", u[3][0] = "menu", u[4][0] = "?menu"), h.push("1fr");
1647
+ const g = [];
1648
+ return n.banner && (g.push(n.banner[i] + "px"), u[0][0] = "?banner", u[0][1] = "banner"), (n.header || e.aside) && (g.push(
1649
+ (((y = n.header) == null ? void 0 : y[i]) ?? F.header[i]) + "px"
1650
+ ), u[1][0] = "?header", u[1][1] = "header"), n.mainHeader && (g.push(n.mainHeader[i] + "px"), u[2][1] = "mainHeader"), g.push("1fr"), u[3][1] = "main", n.mainFooter && (g.push(n.mainFooter[i] + "px"), u[4][1] = "mainFooter"), n.footer && (g.push(n.footer[i] + "px"), u[5][0] = "?footer", u[5][1] = "footer"), u = le(u), {
1651
+ columns: h.join(" "),
1652
+ rows: g.join(" "),
1653
+ areas: u.map((B) => `"${B.join(" ")}"`).join(`
1654
+ `),
1655
+ displayMenu: !0,
1656
+ displayAside: !1,
1657
+ menuWidth: F.menu[i] + "px",
1658
+ asideWidth: F.aside[i] + "px"
1659
+ };
1660
+ }
1661
+ function c(i) {
1662
+ let u = [
1663
+ [null, null, null],
1664
+ [null, null, null],
1665
+ [null, null, null],
1666
+ [null, null, null],
1667
+ [null, null, null],
1668
+ [null, null, null]
1669
+ ];
1670
+ const h = [];
1671
+ e.menu && (h.push(e.menu[i] + "px"), u[2][0] = "?menu", u[3][0] = "menu", u[4][0] = "?menu"), h.push("1fr"), e.aside && (h.push(e.aside[i] + "px"), u[2][2] = "?aside", u[3][2] = "aside", u[4][2] = "?aside");
1672
+ const g = [];
1673
+ return n.banner && (g.push(n.banner[i] + "px"), u[0][0] = "?banner", u[0][1] = "banner", u[0][2] = "?banner"), n.header && (g.push(n.header[i] + "px"), u[1][0] = "?header", u[1][1] = "header", u[1][2] = "?header"), n.mainHeader && (g.push(n.mainHeader[i] + "px"), u[2][1] = "mainHeader"), g.push("1fr"), u[3][1] = "main", n.mainFooter && (g.push(n.mainFooter[i] + "px"), u[4][1] = "mainFooter"), n.footer && (g.push(n.footer[i] + "px"), u[5][0] = "?footer", u[5][1] = "footer", u[5][2] = "?footer"), u = le(u), {
1674
+ columns: h.join(" "),
1675
+ rows: g.join(" "),
1676
+ areas: u.map((y) => `"${y.join(" ")}"`).join(`
1677
+ `),
1678
+ displayMenu: !0,
1679
+ displayAside: !0,
1680
+ menuWidth: F.menu[i] + "px",
1681
+ asideWidth: F.aside[i] + "px"
1682
+ };
1683
+ }
1684
+ return ({
1685
+ width: i,
1686
+ breakpoint: u
1687
+ }) => s(`<=${t}`, i) ? l(u) : s(`<=${r}`, i) ? o(u) : c(u);
1688
+ }
1689
+ const Qn = ["menu", "aside"], Zn = [
1690
+ "banner",
1691
+ "header",
1692
+ "mainHeader",
1693
+ "mainFooter",
1694
+ "footer"
1695
+ ];
1696
+ function et(t, { displayMenu: r }, e) {
1697
+ return t ? r ? "block" : e ? "float" : "none" : "none";
1698
+ }
1699
+ function nt(t, { displayAside: r }, e) {
1700
+ return t ? r ? "block" : e ? "float" : "none" : "none";
1701
+ }
1702
+ function Pt({
1703
+ smallBreakpoint: t = "sm",
1704
+ mediumBreakpoint: r = "md",
1705
+ ...e
1706
+ }) {
1707
+ return C(_, ({ theme: n }) => {
1708
+ const s = Object.fromEntries(
1709
+ Qn.filter((o) => e[o]).map(
1710
+ (o) => [
1711
+ o,
1712
+ Ne(e[o].width ?? {}, F[o])
1713
+ ]
1714
+ )
1715
+ ), l = Object.fromEntries(
1716
+ Zn.filter((o) => e[o]).map(
1717
+ (o) => [
1718
+ o,
1719
+ Ne(
1720
+ e[o].height ?? {},
1721
+ F[o]
1722
+ )
1723
+ ]
1724
+ )
1725
+ );
1726
+ return Yn(({ value: o, is: c }) => {
1727
+ var ye, ve, we, $e, Se, Ce, _e, Be, Ie, ke;
1728
+ const i = Kn({
1729
+ smallBreakpoint: t,
1730
+ mediumBreakpoint: r,
1731
+ vertical: s,
1732
+ horizontal: l,
1733
+ is: c
1734
+ }), u = o.map(i), h = $(
1735
+ l.header != null,
1736
+ s.menu != null,
1737
+ s.aside != null
1738
+ )((f, N, Z) => f || N || Z), g = $(
1739
+ s.aside != null,
1740
+ u
1741
+ )((f, { displayAside: N }) => f && !N), b = $(
1742
+ s.menu != null,
1743
+ u
1744
+ )((f, { displayMenu: N }) => f && !N), y = ie(), B = ie(), W = P(0), V = $(
1745
+ s.menu != null,
1746
+ u,
1747
+ y.isOpen
1748
+ )(et), z = $(
1749
+ s.aside != null,
1750
+ u,
1751
+ B.isOpen
1752
+ )(nt);
1753
+ return p.div(
1754
+ K(() => {
1755
+ W.dispose(), y.dispose(), B.dispose();
1756
+ }),
1757
+ // attr.class(
1758
+ // theme.panel({ side: 'none', color: 'base', shadow: 'none' })
1759
+ // ),
1760
+ d.height("100%"),
1761
+ d.display("grid"),
1762
+ d.gridTemplateColumns(u.$.columns),
1763
+ d.gridTemplateRows(u.$.rows),
1764
+ d.gridTemplateAreas(u.$.areas),
1765
+ d.gridColumnGap("0"),
1766
+ d.gridRowGap("0"),
1767
+ e.banner ? p.header(
1768
+ a.class(
1769
+ n.panel({
1770
+ side: "none",
1771
+ color: e.banner.color ?? "white",
1772
+ shadow: e.banner.shadow ?? "none"
1773
+ })
1774
+ ),
1775
+ d.height("100%"),
1776
+ d.gridArea("banner"),
1777
+ e.banner.content
1778
+ ) : null,
1779
+ p.header(
1780
+ a.class(
1781
+ n.panel({
1782
+ side: "bottom",
1783
+ color: ((ye = e.header) == null ? void 0 : ye.color) ?? "white",
1784
+ shadow: ((ve = e.header) == null ? void 0 : ve.shadow) ?? "none"
1785
+ })
1786
+ ),
1787
+ a.class("bu-z-10"),
1788
+ d.display(
1789
+ h.map((f) => f ? "block" : "none")
1790
+ ),
1791
+ d.gridArea("header"),
1792
+ de((f) => (f.$.bottom.feedProp(W), null)),
1793
+ p.div(
1794
+ d.display("flex"),
1795
+ d.height("100%"),
1796
+ p.div(
1797
+ d.display(
1798
+ b.map((f) => f ? "flex" : "none")
1799
+ ),
1800
+ d.alignItems("center"),
1801
+ d.justifyContent("center"),
1802
+ d.height("100%"),
1803
+ d.width("60px"),
1804
+ je(
1805
+ {
1806
+ onClick: () => y.toggle(),
1807
+ variant: "light",
1808
+ color: "base"
1809
+ },
1810
+ J.label("Open menu"),
1811
+ Q({
1812
+ icon: y.isOpen.map(
1813
+ (f) => f ? "line-md/menu-to-close-alt-transition" : "line-md/close-to-menu-alt-transition"
1814
+ )
1815
+ })
1816
+ )
1817
+ ),
1818
+ p.div(
1819
+ d.height("100%"),
1820
+ d.flexGrow("1"),
1821
+ (we = e.header) == null ? void 0 : we.content
1822
+ ),
1823
+ p.div(
1824
+ d.alignItems("center"),
1825
+ d.justifyContent("center"),
1826
+ d.height("100%"),
1827
+ d.width("60px"),
1828
+ d.display(
1829
+ g.map((f) => f ? "flex" : "none")
1830
+ ),
1831
+ je(
1832
+ {
1833
+ onClick: () => B.toggle(),
1834
+ roundedness: "full",
1835
+ variant: "light",
1836
+ color: "base"
1837
+ },
1838
+ J.label("Open aside"),
1839
+ Q(
1840
+ { icon: "line-md/chevron-left" },
1841
+ a.class("bu-transition-transform"),
1842
+ a.class(
1843
+ B.isOpen.map(
1844
+ (f) => f ? "bu-rotate-180" : ""
1845
+ )
1846
+ )
1847
+ )
1848
+ )
1849
+ )
1850
+ )
1851
+ ),
1852
+ e.menu ? p.nav(
1853
+ q((f) => {
1854
+ y.setElement(f);
1855
+ }),
1856
+ a.class(
1857
+ V.map(
1858
+ (f) => {
1859
+ var N, Z, Ee, Ae;
1860
+ return f === "float" ? n.panel({
1861
+ side: "right",
1862
+ color: ((N = e.menu) == null ? void 0 : N.color) ?? "white",
1863
+ shadow: ((Z = e.menu) == null ? void 0 : Z.shadow) ?? "md"
1864
+ }) : n.panel({
1865
+ side: "right",
1866
+ color: ((Ee = e.menu) == null ? void 0 : Ee.color) ?? "white",
1867
+ shadow: ((Ae = e.menu) == null ? void 0 : Ae.shadow) ?? "none"
1868
+ });
1869
+ }
1870
+ )
1871
+ ),
1872
+ d.height("100%"),
1873
+ d.gridArea("menu"),
1874
+ d.display(
1875
+ V.map(
1876
+ (f) => f === "none" ? "none" : "block"
1877
+ )
1878
+ ),
1879
+ d.position(
1880
+ V.map(
1881
+ (f) => f === "float" ? "fixed" : "initial"
1882
+ )
1883
+ ),
1884
+ d.top(W.map((f) => `${f}px`)),
1885
+ d.transition("left 0.3s ease-in-out"),
1886
+ d.left(
1887
+ $(
1888
+ y.displayOpen,
1889
+ u.$.menuWidth
1890
+ )((f, N) => f ? "0" : `-${N}`)
1891
+ ),
1892
+ d.width(u.$.menuWidth),
1893
+ d.bottom(W.map((f) => `${f}px`)),
1894
+ ae.status(y.status.map(String)),
1895
+ ($e = e.menu) == null ? void 0 : $e.content
1896
+ ) : null,
1897
+ e.mainHeader ? p.header(
1898
+ d.height("100%"),
1899
+ d.gridArea("mainHeader"),
1900
+ a.class(
1901
+ n.panel({
1902
+ side: "none",
1903
+ color: ((Se = e.mainHeader) == null ? void 0 : Se.color) ?? "white",
1904
+ shadow: ((Ce = e.mainHeader) == null ? void 0 : Ce.shadow) ?? "none"
1905
+ })
1906
+ ),
1907
+ e.mainHeader.content
1908
+ ) : null,
1909
+ p.main(
1910
+ d.height("100%"),
1911
+ d.overflow("hidden"),
1912
+ d.gridArea("main"),
1913
+ a.class(
1914
+ n.panel({
1915
+ side: "none",
1916
+ color: ((_e = e.main) == null ? void 0 : _e.color) ?? "white",
1917
+ shadow: ((Be = e.main) == null ? void 0 : Be.shadow) ?? "none"
1918
+ })
1919
+ ),
1920
+ e.main.content
1921
+ ),
1922
+ e.mainFooter ? p.footer(
1923
+ d.height("100%"),
1924
+ d.gridArea("mainFooter"),
1925
+ a.class(
1926
+ n.panel({
1927
+ side: "none",
1928
+ color: ((Ie = e.mainFooter) == null ? void 0 : Ie.color) ?? "white",
1929
+ shadow: ((ke = e.mainFooter) == null ? void 0 : ke.shadow) ?? "none"
1930
+ })
1931
+ ),
1932
+ e.mainFooter.content
1933
+ ) : null,
1934
+ e.aside ? p.aside(
1935
+ q((f) => {
1936
+ B.setElement(f);
1937
+ }),
1938
+ a.class(
1939
+ z.map(
1940
+ (f) => f === "float" ? n.panel({
1941
+ side: "left",
1942
+ color: "white",
1943
+ shadow: "md"
1944
+ }) : n.panel({
1945
+ side: "left",
1946
+ color: "white",
1947
+ shadow: "none"
1948
+ })
1949
+ )
1950
+ ),
1951
+ d.height("100%"),
1952
+ d.gridArea("aside"),
1953
+ d.display(
1954
+ z.map(
1955
+ (f) => f === "none" ? "none" : "block"
1956
+ )
1957
+ ),
1958
+ d.position(
1959
+ z.map(
1960
+ (f) => f === "float" ? "fixed" : "initial"
1961
+ )
1962
+ ),
1963
+ d.top(W.map((f) => `${f}px`)),
1964
+ d.transition("right 0.3s ease-in-out"),
1965
+ d.right(
1966
+ $(
1967
+ B.displayOpen,
1968
+ u.$.asideWidth
1969
+ )((f, N) => f ? "0" : `-${N}`)
1970
+ ),
1971
+ d.width(u.$.menuWidth),
1972
+ d.bottom(W.map((f) => `${f}px`)),
1973
+ e.aside.content
1974
+ ) : null,
1975
+ e.footer ? p.footer(
1976
+ a.class(
1977
+ n.panel({
1978
+ side: "top",
1979
+ color: "white",
1980
+ shadow: "none"
1981
+ })
1982
+ ),
1983
+ d.height("100%"),
1984
+ d.gridArea("footer"),
1985
+ e.footer.content
1986
+ ) : null
1987
+ );
1988
+ });
1989
+ });
1990
+ }
1991
+ function Ht({ variant: t = "default", size: r = "md", roundedness: e = "lg" } = {}, ...n) {
1992
+ return C(_, (s) => p.div(
1993
+ a.class(
1994
+ $(
1995
+ s,
1996
+ t,
1997
+ r,
1998
+ e
1999
+ )(
2000
+ ({ theme: l }, o, c, i) => l.card({
2001
+ variant: o,
2002
+ size: c,
2003
+ roundedness: i
2004
+ })
2005
+ )
2006
+ ),
2007
+ ...n
2008
+ ));
2009
+ }
2010
+ function Vt(...t) {
2011
+ return p.div(
2012
+ a.class("bc-center-h"),
2013
+ p.div(a.class("bc-center__content"), ...t)
2014
+ );
2015
+ }
2016
+ function Mt({ gap: t = "lg" } = {}, ...r) {
2017
+ return C(_, (e) => p.div(
2018
+ a.class(
2019
+ $(
2020
+ e,
2021
+ t
2022
+ )(
2023
+ ({ theme: n }, s) => n.center({
2024
+ gap: s
2025
+ })
2026
+ )
2027
+ ),
2028
+ ...r
2029
+ ));
2030
+ }
2031
+ function Lt(...t) {
2032
+ return p.div(a.class("bc-group"), ...t);
2033
+ }
2034
+ function qt({ variant: t = "default", size: r = "md", roundedness: e = "lg" } = {}, ...n) {
2035
+ return C(_, (s) => p.div(
2036
+ a.class(
2037
+ $(
2038
+ s,
2039
+ t,
2040
+ r,
2041
+ e
2042
+ )(
2043
+ ({ theme: l }, o, c, i) => l.sink({
2044
+ variant: o,
2045
+ size: c,
2046
+ roundedness: i
2047
+ })
2048
+ )
2049
+ ),
2050
+ ...n
2051
+ ));
2052
+ }
2053
+ function Rt(...t) {
2054
+ return p.div(a.class("bc-stack"), ...t);
2055
+ }
2056
+ function tt(t) {
2057
+ return ({ effect: r, ...e }, n) => {
2058
+ const s = [], l = () => s.forEach((u) => u()), o = ie();
2059
+ o.onClosed(l);
2060
+ const i = ln((() => {
2061
+ var h, g;
2062
+ const u = /* @__PURE__ */ new Set();
2063
+ for (const b of t.element.querySelectorAll(
2064
+ ":scope > :not([data-overlay])"
2065
+ ))
2066
+ b.hasAttribute("inert") ? u.add(b) : b.setAttribute("inert", "");
2067
+ if (s.push(() => {
2068
+ for (const b of t.element.querySelectorAll(
2069
+ ":scope > :not([data-overlay])"
2070
+ ))
2071
+ u.has(b) || b.removeAttribute("inert");
2072
+ u.clear();
2073
+ }), (g = (h = document.activeElement) == null ? void 0 : h.blur) == null || g.call(h), e.mode === "capturing") {
2074
+ const b = (B) => {
2075
+ var W;
2076
+ B.key === "Escape" && ((W = e.onEscape) == null || W.call(e), o.close());
2077
+ };
2078
+ document.addEventListener("keydown", b), s.push(
2079
+ () => document.removeEventListener("keydown", b)
2080
+ );
2081
+ const y = () => {
2082
+ var B;
2083
+ (B = e.onClickOutside) == null || B.call(e), o.close();
2084
+ };
2085
+ t.element.addEventListener("mousedown", y), s.push(
2086
+ () => t.element.removeEventListener("mousedown", y)
2087
+ );
2088
+ }
2089
+ return p.div(
2090
+ q((b) => o.setElement(b)),
2091
+ ae.status(o.status.map(String)),
2092
+ // style.backgroundColor(
2093
+ // status.displayOpen.map((v): string => (v ? '' : 'rgba(0, 0, 0, 0)'))
2094
+ // ),
2095
+ ae.overlay("true"),
2096
+ C(
2097
+ _,
2098
+ ({ theme: b }) => a.class(
2099
+ b.overlay({
2100
+ effect: r ?? "visible",
2101
+ mode: e.mode ?? "capturing"
2102
+ })
2103
+ )
2104
+ ),
2105
+ n(o.close)
2106
+ );
2107
+ })(), t.element, {
2108
+ disposeWithParent: !0,
2109
+ clear: !1,
2110
+ providers: t.providers
2111
+ });
2112
+ return s.push(i), fe(() => o.open(), 0), l;
2113
+ };
2114
+ }
2115
+ function Xe(t, r, e) {
2116
+ return on((n) => {
2117
+ const s = t(n), l = tt(s);
2118
+ let o = () => {
2119
+ };
2120
+ const c = (i) => {
2121
+ o(), o = l(r, i);
2122
+ };
2123
+ return R(K(o), e(c));
2124
+ });
2125
+ }
2126
+ function zt(t, r) {
2127
+ return Xe((e) => e, t, r);
2128
+ }
2129
+ function Gt(t, r) {
2130
+ return Xe(
2131
+ (e) => e.makePortal("body"),
2132
+ t,
2133
+ r
2134
+ );
2135
+ }
2136
+ export {
2137
+ Pt as AppShell,
2138
+ je as Button,
2139
+ Ht as Card,
2140
+ Mt as Center,
2141
+ Vt as CenterH,
2142
+ Tt as CheckboxInput,
2143
+ j as CommonInputAttributes,
2144
+ k as ControlInputWrapper,
2145
+ pt as DateControl,
2146
+ He as DateInput,
2147
+ dt as DateTimeControl,
2148
+ _n as DateTimeInput,
2149
+ Ot as EditableText,
2150
+ mt as EmailControl,
2151
+ Bn as EmailInput,
2152
+ at as EmphasisLabel,
2153
+ ut as ErrorLabel,
2154
+ In as Expando,
2155
+ Ln as FormController,
2156
+ ht as FormStatus,
2157
+ Lt as Group,
2158
+ re as GroupController,
2159
+ Q as Icon,
2160
+ O as InputContainer,
2161
+ vn as Label,
2162
+ En as LazyNativeSelect,
2163
+ ft as LazyNativeSelectControl,
2164
+ ce as ListController,
2165
+ wn as MutedLabel,
2166
+ Me as NativeSelect,
2167
+ bt as NativeSelectControl,
2168
+ xt as NullableDateControl,
2169
+ Le as NullableDateInput,
2170
+ yt as NullableDateTimeControl,
2171
+ qe as NullableDateTimeInput,
2172
+ vt as NullableStringDateControl,
2173
+ wt as NullableStringDateTimeControl,
2174
+ Dn as NullableTextArea,
2175
+ $t as NullableTextAreaControl,
2176
+ St as NullableTextControl,
2177
+ jn as NullableTextInput,
2178
+ Ct as NumberControl,
2179
+ Nn as NumberInput,
2180
+ Gt as OverlayBody,
2181
+ zt as OverlayElement,
2182
+ _t as PasswordControl,
2183
+ Wn as PasswordInput,
2184
+ $n as RequiredSymbol,
2185
+ Bt as SegmentedControl,
2186
+ ue as SelectOption,
2187
+ qt as Sink,
2188
+ Rt as Stack,
2189
+ It as StringDateControl,
2190
+ yn as Tag,
2191
+ kt as TagsControl,
2192
+ Pn as TagsInput,
2193
+ Hn as TextArea,
2194
+ Et as TextAreaControl,
2195
+ it as TextControl,
2196
+ Sn as TextInput,
2197
+ _ as Theme,
2198
+ ot as ThemeAppeareance,
2199
+ Yt as Use,
2200
+ te as ValueController,
2201
+ Ue as WithBreakpoint,
2202
+ Yn as WithTWBreakpoint,
2203
+ Ft as WithTWElementBreakpoint,
2204
+ Un as compareBreakpoint,
2205
+ Ge as connectCommonAttributes,
2206
+ Dt as connectNumberInput,
2207
+ jt as connectStringInput,
2208
+ Rn as convertStandardSchemaIssues,
2209
+ qn as convertStandardSchemaPathToPath,
2210
+ gt as emitExpando,
2211
+ kn as emitOptionExpando,
2212
+ ne as emptyToNull,
2213
+ Wt as findBreakpoint,
2214
+ T as inputOptionsFromController,
2215
+ me as inputOptionsFromMappedController,
2216
+ ze as makeMapValidationResult,
2217
+ he as makeMappedOnChangeHandler,
2218
+ ct as makeNullableOnChangeHandler,
2219
+ E as makeOnBlurHandler,
2220
+ D as makeOnChangeHandler,
2221
+ tt as makeOverlay,
2222
+ Re as nullToEmpty,
2223
+ At as parsePath,
2224
+ Mn as pathToString,
2225
+ Nt as useForm,
2226
+ Vn as wrapSegment
2227
+ };