@tempots/beatui 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -6
- package/dist/{2019-B4Mw3glM.js → 2019-BD_R8GCb.js} +2 -2
- package/dist/{2019-u0Cs1ZdE.cjs → 2019-DsAbc1I5.cjs} +1 -1
- package/dist/{2020-BvFyb4Gy.js → 2020-DZOE7XZH.js} +2 -2
- package/dist/{2020-BcwEHv2O.cjs → 2020-j6NLRYni.cjs} +1 -1
- package/dist/{ar-DyhaQaJU.cjs → ar-CYAprS9_.cjs} +1 -1
- package/dist/{ar-RkpJ2n6w.js → ar-DuYtkwHz.js} +1 -1
- package/dist/auth/index.cjs.js +1 -1
- package/dist/auth/index.es.js +232 -232
- package/dist/beatui.css +6840 -1
- package/dist/beatui.tailwind.css +6507 -0
- package/dist/colors-5Nwx_gSj.js +528 -0
- package/dist/colors-B8HoRLA_.cjs +1 -0
- package/dist/{de-BdSVR4Zm.js → de-BSxDfb1B.js} +1 -1
- package/dist/{de-CnZ4Ik2a.cjs → de-rQvC-Ydh.cjs} +1 -1
- package/dist/{es-ZKraCneL.cjs → es-BvmzhRc0.cjs} +1 -1
- package/dist/{es-B_Qn5EUy.js → es-CAIPTBfa.js} +1 -1
- package/dist/{fa-D2p_ch4Q.cjs → fa-B3IJgHCh.cjs} +1 -1
- package/dist/{fa-jBaLjqfG.js → fa-COTldXuh.js} +1 -1
- package/dist/{fr-CBeo42lQ.cjs → fr-C9hsLGOb.cjs} +1 -1
- package/dist/{fr-B0KaMM2j.js → fr-Djxzcm-x.js} +1 -1
- package/dist/{he-BmqEF3o-.cjs → he-CHrcixO3.cjs} +1 -1
- package/dist/{he-DjeYjcW7.js → he-C_CvtpO2.js} +1 -1
- package/dist/{hi-DxBQV0uz.js → hi-C47vc5OG.js} +1 -1
- package/dist/{hi-BAfIFl1n.cjs → hi-CpbCblie.cjs} +1 -1
- package/dist/{index-c-O5R5i2.js → index--c2sxg96.js} +2 -2
- package/dist/{index-NysVuvZA.js → index-2J0cohRF.js} +2 -2
- package/dist/{index-uR3OZ_8K.cjs → index-B8EM1O9d.cjs} +1 -1
- package/dist/{index-CpKAa22o.cjs → index-BHOzetMx.cjs} +1 -1
- package/dist/{index-C4xio93t.js → index-BIBYSE0O.js} +3 -3
- package/dist/{index-BInDdLXi.cjs → index-BIbSEVsf.cjs} +1 -1
- package/dist/{index-Jt6D3QJ7.cjs → index-BJZGXsLQ.cjs} +1 -1
- package/dist/{index-DdlxwtnE.cjs → index-BK8EFVAw.cjs} +1 -1
- package/dist/index-BLjWV-YV.cjs +8 -0
- package/dist/{index-CpMCZBAl.js → index-BNQL8moK.js} +2 -2
- package/dist/{index-cjtIcxwt.cjs → index-BUE3WeDh.cjs} +1 -1
- package/dist/{index-BX_AooS9.js → index-BXHmDsV_.js} +2 -2
- package/dist/{index-CdvplJG6.js → index-BiHxJSI9.js} +3 -3
- package/dist/index-Br70wXYb.cjs +1 -0
- package/dist/{index-MyVoESdk.js → index-BtAze4TI.js} +3 -3
- package/dist/{index-D7o5LhMm.cjs → index-C-UADaTN.cjs} +1 -1
- package/dist/{index-DOyppfix.cjs → index-C0yFCSoy.cjs} +1 -1
- package/dist/{index-C4jYy0NW.js → index-C4wKda5M.js} +2 -2
- package/dist/{index-CaOzAsWD.cjs → index-CBlls5Ux.cjs} +1 -1
- package/dist/{index-BnbEC2zq.js → index-CQcRWw-d.js} +2 -2
- package/dist/{index-CvRJPSEv.cjs → index-CSK499Fw.cjs} +1 -1
- package/dist/{index-DiV6JJiS.js → index-CW3QYddJ.js} +2 -2
- package/dist/{index-C5l1mFuD.js → index-C_T9Gzw8.js} +2 -2
- package/dist/{index-DlaVE6S2.cjs → index-CcB11LV-.cjs} +1 -1
- package/dist/{index-KcBlGDqr.cjs → index-CeyxEbJL.cjs} +1 -1
- package/dist/{index-Cs_PxtnZ.js → index-CjQ-nqcq.js} +1 -1
- package/dist/{index-DXUQTPON.cjs → index-CngY8bhO.cjs} +1 -1
- package/dist/{index-BnaafQ9o.js → index-CsPpB1Kw.js} +1 -1
- package/dist/{index-Dl-wY6fc.cjs → index-CtlfDEiP.cjs} +1 -1
- package/dist/{index-CaNnYmEs.js → index-D3y-KMW-.js} +4 -4
- package/dist/{index-DOlgncMG.js → index-D7a7hidA.js} +1230 -1216
- package/dist/{index-CJM_lW9n.cjs → index-DPHERztz.cjs} +1 -1
- package/dist/{index-9UO7Pd64.cjs → index-DS0bdfOa.cjs} +1 -1
- package/dist/index-DVdM4Oz7.js +420 -0
- package/dist/{index-D5nWhHZv.js → index-DtpMK8Ak.js} +2 -2
- package/dist/{index-DhJIuRg9.js → index-Du_-zpYu.js} +4 -4
- package/dist/{index-fnMeddEM.js → index-KlPMACee.js} +2 -2
- package/dist/{index-DC5Cn-TM.js → index-OUX19p46.js} +2 -2
- package/dist/{index-CDYYXcsk.cjs → index-SP-G4Erl.cjs} +1 -1
- package/dist/{index-CpB78PPQ.cjs → index-YbpU8b-b.cjs} +1 -1
- package/dist/{index-DCpnqWRN.js → index-_0aF8UPX.js} +2 -2
- package/dist/{index-BWiQR9j3.cjs → index-c5HMVa4V.cjs} +1 -1
- package/dist/{index-BIUeLQJ1.js → index-h82qauh2.js} +4 -4
- package/dist/{index-ClvbjqJL.js → index-jLIz3LSI.js} +2 -2
- package/dist/{index-Blq-MoAk.cjs → index-jr-7RW3y.cjs} +1 -1
- package/dist/{index-B001qopB.js → index-m-1yJOxv.js} +3 -3
- package/dist/{index-4NoQLiJo.cjs → index-o4bA2Ymm.cjs} +1 -1
- package/dist/{index-RGCDszX8.cjs → index-zcRhAq4N.cjs} +1 -1
- package/dist/index.cjs.js +4 -143
- package/dist/index.es.js +2489 -3357
- package/dist/{it-CzKrFTFY.cjs → it-iA1CUA-2.cjs} +1 -1
- package/dist/{it-B4qZsicu.js → it-l8u4xqsP.js} +1 -1
- package/dist/{ja-i_9MZ1j0.cjs → ja-CRKtLvpo.cjs} +1 -1
- package/dist/{ja-BnCSmhkg.js → ja-Dr2Azv8X.js} +1 -1
- package/dist/json-schema/index.cjs.js +1 -1
- package/dist/json-schema/index.es.js +1 -1
- package/dist/{ko-D_gGkjrC.js → ko-C97MbNN9.js} +1 -1
- package/dist/{ko-CF9il-Az.cjs → ko-DAqjjbor.cjs} +1 -1
- package/dist/markdown/index.cjs.js +2 -2
- package/dist/markdown/index.es.js +34 -34
- package/dist/markdown.css +162 -0
- package/dist/milkdown/index.cjs.js +1 -1
- package/dist/milkdown/index.es.js +1 -1
- package/dist/{milkdown-input-CYme9OBn.js → milkdown-input-Dp-upGqQ.js} +26 -26
- package/dist/{milkdown-input-KjtVqDzi.cjs → milkdown-input-EMBZNdma.cjs} +2 -2
- package/dist/milkdown-url-DgMTahqt.js +4 -0
- package/dist/milkdown-url-DjKYrEOH.cjs +1 -0
- package/dist/milkdown.css +21 -10
- package/dist/{modal-BItfEmu0.js → modal-at2TcO_O.js} +85 -85
- package/dist/{modal-B-f3LBKr.cjs → modal-hr4K3edu.cjs} +1 -1
- package/dist/{nl-CsLCWUFF.js → nl-BnDPAHZz.js} +1 -1
- package/dist/{nl-DfWlqR6T.cjs → nl-CCa2fPh7.cjs} +1 -1
- package/dist/notice-CplKL-zm.cjs +1 -0
- package/dist/notice-DhynzVip.js +2467 -0
- package/dist/{pl-wK2sgv7l.cjs → pl-BVuQd0i3.cjs} +1 -1
- package/dist/{pl-Bsmj1KbZ.js → pl-DYEVmpx5.js} +1 -1
- package/dist/{pt-DAQIuOPW.cjs → pt-BFGThC8F.cjs} +1 -1
- package/dist/{pt-BR_NuRJS.js → pt-C-cIHGoh.js} +1 -1
- package/dist/{ru-BnoiCxrw.cjs → ru-M4WO0h1a.cjs} +1 -1
- package/dist/{ru-CiQ_qKD_.js → ru-n2tT3Gv-.js} +1 -1
- package/dist/styles-url-CIhMtnm4.js +4 -0
- package/dist/styles-url-SkuBc_7K.cjs +1 -0
- package/dist/tailwind/index.cjs.js +1 -0
- package/dist/tailwind/index.es.js +5 -0
- package/dist/tailwind/preset.cjs.js +1 -0
- package/dist/tailwind/preset.es.js +6 -0
- package/dist/tailwind/vite-plugin.cjs.js +26 -0
- package/dist/tailwind/vite-plugin.es.js +297 -0
- package/dist/{tr-Q9xP1nE4.js → tr-CFUAqbmS.js} +1 -1
- package/dist/{tr-Bme5PfaE.cjs → tr-KxY4CbD3.cjs} +1 -1
- package/dist/{translations-ClgoCEFC.js → translations-924E7r4Q.js} +756 -582
- package/dist/translations-BtAHDMLA.cjs +2 -0
- package/dist/{translations-D4hFMU4P.js → translations-DGCYRUSw.js} +1 -1
- package/dist/{translations-lnK_6RdU.cjs → translations-Do79R-x4.cjs} +1 -1
- package/dist/types/components/button/button.d.ts +3 -1
- package/dist/types/components/data/icon.d.ts +3 -1
- package/dist/types/components/form/input/input-wrapper.d.ts +2 -1
- package/dist/types/components/form/use-form.d.ts +3 -3
- package/dist/types/components/navigation/flyout.d.ts +2 -0
- package/dist/types/components/navigation/link/button-link.d.ts +7 -3
- package/dist/types/components/navigation/link/link.d.ts +7 -2
- package/dist/types/components/navigation/link/navigation-link.d.ts +5 -5
- package/dist/types/components/navigation/link/navigation-options.d.ts +5 -0
- package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +5 -0
- package/dist/types/components/navigation/tabs/tabs.d.ts +7 -7
- package/dist/types/components/theme/style-utils.d.ts +16 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/markdown/index.d.ts +1 -1
- package/dist/types/styles/base.d.ts +2 -0
- package/dist/types/tailwind/index.d.ts +2 -0
- package/dist/types/tailwind/preset.d.ts +37 -0
- package/dist/types/tailwind/vite-plugin.d.ts +16 -0
- package/dist/types/temporal/with-temporal.d.ts +5 -1
- package/dist/types/tokens/colors.d.ts +13 -3
- package/dist/types/tokens/index.d.ts +3 -0
- package/dist/{ur-CGTjSoJt.js → ur-B7kT0PwV.js} +1 -1
- package/dist/{ur-B4b39hNV.cjs → ur-GeXcd9eA.cjs} +1 -1
- package/dist/{vi-BF3HTFU9.js → vi-CA85io1z.js} +1 -1
- package/dist/{vi-CSpW181L.cjs → vi-DYvrvqim.cjs} +1 -1
- package/dist/{zh-PeL8FN2c.cjs → zh-EIWIyzbZ.cjs} +1 -1
- package/dist/{zh-BreM8U2w.js → zh-cLh5uTFh.js} +1 -1
- package/package.json +27 -3
- package/dist/index-JHbFZFZF.cjs +0 -8
- package/dist/milkdown-url-BKbqhNCO.js +0 -4
- package/dist/milkdown-url-BLgXPmZR.cjs +0 -1
- package/dist/notice-B7JqE59s.cjs +0 -1
- package/dist/notice-CmmpobJd.js +0 -2415
- package/dist/styles-url-B-d6aezR.cjs +0 -1
- package/dist/styles-url-B4WGMvfi.js +0 -4
- package/dist/translations-DRBh70w8.cjs +0 -2
|
@@ -0,0 +1,2467 @@
|
|
|
1
|
+
import { Use as O, Value as i, prop as K, html as $, attr as a, on as k, WithElement as ie, OnDispose as Z, aria as N, bind as $e, computedOf as B, style as fe, When as E, NotEmpty as Ge, Fragment as L, ForEach as de, svg as Ae, svgAttr as ge, Empty as S, emitValue as j, coalesce as Qe, Ensure as Pe, OneOfType as Je, Repeat as Oe, signal as Fe, input as ee, emitValueAsNullableDate as Ke, emitValueAsNullableDateTime as et, emitValueAsNumber as G, emit as tt, Task as Be, Unless as nt } from "@tempots/dom";
|
|
2
|
+
import { f as st } from "./colors-5Nwx_gSj.js";
|
|
3
|
+
import { g as rt } from "./timer-CQlK5LhW.js";
|
|
4
|
+
import { ElementRect as je, AutoSelect as lt } from "@tempots/ui";
|
|
5
|
+
import { B as W, e as P, f as at, C as me, I as z, g as H, h as ot, i as ct, j as He, k as ye, T as it, E as ut, P as pt, S as ne, s as ft, L as dt, l as mt, a as be, n as ve, O as ae, o as Ve } from "./translations-924E7r4Q.js";
|
|
6
|
+
class ht extends Error {
|
|
7
|
+
constructor(t = "Missing implementation") {
|
|
8
|
+
super(t), this.name = "MissingImplementationError";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const pn = (e) => gt(e).split("_").join(" "), gt = (e) => (e = e.replace(/::/g, "/"), e = e.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2"), e = e.replace(/([a-z\d])([A-Z])/g, "$1_$2"), e = e.replace(/-/g, "_"), e.toLowerCase()), fn = (e) => e.substring(0, 1).toUpperCase() + e.substring(1), bt = (e) => {
|
|
12
|
+
if (typeof Buffer < "u")
|
|
13
|
+
return Buffer.from(e, "base64").toString("utf8");
|
|
14
|
+
if (typeof atob < "u")
|
|
15
|
+
return atob(e);
|
|
16
|
+
throw new ht(
|
|
17
|
+
"No implementation found for base64 decoding"
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
function Le({
|
|
21
|
+
onChange: e,
|
|
22
|
+
value: t,
|
|
23
|
+
accept: r = "*/*",
|
|
24
|
+
enableClick: n = !0,
|
|
25
|
+
content: s,
|
|
26
|
+
disabled: o = !1,
|
|
27
|
+
allowMultiple: l
|
|
28
|
+
}) {
|
|
29
|
+
return O(W, (u) => {
|
|
30
|
+
const c = i.deriveProp(t ?? []), f = K(!1), h = (g) => {
|
|
31
|
+
g.preventDefault(), g.stopPropagation(), f.value = !0;
|
|
32
|
+
}, d = (g) => {
|
|
33
|
+
g.preventDefault(), g.stopPropagation(), (!g.currentTarget || !g.currentTarget.contains(g.relatedTarget)) && (f.value = !1);
|
|
34
|
+
}, b = (g) => {
|
|
35
|
+
g.preventDefault(), g.stopPropagation(), f.value = !1;
|
|
36
|
+
const v = Array.from(g.dataTransfer?.files || []);
|
|
37
|
+
v.length > 0 && (c.value = v, e(v));
|
|
38
|
+
}, p = (g) => {
|
|
39
|
+
i.get(n) && g.currentTarget.querySelector(
|
|
40
|
+
'input[type="file"]'
|
|
41
|
+
)?.click();
|
|
42
|
+
};
|
|
43
|
+
let m = null;
|
|
44
|
+
const x = () => {
|
|
45
|
+
if (m == null) return;
|
|
46
|
+
const g = Array.from(m.files ?? []);
|
|
47
|
+
g.length > 0 && (c.value = g, e(g)), m.value = "";
|
|
48
|
+
}, _ = (g) => {
|
|
49
|
+
i.get(n) && (g.key === "Enter" || g.key === " ") && (g.preventDefault(), p(g));
|
|
50
|
+
};
|
|
51
|
+
return $.div(
|
|
52
|
+
a.role("button"),
|
|
53
|
+
a.tabindex(
|
|
54
|
+
i.map(n, (g) => g ? 0 : -1)
|
|
55
|
+
),
|
|
56
|
+
a.style("position: relative;"),
|
|
57
|
+
k.dragover(h),
|
|
58
|
+
k.dragleave(d),
|
|
59
|
+
k.drop(b),
|
|
60
|
+
k.click(p),
|
|
61
|
+
k.keydown(_),
|
|
62
|
+
// Hidden file input
|
|
63
|
+
$.input(
|
|
64
|
+
a.type("file"),
|
|
65
|
+
a.disabled(o),
|
|
66
|
+
a.accept(r),
|
|
67
|
+
a.multiple(l),
|
|
68
|
+
a.style(
|
|
69
|
+
"position: absolute; left: -9999px; opacity: 0; pointer-events: none;"
|
|
70
|
+
),
|
|
71
|
+
k.change(x),
|
|
72
|
+
ie((g) => (m = g, Z(
|
|
73
|
+
c.on((v) => {
|
|
74
|
+
const T = globalThis.DataTransfer;
|
|
75
|
+
if (T != null) {
|
|
76
|
+
const C = new T();
|
|
77
|
+
v.forEach((y) => C.items.add(y)), g.files = C.files;
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
)))
|
|
81
|
+
),
|
|
82
|
+
// Screen reader instructions
|
|
83
|
+
N.label($e(u.$.dropZoneInstructions)(n)),
|
|
84
|
+
// Content
|
|
85
|
+
s({ files: c, clear: () => c.value = [], change: c.set })
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function vt(e, t) {
|
|
90
|
+
return e.length === t.length && e.every((r, n) => r === t[n]);
|
|
91
|
+
}
|
|
92
|
+
function xt(e, t) {
|
|
93
|
+
const r = ["bc-segmented-control", `bc-segmented-control--size-${e}`];
|
|
94
|
+
return t && r.push("bc-segmented-control--disabled"), r.join(" ");
|
|
95
|
+
}
|
|
96
|
+
function dn({
|
|
97
|
+
options: e,
|
|
98
|
+
value: t,
|
|
99
|
+
onChange: r,
|
|
100
|
+
size: n = "md",
|
|
101
|
+
disabled: s = !1
|
|
102
|
+
}, ...o) {
|
|
103
|
+
const l = st(e).map(([u, c]) => ({
|
|
104
|
+
key: u,
|
|
105
|
+
label: c
|
|
106
|
+
}));
|
|
107
|
+
return ie(() => {
|
|
108
|
+
const u = Object.fromEntries(
|
|
109
|
+
l.map((f, h) => [f.key, h])
|
|
110
|
+
), c = K(
|
|
111
|
+
l.map(() => ({ left: 0, width: 0 })),
|
|
112
|
+
vt
|
|
113
|
+
);
|
|
114
|
+
return $.div(
|
|
115
|
+
a.class(
|
|
116
|
+
B(
|
|
117
|
+
n,
|
|
118
|
+
s
|
|
119
|
+
)(
|
|
120
|
+
(f, h) => xt(f ?? "md", h ?? !1)
|
|
121
|
+
)
|
|
122
|
+
),
|
|
123
|
+
$.div(
|
|
124
|
+
a.class("bc-segmented-control__container"),
|
|
125
|
+
$.div(
|
|
126
|
+
a.class("bc-segmented-control__indicator"),
|
|
127
|
+
fe.width(
|
|
128
|
+
B(
|
|
129
|
+
t,
|
|
130
|
+
c
|
|
131
|
+
)((f, h) => {
|
|
132
|
+
const { width: d } = h[u[f] ?? 0];
|
|
133
|
+
return `${d}px`;
|
|
134
|
+
})
|
|
135
|
+
),
|
|
136
|
+
fe.left(
|
|
137
|
+
B(
|
|
138
|
+
t,
|
|
139
|
+
c
|
|
140
|
+
)((f, h) => {
|
|
141
|
+
const { left: d } = h[u[f] ?? 0];
|
|
142
|
+
return `${d}px`;
|
|
143
|
+
})
|
|
144
|
+
)
|
|
145
|
+
),
|
|
146
|
+
// clickable buttons
|
|
147
|
+
l.map(({ label: f, key: h }, d) => $.button(
|
|
148
|
+
k.click((b) => {
|
|
149
|
+
b.preventDefault(), i.get(s) || r?.(h);
|
|
150
|
+
}),
|
|
151
|
+
a.disabled(s),
|
|
152
|
+
a.class("bc-segmented-control__segment"),
|
|
153
|
+
a.class(
|
|
154
|
+
i.map(t, (b) => b === h ? "bc-segmented-control__segment--active" : "bc-segmented-control__segment--inactive")
|
|
155
|
+
),
|
|
156
|
+
je((b) => {
|
|
157
|
+
function p() {
|
|
158
|
+
c.update((x) => {
|
|
159
|
+
const _ = [...x];
|
|
160
|
+
return _[d] = {
|
|
161
|
+
width: b.value.width,
|
|
162
|
+
left: b.value.localLeft
|
|
163
|
+
}, _;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
const m = rt(p);
|
|
167
|
+
return Z(m, b.on(p));
|
|
168
|
+
}),
|
|
169
|
+
f
|
|
170
|
+
))
|
|
171
|
+
),
|
|
172
|
+
...o
|
|
173
|
+
);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function wt(e) {
|
|
177
|
+
const t = e.type.toLowerCase();
|
|
178
|
+
return t.startsWith("image/") && (t.includes("jpeg") || t.includes("jpg") || t.includes("png") || t.includes("gif") || t.includes("webp") || t.includes("svg"));
|
|
179
|
+
}
|
|
180
|
+
function _t(e) {
|
|
181
|
+
const t = e.type.toLowerCase();
|
|
182
|
+
return t.startsWith("image/") ? "vscode-icons:file-type-image" : t.startsWith("video/") ? "vscode-icons:file-type-video" : t.startsWith("audio/") ? "vscode-icons:file-type-audio" : t.includes("pdf") ? "vscode-icons:file-type-pdf2" : t.includes("word") || t.includes("document") ? "vscode-icons:file-type-word" : t.includes("excel") || t.includes("spreadsheet") ? "vscode-icons:file-type-excel" : t.includes("powerpoint") || t.includes("presentation") ? "vscode-icons:file-type-powerpoint" : t.includes("zip") || t.includes("archive") ? "vscode-icons:file-type-zip" : t.includes("text") ? "vscode-icons:file-type-text" : t.includes("json") ? "vscode-icons:file-type-json-official" : t.includes("csv") ? "vscode-icons:file-type-csv" : t.includes("xml") ? "vscode-icons:file-type-xml" : t.includes("yaml") ? "vscode-icons:file-type-yaml-official" : "vscode-icons:file-type-binary";
|
|
183
|
+
}
|
|
184
|
+
function Ee(e) {
|
|
185
|
+
return E(
|
|
186
|
+
e.map(wt),
|
|
187
|
+
() => {
|
|
188
|
+
const t = K(null);
|
|
189
|
+
return e.on((r) => {
|
|
190
|
+
t.value && URL.revokeObjectURL(t.value);
|
|
191
|
+
const n = URL.createObjectURL(r);
|
|
192
|
+
t.value = n;
|
|
193
|
+
}), $.div(
|
|
194
|
+
a.class("bc-file-input__thumbnail-container"),
|
|
195
|
+
$.img(
|
|
196
|
+
a.src(t),
|
|
197
|
+
a.alt(e.map((r) => r.name)),
|
|
198
|
+
a.class("bc-file-input__thumbnail"),
|
|
199
|
+
Z(() => {
|
|
200
|
+
t.value && URL.revokeObjectURL(t.value);
|
|
201
|
+
})
|
|
202
|
+
)
|
|
203
|
+
);
|
|
204
|
+
},
|
|
205
|
+
() => z({ icon: e.map(_t) })
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
const $t = (e, ...t) => {
|
|
209
|
+
const {
|
|
210
|
+
value: r = K([]),
|
|
211
|
+
accept: n = "*/*",
|
|
212
|
+
maxFiles: s,
|
|
213
|
+
maxFileSize: o,
|
|
214
|
+
onChange: l,
|
|
215
|
+
onBlur: u,
|
|
216
|
+
disabled: c,
|
|
217
|
+
hasError: f,
|
|
218
|
+
mode: h = "default",
|
|
219
|
+
showFileList: d = !0,
|
|
220
|
+
...b
|
|
221
|
+
} = e, p = r, m = i.map(h, (C) => C === "compact"), x = (C) => {
|
|
222
|
+
let y = C;
|
|
223
|
+
if (s != null) {
|
|
224
|
+
const w = i.get(s);
|
|
225
|
+
y = y.slice(0, w);
|
|
226
|
+
}
|
|
227
|
+
if (o) {
|
|
228
|
+
const w = i.get(o);
|
|
229
|
+
y = y.filter((I) => I.size <= w);
|
|
230
|
+
}
|
|
231
|
+
l?.(y);
|
|
232
|
+
}, _ = (C) => {
|
|
233
|
+
const w = p.value.filter((I, M) => M !== C);
|
|
234
|
+
l?.(w);
|
|
235
|
+
}, g = () => {
|
|
236
|
+
l?.([]);
|
|
237
|
+
}, v = ({
|
|
238
|
+
files: C,
|
|
239
|
+
clear: y,
|
|
240
|
+
change: w
|
|
241
|
+
}) => O(
|
|
242
|
+
W,
|
|
243
|
+
(I) => $.div(
|
|
244
|
+
a.class("bc-file-input__drop-zone"),
|
|
245
|
+
$.div(
|
|
246
|
+
a.class(
|
|
247
|
+
"bc-file-input__drop-zone-content bc-file-input__drop-zone-content--empty"
|
|
248
|
+
),
|
|
249
|
+
z({ icon: "mdi:cloud-upload-outline", size: "xl" }),
|
|
250
|
+
$.div(
|
|
251
|
+
a.class("bc-file-input__drop-zone-text"),
|
|
252
|
+
$e(I.$.filesInputInstructions)(
|
|
253
|
+
s,
|
|
254
|
+
o,
|
|
255
|
+
I.$.fileSizeUnits.value
|
|
256
|
+
)
|
|
257
|
+
)
|
|
258
|
+
)
|
|
259
|
+
)
|
|
260
|
+
), T = ({
|
|
261
|
+
files: C
|
|
262
|
+
}) => O(
|
|
263
|
+
W,
|
|
264
|
+
(y) => $.div(
|
|
265
|
+
a.class("bc-file-input__compact-input"),
|
|
266
|
+
E(
|
|
267
|
+
C.map((w) => w.length > 0),
|
|
268
|
+
() => $.span(
|
|
269
|
+
a.class("bc-file-input__compact-value"),
|
|
270
|
+
de(
|
|
271
|
+
C,
|
|
272
|
+
(w) => $.span(
|
|
273
|
+
a.class("bc-file-input__compact-value-item"),
|
|
274
|
+
Ee(w),
|
|
275
|
+
$.span(
|
|
276
|
+
a.class("bc-file-input__compact-value-item-name"),
|
|
277
|
+
w.$.name
|
|
278
|
+
)
|
|
279
|
+
)
|
|
280
|
+
)
|
|
281
|
+
),
|
|
282
|
+
() => $.span(
|
|
283
|
+
a.class("bc-file-input__compact-placeholder"),
|
|
284
|
+
z({ icon: "mdi:cloud-upload-outline", size: "sm" }),
|
|
285
|
+
" ",
|
|
286
|
+
$e(y.$.filesInputInstructions)(
|
|
287
|
+
s,
|
|
288
|
+
o,
|
|
289
|
+
y.$.fileSizeUnits.value
|
|
290
|
+
)
|
|
291
|
+
)
|
|
292
|
+
)
|
|
293
|
+
)
|
|
294
|
+
);
|
|
295
|
+
return O(
|
|
296
|
+
W,
|
|
297
|
+
(C) => P(
|
|
298
|
+
{
|
|
299
|
+
baseContainer: i.map(m, (y) => !y),
|
|
300
|
+
disabled: c,
|
|
301
|
+
hasError: f,
|
|
302
|
+
after: E(
|
|
303
|
+
m,
|
|
304
|
+
() => E(
|
|
305
|
+
p.map(({ length: y }) => y > 0),
|
|
306
|
+
() => me(
|
|
307
|
+
{
|
|
308
|
+
size: "sm",
|
|
309
|
+
label: C.$.clearAllFiles,
|
|
310
|
+
disabled: c,
|
|
311
|
+
onClick: g
|
|
312
|
+
},
|
|
313
|
+
a.class("bc-file-input__compact-clear")
|
|
314
|
+
)
|
|
315
|
+
)
|
|
316
|
+
),
|
|
317
|
+
...b,
|
|
318
|
+
input: E(
|
|
319
|
+
m,
|
|
320
|
+
() => $.div(
|
|
321
|
+
a.class("bc-file-input bc-file-input--compact"),
|
|
322
|
+
Le({
|
|
323
|
+
value: p,
|
|
324
|
+
accept: n,
|
|
325
|
+
enableClick: !0,
|
|
326
|
+
allowMultiple: i.map(s ?? 1 / 0, (y) => y > 1),
|
|
327
|
+
disabled: c,
|
|
328
|
+
onChange: x,
|
|
329
|
+
content: T
|
|
330
|
+
})
|
|
331
|
+
),
|
|
332
|
+
() => $.div(
|
|
333
|
+
a.class("bc-file-input"),
|
|
334
|
+
Le({
|
|
335
|
+
value: p,
|
|
336
|
+
accept: n,
|
|
337
|
+
enableClick: !0,
|
|
338
|
+
allowMultiple: i.map(s ?? 1 / 0, (y) => y > 1),
|
|
339
|
+
disabled: c,
|
|
340
|
+
onChange: x,
|
|
341
|
+
content: v
|
|
342
|
+
}),
|
|
343
|
+
E(
|
|
344
|
+
d,
|
|
345
|
+
() => Ge(
|
|
346
|
+
p,
|
|
347
|
+
() => L(
|
|
348
|
+
$.div(
|
|
349
|
+
a.class("bc-file-input__file-list"),
|
|
350
|
+
de(p, (y, w) => {
|
|
351
|
+
const I = w.index;
|
|
352
|
+
return $.div(
|
|
353
|
+
a.class("bc-file-input__file-item"),
|
|
354
|
+
$.div(
|
|
355
|
+
a.class("bc-file-input__file-icon"),
|
|
356
|
+
Ee(y)
|
|
357
|
+
),
|
|
358
|
+
$.div(
|
|
359
|
+
a.class("bc-file-input__file-info"),
|
|
360
|
+
$.div(
|
|
361
|
+
a.class("bc-file-input__file-name"),
|
|
362
|
+
a.title(y.$.name),
|
|
363
|
+
y.$.name
|
|
364
|
+
),
|
|
365
|
+
$.div(
|
|
366
|
+
a.class("bc-file-input__file-meta"),
|
|
367
|
+
B(
|
|
368
|
+
y.$.size,
|
|
369
|
+
C.$.fileSizeUnits
|
|
370
|
+
)(
|
|
371
|
+
(M, A) => at(M, { units: A })
|
|
372
|
+
),
|
|
373
|
+
" • ",
|
|
374
|
+
B(
|
|
375
|
+
y.$.type,
|
|
376
|
+
C.$.unknownType
|
|
377
|
+
)((M, A) => M || A)
|
|
378
|
+
)
|
|
379
|
+
),
|
|
380
|
+
me(
|
|
381
|
+
{
|
|
382
|
+
size: "sm",
|
|
383
|
+
label: C.$.removeFile,
|
|
384
|
+
disabled: c,
|
|
385
|
+
onClick: () => _(I)
|
|
386
|
+
},
|
|
387
|
+
a.class("bc-file-input__remove-button")
|
|
388
|
+
)
|
|
389
|
+
);
|
|
390
|
+
})
|
|
391
|
+
),
|
|
392
|
+
E(
|
|
393
|
+
p.map(({ length: y }) => y > 1),
|
|
394
|
+
() => $.div(
|
|
395
|
+
a.class(
|
|
396
|
+
"bc-file-input__clear-all-button-container"
|
|
397
|
+
),
|
|
398
|
+
$.button(
|
|
399
|
+
a.type("button"),
|
|
400
|
+
a.class("bc-file-input__clear-all-button"),
|
|
401
|
+
a.disabled(c),
|
|
402
|
+
C.$.clearAllFiles,
|
|
403
|
+
k.click((y) => {
|
|
404
|
+
y.preventDefault(), y.stopPropagation(), g();
|
|
405
|
+
})
|
|
406
|
+
)
|
|
407
|
+
)
|
|
408
|
+
)
|
|
409
|
+
)
|
|
410
|
+
)
|
|
411
|
+
)
|
|
412
|
+
)
|
|
413
|
+
)
|
|
414
|
+
},
|
|
415
|
+
...t
|
|
416
|
+
)
|
|
417
|
+
);
|
|
418
|
+
};
|
|
419
|
+
async function yt(e) {
|
|
420
|
+
return new Promise((t, r) => {
|
|
421
|
+
const n = new FileReader();
|
|
422
|
+
n.readAsDataURL(e), n.onload = () => {
|
|
423
|
+
const s = n.result;
|
|
424
|
+
t(s.split(",")[1]);
|
|
425
|
+
}, n.onerror = (s) => r(s);
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
function It(e) {
|
|
429
|
+
return Promise.all(e.map(yt));
|
|
430
|
+
}
|
|
431
|
+
function kt(e) {
|
|
432
|
+
if (e.length >= 4) {
|
|
433
|
+
if (e[0] === 137 && e[1] === 80 && e[2] === 78 && e[3] === 71)
|
|
434
|
+
return "image/png";
|
|
435
|
+
if (e[0] === 255 && e[1] === 216) return "image/jpeg";
|
|
436
|
+
if (e[0] === 71 && e[1] === 73 && e[2] === 70)
|
|
437
|
+
return "image/gif";
|
|
438
|
+
if (e[0] === 82 && e[1] === 73 && e[2] === 70 && e[3] === 70 && e.length >= 12 && e[8] === 87 && e[9] === 69 && e[10] === 66 && e[11] === 80)
|
|
439
|
+
return "image/webp";
|
|
440
|
+
}
|
|
441
|
+
try {
|
|
442
|
+
if (new TextDecoder("utf-8").decode(e.slice(0, 256)).includes("<svg")) return "image/svg+xml";
|
|
443
|
+
} catch {
|
|
444
|
+
}
|
|
445
|
+
return "application/octet-stream";
|
|
446
|
+
}
|
|
447
|
+
function Ct(e) {
|
|
448
|
+
const t = bt(e ?? ""), r = t.length, n = new Uint8Array(r);
|
|
449
|
+
for (let s = 0; s < r; s++) n[s] = t.charCodeAt(s);
|
|
450
|
+
return n;
|
|
451
|
+
}
|
|
452
|
+
function Mt(e) {
|
|
453
|
+
const {
|
|
454
|
+
value: t,
|
|
455
|
+
onChange: r,
|
|
456
|
+
onInput: n,
|
|
457
|
+
...s
|
|
458
|
+
} = e, o = /* @__PURE__ */ new Map(), l = i.toSignal(t).map((h) => h.map((d, b) => {
|
|
459
|
+
const p = o.get(d), m = Ct(d ?? ""), x = p?.type || kt(m), _ = p?.name ?? `file-${b}`, g = m.buffer.slice(
|
|
460
|
+
m.byteOffset,
|
|
461
|
+
m.byteOffset + m.byteLength
|
|
462
|
+
), v = new Blob([g], { type: x });
|
|
463
|
+
return new File([v], _, { type: x });
|
|
464
|
+
})), u = (h) => (d) => {
|
|
465
|
+
h && It(d).then((b) => {
|
|
466
|
+
for (const [p, m] of b.entries())
|
|
467
|
+
o.set(m, { name: d[p].name, type: d[p].type });
|
|
468
|
+
h(b);
|
|
469
|
+
});
|
|
470
|
+
}, c = u(r), f = u(n);
|
|
471
|
+
return $t({
|
|
472
|
+
...s,
|
|
473
|
+
value: l,
|
|
474
|
+
onChange: c,
|
|
475
|
+
onInput: f
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
function mn(e) {
|
|
479
|
+
const {
|
|
480
|
+
value: t,
|
|
481
|
+
onInput: r,
|
|
482
|
+
onChange: n,
|
|
483
|
+
...s
|
|
484
|
+
} = e;
|
|
485
|
+
return Mt({
|
|
486
|
+
...s,
|
|
487
|
+
maxFiles: 1,
|
|
488
|
+
value: i.map(t, (o) => o == null ? [] : [o]),
|
|
489
|
+
onChange: (o) => {
|
|
490
|
+
n?.(o[0]);
|
|
491
|
+
},
|
|
492
|
+
onInput: (o) => {
|
|
493
|
+
r?.(o[0]);
|
|
494
|
+
}
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
function Ie(e) {
|
|
498
|
+
const t = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);
|
|
499
|
+
return t ? [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)] : [0, 0, 0];
|
|
500
|
+
}
|
|
501
|
+
function ke(e, t, r) {
|
|
502
|
+
const n = (s) => s.toString(16).padStart(2, "0");
|
|
503
|
+
return `#${n(Math.max(0, Math.min(255, e)))}${n(
|
|
504
|
+
Math.max(0, Math.min(255, t))
|
|
505
|
+
)}${n(Math.max(0, Math.min(255, r)))}`;
|
|
506
|
+
}
|
|
507
|
+
function Tt(e) {
|
|
508
|
+
if (!e) return [0, 0, 0, 1];
|
|
509
|
+
const r = e.trim().match(
|
|
510
|
+
/^#?([a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$/
|
|
511
|
+
);
|
|
512
|
+
if (r) {
|
|
513
|
+
const d = r[1];
|
|
514
|
+
if (d.length === 8) {
|
|
515
|
+
const b = parseInt(d.slice(0, 2), 16), p = parseInt(d.slice(2, 4), 16), m = parseInt(d.slice(4, 6), 16), x = parseInt(d.slice(6, 8), 16) / 255;
|
|
516
|
+
return [b, p, m, x];
|
|
517
|
+
}
|
|
518
|
+
if (d.length === 6)
|
|
519
|
+
return [
|
|
520
|
+
parseInt(d.slice(0, 2), 16),
|
|
521
|
+
parseInt(d.slice(2, 4), 16),
|
|
522
|
+
parseInt(d.slice(4, 6), 16),
|
|
523
|
+
1
|
|
524
|
+
];
|
|
525
|
+
if (d.length === 4) {
|
|
526
|
+
const b = parseInt(d[0] + d[0], 16), p = parseInt(d[1] + d[1], 16), m = parseInt(d[2] + d[2], 16), x = parseInt(d[3] + d[3], 16) / 255;
|
|
527
|
+
return [b, p, m, x];
|
|
528
|
+
}
|
|
529
|
+
if (d.length === 3) {
|
|
530
|
+
const b = parseInt(d[0] + d[0], 16), p = parseInt(d[1] + d[1], 16), m = parseInt(d[2] + d[2], 16);
|
|
531
|
+
return [b, p, m, 1];
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
const n = e.match(
|
|
535
|
+
/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0|1|0?\.\d+)\s*\)$/i
|
|
536
|
+
);
|
|
537
|
+
if (n)
|
|
538
|
+
return [
|
|
539
|
+
parseInt(n[1], 10),
|
|
540
|
+
parseInt(n[2], 10),
|
|
541
|
+
parseInt(n[3], 10),
|
|
542
|
+
parseFloat(n[4])
|
|
543
|
+
];
|
|
544
|
+
const s = e.match(
|
|
545
|
+
/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i
|
|
546
|
+
);
|
|
547
|
+
if (s)
|
|
548
|
+
return [parseInt(s[1], 10), parseInt(s[2], 10), parseInt(s[3], 10), 1];
|
|
549
|
+
const o = e.match(
|
|
550
|
+
/^hsla?\(\s*([+-]?[\d.]+)(?:deg)?\s*[ ,]?\s*([\d.]+)%\s*[ ,]?\s*([\d.]+)%\s*(?:[/,]\s*(\d?(?:\.\d+)?))?\s*\)$/i
|
|
551
|
+
);
|
|
552
|
+
if (o) {
|
|
553
|
+
const d = parseFloat(o[1]), b = parseFloat(o[2]), p = parseFloat(o[3]), m = o[4] != null ? parseFloat(o[4]) : 1, [x, _, g] = We(d, b / 100, p / 100);
|
|
554
|
+
return [x, _, g, m];
|
|
555
|
+
}
|
|
556
|
+
const l = e.match(
|
|
557
|
+
/^hwb\(\s*([+-]?[\d.]+)(?:deg)?\s*[, ]\s*([\d.]+)%\s*[, ]\s*([\d.]+)%\s*(?:[/]\s*(\d?(?:\.\d+)?))?\s*\)$/i
|
|
558
|
+
);
|
|
559
|
+
if (l) {
|
|
560
|
+
const d = parseFloat(l[1]), b = parseFloat(l[2]) / 100, p = parseFloat(l[3]) / 100, m = l[4] != null ? parseFloat(l[4]) : 1, [x, _, g] = At(d, b, p);
|
|
561
|
+
return [x, _, g, m];
|
|
562
|
+
}
|
|
563
|
+
const u = e.match(
|
|
564
|
+
/^oklch\(\s*([+-]?[\d.]+%?)\s+([\d.]+)\s+([+-]?[\d.]+)(?:deg)?(?:\s*\/\s*(\d?(?:\.\d+)?))?\s*\)$/i
|
|
565
|
+
);
|
|
566
|
+
if (u) {
|
|
567
|
+
const d = u[1], b = parseFloat(u[2]), p = parseFloat(u[3]), m = u[4] != null ? parseFloat(u[4]) : 1, x = d.endsWith("%") ? Math.max(0, Math.min(1, parseFloat(d) / 100)) : Math.max(0, Math.min(1, parseFloat(d))), [_, g, v] = Bt(x, b, p);
|
|
568
|
+
return [_, g, v, m];
|
|
569
|
+
}
|
|
570
|
+
const [c, f, h] = Ie(e);
|
|
571
|
+
return [c, f, h, 1];
|
|
572
|
+
}
|
|
573
|
+
const Dt = (e, t, r, n) => `rgba(${Math.round(e)}, ${Math.round(t)}, ${Math.round(r)}, ${Math.max(
|
|
574
|
+
0,
|
|
575
|
+
Math.min(1, Math.round(n * 100) / 100)
|
|
576
|
+
)})`;
|
|
577
|
+
function St(e) {
|
|
578
|
+
let t = e + 1831565813;
|
|
579
|
+
return function() {
|
|
580
|
+
return t = Math.imul(t ^ t >>> 15, t | 1), t ^= t + Math.imul(t ^ t >>> 7, t | 61), ((t ^ t >>> 14) >>> 0) / 4294967296;
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
function We(e, t, r) {
|
|
584
|
+
e = (e % 360 + 360) % 360;
|
|
585
|
+
const n = (1 - Math.abs(2 * r - 1)) * t, s = n * (1 - Math.abs(e / 60 % 2 - 1)), o = r - n / 2;
|
|
586
|
+
let l = 0, u = 0, c = 0;
|
|
587
|
+
return 0 <= e && e < 60 ? [l, u, c] = [n, s, 0] : 60 <= e && e < 120 ? [l, u, c] = [s, n, 0] : 120 <= e && e < 180 ? [l, u, c] = [0, n, s] : 180 <= e && e < 240 ? [l, u, c] = [0, s, n] : 240 <= e && e < 300 ? [l, u, c] = [s, 0, n] : [l, u, c] = [n, 0, s], [
|
|
588
|
+
Math.round((l + o) * 255),
|
|
589
|
+
Math.round((u + o) * 255),
|
|
590
|
+
Math.round((c + o) * 255)
|
|
591
|
+
];
|
|
592
|
+
}
|
|
593
|
+
function At(e, t, r) {
|
|
594
|
+
e = (e % 360 + 360) % 360;
|
|
595
|
+
const n = t + r;
|
|
596
|
+
n > 1 && (t /= n, r /= n);
|
|
597
|
+
const [s, o, l] = We(e, 1, 0.5).map((d) => d / 255), u = 1 - t - r, c = s * u + t, f = o * u + t, h = l * u + t;
|
|
598
|
+
return [Math.round(c * 255), Math.round(f * 255), Math.round(h * 255)];
|
|
599
|
+
}
|
|
600
|
+
function Ce(e, t, r) {
|
|
601
|
+
e /= 255, t /= 255, r /= 255;
|
|
602
|
+
const n = Math.max(e, t, r), s = Math.min(e, t, r);
|
|
603
|
+
let o = 0, l = 0;
|
|
604
|
+
const u = (n + s) / 2, c = n - s;
|
|
605
|
+
if (c !== 0) {
|
|
606
|
+
switch (l = u > 0.5 ? c / (2 - n - s) : c / (n + s), n) {
|
|
607
|
+
case e:
|
|
608
|
+
o = (t - r) / c + (t < r ? 6 : 0);
|
|
609
|
+
break;
|
|
610
|
+
case t:
|
|
611
|
+
o = (r - e) / c + 2;
|
|
612
|
+
break;
|
|
613
|
+
default:
|
|
614
|
+
o = (e - t) / c + 4;
|
|
615
|
+
}
|
|
616
|
+
o *= 60;
|
|
617
|
+
}
|
|
618
|
+
return [Math.round(o), Math.round(l * 100), Math.round(u * 100)];
|
|
619
|
+
}
|
|
620
|
+
function Ft(e, t, r) {
|
|
621
|
+
const [n] = Ce(e, t, r), s = e / 255, o = t / 255, l = r / 255, u = Math.min(s, o, l), c = 1 - Math.max(s, o, l);
|
|
622
|
+
return [n, Math.round(u * 100), Math.round(c * 100)];
|
|
623
|
+
}
|
|
624
|
+
function xe(e) {
|
|
625
|
+
const t = e / 255;
|
|
626
|
+
return t <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
|
|
627
|
+
}
|
|
628
|
+
function we(e) {
|
|
629
|
+
const t = e <= 31308e-7 ? 12.92 * e : 1.055 * Math.pow(e, 0.4166666666666667) - 0.055;
|
|
630
|
+
return Math.round(Math.max(0, Math.min(1, t)) * 255);
|
|
631
|
+
}
|
|
632
|
+
function Bt(e, t, r) {
|
|
633
|
+
const n = r * Math.PI / 180, s = Math.cos(n) * t, o = Math.sin(n) * t, l = e + 0.3963377774 * s + 0.2158037573 * o, u = e - 0.1055613458 * s - 0.0638541728 * o, c = e - 0.0894841775 * s - 1.291485548 * o, f = l * l * l, h = u * u * u, d = c * c * c, b = 4.0767416621 * f - 3.3077115913 * h + 0.2309699292 * d, p = -1.2684380046 * f + 2.6097574011 * h - 0.3413193965 * d, m = -0.0041960863 * f - 0.7034186147 * h + 1.707614701 * d;
|
|
634
|
+
return [we(b), we(p), we(m)];
|
|
635
|
+
}
|
|
636
|
+
function Vt(e, t, r) {
|
|
637
|
+
const n = xe(e), s = xe(t), o = xe(r), l = 0.4122214708 * n + 0.5363325363 * s + 0.0514459929 * o, u = 0.2119034982 * n + 0.6806995451 * s + 0.1073969566 * o, c = 0.0883024619 * n + 0.2817188376 * s + 0.6299787005 * o, f = Math.cbrt(l), h = Math.cbrt(u), d = Math.cbrt(c), b = 0.2104542553 * f + 0.793617785 * h - 0.0040720468 * d, p = 1.9779984951 * f - 2.428592205 * h + 0.4505937099 * d, m = 0.0259040371 * f + 0.7827717662 * h - 0.808675766 * d, x = Math.sqrt(p * p + m * m);
|
|
638
|
+
let _ = Math.atan2(m, p) * 180 / Math.PI;
|
|
639
|
+
return _ < 0 && (_ += 360), [b, x, _];
|
|
640
|
+
}
|
|
641
|
+
function oe(e, t, r, n, s, o) {
|
|
642
|
+
switch (s) {
|
|
643
|
+
case "hex":
|
|
644
|
+
if (o) {
|
|
645
|
+
const l = (c) => c.toString(16).padStart(2, "0"), u = Math.max(0, Math.min(255, Math.round(n * 255)));
|
|
646
|
+
return `#${l(e)}${l(t)}${l(r)}${l(u)}`;
|
|
647
|
+
}
|
|
648
|
+
return ke(e, t, r);
|
|
649
|
+
case "rgb":
|
|
650
|
+
return `rgb(${e}, ${t}, ${r})`;
|
|
651
|
+
case "rgba":
|
|
652
|
+
return `rgba(${e}, ${t}, ${r}, ${Math.round(n * 100) / 100})`;
|
|
653
|
+
case "hsl": {
|
|
654
|
+
const [l, u, c] = Ce(e, t, r);
|
|
655
|
+
return `hsl(${l}, ${u}%, ${c}%)`;
|
|
656
|
+
}
|
|
657
|
+
case "hsla": {
|
|
658
|
+
const [l, u, c] = Ce(e, t, r);
|
|
659
|
+
return `hsla(${l}, ${u}%, ${c}%, ${Math.round(n * 100) / 100})`;
|
|
660
|
+
}
|
|
661
|
+
case "hwb": {
|
|
662
|
+
const [l, u, c] = Ft(e, t, r);
|
|
663
|
+
return n < 1 ? `hwb(${l} ${u}% ${c}% / ${Math.round(n * 100) / 100})` : `hwb(${l} ${u}% ${c}%)`;
|
|
664
|
+
}
|
|
665
|
+
case "oklch": {
|
|
666
|
+
const [l, u, c] = Vt(e, t, r), f = (Math.round(l * 1e3) / 1e3).toFixed(3), h = (Math.round(u * 1e3) / 1e3).toFixed(3), d = (Math.round(c * 10) / 10).toFixed(1), b = Math.round(n * 100) / 100;
|
|
667
|
+
return o || n < 1 ? `oklch(${f} ${h} ${d} / ${b})` : `oklch(${f} ${h} ${d})`;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
function ce(e, t) {
|
|
672
|
+
return t ? e === "rgb" ? "rgba" : e === "hsl" ? "hsla" : e : e === "rgba" ? "rgb" : e === "hsla" ? "hsl" : e;
|
|
673
|
+
}
|
|
674
|
+
function Lt(e, t) {
|
|
675
|
+
const [r, n, s] = e, o = r << 16 ^ n << 8 ^ s, l = St(o), u = 6 + Math.floor(l() * 5), c = 0.18 + l() * 0.06, f = [];
|
|
676
|
+
for (let p = 0; p < u; p++) {
|
|
677
|
+
const m = p / u * Math.PI * 2, x = t * (1 + (l() * 2 - 1) * c), _ = Math.cos(m) * x, g = Math.sin(m) * x;
|
|
678
|
+
f.push({ x: _, y: g });
|
|
679
|
+
}
|
|
680
|
+
const h = (f[0].x + f[u - 1].x) / 2, d = (f[0].y + f[u - 1].y) / 2;
|
|
681
|
+
let b = `M ${h.toFixed(3)} ${d.toFixed(3)}`;
|
|
682
|
+
for (let p = 0; p < u; p++) {
|
|
683
|
+
const m = f[p], x = f[(p + 1) % u], _ = (m.x + x.x) / 2, g = (m.y + x.y) / 2;
|
|
684
|
+
b += ` Q ${m.x.toFixed(3)} ${m.y.toFixed(3)} ${_.toFixed(3)} ${g.toFixed(3)}`;
|
|
685
|
+
}
|
|
686
|
+
return b += " Z", b;
|
|
687
|
+
}
|
|
688
|
+
const hn = (e) => {
|
|
689
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, displayValue: o, size: l, withAlpha: u } = e, c = i.map(l ?? 32, (w) => w), f = i.map(t, (w) => Tt(w ?? "#000000")), h = i.map(
|
|
690
|
+
f,
|
|
691
|
+
([w, I, M]) => [w, I, M]
|
|
692
|
+
), d = i.map(f, ([, , , w]) => w), b = K(i.get(d) ?? 1), p = i.map(u ?? !1, (w) => w), m = i.map(
|
|
693
|
+
e.colorTextFormat ?? "rgb",
|
|
694
|
+
(w) => w
|
|
695
|
+
), x = B(
|
|
696
|
+
h,
|
|
697
|
+
b,
|
|
698
|
+
m,
|
|
699
|
+
p
|
|
700
|
+
)(
|
|
701
|
+
([w, I, M], A, F, D) => oe(w, I, M, A ?? 1, ce(F, D), D)
|
|
702
|
+
), _ = i.map(
|
|
703
|
+
e.colorTextFormat ?? "hex",
|
|
704
|
+
(w) => w
|
|
705
|
+
), g = i.map(c, (w) => `-${w / 2} -${w / 2} ${w} ${w}`), v = B(
|
|
706
|
+
h,
|
|
707
|
+
c
|
|
708
|
+
)((w, I) => Lt(w, I / 2)), T = B(
|
|
709
|
+
h,
|
|
710
|
+
b,
|
|
711
|
+
p
|
|
712
|
+
)(
|
|
713
|
+
([w, I, M], A, F) => F || A < 1 ? Dt(w, I, M, A) : ke(w, I, M)
|
|
714
|
+
), C = $.div(
|
|
715
|
+
a.class("bc-color-input__control"),
|
|
716
|
+
a.class(
|
|
717
|
+
i.map(
|
|
718
|
+
p,
|
|
719
|
+
(w) => w ? "bc-color-input__control--alpha" : ""
|
|
720
|
+
)
|
|
721
|
+
),
|
|
722
|
+
a.style(B(c)((w) => `min-width:${w}px;height:${w}px`)),
|
|
723
|
+
// The SVG blob preview
|
|
724
|
+
Ae.svg(
|
|
725
|
+
a.class("bc-color-input__svg"),
|
|
726
|
+
ge.viewBox(g),
|
|
727
|
+
Ae.path(ge.d(v), ge.fill(T))
|
|
728
|
+
),
|
|
729
|
+
// Invisible native input overlays the blob for picker and accessibility
|
|
730
|
+
$.input(
|
|
731
|
+
a.type("color"),
|
|
732
|
+
H(e),
|
|
733
|
+
// Native color input needs hex without alpha
|
|
734
|
+
a.value(i.map(h, ([w, I, M]) => ke(w, I, M))),
|
|
735
|
+
a.class("bc-input bc-color-input bc-color-input__native"),
|
|
736
|
+
r != null ? k.blur(r) : S,
|
|
737
|
+
n != null ? k.change((w) => {
|
|
738
|
+
const I = w.target.value;
|
|
739
|
+
if (!n) return;
|
|
740
|
+
const [M, A, F] = Ie(I), D = i.get(b) ?? 1, V = ce(
|
|
741
|
+
i.get(_),
|
|
742
|
+
i.get(p)
|
|
743
|
+
), R = oe(M, A, F, D, V, i.get(p));
|
|
744
|
+
n(R);
|
|
745
|
+
}) : S,
|
|
746
|
+
s != null ? k.input((w) => {
|
|
747
|
+
const I = w.target.value;
|
|
748
|
+
if (!s) return;
|
|
749
|
+
const [M, A, F] = Ie(I), D = i.get(b) ?? 1, V = ce(
|
|
750
|
+
i.get(_),
|
|
751
|
+
i.get(p)
|
|
752
|
+
), R = oe(M, A, F, D, V, i.get(p));
|
|
753
|
+
s(R);
|
|
754
|
+
}) : S
|
|
755
|
+
)
|
|
756
|
+
), y = E(
|
|
757
|
+
p,
|
|
758
|
+
() => $.input(
|
|
759
|
+
a.type("range"),
|
|
760
|
+
a.class("bc-color-input__alpha"),
|
|
761
|
+
a.min(0),
|
|
762
|
+
a.max(1),
|
|
763
|
+
a.step(0.01),
|
|
764
|
+
a.value(i.map(b, (w) => String(w ?? 1))),
|
|
765
|
+
a.disabled(e.disabled),
|
|
766
|
+
k.input((w) => {
|
|
767
|
+
const I = parseFloat(w.target.value);
|
|
768
|
+
b.set(I);
|
|
769
|
+
const [M, A, F] = i.get(h), D = ce(
|
|
770
|
+
i.get(_),
|
|
771
|
+
i.get(p)
|
|
772
|
+
), V = oe(M, A, F, I, D, i.get(p));
|
|
773
|
+
s?.(V);
|
|
774
|
+
}),
|
|
775
|
+
k.change((w) => {
|
|
776
|
+
const I = parseFloat(w.target.value);
|
|
777
|
+
b.set(I);
|
|
778
|
+
const [M, A, F] = i.get(h), D = ce(
|
|
779
|
+
i.get(_),
|
|
780
|
+
i.get(p)
|
|
781
|
+
), V = oe(M, A, F, I, D, i.get(p));
|
|
782
|
+
n?.(V);
|
|
783
|
+
})
|
|
784
|
+
)
|
|
785
|
+
);
|
|
786
|
+
return P({
|
|
787
|
+
baseContainer: !0,
|
|
788
|
+
...e,
|
|
789
|
+
// ensure our control does not try to grow
|
|
790
|
+
growInput: !1,
|
|
791
|
+
input: C,
|
|
792
|
+
// If caller provided an `after`, append RGB before it
|
|
793
|
+
after: L(
|
|
794
|
+
E(
|
|
795
|
+
o ?? !1,
|
|
796
|
+
() => $.span(a.class("bc-color-input__rgb"), x)
|
|
797
|
+
),
|
|
798
|
+
y,
|
|
799
|
+
e.after
|
|
800
|
+
)
|
|
801
|
+
});
|
|
802
|
+
}, Te = "$$tts-exp-", Et = (e, t) => ie((r) => {
|
|
803
|
+
const n = `${Te}${e}`;
|
|
804
|
+
return Z(i.on(t, (s) => Reflect.set(r, n, s)));
|
|
805
|
+
}), gn = (e, t) => {
|
|
806
|
+
const r = `${Te}${e}`;
|
|
807
|
+
return (n) => {
|
|
808
|
+
t(Reflect.get(n.target, r));
|
|
809
|
+
};
|
|
810
|
+
}, Ut = (e, t) => {
|
|
811
|
+
const r = `${Te}${e}`;
|
|
812
|
+
return (n) => {
|
|
813
|
+
const s = n.target, o = s.selectedIndex, l = s.options[o];
|
|
814
|
+
t(Reflect.get(l, r));
|
|
815
|
+
};
|
|
816
|
+
};
|
|
817
|
+
function Nt(e, t, r) {
|
|
818
|
+
const n = ["bc-card"];
|
|
819
|
+
return e !== "default" && n.push(`bc-card--${e}`), t !== "md" && n.push(`bc-card--padding-${t}`), r !== "lg" && n.push(`bc-card--rounded-${r}`), n.join(" ");
|
|
820
|
+
}
|
|
821
|
+
function bn({ variant: e = "default", size: t = "md", roundedness: r = "lg" } = {}, ...n) {
|
|
822
|
+
return $.div(
|
|
823
|
+
a.class(
|
|
824
|
+
B(
|
|
825
|
+
e,
|
|
826
|
+
t,
|
|
827
|
+
r
|
|
828
|
+
)(
|
|
829
|
+
(s, o, l) => Nt(
|
|
830
|
+
s ?? "default",
|
|
831
|
+
o ?? "md",
|
|
832
|
+
l ?? "lg"
|
|
833
|
+
)
|
|
834
|
+
)
|
|
835
|
+
),
|
|
836
|
+
...n
|
|
837
|
+
);
|
|
838
|
+
}
|
|
839
|
+
function pe(...e) {
|
|
840
|
+
return $.div(a.class("bc-group"), ...e);
|
|
841
|
+
}
|
|
842
|
+
const vn = ({
|
|
843
|
+
startEditing: e,
|
|
844
|
+
value: t,
|
|
845
|
+
onChange: r,
|
|
846
|
+
placeholder: n,
|
|
847
|
+
disabled: s
|
|
848
|
+
}) => {
|
|
849
|
+
const o = i.deriveProp(e ?? !1), l = K(!1), u = i.map(s ?? !1, (c) => c);
|
|
850
|
+
return $.div(
|
|
851
|
+
a.class("bc-editable-text"),
|
|
852
|
+
a.class(
|
|
853
|
+
i.map(
|
|
854
|
+
u,
|
|
855
|
+
(c) => c ? "bc-editable-text--disabled" : ""
|
|
856
|
+
)
|
|
857
|
+
),
|
|
858
|
+
N.disabled(u),
|
|
859
|
+
E(
|
|
860
|
+
o,
|
|
861
|
+
() => $.input(
|
|
862
|
+
a.placeholder(n),
|
|
863
|
+
a.value(t),
|
|
864
|
+
a.class("bc-editable-text__input"),
|
|
865
|
+
lt(),
|
|
866
|
+
k.keydown((c) => {
|
|
867
|
+
c.key === "Enter" ? o.set(!1) : c.key === "Escape" && (l.set(!0), o.set(!1));
|
|
868
|
+
}),
|
|
869
|
+
k.blur(
|
|
870
|
+
j((c) => {
|
|
871
|
+
if (o.set(!1), l.value) {
|
|
872
|
+
l.set(!1);
|
|
873
|
+
return;
|
|
874
|
+
}
|
|
875
|
+
r(c);
|
|
876
|
+
})
|
|
877
|
+
)
|
|
878
|
+
),
|
|
879
|
+
() => $.span(
|
|
880
|
+
k.click(() => {
|
|
881
|
+
i.get(u) || o.set(!0);
|
|
882
|
+
}),
|
|
883
|
+
a.class("bc-editable-text__display"),
|
|
884
|
+
E(
|
|
885
|
+
i.map(t, (c) => c != null && c.trim() !== ""),
|
|
886
|
+
() => $.span(a.class("bc-editable-text__text"), t),
|
|
887
|
+
() => $.span(
|
|
888
|
+
a.class("bc-editable-text__placeholder"),
|
|
889
|
+
n
|
|
890
|
+
)
|
|
891
|
+
),
|
|
892
|
+
E(
|
|
893
|
+
i.map(u, (c) => !c),
|
|
894
|
+
() => $.button(
|
|
895
|
+
a.class("bc-editable-text__edit-button"),
|
|
896
|
+
O(W, (c) => N.label(c.$.editLabel)),
|
|
897
|
+
k.click(() => o.set(!0)),
|
|
898
|
+
z({ icon: "line-md/pencil", color: "neutral" })
|
|
899
|
+
)
|
|
900
|
+
)
|
|
901
|
+
)
|
|
902
|
+
)
|
|
903
|
+
);
|
|
904
|
+
}, Ze = (e, t, r) => Pe(
|
|
905
|
+
e,
|
|
906
|
+
(n) => Je(n, {
|
|
907
|
+
value: (s) => {
|
|
908
|
+
const o = B(
|
|
909
|
+
s,
|
|
910
|
+
r
|
|
911
|
+
)((l, u) => t(l.value, u));
|
|
912
|
+
return $.option(
|
|
913
|
+
Z(o.dispose),
|
|
914
|
+
a.selected(o),
|
|
915
|
+
Et("value", s.$.value),
|
|
916
|
+
s.$.label
|
|
917
|
+
);
|
|
918
|
+
},
|
|
919
|
+
group: (s) => $.optgroup(
|
|
920
|
+
a.label(s.$.group),
|
|
921
|
+
de(
|
|
922
|
+
s.$.options,
|
|
923
|
+
(o) => Ze(
|
|
924
|
+
o,
|
|
925
|
+
t,
|
|
926
|
+
r
|
|
927
|
+
)
|
|
928
|
+
)
|
|
929
|
+
),
|
|
930
|
+
break: () => $.hr()
|
|
931
|
+
})
|
|
932
|
+
), zt = (e) => {
|
|
933
|
+
const {
|
|
934
|
+
value: t,
|
|
935
|
+
onBlur: r,
|
|
936
|
+
onChange: n,
|
|
937
|
+
options: s,
|
|
938
|
+
unselectedLabel: o,
|
|
939
|
+
equality: l = (f, h) => f === h,
|
|
940
|
+
after: u
|
|
941
|
+
} = e;
|
|
942
|
+
let c;
|
|
943
|
+
return P(
|
|
944
|
+
{
|
|
945
|
+
...e,
|
|
946
|
+
after: L(
|
|
947
|
+
z({
|
|
948
|
+
icon: "ph:caret-down-bold",
|
|
949
|
+
color: "neutral",
|
|
950
|
+
size: "sm"
|
|
951
|
+
}),
|
|
952
|
+
u
|
|
953
|
+
),
|
|
954
|
+
input: $.select(
|
|
955
|
+
ie((f) => {
|
|
956
|
+
c = f;
|
|
957
|
+
const h = new MutationObserver((d) => {
|
|
958
|
+
const { removedNodes: b } = d[0];
|
|
959
|
+
b.length > 0 && (c.selectedIndex = 0);
|
|
960
|
+
});
|
|
961
|
+
return h.observe(f, { childList: !0 }), Z(() => h.disconnect());
|
|
962
|
+
}),
|
|
963
|
+
H(e),
|
|
964
|
+
a.class("bc-native-select bc-input"),
|
|
965
|
+
O(
|
|
966
|
+
W,
|
|
967
|
+
(f) => $.option(
|
|
968
|
+
a.hidden("hidden"),
|
|
969
|
+
Qe(o, f.$.selectOne)
|
|
970
|
+
)
|
|
971
|
+
),
|
|
972
|
+
de(s, (f) => Ze(f, l, t)),
|
|
973
|
+
r != null ? k.blur(r) : S,
|
|
974
|
+
n != null ? k.change(Ut("value", (f) => n(f))) : S
|
|
975
|
+
)
|
|
976
|
+
},
|
|
977
|
+
k.click(() => {
|
|
978
|
+
c?.focus(), typeof c?.showPicker == "function" && c.showPicker();
|
|
979
|
+
})
|
|
980
|
+
);
|
|
981
|
+
};
|
|
982
|
+
function Rt(e) {
|
|
983
|
+
const { controller: t, onChange: r, onBlur: n, ...s } = e;
|
|
984
|
+
return zt({
|
|
985
|
+
...s,
|
|
986
|
+
value: t.value,
|
|
987
|
+
onChange: ct(t, r),
|
|
988
|
+
onBlur: ot(t, n)
|
|
989
|
+
});
|
|
990
|
+
}
|
|
991
|
+
function xn(e) {
|
|
992
|
+
return He({
|
|
993
|
+
...e,
|
|
994
|
+
content: Rt(e)
|
|
995
|
+
});
|
|
996
|
+
}
|
|
997
|
+
function Pt(e, t, r) {
|
|
998
|
+
const n = e.length.map((s) => s);
|
|
999
|
+
return L(
|
|
1000
|
+
Z(() => n.dispose()),
|
|
1001
|
+
Oe(
|
|
1002
|
+
n,
|
|
1003
|
+
(s) => {
|
|
1004
|
+
const o = e.item(s.index), l = [];
|
|
1005
|
+
return L(
|
|
1006
|
+
Z(() => {
|
|
1007
|
+
o.dispose(), l.forEach((u) => u());
|
|
1008
|
+
}),
|
|
1009
|
+
t({
|
|
1010
|
+
list: e,
|
|
1011
|
+
item: o,
|
|
1012
|
+
position: s,
|
|
1013
|
+
remove: () => e.removeAt(s.index),
|
|
1014
|
+
move: (u) => {
|
|
1015
|
+
switch (u) {
|
|
1016
|
+
case "up":
|
|
1017
|
+
if (s.index === 0) return;
|
|
1018
|
+
e.move(s.index, s.index - 1);
|
|
1019
|
+
break;
|
|
1020
|
+
case "down":
|
|
1021
|
+
if (s.index === e.length.value - 1) return;
|
|
1022
|
+
e.move(s.index, s.index + 1);
|
|
1023
|
+
break;
|
|
1024
|
+
case "first":
|
|
1025
|
+
e.move(s.index, 0);
|
|
1026
|
+
break;
|
|
1027
|
+
case "last":
|
|
1028
|
+
e.move(s.index, e.length.value - 1);
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
1031
|
+
canMove: (u) => {
|
|
1032
|
+
const c = (() => {
|
|
1033
|
+
switch (u) {
|
|
1034
|
+
case "up":
|
|
1035
|
+
return Fe(s.index > 0);
|
|
1036
|
+
case "down":
|
|
1037
|
+
return e.length.map((f) => s.index < f - 1);
|
|
1038
|
+
}
|
|
1039
|
+
})();
|
|
1040
|
+
return l.push(() => c.dispose()), c;
|
|
1041
|
+
},
|
|
1042
|
+
cannotMove: (u) => {
|
|
1043
|
+
const c = (() => {
|
|
1044
|
+
switch (u) {
|
|
1045
|
+
case "up":
|
|
1046
|
+
return Fe(s.index === 0);
|
|
1047
|
+
case "down":
|
|
1048
|
+
return e.length.map((f) => s.index === f - 1);
|
|
1049
|
+
}
|
|
1050
|
+
})();
|
|
1051
|
+
return l.push(() => c.dispose()), c;
|
|
1052
|
+
}
|
|
1053
|
+
})
|
|
1054
|
+
);
|
|
1055
|
+
},
|
|
1056
|
+
r
|
|
1057
|
+
)
|
|
1058
|
+
);
|
|
1059
|
+
}
|
|
1060
|
+
const Ue = {
|
|
1061
|
+
9: { pattern: /^[0-9]$/ },
|
|
1062
|
+
A: { pattern: /^[A-Za-z]$/, transform: (e) => e.toUpperCase() },
|
|
1063
|
+
"*": { pattern: /^.$/ }
|
|
1064
|
+
}, Ot = (e) => e instanceof RegExp;
|
|
1065
|
+
function Ye(e, t, r) {
|
|
1066
|
+
if (e == null) return [];
|
|
1067
|
+
const n = r ? { ...Ue, ...t } : t ?? Ue, s = (l, u) => {
|
|
1068
|
+
const c = n[u];
|
|
1069
|
+
c ? l.push({ type: "pattern", name: u, ...c }) : l.push({ type: "literal", char: u });
|
|
1070
|
+
}, o = [];
|
|
1071
|
+
if (typeof e == "string") {
|
|
1072
|
+
for (const l of e) s(o, l);
|
|
1073
|
+
return o;
|
|
1074
|
+
}
|
|
1075
|
+
for (const l of e)
|
|
1076
|
+
if (typeof l == "string")
|
|
1077
|
+
if (l.length <= 1) s(o, l);
|
|
1078
|
+
else for (const u of l) s(o, u);
|
|
1079
|
+
else Ot(l) ? o.push({ type: "pattern", pattern: l }) : typeof l == "object" && l && o.push(l);
|
|
1080
|
+
return o;
|
|
1081
|
+
}
|
|
1082
|
+
function jt(e, t) {
|
|
1083
|
+
return (r) => {
|
|
1084
|
+
switch (e) {
|
|
1085
|
+
case "digits":
|
|
1086
|
+
return /[0-9]/.test(r);
|
|
1087
|
+
case "letters":
|
|
1088
|
+
return /[A-Za-z]/.test(r);
|
|
1089
|
+
case "alphanumeric":
|
|
1090
|
+
return /[A-Za-z0-9]/.test(r);
|
|
1091
|
+
case "custom":
|
|
1092
|
+
return t?.(r) ?? !0;
|
|
1093
|
+
default:
|
|
1094
|
+
return !0;
|
|
1095
|
+
}
|
|
1096
|
+
};
|
|
1097
|
+
}
|
|
1098
|
+
function Ne(e, t, r, n, s, o) {
|
|
1099
|
+
const l = {
|
|
1100
|
+
raw: e,
|
|
1101
|
+
previousConformed: t,
|
|
1102
|
+
cursor: s ?? e.length,
|
|
1103
|
+
completed: !1
|
|
1104
|
+
}, u = n.definitions ?? {}, c = typeof r == "function" ? r(e, l) : r, f = Ye(
|
|
1105
|
+
c,
|
|
1106
|
+
u,
|
|
1107
|
+
n.useDefaultDefinitions ?? !0
|
|
1108
|
+
), h = jt(n.allowMode, n.allow), d = /* @__PURE__ */ new Set();
|
|
1109
|
+
for (const D of f) D.type === "literal" && d.add(D.char);
|
|
1110
|
+
if (n.prefix) for (const D of n.prefix) d.add(D);
|
|
1111
|
+
if (n.suffix) for (const D of n.suffix) d.add(D);
|
|
1112
|
+
const b = Array.from(e).filter((D) => h(D) && !d.has(D));
|
|
1113
|
+
if (b.length === 0) return { value: "", cursor: 0, completed: !1 };
|
|
1114
|
+
const p = [], m = [];
|
|
1115
|
+
let x = 0, _ = 0, g = 0, v = -1;
|
|
1116
|
+
for (const D of f) {
|
|
1117
|
+
if (D.type === "literal") {
|
|
1118
|
+
p.push(D.char), m.push({ kind: "literal", filled: !0 });
|
|
1119
|
+
continue;
|
|
1120
|
+
}
|
|
1121
|
+
_ += D.optional ? 0 : 1;
|
|
1122
|
+
const V = b[x];
|
|
1123
|
+
if (V == null)
|
|
1124
|
+
break;
|
|
1125
|
+
if (D.type === "any") {
|
|
1126
|
+
g++, p.push(D.transform ? D.transform(V) : V), m.push({ kind: "slot", filled: !0 }), v = m.length - 1, x++;
|
|
1127
|
+
continue;
|
|
1128
|
+
}
|
|
1129
|
+
if (D.type === "pattern")
|
|
1130
|
+
if (D.pattern.test(V)) {
|
|
1131
|
+
g++;
|
|
1132
|
+
const R = D.transform ? D.transform(V) : V;
|
|
1133
|
+
p.push(R), m.push({ kind: "slot", filled: !0 }), v = m.length - 1, x++;
|
|
1134
|
+
} else {
|
|
1135
|
+
x++;
|
|
1136
|
+
continue;
|
|
1137
|
+
}
|
|
1138
|
+
}
|
|
1139
|
+
const T = p.join(""), C = (n.prefix ?? "") + T + (n.suffix ?? "");
|
|
1140
|
+
let w = (n.prefix ?? "").length;
|
|
1141
|
+
if (v >= 0) {
|
|
1142
|
+
let D = v + 1;
|
|
1143
|
+
if ((o?.policy ?? "smart") !== "sticky")
|
|
1144
|
+
for (; D < m.length && m[D].kind === "literal"; ) D++;
|
|
1145
|
+
w += D;
|
|
1146
|
+
}
|
|
1147
|
+
const I = n.completion?.mode === "min" ? (n.completion.minChars ?? 0) <= g : n.completion?.mode === "custom" ? !!n.completion.isComplete?.(C) : _ > 0 && g >= _, M = n.pipe?.(C, { ...l, completed: I });
|
|
1148
|
+
let A, F = w;
|
|
1149
|
+
return M === !1 ? (A = t, F = t.length) : typeof M == "string" ? (A = M, F = M.length) : typeof M == "object" && M ? (A = M.value, F = M.cursor ?? M.value.length) : A = C, { value: A, cursor: F, completed: I };
|
|
1150
|
+
}
|
|
1151
|
+
function Ht(e, t) {
|
|
1152
|
+
const r = t?.strategy ?? "none";
|
|
1153
|
+
return r === "custom" && t?.unmask ? t.unmask(e) : r === "strip" ? e.replace(/[^A-Za-z0-9]/g, "") : e;
|
|
1154
|
+
}
|
|
1155
|
+
const Xe = (e) => {
|
|
1156
|
+
const {
|
|
1157
|
+
value: t,
|
|
1158
|
+
onBlur: r,
|
|
1159
|
+
onChange: n,
|
|
1160
|
+
onInput: s,
|
|
1161
|
+
onAccept: o,
|
|
1162
|
+
onComplete: l,
|
|
1163
|
+
mask: u,
|
|
1164
|
+
definitions: c,
|
|
1165
|
+
useDefaultDefinitions: f,
|
|
1166
|
+
extraLiterals: h,
|
|
1167
|
+
prefix: d,
|
|
1168
|
+
suffix: b,
|
|
1169
|
+
autofix: p,
|
|
1170
|
+
pipe: m,
|
|
1171
|
+
completion: x,
|
|
1172
|
+
unmask: _,
|
|
1173
|
+
allowMode: g,
|
|
1174
|
+
allow: v,
|
|
1175
|
+
placeholder: T,
|
|
1176
|
+
placeholderOptions: C
|
|
1177
|
+
} = e, y = B(
|
|
1178
|
+
t,
|
|
1179
|
+
u,
|
|
1180
|
+
c,
|
|
1181
|
+
f,
|
|
1182
|
+
h,
|
|
1183
|
+
d,
|
|
1184
|
+
b,
|
|
1185
|
+
p,
|
|
1186
|
+
x,
|
|
1187
|
+
_,
|
|
1188
|
+
g,
|
|
1189
|
+
T,
|
|
1190
|
+
C
|
|
1191
|
+
)((I, M, A, F, D, V, R, re, le, te, Q, ue, q) => M ? Ne(I ?? "", "", M, {
|
|
1192
|
+
definitions: A ?? {},
|
|
1193
|
+
useDefaultDefinitions: F ?? !0,
|
|
1194
|
+
extraLiterals: D ?? [],
|
|
1195
|
+
autofix: re ?? "none",
|
|
1196
|
+
completion: le ?? { mode: "mask" },
|
|
1197
|
+
pipe: m ?? ((U) => U),
|
|
1198
|
+
unmask: te ?? { strategy: "none" },
|
|
1199
|
+
allowMode: Q ?? "all",
|
|
1200
|
+
allow: v,
|
|
1201
|
+
prefix: V,
|
|
1202
|
+
suffix: R
|
|
1203
|
+
}).value : I ?? ""), w = (I, M) => {
|
|
1204
|
+
const A = I.value ?? "", F = i.get(t) ?? "", D = u != null ? i.get(u) : null, V = c != null ? i.get(c) : void 0, R = f != null ? i.get(f) : void 0, re = h != null ? i.get(h) : void 0, le = p != null ? i.get(p) : void 0, te = x != null ? i.get(x) : void 0, Q = _ != null ? i.get(_) : void 0, ue = g != null ? i.get(g) : void 0, q = d != null ? i.get(d) : void 0, U = b != null ? i.get(b) : void 0, {
|
|
1205
|
+
value: J,
|
|
1206
|
+
cursor: he,
|
|
1207
|
+
completed: De
|
|
1208
|
+
} = D ? Ne(
|
|
1209
|
+
A,
|
|
1210
|
+
F,
|
|
1211
|
+
D,
|
|
1212
|
+
{
|
|
1213
|
+
definitions: V ?? {},
|
|
1214
|
+
useDefaultDefinitions: R ?? !0,
|
|
1215
|
+
extraLiterals: re ?? [],
|
|
1216
|
+
autofix: le ?? "none",
|
|
1217
|
+
completion: te ?? { mode: "mask" },
|
|
1218
|
+
pipe: m ?? ((qe) => qe),
|
|
1219
|
+
unmask: Q ?? { strategy: "none" },
|
|
1220
|
+
allowMode: ue ?? "all",
|
|
1221
|
+
allow: v,
|
|
1222
|
+
prefix: q,
|
|
1223
|
+
suffix: U
|
|
1224
|
+
},
|
|
1225
|
+
I.selectionStart ?? A.length,
|
|
1226
|
+
e.cursor ? i.get(e.cursor) : void 0
|
|
1227
|
+
) : { value: A, cursor: A.length, completed: !0 };
|
|
1228
|
+
if (J !== A) {
|
|
1229
|
+
I.value = J;
|
|
1230
|
+
try {
|
|
1231
|
+
I.setSelectionRange(he, he);
|
|
1232
|
+
} catch {
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1235
|
+
const Se = Ht(J, Q);
|
|
1236
|
+
o?.({
|
|
1237
|
+
raw: Se,
|
|
1238
|
+
conformed: J,
|
|
1239
|
+
completed: De,
|
|
1240
|
+
cursor: he
|
|
1241
|
+
}), M === "input" ? s?.(J) : (n?.(J), De && l?.({ raw: Se, conformed: J }));
|
|
1242
|
+
};
|
|
1243
|
+
return P({
|
|
1244
|
+
...e,
|
|
1245
|
+
input: ee.text(
|
|
1246
|
+
H(e),
|
|
1247
|
+
a.value(y),
|
|
1248
|
+
a.class("bc-input"),
|
|
1249
|
+
r != null ? k.blur(r) : S,
|
|
1250
|
+
ie(
|
|
1251
|
+
(I) => I instanceof HTMLInputElement ? L(
|
|
1252
|
+
k.input(() => w(I, "input")),
|
|
1253
|
+
k.change(() => w(I, "change")),
|
|
1254
|
+
k.keydown((M) => {
|
|
1255
|
+
if (M.key !== "Backspace" || !(e.cursor ? i.get(e.cursor)?.backspaceRubberBand ?? !0 : !0)) return;
|
|
1256
|
+
const F = I.selectionStart ?? 0, D = I.selectionEnd ?? F;
|
|
1257
|
+
if (F !== D || F <= 0) return;
|
|
1258
|
+
const V = I.value ?? "", R = u != null ? i.get(u) : null;
|
|
1259
|
+
if (!R) return;
|
|
1260
|
+
const re = c != null ? i.get(c) : void 0, le = f != null ? i.get(f) : !0, te = d != null ? i.get(d) : void 0, Q = b != null ? i.get(b) : void 0, ue = Ye(
|
|
1261
|
+
typeof R == "function" ? R(V, {
|
|
1262
|
+
raw: V,
|
|
1263
|
+
previousConformed: V,
|
|
1264
|
+
cursor: F,
|
|
1265
|
+
completed: !1
|
|
1266
|
+
}) : R,
|
|
1267
|
+
re ?? {},
|
|
1268
|
+
le ?? !0
|
|
1269
|
+
), q = /* @__PURE__ */ new Set();
|
|
1270
|
+
for (const U of ue)
|
|
1271
|
+
U.type === "literal" && q.add(U.char);
|
|
1272
|
+
if (te) for (const U of te) q.add(U);
|
|
1273
|
+
if (Q) for (const U of Q) q.add(U);
|
|
1274
|
+
if (q.has(V[F - 1])) {
|
|
1275
|
+
let U = F - 1;
|
|
1276
|
+
for (; U >= 0 && q.has(V[U]); ) U--;
|
|
1277
|
+
U >= 0 && (M.preventDefault(), M.stopPropagation(), I.value = V.slice(0, U) + V.slice(U + 1), w(I, "input"));
|
|
1278
|
+
}
|
|
1279
|
+
})
|
|
1280
|
+
) : S
|
|
1281
|
+
)
|
|
1282
|
+
)
|
|
1283
|
+
});
|
|
1284
|
+
};
|
|
1285
|
+
function X(e, t, r) {
|
|
1286
|
+
const n = i.map(e, (o) => o != null), s = ye.clearValue;
|
|
1287
|
+
return E(
|
|
1288
|
+
n,
|
|
1289
|
+
() => $.button(
|
|
1290
|
+
a.type("button"),
|
|
1291
|
+
a.class("bc-input-container__reset"),
|
|
1292
|
+
N.label(s),
|
|
1293
|
+
a.title(s),
|
|
1294
|
+
a.disabled(t ?? !1),
|
|
1295
|
+
z({ icon: "mdi:close", size: "sm" }),
|
|
1296
|
+
k.click((o) => {
|
|
1297
|
+
o.preventDefault(), o.stopPropagation(), r?.(null);
|
|
1298
|
+
})
|
|
1299
|
+
)
|
|
1300
|
+
);
|
|
1301
|
+
}
|
|
1302
|
+
const wn = (e) => {
|
|
1303
|
+
const { value: t, onBlur: r, onChange: n, after: s, disabled: o } = e, l = X(t, o, n);
|
|
1304
|
+
return P({
|
|
1305
|
+
...e,
|
|
1306
|
+
input: ee.date(
|
|
1307
|
+
H(e),
|
|
1308
|
+
a.valueAsDate(t),
|
|
1309
|
+
a.class("bc-input"),
|
|
1310
|
+
r != null ? k.blur(j(r)) : S,
|
|
1311
|
+
n != null ? k.change(Ke(n)) : S
|
|
1312
|
+
),
|
|
1313
|
+
after: s != null ? L(l, s) : l
|
|
1314
|
+
});
|
|
1315
|
+
}, Wt = (e) => {
|
|
1316
|
+
const t = e.getFullYear(), r = e.getMonth() + 1, n = e.getDate(), s = e.getHours(), o = e.getMinutes(), l = e.getSeconds();
|
|
1317
|
+
return `${t}-${r.toString().padStart(2, "0")}-${n.toString().padStart(2, "0")}T${s.toString().padStart(2, "0")}:${o.toString().padStart(2, "0")}:${l.toString().padStart(2, "0")}`;
|
|
1318
|
+
}, _n = (e) => {
|
|
1319
|
+
const { value: t, onBlur: r, onChange: n, after: s, disabled: o } = e, l = i.map(t, (c) => c != null ? Wt(c) : null), u = X(t, o, n);
|
|
1320
|
+
return P({
|
|
1321
|
+
...e,
|
|
1322
|
+
input: ee["datetime-local"](
|
|
1323
|
+
H(e),
|
|
1324
|
+
a.value(i.map(l, (c) => c ?? null)),
|
|
1325
|
+
a.class("bc-input"),
|
|
1326
|
+
r != null ? k.blur(j(r)) : S,
|
|
1327
|
+
n != null ? k.change(et(n)) : S
|
|
1328
|
+
),
|
|
1329
|
+
after: s != null ? L(u, s) : u
|
|
1330
|
+
});
|
|
1331
|
+
}, Y = (e) => typeof e == "string" && e.trim() === "" ? null : e, se = (e) => e ?? "", $n = (e) => {
|
|
1332
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, after: o, disabled: l, ...u } = e, c = X(t, l, n);
|
|
1333
|
+
return it({
|
|
1334
|
+
...u,
|
|
1335
|
+
value: i.map(t, se),
|
|
1336
|
+
onChange: n != null ? (f) => n(Y(f)) : void 0,
|
|
1337
|
+
onInput: s != null ? (f) => s(Y(f)) : void 0,
|
|
1338
|
+
onBlur: r,
|
|
1339
|
+
after: o != null ? L(c, o) : c
|
|
1340
|
+
});
|
|
1341
|
+
}, yn = (e) => {
|
|
1342
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, after: o, disabled: l, ...u } = e, c = X(t, l, n);
|
|
1343
|
+
return ut({
|
|
1344
|
+
...u,
|
|
1345
|
+
value: i.map(t, se),
|
|
1346
|
+
onChange: n != null ? (f) => n(Y(f)) : void 0,
|
|
1347
|
+
onInput: s != null ? (f) => s(Y(f)) : void 0,
|
|
1348
|
+
onBlur: r,
|
|
1349
|
+
after: o != null ? L(c, o) : c
|
|
1350
|
+
});
|
|
1351
|
+
}, In = (e) => {
|
|
1352
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, after: o, disabled: l, ...u } = e, c = X(t, l, n);
|
|
1353
|
+
return pt({
|
|
1354
|
+
...u,
|
|
1355
|
+
value: i.map(t, se),
|
|
1356
|
+
onChange: n != null ? (f) => n(Y(f)) : void 0,
|
|
1357
|
+
onInput: s != null ? (f) => s(Y(f)) : void 0,
|
|
1358
|
+
onBlur: r,
|
|
1359
|
+
after: o != null ? L(c, o) : c
|
|
1360
|
+
});
|
|
1361
|
+
}, Zt = (e) => {
|
|
1362
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, rows: o } = e;
|
|
1363
|
+
return P({
|
|
1364
|
+
...e,
|
|
1365
|
+
input: $.textarea(
|
|
1366
|
+
H(e),
|
|
1367
|
+
a.rows(o ?? 3),
|
|
1368
|
+
a.value(t),
|
|
1369
|
+
a.class("bc-input"),
|
|
1370
|
+
r != null ? k.blur(j(r)) : S,
|
|
1371
|
+
n != null ? k.change(j(n)) : S,
|
|
1372
|
+
s != null ? k.input(j(s)) : S
|
|
1373
|
+
)
|
|
1374
|
+
});
|
|
1375
|
+
}, kn = (e) => {
|
|
1376
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, after: o, disabled: l, ...u } = e, c = X(t, l, n);
|
|
1377
|
+
return Zt({
|
|
1378
|
+
...u,
|
|
1379
|
+
value: i.map(t, se),
|
|
1380
|
+
onChange: n != null ? (f) => n(Y(f)) : void 0,
|
|
1381
|
+
onInput: s != null ? (f) => s(Y(f)) : void 0,
|
|
1382
|
+
onBlur: r,
|
|
1383
|
+
after: o != null ? L(c, o) : c
|
|
1384
|
+
});
|
|
1385
|
+
}, Cn = (e) => {
|
|
1386
|
+
const { value: t, step: r, min: n, max: s, onBlur: o, onChange: l, onInput: u, after: c } = e, f = (b) => {
|
|
1387
|
+
const p = n != null ? i.get(n) : void 0, m = s != null ? i.get(s) : void 0;
|
|
1388
|
+
return p != null && b < p ? p : m != null && b > m ? m : b;
|
|
1389
|
+
}, h = r != null ? O(W, (b) => {
|
|
1390
|
+
const p = B(
|
|
1391
|
+
t,
|
|
1392
|
+
n
|
|
1393
|
+
)((g, v) => v == null ? !0 : (g ?? 0) > v), m = B(
|
|
1394
|
+
t,
|
|
1395
|
+
s
|
|
1396
|
+
)((g, v) => v == null ? !0 : (g ?? 0) < v), x = (g) => {
|
|
1397
|
+
const v = i.get(t) ?? 0, T = i.get(r), C = g?.shiftKey ? 10 : 1, y = v - T * C, w = n != null ? i.get(n) : void 0;
|
|
1398
|
+
if (w != null && y < w)
|
|
1399
|
+
return;
|
|
1400
|
+
const I = f(y);
|
|
1401
|
+
I !== v && l && l(I);
|
|
1402
|
+
}, _ = (g) => {
|
|
1403
|
+
const v = i.get(t) ?? 0, T = i.get(r), C = g?.shiftKey ? 10 : 1, y = v + T * C, w = s != null ? i.get(s) : void 0;
|
|
1404
|
+
if (w != null && y > w)
|
|
1405
|
+
return;
|
|
1406
|
+
const I = f(y);
|
|
1407
|
+
I !== v && l && l(I);
|
|
1408
|
+
};
|
|
1409
|
+
return ne(
|
|
1410
|
+
a.class("bc-number-input-steppers"),
|
|
1411
|
+
// Increment second
|
|
1412
|
+
$.button(
|
|
1413
|
+
a.class(
|
|
1414
|
+
"bc-button bc-number-input-steppers-button bc-number-input-steppers-button--increment"
|
|
1415
|
+
),
|
|
1416
|
+
a.disabled(
|
|
1417
|
+
B(
|
|
1418
|
+
m,
|
|
1419
|
+
e.disabled ?? !1
|
|
1420
|
+
)((g, v) => !g || v)
|
|
1421
|
+
),
|
|
1422
|
+
k.click((g) => _(g)),
|
|
1423
|
+
N.label(b.$.incrementValue),
|
|
1424
|
+
z({ icon: "line-md:plus", size: "xs" })
|
|
1425
|
+
),
|
|
1426
|
+
// Decrement first (matches tests expecting first button to be decrement)
|
|
1427
|
+
$.button(
|
|
1428
|
+
a.class(
|
|
1429
|
+
"bc-button bc-number-input-steppers-button bc-number-input-steppers-button--decrement"
|
|
1430
|
+
),
|
|
1431
|
+
a.disabled(
|
|
1432
|
+
B(
|
|
1433
|
+
p,
|
|
1434
|
+
e.disabled ?? !1
|
|
1435
|
+
)((g, v) => !g || v)
|
|
1436
|
+
),
|
|
1437
|
+
k.click((g) => x(g)),
|
|
1438
|
+
N.label(b.$.decrementValue),
|
|
1439
|
+
z({ icon: "line-md:minus", size: "xs" })
|
|
1440
|
+
)
|
|
1441
|
+
);
|
|
1442
|
+
}) : null, d = c != null && h != null ? L(h, c) : c ?? h;
|
|
1443
|
+
return P({
|
|
1444
|
+
...e,
|
|
1445
|
+
input: ee.number(
|
|
1446
|
+
n != null ? L(
|
|
1447
|
+
a.min(n),
|
|
1448
|
+
Z(
|
|
1449
|
+
i.on(n, (b) => {
|
|
1450
|
+
b < i.get(t);
|
|
1451
|
+
})
|
|
1452
|
+
)
|
|
1453
|
+
) : S,
|
|
1454
|
+
s != null ? L(
|
|
1455
|
+
a.max(s),
|
|
1456
|
+
Z(
|
|
1457
|
+
i.on(s, (b) => {
|
|
1458
|
+
b > i.get(t);
|
|
1459
|
+
})
|
|
1460
|
+
)
|
|
1461
|
+
) : S,
|
|
1462
|
+
H(e),
|
|
1463
|
+
a.valueAsNumber(t),
|
|
1464
|
+
a.step(r),
|
|
1465
|
+
a.class("bc-input bc-number-input"),
|
|
1466
|
+
o != null ? k.blur(j(o)) : S,
|
|
1467
|
+
l != null ? k.change(G(l)) : S,
|
|
1468
|
+
u != null ? k.input(G(u)) : S,
|
|
1469
|
+
// Add wheel event support when step is defined
|
|
1470
|
+
r != null ? k.wheel((b) => {
|
|
1471
|
+
b.preventDefault();
|
|
1472
|
+
const p = i.get(t) ?? 0, m = i.get(r), x = b.shiftKey ? 10 : 1, _ = b.deltaY < 0 ? m * x : -m * x, g = f(p + _);
|
|
1473
|
+
g !== p && l && l(g);
|
|
1474
|
+
}) : S
|
|
1475
|
+
),
|
|
1476
|
+
after: d
|
|
1477
|
+
});
|
|
1478
|
+
}, ze = (e) => {
|
|
1479
|
+
if (e == null || e === "") return null;
|
|
1480
|
+
const t = Number(e);
|
|
1481
|
+
return Number.isNaN(t) ? null : t;
|
|
1482
|
+
}, Mn = (e) => {
|
|
1483
|
+
const { value: t, step: r, min: n, max: s, onBlur: o, onChange: l, onInput: u, after: c } = e, f = (p) => {
|
|
1484
|
+
const m = n != null ? i.get(n) : void 0, x = s != null ? i.get(s) : void 0;
|
|
1485
|
+
return m != null && p < m ? m : x != null && p > x ? x : p;
|
|
1486
|
+
}, h = (() => {
|
|
1487
|
+
if (r == null) return null;
|
|
1488
|
+
const p = B(
|
|
1489
|
+
t,
|
|
1490
|
+
n
|
|
1491
|
+
)((v, T) => {
|
|
1492
|
+
const C = v ?? 0;
|
|
1493
|
+
return T == null ? !0 : C > T;
|
|
1494
|
+
}), m = B(
|
|
1495
|
+
t,
|
|
1496
|
+
s
|
|
1497
|
+
)((v, T) => {
|
|
1498
|
+
const C = v ?? 0;
|
|
1499
|
+
return T == null ? !0 : C < T;
|
|
1500
|
+
}), x = (v) => {
|
|
1501
|
+
const T = i.get(t) ?? 0, C = i.get(r), y = v?.shiftKey ? 10 : 1, w = T - C * y, I = n != null ? i.get(n) : void 0;
|
|
1502
|
+
if (I != null && w < I) return;
|
|
1503
|
+
const M = f(w);
|
|
1504
|
+
M !== T && l && l(M);
|
|
1505
|
+
}, _ = (v) => {
|
|
1506
|
+
const T = i.get(t) ?? 0, C = i.get(r), y = v?.shiftKey ? 10 : 1, w = T + C * y, I = s != null ? i.get(s) : void 0;
|
|
1507
|
+
if (I != null && w > I) return;
|
|
1508
|
+
const M = f(w);
|
|
1509
|
+
M !== T && l && l(M);
|
|
1510
|
+
};
|
|
1511
|
+
return ((v, T) => ne(
|
|
1512
|
+
a.class("bc-number-input-steppers"),
|
|
1513
|
+
$.button(
|
|
1514
|
+
a.class(
|
|
1515
|
+
"bc-button bc-number-input-steppers-button bc-number-input-steppers-button--increment"
|
|
1516
|
+
),
|
|
1517
|
+
a.disabled(
|
|
1518
|
+
B(
|
|
1519
|
+
m,
|
|
1520
|
+
e.disabled ?? !1
|
|
1521
|
+
)((C, y) => !C || y)
|
|
1522
|
+
),
|
|
1523
|
+
k.click((C) => _(C)),
|
|
1524
|
+
N.label(v),
|
|
1525
|
+
z({ icon: "line-md:plus", size: "xs" })
|
|
1526
|
+
),
|
|
1527
|
+
$.button(
|
|
1528
|
+
a.class(
|
|
1529
|
+
"bc-button bc-number-input-steppers-button bc-number-input-steppers-button--decrement"
|
|
1530
|
+
),
|
|
1531
|
+
a.disabled(
|
|
1532
|
+
B(
|
|
1533
|
+
p,
|
|
1534
|
+
e.disabled ?? !1
|
|
1535
|
+
)((C, y) => !C || y)
|
|
1536
|
+
),
|
|
1537
|
+
k.click((C) => x(C)),
|
|
1538
|
+
N.label(T),
|
|
1539
|
+
z({ icon: "line-md:minus", size: "xs" })
|
|
1540
|
+
)
|
|
1541
|
+
))(
|
|
1542
|
+
ye.incrementValue,
|
|
1543
|
+
ye.decrementValue
|
|
1544
|
+
);
|
|
1545
|
+
})(), d = X(t, e.disabled, l), b = c != null && h != null ? L(h, d, c) : c != null ? L(d, c) : h != null ? L(h, d) : d;
|
|
1546
|
+
return P({
|
|
1547
|
+
...e,
|
|
1548
|
+
input: ee.number(
|
|
1549
|
+
// min/max attributes and reactive watchers (no forced correction)
|
|
1550
|
+
n != null ? L(
|
|
1551
|
+
a.min(n),
|
|
1552
|
+
Z(
|
|
1553
|
+
i.on(n, (p) => {
|
|
1554
|
+
})
|
|
1555
|
+
)
|
|
1556
|
+
) : S,
|
|
1557
|
+
s != null ? L(
|
|
1558
|
+
a.max(s),
|
|
1559
|
+
Z(
|
|
1560
|
+
i.on(s, (p) => {
|
|
1561
|
+
})
|
|
1562
|
+
)
|
|
1563
|
+
) : S,
|
|
1564
|
+
H(e),
|
|
1565
|
+
// Represent null as empty string so the field can be cleared
|
|
1566
|
+
a.value(i.map(t, (p) => p == null ? "" : String(p))),
|
|
1567
|
+
a.step(r),
|
|
1568
|
+
a.class("bc-input bc-number-input"),
|
|
1569
|
+
o != null ? k.blur(j(o)) : S,
|
|
1570
|
+
l != null ? k.change(
|
|
1571
|
+
j((p) => {
|
|
1572
|
+
const m = ze(p);
|
|
1573
|
+
l(m);
|
|
1574
|
+
})
|
|
1575
|
+
) : S,
|
|
1576
|
+
u != null ? k.input(
|
|
1577
|
+
j((p) => {
|
|
1578
|
+
const m = ze(p);
|
|
1579
|
+
u(m);
|
|
1580
|
+
})
|
|
1581
|
+
) : S,
|
|
1582
|
+
// Wheel support when step is defined
|
|
1583
|
+
r != null ? k.wheel((p) => {
|
|
1584
|
+
p.preventDefault();
|
|
1585
|
+
const m = i.get(t) ?? 0, x = i.get(r), _ = p.shiftKey ? 10 : 1, g = p.deltaY < 0 ? x * _ : -x * _, v = f(m + g);
|
|
1586
|
+
v !== m && l && l(v);
|
|
1587
|
+
}) : S
|
|
1588
|
+
),
|
|
1589
|
+
after: b
|
|
1590
|
+
});
|
|
1591
|
+
}, Tn = ({
|
|
1592
|
+
value: e,
|
|
1593
|
+
onChange: t,
|
|
1594
|
+
offLabel: r,
|
|
1595
|
+
onLabel: n,
|
|
1596
|
+
label: s,
|
|
1597
|
+
disabled: o = !1,
|
|
1598
|
+
size: l = "md",
|
|
1599
|
+
id: u
|
|
1600
|
+
}) => {
|
|
1601
|
+
const c = u ?? ft("switch"), f = `${c}-label`;
|
|
1602
|
+
function h(p, m) {
|
|
1603
|
+
const x = [
|
|
1604
|
+
"bc-switch",
|
|
1605
|
+
`bc-switch--size-${m}`,
|
|
1606
|
+
`bc-switch--${m}`
|
|
1607
|
+
];
|
|
1608
|
+
return p && x.push("bc-switch--disabled"), x.join(" ");
|
|
1609
|
+
}
|
|
1610
|
+
const d = () => {
|
|
1611
|
+
i.get(o) || t(!i.get(e));
|
|
1612
|
+
}, b = (p) => {
|
|
1613
|
+
i.get(o) || (p.key === " " || p.key === "Enter") && (p.preventDefault(), d());
|
|
1614
|
+
};
|
|
1615
|
+
return $.div(
|
|
1616
|
+
a.class(
|
|
1617
|
+
B(
|
|
1618
|
+
o ?? !1,
|
|
1619
|
+
l
|
|
1620
|
+
)(
|
|
1621
|
+
(p, m) => h(p ?? !1, m ?? "md")
|
|
1622
|
+
)
|
|
1623
|
+
),
|
|
1624
|
+
a.id(c),
|
|
1625
|
+
a.role("switch"),
|
|
1626
|
+
a.tabindex(
|
|
1627
|
+
i.map(o, (p) => p ? -1 : 0)
|
|
1628
|
+
),
|
|
1629
|
+
N.checked(e),
|
|
1630
|
+
N.disabled(o),
|
|
1631
|
+
N.labelledby(s != null ? f : void 0),
|
|
1632
|
+
k.click(d),
|
|
1633
|
+
k.keydown(b),
|
|
1634
|
+
s != null ? dt(
|
|
1635
|
+
a.id(f),
|
|
1636
|
+
a.class(
|
|
1637
|
+
`bc-switch__label bc-switch__label--size-${l} bc-switch__label--nowrap`
|
|
1638
|
+
),
|
|
1639
|
+
s
|
|
1640
|
+
) : null,
|
|
1641
|
+
$.div(
|
|
1642
|
+
a.class("bc-switch__track"),
|
|
1643
|
+
a.class(
|
|
1644
|
+
i.map(
|
|
1645
|
+
e,
|
|
1646
|
+
(p) => p ? "bc-switch__track--on" : "bc-switch__track--off"
|
|
1647
|
+
)
|
|
1648
|
+
),
|
|
1649
|
+
r != null ? $.div(
|
|
1650
|
+
N.hidden(!0),
|
|
1651
|
+
a.class("bc-switch__track-label bc-switch__track-label--off"),
|
|
1652
|
+
a.class(
|
|
1653
|
+
i.map(
|
|
1654
|
+
e,
|
|
1655
|
+
(p) => p ? "bc-switch__track-label--hidden" : "bc-switch__track-label--visible"
|
|
1656
|
+
)
|
|
1657
|
+
),
|
|
1658
|
+
r
|
|
1659
|
+
) : null,
|
|
1660
|
+
n != null ? $.div(
|
|
1661
|
+
a.class("bc-switch__track-label bc-switch__track-label--on"),
|
|
1662
|
+
a.class(
|
|
1663
|
+
i.map(
|
|
1664
|
+
e,
|
|
1665
|
+
(p) => p ? "bc-switch__track-label--visible" : "bc-switch__track-label--hidden"
|
|
1666
|
+
)
|
|
1667
|
+
),
|
|
1668
|
+
n
|
|
1669
|
+
) : null,
|
|
1670
|
+
je(
|
|
1671
|
+
(p) => O(
|
|
1672
|
+
mt,
|
|
1673
|
+
({ direction: m }) => $.div(
|
|
1674
|
+
a.class("bc-switch__thumb"),
|
|
1675
|
+
a.class(
|
|
1676
|
+
i.map(
|
|
1677
|
+
e,
|
|
1678
|
+
(x) => x ? "bc-switch__thumb--on" : "bc-switch__thumb--off"
|
|
1679
|
+
)
|
|
1680
|
+
),
|
|
1681
|
+
fe.transform(
|
|
1682
|
+
B(
|
|
1683
|
+
e,
|
|
1684
|
+
p,
|
|
1685
|
+
l,
|
|
1686
|
+
m
|
|
1687
|
+
)((x, { width: _ }, g, v) => {
|
|
1688
|
+
const T = (() => {
|
|
1689
|
+
switch (g) {
|
|
1690
|
+
case "xs":
|
|
1691
|
+
return 5;
|
|
1692
|
+
case "sm":
|
|
1693
|
+
return 5.5;
|
|
1694
|
+
case "md":
|
|
1695
|
+
return 6;
|
|
1696
|
+
case "lg":
|
|
1697
|
+
return 7;
|
|
1698
|
+
case "xl":
|
|
1699
|
+
return 8;
|
|
1700
|
+
}
|
|
1701
|
+
})(), C = v === "rtl" ? `calc((var(--spacing-base) * ${T}) - ${_}px)` : `calc(${_}px - (var(--spacing-base) * ${T}))`;
|
|
1702
|
+
return x ? `translateX(${C})` : "translateX(0)";
|
|
1703
|
+
})
|
|
1704
|
+
)
|
|
1705
|
+
)
|
|
1706
|
+
)
|
|
1707
|
+
)
|
|
1708
|
+
)
|
|
1709
|
+
);
|
|
1710
|
+
}, Yt = (e) => {
|
|
1711
|
+
const t = {
|
|
1712
|
+
type: "pattern",
|
|
1713
|
+
pattern: /[0-9A-Fa-f]/,
|
|
1714
|
+
transform: (n) => n.toLowerCase()
|
|
1715
|
+
};
|
|
1716
|
+
return Xe({
|
|
1717
|
+
...e,
|
|
1718
|
+
mask: [
|
|
1719
|
+
t,
|
|
1720
|
+
t,
|
|
1721
|
+
t,
|
|
1722
|
+
t,
|
|
1723
|
+
t,
|
|
1724
|
+
t,
|
|
1725
|
+
t,
|
|
1726
|
+
t,
|
|
1727
|
+
"-",
|
|
1728
|
+
t,
|
|
1729
|
+
t,
|
|
1730
|
+
t,
|
|
1731
|
+
t,
|
|
1732
|
+
"-",
|
|
1733
|
+
t,
|
|
1734
|
+
t,
|
|
1735
|
+
t,
|
|
1736
|
+
t,
|
|
1737
|
+
"-",
|
|
1738
|
+
t,
|
|
1739
|
+
t,
|
|
1740
|
+
t,
|
|
1741
|
+
t,
|
|
1742
|
+
"-",
|
|
1743
|
+
t,
|
|
1744
|
+
t,
|
|
1745
|
+
t,
|
|
1746
|
+
t,
|
|
1747
|
+
t,
|
|
1748
|
+
t,
|
|
1749
|
+
t,
|
|
1750
|
+
t,
|
|
1751
|
+
t,
|
|
1752
|
+
t,
|
|
1753
|
+
t,
|
|
1754
|
+
t
|
|
1755
|
+
],
|
|
1756
|
+
// Sensible default placeholder; can be overridden via options.placeholder
|
|
1757
|
+
placeholder: e.placeholder ?? "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
1758
|
+
});
|
|
1759
|
+
}, Dn = (e) => {
|
|
1760
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, after: o, disabled: l, ...u } = e, c = X(t, l, n);
|
|
1761
|
+
return Yt({
|
|
1762
|
+
...u,
|
|
1763
|
+
value: i.map(t, se),
|
|
1764
|
+
onChange: n != null ? (f) => n(Y(f)) : void 0,
|
|
1765
|
+
onInput: s != null ? (f) => s(Y(f)) : void 0,
|
|
1766
|
+
onBlur: r,
|
|
1767
|
+
after: o != null ? L(c, o) : c
|
|
1768
|
+
});
|
|
1769
|
+
}, Xt = "line-md:star-alt-filled", qt = "line-md:star-alt", Gt = (e) => {
|
|
1770
|
+
const {
|
|
1771
|
+
value: t,
|
|
1772
|
+
onChange: r,
|
|
1773
|
+
disabled: n,
|
|
1774
|
+
max: s = 5,
|
|
1775
|
+
fullColor: o = "yellow",
|
|
1776
|
+
emptyColor: l = "neutral",
|
|
1777
|
+
fullIcon: u = Xt,
|
|
1778
|
+
emptyIcon: c = qt,
|
|
1779
|
+
size: f = "md",
|
|
1780
|
+
onBlur: h,
|
|
1781
|
+
rounding: d = 1
|
|
1782
|
+
} = e, b = () => {
|
|
1783
|
+
const v = i.get(d);
|
|
1784
|
+
return v > 0 ? v : 1;
|
|
1785
|
+
}, p = (v) => Math.min(Math.max(v, 0), i.get(s)), m = (v, T) => {
|
|
1786
|
+
if (i.get(n ?? !1)) return;
|
|
1787
|
+
const y = v.currentTarget.getBoundingClientRect(), w = (v.clientX - y.left) / y.width, I = T - 1 + w, M = b(), A = Math.ceil(I / M) * M, F = p(A);
|
|
1788
|
+
r?.(F);
|
|
1789
|
+
}, x = (v) => {
|
|
1790
|
+
if (i.get(n ?? !1)) return;
|
|
1791
|
+
const T = b(), C = i.get(t) ?? 0;
|
|
1792
|
+
let y;
|
|
1793
|
+
switch (v.key) {
|
|
1794
|
+
case "ArrowRight":
|
|
1795
|
+
case "ArrowUp":
|
|
1796
|
+
y = p(C + T);
|
|
1797
|
+
break;
|
|
1798
|
+
case "ArrowLeft":
|
|
1799
|
+
case "ArrowDown":
|
|
1800
|
+
y = p(C - T);
|
|
1801
|
+
break;
|
|
1802
|
+
case "Home":
|
|
1803
|
+
y = 0;
|
|
1804
|
+
break;
|
|
1805
|
+
case "End":
|
|
1806
|
+
y = i.get(s);
|
|
1807
|
+
break;
|
|
1808
|
+
default:
|
|
1809
|
+
return;
|
|
1810
|
+
}
|
|
1811
|
+
v.preventDefault(), r?.(y);
|
|
1812
|
+
}, _ = i.map(f, (v) => `bc-icon--${v}`), g = ({ index: v, counter: T }) => $.span(
|
|
1813
|
+
a.class("bc-rating-input__icon-container"),
|
|
1814
|
+
a.class(_),
|
|
1815
|
+
z(
|
|
1816
|
+
{ icon: c, size: f, color: l, tone: "soft" },
|
|
1817
|
+
a.class("bc-rating-input__icon-empty")
|
|
1818
|
+
),
|
|
1819
|
+
$.span(
|
|
1820
|
+
a.class("bc-rating-input__icon-clipper"),
|
|
1821
|
+
a.class(_),
|
|
1822
|
+
fe.width(
|
|
1823
|
+
i.map(t, (C) => {
|
|
1824
|
+
const y = Math.floor(C);
|
|
1825
|
+
return y > v ? "100%" : y < v ? "0%" : `${(C - v) * 100}%`;
|
|
1826
|
+
})
|
|
1827
|
+
),
|
|
1828
|
+
z(
|
|
1829
|
+
{ icon: u, size: f, color: o, tone: "soft" },
|
|
1830
|
+
a.class("bc-rating-input__icon-full")
|
|
1831
|
+
)
|
|
1832
|
+
),
|
|
1833
|
+
k.click(
|
|
1834
|
+
tt((C) => m(C, T), {
|
|
1835
|
+
preventDefault: !0,
|
|
1836
|
+
stopPropagation: !0
|
|
1837
|
+
})
|
|
1838
|
+
)
|
|
1839
|
+
);
|
|
1840
|
+
return P({
|
|
1841
|
+
baseContainer: !0,
|
|
1842
|
+
growInput: !1,
|
|
1843
|
+
focusableSelector: '[role="slider"]',
|
|
1844
|
+
...e,
|
|
1845
|
+
input: $.div(
|
|
1846
|
+
// Common input attributes (id, required, invalid, custom classes, etc.)
|
|
1847
|
+
H(e),
|
|
1848
|
+
a.class("bc-rating-input"),
|
|
1849
|
+
// ARIA slider semantics
|
|
1850
|
+
a.role("slider"),
|
|
1851
|
+
a.tabindex(i.map(n ?? !1, (v) => v ? -1 : 0)),
|
|
1852
|
+
N.disabled(n ?? !1),
|
|
1853
|
+
N.valuemin(0),
|
|
1854
|
+
N.valuemax(i.map(s, (v) => v ?? 0)),
|
|
1855
|
+
N.valuenow(i.map(t, (v) => v ?? 0)),
|
|
1856
|
+
N.valuetext(
|
|
1857
|
+
B(
|
|
1858
|
+
t,
|
|
1859
|
+
s
|
|
1860
|
+
)((v, T) => {
|
|
1861
|
+
const C = v ?? 0, y = T ?? 0;
|
|
1862
|
+
return `${String(C)} / ${String(y)}`;
|
|
1863
|
+
})
|
|
1864
|
+
),
|
|
1865
|
+
// Keyboard & focus handlers
|
|
1866
|
+
k.keydown(x),
|
|
1867
|
+
h != null ? k.blur(h) : null,
|
|
1868
|
+
Oe(s, g)
|
|
1869
|
+
)
|
|
1870
|
+
});
|
|
1871
|
+
}, Sn = (e) => {
|
|
1872
|
+
const { value: t, onChange: r, onBlur: n, after: s, disabled: o, ...l } = e, u = X(t, o, r);
|
|
1873
|
+
return Gt({
|
|
1874
|
+
...l,
|
|
1875
|
+
// Map null -> 0 for display so the control shows as empty when null
|
|
1876
|
+
value: i.map(t, (c) => c ?? 0),
|
|
1877
|
+
// Pass through numeric changes; clear button will call onChange(null)
|
|
1878
|
+
onChange: r,
|
|
1879
|
+
onBlur: n,
|
|
1880
|
+
after: s != null ? L(u, s) : u
|
|
1881
|
+
});
|
|
1882
|
+
}, An = (e) => {
|
|
1883
|
+
const { value: t, step: r, min: n, max: s, onBlur: o, onChange: l, onInput: u } = e;
|
|
1884
|
+
return P({
|
|
1885
|
+
...e,
|
|
1886
|
+
// Make sure clicks anywhere focus the range input
|
|
1887
|
+
focusableSelector: 'input[type="range"]',
|
|
1888
|
+
input: $.input(
|
|
1889
|
+
a.type("range"),
|
|
1890
|
+
H(e),
|
|
1891
|
+
a.min(n),
|
|
1892
|
+
a.max(s),
|
|
1893
|
+
a.step(r),
|
|
1894
|
+
// Using value as number to keep it in sync
|
|
1895
|
+
a.valueAsNumber(t),
|
|
1896
|
+
a.class("bc-input bc-slider-input"),
|
|
1897
|
+
o != null ? k.blur(G(o)) : S,
|
|
1898
|
+
l != null ? k.change(G(l)) : S,
|
|
1899
|
+
u != null ? k.input(G(u)) : S
|
|
1900
|
+
)
|
|
1901
|
+
});
|
|
1902
|
+
}, Fn = (e) => {
|
|
1903
|
+
const { value: t, step: r, min: n, max: s, onBlur: o, onChange: l, onInput: u } = e, c = i.map(t, (h) => {
|
|
1904
|
+
if (h != null) return h;
|
|
1905
|
+
const d = n != null ? i.get(n) : void 0;
|
|
1906
|
+
return typeof d == "number" ? d : 0;
|
|
1907
|
+
}), f = X(t, e.disabled, (h) => {
|
|
1908
|
+
l?.(h);
|
|
1909
|
+
});
|
|
1910
|
+
return P(
|
|
1911
|
+
{
|
|
1912
|
+
...e,
|
|
1913
|
+
focusableSelector: 'input[type="range"]',
|
|
1914
|
+
after: f,
|
|
1915
|
+
input: $.input(
|
|
1916
|
+
a.type("range"),
|
|
1917
|
+
H(e),
|
|
1918
|
+
a.min(n),
|
|
1919
|
+
a.max(s),
|
|
1920
|
+
a.step(r),
|
|
1921
|
+
a.valueAsNumber(c),
|
|
1922
|
+
a.class("bc-input bc-slider-input"),
|
|
1923
|
+
o != null ? k.blur(G(o)) : S,
|
|
1924
|
+
l != null ? k.change(
|
|
1925
|
+
G((h) => {
|
|
1926
|
+
l(h);
|
|
1927
|
+
})
|
|
1928
|
+
) : S,
|
|
1929
|
+
u != null ? k.input(
|
|
1930
|
+
G((h) => {
|
|
1931
|
+
u(h);
|
|
1932
|
+
})
|
|
1933
|
+
) : S
|
|
1934
|
+
)
|
|
1935
|
+
},
|
|
1936
|
+
// Ensure container grows input naturally
|
|
1937
|
+
L()
|
|
1938
|
+
);
|
|
1939
|
+
};
|
|
1940
|
+
let _e = null;
|
|
1941
|
+
async function Me() {
|
|
1942
|
+
const e = globalThis;
|
|
1943
|
+
return e.Temporal ? e.Temporal : (_e || (_e = import("./index.esm-DPNh6inz.js").then((t) => {
|
|
1944
|
+
const r = t.Temporal;
|
|
1945
|
+
return e.Temporal || (e.Temporal = r), r;
|
|
1946
|
+
})), _e);
|
|
1947
|
+
}
|
|
1948
|
+
const Qt = (e, t) => t ? Be(Me, {
|
|
1949
|
+
then: e,
|
|
1950
|
+
pending: t.pending,
|
|
1951
|
+
error: t.error
|
|
1952
|
+
}) : Be(Me, e), Jt = /^P(\d+([YMWD]|$)){0,4}(T(\d+([HMS]|$)){0,3})?$/i, Kt = /^P(?:(\d+Y)?(\d+M)?(\d+W)?(\d+D)?)(T(\d+H)?(\d+M)?(\d+S)?)?$/i;
|
|
1953
|
+
function en(e) {
|
|
1954
|
+
return {
|
|
1955
|
+
mask: null,
|
|
1956
|
+
allowMode: "custom",
|
|
1957
|
+
allow: (t) => /[0-9ptwdhms]/i.test(t),
|
|
1958
|
+
pipe: (t) => {
|
|
1959
|
+
const r = t.toUpperCase();
|
|
1960
|
+
return r.length === 0 ? r : !r.startsWith("P") || !Jt.test(r) ? !1 : r;
|
|
1961
|
+
},
|
|
1962
|
+
completion: {
|
|
1963
|
+
mode: "custom",
|
|
1964
|
+
isComplete: (t) => {
|
|
1965
|
+
const r = t.toUpperCase();
|
|
1966
|
+
if (!Kt.test(r)) return !1;
|
|
1967
|
+
try {
|
|
1968
|
+
return e(r), !0;
|
|
1969
|
+
} catch {
|
|
1970
|
+
return !1;
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
}
|
|
1974
|
+
};
|
|
1975
|
+
}
|
|
1976
|
+
const Re = (e, t) => {
|
|
1977
|
+
if (e == null) return null;
|
|
1978
|
+
try {
|
|
1979
|
+
return e.Duration.from(t);
|
|
1980
|
+
} catch {
|
|
1981
|
+
return null;
|
|
1982
|
+
}
|
|
1983
|
+
}, Bn = (e) => {
|
|
1984
|
+
const { value: t, onChange: r, after: n, disabled: s, onBlur: o } = e, l = () => {
|
|
1985
|
+
const f = X(t, s, r);
|
|
1986
|
+
return n != null ? L(f, n) : f;
|
|
1987
|
+
}, u = e.placeholder != null ? S : a.placeholder("P0DT0H0M0S");
|
|
1988
|
+
return Qt(
|
|
1989
|
+
(f) => Xe({
|
|
1990
|
+
...e,
|
|
1991
|
+
value: i.map(t, (h) => h?.toString() ?? ""),
|
|
1992
|
+
onChange: r ? (h) => r(h === "" ? null : f.Duration.from(h)) : void 0,
|
|
1993
|
+
onInput: void 0,
|
|
1994
|
+
...en(f.Duration.from),
|
|
1995
|
+
placeholder: "P0DT0H0M0S",
|
|
1996
|
+
after: l()
|
|
1997
|
+
}),
|
|
1998
|
+
{ pending: () => P({
|
|
1999
|
+
...e,
|
|
2000
|
+
input: ee.text(
|
|
2001
|
+
H(e),
|
|
2002
|
+
a.value(i.map(t, (f) => f?.toString() ?? "")),
|
|
2003
|
+
a.class("bc-input"),
|
|
2004
|
+
u,
|
|
2005
|
+
o != null ? k.blur(() => o()) : S,
|
|
2006
|
+
r != null ? k.change((f) => {
|
|
2007
|
+
const d = f.currentTarget?.value ?? "";
|
|
2008
|
+
if (d === "") {
|
|
2009
|
+
r(null);
|
|
2010
|
+
return;
|
|
2011
|
+
}
|
|
2012
|
+
const b = globalThis.Temporal, p = Re(b, d);
|
|
2013
|
+
if (p != null) {
|
|
2014
|
+
r(p);
|
|
2015
|
+
return;
|
|
2016
|
+
}
|
|
2017
|
+
Me().then((m) => {
|
|
2018
|
+
const x = Re(m, d);
|
|
2019
|
+
x != null && r(x);
|
|
2020
|
+
}).catch(() => {
|
|
2021
|
+
});
|
|
2022
|
+
}) : S
|
|
2023
|
+
),
|
|
2024
|
+
after: l()
|
|
2025
|
+
}) }
|
|
2026
|
+
);
|
|
2027
|
+
}, tn = (e) => {
|
|
2028
|
+
const { value: t, onBlur: r, onChange: n, onInput: s } = e;
|
|
2029
|
+
return P({
|
|
2030
|
+
...e,
|
|
2031
|
+
input: ee.url(
|
|
2032
|
+
H(e),
|
|
2033
|
+
a.value(t),
|
|
2034
|
+
a.class("bc-input"),
|
|
2035
|
+
r != null ? k.blur(j(r)) : S,
|
|
2036
|
+
n != null ? k.change(j(n)) : S,
|
|
2037
|
+
s != null ? k.input(j(s)) : S
|
|
2038
|
+
)
|
|
2039
|
+
});
|
|
2040
|
+
}, Vn = (e) => {
|
|
2041
|
+
const { value: t, onBlur: r, onChange: n, onInput: s, after: o, disabled: l, ...u } = e, c = X(t, l, n);
|
|
2042
|
+
return tn({
|
|
2043
|
+
...u,
|
|
2044
|
+
value: i.map(t, se),
|
|
2045
|
+
onChange: n != null ? (f) => n(Y(f)) : void 0,
|
|
2046
|
+
onInput: s != null ? (f) => s(Y(f)) : void 0,
|
|
2047
|
+
onBlur: r,
|
|
2048
|
+
after: o != null ? L(c, o) : c
|
|
2049
|
+
});
|
|
2050
|
+
}, Ln = (e, ...t) => {
|
|
2051
|
+
const {
|
|
2052
|
+
element: r,
|
|
2053
|
+
separator: n,
|
|
2054
|
+
showMove: s = !0,
|
|
2055
|
+
showRemove: o = !0,
|
|
2056
|
+
showAdd: l = !0,
|
|
2057
|
+
createItem: u,
|
|
2058
|
+
addLabel: c,
|
|
2059
|
+
controlsLayout: f = "aside",
|
|
2060
|
+
...h
|
|
2061
|
+
} = e, d = i.toSignal(f).map((m) => m === "aside"), b = (m) => {
|
|
2062
|
+
const x = E(
|
|
2063
|
+
s ?? !1,
|
|
2064
|
+
() => $.div(
|
|
2065
|
+
a.class("bc-group--align-center"),
|
|
2066
|
+
a.class(
|
|
2067
|
+
d.map(
|
|
2068
|
+
(g) => g ? "bc-group--direction-column bc-group--gap-1" : "bc-group--direction-row bc-group--gap-1"
|
|
2069
|
+
)
|
|
2070
|
+
),
|
|
2071
|
+
be(
|
|
2072
|
+
{
|
|
2073
|
+
size: "xs",
|
|
2074
|
+
roundedness: "full",
|
|
2075
|
+
variant: "text",
|
|
2076
|
+
onClick: () => m.move("up"),
|
|
2077
|
+
disabled: m.cannotMove("up")
|
|
2078
|
+
},
|
|
2079
|
+
O(
|
|
2080
|
+
W,
|
|
2081
|
+
(g) => z({
|
|
2082
|
+
size: "xs",
|
|
2083
|
+
icon: "line-md:arrow-up",
|
|
2084
|
+
title: g.$.incrementValue
|
|
2085
|
+
})
|
|
2086
|
+
)
|
|
2087
|
+
),
|
|
2088
|
+
be(
|
|
2089
|
+
{
|
|
2090
|
+
size: "xs",
|
|
2091
|
+
roundedness: "full",
|
|
2092
|
+
variant: "text",
|
|
2093
|
+
onClick: () => m.move("down"),
|
|
2094
|
+
disabled: m.cannotMove("down")
|
|
2095
|
+
},
|
|
2096
|
+
O(
|
|
2097
|
+
W,
|
|
2098
|
+
(g) => z({
|
|
2099
|
+
size: "xs",
|
|
2100
|
+
icon: "line-md:arrow-down",
|
|
2101
|
+
title: g.$.decrementValue
|
|
2102
|
+
})
|
|
2103
|
+
)
|
|
2104
|
+
)
|
|
2105
|
+
)
|
|
2106
|
+
), _ = E(
|
|
2107
|
+
o,
|
|
2108
|
+
() => O(
|
|
2109
|
+
W,
|
|
2110
|
+
(g) => me({
|
|
2111
|
+
size: "xs",
|
|
2112
|
+
// Use a lowercase label to satisfy tests that query with [aria-label*="remove"]
|
|
2113
|
+
label: i.map(g.$.removeItem, (v) => v.toLowerCase()),
|
|
2114
|
+
color: "error",
|
|
2115
|
+
disabled: e.removeDisabled,
|
|
2116
|
+
onClick: m.remove
|
|
2117
|
+
})
|
|
2118
|
+
)
|
|
2119
|
+
);
|
|
2120
|
+
return (g) => E(
|
|
2121
|
+
d,
|
|
2122
|
+
() => pe(
|
|
2123
|
+
a.class("bc-group--gap-1 bc-group--align-center"),
|
|
2124
|
+
ne(a.class("bc-stack--grow"), g),
|
|
2125
|
+
ne(
|
|
2126
|
+
a.class("bc-stack--align-center"),
|
|
2127
|
+
E(
|
|
2128
|
+
e.controller.value.map((v) => v.length > 1),
|
|
2129
|
+
() => x
|
|
2130
|
+
),
|
|
2131
|
+
_
|
|
2132
|
+
)
|
|
2133
|
+
),
|
|
2134
|
+
() => ne(
|
|
2135
|
+
a.class("bc-stack--gap-2"),
|
|
2136
|
+
g,
|
|
2137
|
+
pe(
|
|
2138
|
+
a.class("bc-group--gap-2 bc-group--justify-between"),
|
|
2139
|
+
E(
|
|
2140
|
+
e.controller.value.map((v) => v.length > 1),
|
|
2141
|
+
() => x,
|
|
2142
|
+
() => $.div()
|
|
2143
|
+
),
|
|
2144
|
+
_
|
|
2145
|
+
)
|
|
2146
|
+
)
|
|
2147
|
+
);
|
|
2148
|
+
}, p = E(
|
|
2149
|
+
B(l, u)((m, x) => m && x != null),
|
|
2150
|
+
() => pe(
|
|
2151
|
+
a.class(
|
|
2152
|
+
"bc-group--gap-2 bc-group--align-center bc-group--justify-center"
|
|
2153
|
+
),
|
|
2154
|
+
be(
|
|
2155
|
+
{
|
|
2156
|
+
size: "sm",
|
|
2157
|
+
variant: "filled",
|
|
2158
|
+
onClick: () => h.controller.push(u()),
|
|
2159
|
+
disabled: B(
|
|
2160
|
+
h.controller.disabled,
|
|
2161
|
+
e.addDisabled ?? !1
|
|
2162
|
+
)((m, x) => m || x)
|
|
2163
|
+
},
|
|
2164
|
+
O(
|
|
2165
|
+
W,
|
|
2166
|
+
(m) => pe(
|
|
2167
|
+
a.class("bc-group--gap-2"),
|
|
2168
|
+
z({ icon: "line-md:plus" }),
|
|
2169
|
+
c ?? m.$.addLabel
|
|
2170
|
+
)
|
|
2171
|
+
)
|
|
2172
|
+
)
|
|
2173
|
+
)
|
|
2174
|
+
);
|
|
2175
|
+
return He(
|
|
2176
|
+
{
|
|
2177
|
+
...h,
|
|
2178
|
+
content: ne(
|
|
2179
|
+
a.class("bc-stack--gap-2"),
|
|
2180
|
+
Pt(
|
|
2181
|
+
h.controller,
|
|
2182
|
+
(m) => b(m)(r(m)),
|
|
2183
|
+
n
|
|
2184
|
+
),
|
|
2185
|
+
p
|
|
2186
|
+
)
|
|
2187
|
+
},
|
|
2188
|
+
...t
|
|
2189
|
+
);
|
|
2190
|
+
};
|
|
2191
|
+
class En extends ve {
|
|
2192
|
+
branches;
|
|
2193
|
+
activeBranch;
|
|
2194
|
+
#t;
|
|
2195
|
+
#e = /* @__PURE__ */ new Map();
|
|
2196
|
+
constructor(t, r, n, s, o, l, u = ae) {
|
|
2197
|
+
super(t, r, n, s, o, u), this.branches = l;
|
|
2198
|
+
const c = (h) => {
|
|
2199
|
+
for (const d of l)
|
|
2200
|
+
if (d.detect(h))
|
|
2201
|
+
return d.key;
|
|
2202
|
+
return l[0]?.key ?? "unknown";
|
|
2203
|
+
};
|
|
2204
|
+
this.activeBranch = n.map(c, ae);
|
|
2205
|
+
const f = (h) => {
|
|
2206
|
+
if (this.#e.has(h))
|
|
2207
|
+
return this.#e.get(h);
|
|
2208
|
+
const d = l.find((p) => p.key === h);
|
|
2209
|
+
if (!d)
|
|
2210
|
+
throw new Error(`Unknown branch: ${h}`);
|
|
2211
|
+
const b = new ve(
|
|
2212
|
+
[...t, h],
|
|
2213
|
+
(p) => {
|
|
2214
|
+
this.change(p);
|
|
2215
|
+
},
|
|
2216
|
+
n.map(
|
|
2217
|
+
(p) => d.detect(p) ? p : d.defaultValue(),
|
|
2218
|
+
u
|
|
2219
|
+
),
|
|
2220
|
+
s.map(Ve([h])),
|
|
2221
|
+
{
|
|
2222
|
+
disabled: this.disabled,
|
|
2223
|
+
validationMode: this.parent.validationMode
|
|
2224
|
+
},
|
|
2225
|
+
u
|
|
2226
|
+
);
|
|
2227
|
+
return this.#e.set(h, b), b;
|
|
2228
|
+
};
|
|
2229
|
+
this.#t = this.activeBranch.map(
|
|
2230
|
+
(h) => f(h),
|
|
2231
|
+
ae
|
|
2232
|
+
), this.onDispose(() => {
|
|
2233
|
+
for (const h of this.#e.values())
|
|
2234
|
+
h.dispose();
|
|
2235
|
+
this.#e.clear(), this.activeBranch.dispose(), this.#t.dispose();
|
|
2236
|
+
});
|
|
2237
|
+
}
|
|
2238
|
+
/**
|
|
2239
|
+
* Get the controller for the currently active branch
|
|
2240
|
+
*/
|
|
2241
|
+
get activeController() {
|
|
2242
|
+
return i.get(this.#t);
|
|
2243
|
+
}
|
|
2244
|
+
/**
|
|
2245
|
+
* Get a controller for a specific branch
|
|
2246
|
+
*/
|
|
2247
|
+
getBranchController(t) {
|
|
2248
|
+
const r = this.branches.find((s) => s.key === t);
|
|
2249
|
+
if (!r)
|
|
2250
|
+
throw new Error(`Unknown branch: ${t}`);
|
|
2251
|
+
if (this.#e.has(t))
|
|
2252
|
+
return this.#e.get(t);
|
|
2253
|
+
const n = new ve(
|
|
2254
|
+
[...this.path, t],
|
|
2255
|
+
(s) => {
|
|
2256
|
+
this.change(s);
|
|
2257
|
+
},
|
|
2258
|
+
this.value.map(
|
|
2259
|
+
(s) => r.detect(s) ? s : r.defaultValue(),
|
|
2260
|
+
ae
|
|
2261
|
+
),
|
|
2262
|
+
this.status.map(Ve([t])),
|
|
2263
|
+
{
|
|
2264
|
+
disabled: this.disabled,
|
|
2265
|
+
validationMode: this.parent.validationMode
|
|
2266
|
+
},
|
|
2267
|
+
ae
|
|
2268
|
+
);
|
|
2269
|
+
return this.#e.set(t, n), n;
|
|
2270
|
+
}
|
|
2271
|
+
/**
|
|
2272
|
+
* Switch to a different branch
|
|
2273
|
+
*/
|
|
2274
|
+
switchToBranch(t, r = !1) {
|
|
2275
|
+
const n = this.branches.find((l) => l.key === t);
|
|
2276
|
+
if (!n)
|
|
2277
|
+
throw new Error(`Unknown branch: ${t}`);
|
|
2278
|
+
const s = i.get(this.value);
|
|
2279
|
+
if (n.detect(s))
|
|
2280
|
+
return !0;
|
|
2281
|
+
if (n.convert) {
|
|
2282
|
+
const l = n.convert(s);
|
|
2283
|
+
if (l.ok)
|
|
2284
|
+
return this.change(l.value), !0;
|
|
2285
|
+
}
|
|
2286
|
+
if (r && typeof window == "object" && typeof window.confirm == "function" && !window.confirm(
|
|
2287
|
+
"Changing type will clear the current value. Continue?"
|
|
2288
|
+
))
|
|
2289
|
+
return !1;
|
|
2290
|
+
const o = n.defaultValue();
|
|
2291
|
+
return this.change(o), !0;
|
|
2292
|
+
}
|
|
2293
|
+
/**
|
|
2294
|
+
* Get the current active branch definition
|
|
2295
|
+
*/
|
|
2296
|
+
get activeBranchDefinition() {
|
|
2297
|
+
const t = i.get(this.activeBranch);
|
|
2298
|
+
return this.branches.find((r) => r.key === t);
|
|
2299
|
+
}
|
|
2300
|
+
}
|
|
2301
|
+
function Un(e) {
|
|
2302
|
+
return e.transform(
|
|
2303
|
+
(t) => t ?? null,
|
|
2304
|
+
(t) => t ?? void 0
|
|
2305
|
+
);
|
|
2306
|
+
}
|
|
2307
|
+
function Nn(e) {
|
|
2308
|
+
return e.transform(
|
|
2309
|
+
(t) => t ?? "",
|
|
2310
|
+
(t) => t === "" ? void 0 : t
|
|
2311
|
+
);
|
|
2312
|
+
}
|
|
2313
|
+
function zn(e) {
|
|
2314
|
+
return e.transform(
|
|
2315
|
+
(t) => t ?? void 0,
|
|
2316
|
+
(t) => t ?? null
|
|
2317
|
+
);
|
|
2318
|
+
}
|
|
2319
|
+
function nn(e) {
|
|
2320
|
+
switch (e) {
|
|
2321
|
+
case "success":
|
|
2322
|
+
return "material-symbols:check-circle-outline";
|
|
2323
|
+
case "warning":
|
|
2324
|
+
return "material-symbols:warning-outline";
|
|
2325
|
+
case "error":
|
|
2326
|
+
return "material-symbols:error-outline";
|
|
2327
|
+
case "info":
|
|
2328
|
+
default:
|
|
2329
|
+
return "material-symbols:info-outline";
|
|
2330
|
+
}
|
|
2331
|
+
}
|
|
2332
|
+
function sn(e) {
|
|
2333
|
+
switch (e) {
|
|
2334
|
+
case "success":
|
|
2335
|
+
return "success";
|
|
2336
|
+
case "warning":
|
|
2337
|
+
return "warning";
|
|
2338
|
+
case "error":
|
|
2339
|
+
return "error";
|
|
2340
|
+
case "info":
|
|
2341
|
+
default:
|
|
2342
|
+
return "info";
|
|
2343
|
+
}
|
|
2344
|
+
}
|
|
2345
|
+
function rn(e, t, r, n) {
|
|
2346
|
+
const s = [
|
|
2347
|
+
"bc-notice",
|
|
2348
|
+
`bc-notice--${e}`,
|
|
2349
|
+
`bc-notice--tone-${t}`
|
|
2350
|
+
];
|
|
2351
|
+
return r && s.push("bc-notice--dismissible"), n && n.length > 0 && s.push(n), s.join(" ");
|
|
2352
|
+
}
|
|
2353
|
+
function Rn({
|
|
2354
|
+
variant: e = "info",
|
|
2355
|
+
tone: t = "subtle",
|
|
2356
|
+
role: r,
|
|
2357
|
+
title: n,
|
|
2358
|
+
icon: s,
|
|
2359
|
+
closable: o = !1,
|
|
2360
|
+
onDismiss: l,
|
|
2361
|
+
class: u
|
|
2362
|
+
}, ...c) {
|
|
2363
|
+
const f = i.map(
|
|
2364
|
+
o,
|
|
2365
|
+
(x) => !!x || l != null
|
|
2366
|
+
), h = i.map(e, (x) => x ?? "info"), d = i.map(t, (x) => x ?? "subtle"), b = B(
|
|
2367
|
+
r,
|
|
2368
|
+
h
|
|
2369
|
+
)((x, _) => x ?? (_ === "error" ? "alert" : "status")), p = K(!0), m = O(
|
|
2370
|
+
W,
|
|
2371
|
+
(x) => $.div(
|
|
2372
|
+
a.class(
|
|
2373
|
+
B(
|
|
2374
|
+
h,
|
|
2375
|
+
d,
|
|
2376
|
+
f,
|
|
2377
|
+
u
|
|
2378
|
+
)((_, g, v, T) => rn(_, g, v, T))
|
|
2379
|
+
),
|
|
2380
|
+
// Accessibility role mapping (always defined)
|
|
2381
|
+
a.role(i.map(b, (_) => _)),
|
|
2382
|
+
nt(
|
|
2383
|
+
i.map(s, (_) => _ === !1),
|
|
2384
|
+
() => $.div(
|
|
2385
|
+
a.class("bc-notice__icon"),
|
|
2386
|
+
z({
|
|
2387
|
+
icon: B(
|
|
2388
|
+
s,
|
|
2389
|
+
h
|
|
2390
|
+
)((_, g) => _ === void 0 ? nn(g) : String(_)),
|
|
2391
|
+
size: "md",
|
|
2392
|
+
color: i.map(h, sn)
|
|
2393
|
+
})
|
|
2394
|
+
)
|
|
2395
|
+
),
|
|
2396
|
+
$.div(
|
|
2397
|
+
a.class("bc-notice__body"),
|
|
2398
|
+
Pe(n, (_) => $.div(a.class("bc-notice__title"), _)),
|
|
2399
|
+
$.div(a.class("bc-notice__content"), ...c)
|
|
2400
|
+
),
|
|
2401
|
+
E(
|
|
2402
|
+
f,
|
|
2403
|
+
() => me({
|
|
2404
|
+
size: "xs",
|
|
2405
|
+
label: x.$.closeModal,
|
|
2406
|
+
onClick: () => {
|
|
2407
|
+
p.set(!1), l?.();
|
|
2408
|
+
}
|
|
2409
|
+
})
|
|
2410
|
+
)
|
|
2411
|
+
)
|
|
2412
|
+
);
|
|
2413
|
+
return E(p, () => m);
|
|
2414
|
+
}
|
|
2415
|
+
export {
|
|
2416
|
+
An as A,
|
|
2417
|
+
mn as B,
|
|
2418
|
+
hn as C,
|
|
2419
|
+
Fn as D,
|
|
2420
|
+
Et as E,
|
|
2421
|
+
$t as F,
|
|
2422
|
+
pe as G,
|
|
2423
|
+
Bn as H,
|
|
2424
|
+
tn as I,
|
|
2425
|
+
Vn as J,
|
|
2426
|
+
bn as K,
|
|
2427
|
+
Ln as L,
|
|
2428
|
+
Xe as M,
|
|
2429
|
+
zt as N,
|
|
2430
|
+
gn as O,
|
|
2431
|
+
Ut as P,
|
|
2432
|
+
Rn as Q,
|
|
2433
|
+
Gt as R,
|
|
2434
|
+
dn as S,
|
|
2435
|
+
Zt as T,
|
|
2436
|
+
Le as U,
|
|
2437
|
+
Me as V,
|
|
2438
|
+
Qt as W,
|
|
2439
|
+
pn as X,
|
|
2440
|
+
fn as _,
|
|
2441
|
+
X as a,
|
|
2442
|
+
En as b,
|
|
2443
|
+
Nn as c,
|
|
2444
|
+
en as d,
|
|
2445
|
+
Y as e,
|
|
2446
|
+
zn as f,
|
|
2447
|
+
yt as g,
|
|
2448
|
+
Mt as h,
|
|
2449
|
+
vn as i,
|
|
2450
|
+
Pt as j,
|
|
2451
|
+
Rt as k,
|
|
2452
|
+
xn as l,
|
|
2453
|
+
wn as m,
|
|
2454
|
+
se as n,
|
|
2455
|
+
_n as o,
|
|
2456
|
+
yn as p,
|
|
2457
|
+
In as q,
|
|
2458
|
+
kn as r,
|
|
2459
|
+
$n as s,
|
|
2460
|
+
Un as t,
|
|
2461
|
+
Cn as u,
|
|
2462
|
+
Mn as v,
|
|
2463
|
+
Tn as w,
|
|
2464
|
+
Yt as x,
|
|
2465
|
+
Dn as y,
|
|
2466
|
+
Sn as z
|
|
2467
|
+
};
|