haze-ui 1.4.2 → 1.5.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/dist/components/Tree/Tree.js +112 -0
- package/dist/components/Tree/TreeItem.js +108 -0
- package/dist/components/Tree/utils.js +31 -0
- package/dist/haze-ui.css +1 -1
- package/dist/index.js +3 -2
- package/dist/types/components/Tree/Tree.d.ts +3 -0
- package/dist/types/components/Tree/TreeItem.d.ts +26 -0
- package/dist/types/components/Tree/index.d.ts +2 -0
- package/dist/types/components/Tree/types.d.ts +94 -0
- package/dist/types/components/Tree/utils.d.ts +6 -0
- package/dist/types/index.d.ts +7 -5
- package/package.json +1 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import e from "./TreeItem.js";
|
|
2
|
+
import { findNodeByKey as t, getChildKeys as n, getParentKey as r } from "./utils.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { classnames as i } from "babel-runtime-jsx-plus";
|
|
5
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
+
import { useControl as s } from "react-use-control";
|
|
7
|
+
import { useMemo as c } from "react";
|
|
8
|
+
//#region src/lib/components/Tree/Tree.tsx
|
|
9
|
+
var l = "byqiwb1";
|
|
10
|
+
function u(e, t, r) {
|
|
11
|
+
if (r) return {
|
|
12
|
+
checked: e,
|
|
13
|
+
halfChecked: []
|
|
14
|
+
};
|
|
15
|
+
let i = new Set(e), a = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), s = (e) => {
|
|
16
|
+
for (let r of e) if (r.children?.length) {
|
|
17
|
+
s(r.children);
|
|
18
|
+
let e = n(t, r.key), c = e.filter((e) => i.has(e));
|
|
19
|
+
c.length === 0 ? o.add(r.key) : c.length < e.length && (a.add(r.key), o.add(r.key));
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
return s(t), {
|
|
23
|
+
checked: e.filter((e) => !o.has(e)),
|
|
24
|
+
halfChecked: Array.from(a)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function d({ treeData: d, multiple: f = !1, checkable: p = !1, checkStrictly: m = !1, selectable: h = !0, disabled: g = !1, blockNode: _ = !1, showLine: v = !1, showIcon: y = !1, switcherIcon: b, loadingIcon: x, titleRender: S, iconRender: C, expandedKeys: w, selectedKeys: T, checkedKeys: E, className: D, onExpand: O, onSelect: k, onCheck: A }) {
|
|
28
|
+
let [j, M] = s(w, []), [N, P] = s(T, []), [F, I] = s(E, []), L = F, R = c(() => u(L, d, m), [
|
|
29
|
+
L,
|
|
30
|
+
d,
|
|
31
|
+
m
|
|
32
|
+
]), z = R.checked, B = R.halfChecked;
|
|
33
|
+
function V(e) {
|
|
34
|
+
let n = j.includes(e), r = n ? j.filter((t) => t !== e) : [...j, e];
|
|
35
|
+
M(r), O?.(r, {
|
|
36
|
+
expanded: !n,
|
|
37
|
+
node: t(d, e)
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function H(e) {
|
|
41
|
+
let n = t(d, e);
|
|
42
|
+
if (!n?.selectable && n?.selectable !== void 0 || !h) return;
|
|
43
|
+
let r;
|
|
44
|
+
r = f ? N.indexOf(e) >= 0 ? N.filter((t) => t !== e) : [...N, e] : N.includes(e) ? [] : [e], P(r), k?.(r, {
|
|
45
|
+
selected: r.includes(e),
|
|
46
|
+
selectedNodes: r.map((e) => t(d, e)).filter(Boolean),
|
|
47
|
+
node: n
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function U(e) {
|
|
51
|
+
if (!p || t(d, e)?.disableCheckbox) return;
|
|
52
|
+
let i = z.includes(e), a;
|
|
53
|
+
if (m) a = i ? z.filter((t) => t !== e) : [...z, e];
|
|
54
|
+
else {
|
|
55
|
+
let t = n(d, e);
|
|
56
|
+
if (i) {
|
|
57
|
+
a = z.filter((n) => n !== e && !t.includes(n));
|
|
58
|
+
let n = r(d, e);
|
|
59
|
+
for (; n;) a = a.filter((e) => e !== n), n = r(d, n);
|
|
60
|
+
} else {
|
|
61
|
+
let i = [e, ...t].filter((e) => !z.includes(e));
|
|
62
|
+
a = [...z, ...i];
|
|
63
|
+
let o = r(d, e);
|
|
64
|
+
for (; o;) n(d, o).every((e) => a.includes(e)) && !a.includes(o) && a.push(o), o = r(d, o);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
let o = u(a, d, m);
|
|
68
|
+
I(m ? a : o.checked), A?.(m ? a : o, {
|
|
69
|
+
checked: !i,
|
|
70
|
+
checkedNodes: a.map((e) => t(d, e)).filter(Boolean),
|
|
71
|
+
node: t(d, e),
|
|
72
|
+
halfCheckedKeys: o.halfChecked
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function W(t, n, r) {
|
|
76
|
+
return t.map((i, s) => {
|
|
77
|
+
let c = !!i.children?.length, l = j.includes(i.key), u = N.includes(i.key), d = z.includes(i.key), f = B.includes(i.key), m = d ? "checked" : f ? "halfChecked" : "unchecked", w = s === t.length - 1, T = [...r, w];
|
|
78
|
+
return /* @__PURE__ */ o("div", {
|
|
79
|
+
role: "group",
|
|
80
|
+
children: [/* @__PURE__ */ a(e, {
|
|
81
|
+
node: i,
|
|
82
|
+
level: n,
|
|
83
|
+
expanded: l,
|
|
84
|
+
selected: u,
|
|
85
|
+
checked: m,
|
|
86
|
+
disabled: g,
|
|
87
|
+
checkable: p,
|
|
88
|
+
selectable: h,
|
|
89
|
+
blockNode: _,
|
|
90
|
+
showLine: v,
|
|
91
|
+
showIcon: y,
|
|
92
|
+
switcherIcon: b,
|
|
93
|
+
loadingIcon: x,
|
|
94
|
+
loading: !1,
|
|
95
|
+
titleRender: S,
|
|
96
|
+
iconRender: C,
|
|
97
|
+
isLast: T,
|
|
98
|
+
onToggle: () => V(i.key),
|
|
99
|
+
onSelect: () => H(i.key),
|
|
100
|
+
onCheck: () => U(i.key)
|
|
101
|
+
}), c && l && /* @__PURE__ */ a("div", { children: W(i.children, n + 1, T) })]
|
|
102
|
+
}, i.key);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return /* @__PURE__ */ a("div", {
|
|
106
|
+
role: "tree",
|
|
107
|
+
className: i([l, D]),
|
|
108
|
+
children: W(d, 0, [])
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
export { d as default };
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { classnames as e } from "babel-runtime-jsx-plus";
|
|
3
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
|
+
//#region src/lib/components/Tree/TreeItem.tsx
|
|
5
|
+
var r = "i1rn21zx", i = "b15n7bsq", a = "st8kw28", o = "dk6qa2p", s = "s1puwz78", c = "ss5ce9u", l = "c181jvqa", u = "c7s72cp", d = "c1fyhtnu", f = "n1cauqet", p = "t1k02n76", m = "l1xmbyic", h = "i1fswrkf", g = "i1t8wtlt", _ = () => /* @__PURE__ */ t("svg", {
|
|
6
|
+
viewBox: "0 0 12 12",
|
|
7
|
+
fill: "none",
|
|
8
|
+
stroke: "currentColor",
|
|
9
|
+
strokeWidth: "2",
|
|
10
|
+
strokeLinecap: "round",
|
|
11
|
+
strokeLinejoin: "round",
|
|
12
|
+
children: /* @__PURE__ */ t("path", { d: "M4 2l4 4-4 4" })
|
|
13
|
+
}), v = () => /* @__PURE__ */ t("svg", {
|
|
14
|
+
viewBox: "0 0 12 12",
|
|
15
|
+
fill: "none",
|
|
16
|
+
stroke: "currentColor",
|
|
17
|
+
strokeWidth: "2",
|
|
18
|
+
strokeLinecap: "round",
|
|
19
|
+
strokeLinejoin: "round",
|
|
20
|
+
children: /* @__PURE__ */ t("path", { d: "M2 6l3 3 5-5" })
|
|
21
|
+
}), y = () => /* @__PURE__ */ t("svg", {
|
|
22
|
+
viewBox: "0 0 12 12",
|
|
23
|
+
fill: "none",
|
|
24
|
+
stroke: "currentColor",
|
|
25
|
+
strokeWidth: "2",
|
|
26
|
+
strokeLinecap: "round",
|
|
27
|
+
children: /* @__PURE__ */ t("path", { d: "M2 6h8" })
|
|
28
|
+
}), b = () => /* @__PURE__ */ t("svg", {
|
|
29
|
+
viewBox: "0 0 16 16",
|
|
30
|
+
fill: "currentColor",
|
|
31
|
+
children: /* @__PURE__ */ t("path", { d: "M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9z" })
|
|
32
|
+
}), x = () => /* @__PURE__ */ n("svg", {
|
|
33
|
+
viewBox: "0 0 16 16",
|
|
34
|
+
fill: "currentColor",
|
|
35
|
+
children: [/* @__PURE__ */ t("path", { d: "M.5 5l.5-.5A.5.5 0 0 1 1.5 4H4l1-1h4.5a1.5 1.5 0 0 1 1.5 1.5v1H14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V5.5L.5 5z" }), /* @__PURE__ */ t("path", {
|
|
36
|
+
d: "M1 6v6h14V6H1z",
|
|
37
|
+
opacity: "0.5"
|
|
38
|
+
})]
|
|
39
|
+
}), S = () => /* @__PURE__ */ t("svg", {
|
|
40
|
+
viewBox: "0 0 16 16",
|
|
41
|
+
fill: "currentColor",
|
|
42
|
+
children: /* @__PURE__ */ t("path", { d: "M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.414a2 2 0 0 0-.586-1.414L10.586.172A2 2 0 0 0 9.172 0H4zm1 1a1 1 0 0 1 1-1h3.172a1 1 0 0 1 .707.293l2.121 2.121a1 1 0 0 1 .293.707V13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V1z" })
|
|
43
|
+
}), C = () => /* @__PURE__ */ n("svg", {
|
|
44
|
+
viewBox: "0 0 16 16",
|
|
45
|
+
fill: "currentColor",
|
|
46
|
+
children: [/* @__PURE__ */ t("path", {
|
|
47
|
+
d: "M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1zm0 1a6 6 0 0 1 0 12V2z",
|
|
48
|
+
opacity: "0.3"
|
|
49
|
+
}), /* @__PURE__ */ t("path", { d: "M8 1a7 7 0 0 1 7 7h-2a5 5 0 0 0-5-5V1z" })]
|
|
50
|
+
});
|
|
51
|
+
function w({ node: w, level: T, expanded: E, selected: D, checked: O, disabled: k, checkable: A, selectable: j, blockNode: M, showLine: N, showIcon: P, switcherIcon: F, loadingIcon: I, loading: L, titleRender: R, iconRender: z, isLast: B, onToggle: V, onSelect: H, onCheck: U }) {
|
|
52
|
+
let W = !!w.children?.length, G = w.isLeaf ?? !W, K = Array.from({ length: T }, (e, t) => ({ showLine: N && !B[t] })), q = R ? R(w) : w.title, J = z ? z(w) : w.icon;
|
|
53
|
+
return /* @__PURE__ */ t("div", { children: /* @__PURE__ */ n("div", {
|
|
54
|
+
role: "treeitem",
|
|
55
|
+
"aria-selected": D,
|
|
56
|
+
"aria-expanded": G ? void 0 : E,
|
|
57
|
+
"aria-level": T + 1,
|
|
58
|
+
onClick: () => {
|
|
59
|
+
k || w.disabled || (j && H(), G || V());
|
|
60
|
+
},
|
|
61
|
+
className: e([
|
|
62
|
+
r,
|
|
63
|
+
M && i,
|
|
64
|
+
D && j && a,
|
|
65
|
+
(k || w.disabled) && o
|
|
66
|
+
]),
|
|
67
|
+
children: [
|
|
68
|
+
K.map((n, r) => /* @__PURE__ */ t("span", { className: e([h, n.showLine && g]) }, r)),
|
|
69
|
+
!G && /* @__PURE__ */ t("span", {
|
|
70
|
+
role: "button",
|
|
71
|
+
"aria-label": E ? "Collapse" : "Expand",
|
|
72
|
+
onClick: (e) => {
|
|
73
|
+
e.stopPropagation(), V();
|
|
74
|
+
},
|
|
75
|
+
className: e([s, E && c]),
|
|
76
|
+
children: L ? /* @__PURE__ */ t("span", {
|
|
77
|
+
className: m,
|
|
78
|
+
children: I ?? /* @__PURE__ */ t(C, {})
|
|
79
|
+
}) : F || /* @__PURE__ */ t(_, {})
|
|
80
|
+
}),
|
|
81
|
+
G && /* @__PURE__ */ t("span", { className: e(h) }),
|
|
82
|
+
A && /* @__PURE__ */ n("span", {
|
|
83
|
+
role: "checkbox",
|
|
84
|
+
"aria-checked": O === "halfChecked" ? "mixed" : O === "checked",
|
|
85
|
+
onClick: (e) => {
|
|
86
|
+
e.stopPropagation(), U();
|
|
87
|
+
},
|
|
88
|
+
className: e([
|
|
89
|
+
l,
|
|
90
|
+
O === "checked" && u,
|
|
91
|
+
O === "halfChecked" && d,
|
|
92
|
+
w.disableCheckbox && o
|
|
93
|
+
]),
|
|
94
|
+
children: [O === "checked" && /* @__PURE__ */ t(v, {}), O === "halfChecked" && /* @__PURE__ */ t(y, {})]
|
|
95
|
+
}),
|
|
96
|
+
(P || J) && /* @__PURE__ */ t("span", {
|
|
97
|
+
className: f,
|
|
98
|
+
children: J ?? t(G ? S : E ? x : b, {})
|
|
99
|
+
}),
|
|
100
|
+
/* @__PURE__ */ t("span", {
|
|
101
|
+
className: p,
|
|
102
|
+
children: q
|
|
103
|
+
})
|
|
104
|
+
]
|
|
105
|
+
}) });
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
export { w as default };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/lib/components/Tree/utils.ts
|
|
2
|
+
function e(t, n) {
|
|
3
|
+
for (let r of t) {
|
|
4
|
+
if (r.key === n) return r;
|
|
5
|
+
if (r.children?.length) {
|
|
6
|
+
let t = e(r.children, n);
|
|
7
|
+
if (t) return t;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
function t(t, n) {
|
|
13
|
+
let r = e(t, n);
|
|
14
|
+
if (!r?.children?.length) return [];
|
|
15
|
+
let i = [], a = (e) => {
|
|
16
|
+
for (let t of e) i.push(t.key), t.children?.length && a(t.children);
|
|
17
|
+
};
|
|
18
|
+
return a(r.children), i;
|
|
19
|
+
}
|
|
20
|
+
function n(e, t, r) {
|
|
21
|
+
for (let i of e) {
|
|
22
|
+
if (i.key === t) return r ?? null;
|
|
23
|
+
if (i.children?.length) {
|
|
24
|
+
let e = n(i.children, t, i.key);
|
|
25
|
+
if (e) return e;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { e as findNodeByKey, t as getChildKeys, n as getParentKey };
|
package/dist/haze-ui.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.b1oalqve{width:100%}.i1sazm4o{border-bottom:1px solid var(--haze-color-border)}.i1sazm4o:first-of-type{border-top:1px solid var(--haze-color-border)}.s15fkg36{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.s15fkg36:hover{background:var(--haze-color-bg-subtle)}.s15fkg36:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.s15fkg36::marker{display:none}.s15fkg36::-webkit-details-marker{display:none}.s15fkg36:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.s15fkg36:after{transform:rotate(45deg)}.cvrhx3b{padding:0 var(--haze-space-4) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.b1mir2ye{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);display:flex}.iszr7j7{background:color-mix(in srgb, var(--haze-color-info) 10%, transparent);color:var(--haze-color-info);border:1px solid color-mix(in srgb, var(--haze-color-info) 25%, transparent)}.s1p0rp69{background:color-mix(in srgb, var(--haze-color-success) 10%, transparent);color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.w1dv8644{background:color-mix(in srgb, var(--haze-color-warning) 10%, transparent);color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.d13e6k4w{background:color-mix(in srgb, var(--haze-color-danger) 10%, transparent);color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.c1rnnssd{flex:1}.cf33uyw{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.cf33uyw:hover{opacity:1}.cf33uyw:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.b4666vo{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.sag18gw{width:32px;height:32px;font-size:var(--haze-text-xs)}.m7cr8e2{width:40px;height:40px;font-size:var(--haze-text-sm)}.lmhruty{width:56px;height:56px;font-size:var(--haze-text-lg)}.imhjc6a{object-fit:cover;width:100%;height:100%}.b48ijb1{border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;align-items:center;display:inline-flex}.dnq0o02{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.syuh2ol{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.w8jmk6n{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.d6m6v51{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.i58ehqk{background:color-mix(in srgb, var(--haze-color-info) 15%, transparent);color:var(--haze-color-info)}.s1m88y0u{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.miqan6{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.n10d0fjb{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.l727nxp{align-items:center;gap:var(--haze-space-2);margin:0;padding:0;list-style:none;display:flex}.sjewi7s{color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none}.lr0896i{color:var(--haze-color-primary);-webkit-text-decoration:none;text-decoration:none;transition:color .15s}.lr0896i:hover{color:var(--haze-color-primary-hover);-webkit-text-decoration:underline;text-decoration:underline}.lr0896i:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.cpuhw6u{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.btwn6q9{justify-content:center;align-items:center;gap:var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btwn6q9:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.btwn6q9:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sfzq9n9{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.sfzq9n9:hover{background:var(--haze-color-primary-hover)}.sfzq9n9:active{background:var(--haze-color-primary-active)}.o1dhij4n{border-color:var(--haze-color-border);color:var(--haze-color-text);background:0 0}.o1dhij4n:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.o1dhij4n:active{background:var(--haze-color-bg-muted)}.ga83b1x{color:var(--haze-color-text);background:0 0}.ga83b1x:hover{background:var(--haze-color-bg-subtle)}.ga83b1x:active{background:var(--haze-color-bg-muted)}.svizdgc{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.m5okc3b{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-sm)}.lqx8j9d{padding:var(--haze-space-3) var(--haze-space-6);font-size:var(--haze-text-base)}.suufezf{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.mrc88qd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.l1i6iwg2{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.b1r9ra2q{border-radius:var(--haze-radius-lg);padding:var(--haze-space-5);font-family:var(--haze-font-sans);color:var(--haze-color-text)}.eiercmf{background:var(--haze-color-bg);box-shadow:var(--haze-shadow-md)}.omgotjy{background:var(--haze-color-bg);border:1px solid var(--haze-color-border)}.f10uuhch{background:var(--haze-color-bg-subtle)}.w1vgcode{border-radius:var(--haze-radius-lg);position:relative;overflow:hidden}.t1gm45fg{-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;display:flex;overflow-x:auto}.t1gm45fg::-webkit-scrollbar{display:none}.nit1xjh{z-index:1;appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg);width:36px;height:36px;color:var(--haze-color-text);font-size:var(--haze-text-lg);cursor:pointer;box-shadow:var(--haze-shadow-md);border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nit1xjh:hover{background:var(--haze-color-bg-subtle)}.nit1xjh:focus-visible{box-shadow:var(--haze-shadow-md),0 0 0 3px var(--haze-color-focus-ring);outline:none}.pabcbhr{left:var(--haze-space-2)}.nc7ezkr{right:var(--haze-space-2)}.i1o6048a{justify-content:center;gap:var(--haze-space-1);padding:var(--haze-space-2) 0;display:flex}.dhf6lgj{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;width:8px;height:8px;padding:0;transition:background .15s}.dooaa69{background:var(--haze-color-primary)}.s10j4fk7{scroll-snap-snap-align:start;scroll-snap-align:start;flex:0 0 100%;min-width:0}.b187lfi8{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.b187lfi8:hover{border-color:var(--haze-color-border-hover)}.b187lfi8:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b187lfi8:checked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.b187lfi8:checked:after{content:"";border:solid var(--haze-color-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.b187lfi8:disabled{opacity:.5;cursor:not-allowed}.w1hbn1o4{width:100%;display:inline-block;position:relative}.i4sk2nn{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.i4sk2nn:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.luqji2p{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);max-height:200px;box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.h1poubj5{display:none}.o1jce0x2{padding:var(--haze-space-2) var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;align-items:center;transition:background .1s;display:flex}.o1jce0x2:hover,.h1rwzud7{background:var(--haze-color-bg-subtle)}.s10s5833{font-weight:var(--haze-weight-medium);color:var(--haze-color-primary)}.c1f9h0hb{padding:var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.hrefchg{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;margin-bottom:var(--haze-space-2);justify-content:space-between;display:flex}.h144mm7c{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-1);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1}.h144mm7c:hover{background:var(--haze-color-bg-subtle)}.h144mm7c:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.hmmnmao{font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.g1f8zgbo{display:-ms-grid;-ms-grid-columns:repeat(7, 1fr);text-align:center;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.w1onmyfp{padding:var(--haze-space-1);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-muted);font-size:var(--haze-text-xs)}.d1om8hws{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-1);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1.5;transition:background .1s}.d1om8hws:hover{background:var(--haze-color-bg-subtle)}.d1om8hws:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.d1om8hws:disabled{opacity:.3;cursor:not-allowed}.dxg97in{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.dxg97in:hover{background:var(--haze-color-primary-hover)}.dum096m{color:var(--haze-color-text-muted)}.w1m20gol{display:inline-block;position:relative}.i1ydf3w1{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);cursor:pointer;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.i1ydf3w1:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.d1flfxon{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.hhbkpj1{display:none}.oxnde4s{border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);box-shadow:var(--haze-shadow-xl);border:none;width:100%;max-width:480px}.oxnde4s::backdrop{background:#0006}.oxnde4s:focus-visible{box-shadow:var(--haze-shadow-xl),0 0 0 3px var(--haze-color-focus-ring);outline:none}.d191itnz{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.s1kaiz9e{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.s1kaiz9e:hover{background:var(--haze-color-bg-subtle)}.s1kaiz9e:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.s1kaiz9e::marker{display:none}.s1kaiz9e::-webkit-details-marker{display:none}.s1kaiz9e:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.s1kaiz9e:after{transform:rotate(45deg)}.cz931n3{padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.h17p0ep7{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.t1nmk3to{justify-content:center;align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-4);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex}.t1nmk3to:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.t1nmk3to:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.b9t8w6f{display:flex}.b1din3i3{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.b1din3i3>svg{fill:currentColor;stroke:currentColor;width:100%;height:100%}.smrq8s4>svg{fill:none}.swqgfs4{width:16px;height:16px}.m1gcmjlm{width:20px;height:20px}.ly5zzma{width:24px;height:24px}.w184eiu0{display:block;position:relative;overflow:hidden}.ifikscv{width:100%;height:100%;display:block}.f1rrks2c{background:var(--haze-color-bg-muted);width:100%;height:100%;color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:flex}.b18dr76j{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);transition:border-color .15s,box-shadow .15s;display:block}.b18dr76j:hover{border-color:var(--haze-color-border-hover)}.b18dr76j:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b18dr76j:disabled{opacity:.5;cursor:not-allowed}.b18dr76j::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.b18dr76j::placeholder{color:var(--haze-color-text-muted)}.b18dr76j:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.b18dr76j::placeholder{color:var(--haze-color-text-muted)}.s1lt2bv9{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.m1aucp4h{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.lxj3cju{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.b6y76mu{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-normal);padding-left:var(--haze-space-5);margin:0}.u31hqp2{list-style-type:disc}.o1ubwy3d{list-style-type:decimal}.ngsxhlv{padding-left:0;list-style-type:none}.inunl6n{padding:var(--haze-space-1) 0}.czio6g9{display:inline-flex;position:relative}.p2k9teu{z-index:1000;margin-top:var(--haze-space-1);min-width:160px;padding:var(--haze-space-1) 0;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.hn79qla{display:none}.d1sgpkj8{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.iuktz9j{width:100%;padding:var(--haze-space-2) var(--haze-space-3);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;transition:background .1s;display:flex}.iuktz9j:hover{background:var(--haze-color-bg-subtle)}.iuktz9j:focus-visible{background:var(--haze-color-bg-subtle);box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.iuktz9j:disabled{opacity:.5;cursor:not-allowed}.wcynu9m{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.wcynu9m:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.ii249dk{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);text-align:center;-moz-appearance:textfield;border:none;outline:none;width:60px}.ii249dk::-webkit-inner-spin-button{appearance:none;margin:0}.ii249dk::-webkit-outer-spin-button{appearance:none;margin:0}.sbzqw1p{appearance:none;background:var(--haze-color-bg-subtle);color:var(--haze-color-text);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;transition:background .1s;display:flex}.sbzqw1p:hover{background:var(--haze-color-bg-muted)}.sbzqw1p:active{background:var(--haze-color-border)}.sbzqw1p:disabled{opacity:.5;cursor:not-allowed}.s6lc5ic{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.m128ncgb{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.lb15a7r{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.sib90v8{padding:0 var(--haze-space-2);font-size:var(--haze-text-sm)}.m1w4o2c9{padding:0 var(--haze-space-3);font-size:var(--haze-text-sm)}.lx2lopi{padding:0 var(--haze-space-3);font-size:var(--haze-text-base)}.cpz20zo{display:inline-flex;position:relative}.p1og1db{z-index:1000;margin-top:var(--haze-space-1);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);box-shadow:var(--haze-shadow-lg);min-width:200px;position:absolute;top:100%;left:0}.h12vxtuf{display:none}.r1wb1f2i{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-full);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.r1wb1f2i:hover{border-color:var(--haze-color-border-hover)}.r1wb1f2i:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.r1wb1f2i:checked{border-color:var(--haze-color-primary)}.r1wb1f2i:checked:after{content:"";border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:10px;height:10px;position:absolute;top:3px;left:3px}.r1wb1f2i:disabled{opacity:.5;cursor:not-allowed}.l1avex36{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;display:inline-flex}.b1bmwkyg{gap:var(--haze-space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.b1peearv{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);appearance:none;-webkit-background-position:right var(--haze-space-3) center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--haze-space-3) center;padding-right:var(--haze-space-8);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:block}.b1peearv:hover{border-color:var(--haze-color-border-hover)}.b1peearv:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b1peearv:disabled{opacity:.5;cursor:not-allowed}.sjwza0y{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.mzar2ws{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.lhyvvui{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.bpjjm1p{background:var(--haze-color-bg-muted);animation:1.5s ease-in-out infinite shimmer-bpjjm1p;display:block}@keyframes shimmer-bpjjm1p{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.t1ji0c5a{border-radius:var(--haze-radius-sm);height:1em}.c15uxer9{border-radius:var(--haze-radius-full)}.rkzquqq{border-radius:var(--haze-radius-md)}.bfgou5l{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;outline:none;width:100%;height:6px;transition:background .15s}.bfgou5l::-webkit-slider-thumb{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:18px;height:18px;box-shadow:var(--haze-shadow-sm);cursor:pointer;transition:background .15s,box-shadow .15s}.bfgou5l::-moz-range-thumb{border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:18px;height:18px;box-shadow:var(--haze-shadow-sm);cursor:pointer}.bfgou5l:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.bfgou5l:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.bfgou5l:disabled{opacity:.5;cursor:not-allowed}.t1js4uxc{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;align-items:center;padding:2px;transition:background .2s;display:inline-flex;position:relative}.t1js4uxc:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.t1js4uxc:disabled{opacity:.5;cursor:not-allowed}.t1qb79fu{background:var(--haze-color-primary)}.t1ixneoj{border-radius:var(--haze-radius-full);-webkit-transition:-webkit-transform .2s;box-shadow:var(--haze-shadow-sm);background:#fff;transition:transform .2s;display:block}.so54z1g{width:32px;height:18px}.m9yt5eh{width:40px;height:22px}.lh99aoz{width:48px;height:26px}.s3tnk0a{width:14px;height:14px}.mf3ptdg{width:18px;height:18px}.l11o9w2z{width:22px;height:22px}.sew2awa{transform:translate(14px)}.m1dvw2o9{transform:translate(18px)}.l19clm6f{transform:translate(22px)}.b9fntfg{border-collapse:collapse;width:100%;font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text)}.sy1ks6b tbody tr:nth-child(2n){background:var(--haze-color-bg-subtle)}.b45kaep th,.b45kaep td{border:1px solid var(--haze-color-border)}.b7tlpbs td{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.h188mbkb{border-bottom:2px solid var(--haze-color-border)}.h188mbkb th{text-align:left;padding:var(--haze-space-2) var(--haze-space-3);font-weight:var(--haze-weight-semibold);color:var(--haze-color-text)}.bgf9674{padding:var(--haze-space-2) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;transition:color .15s,border-color .15s}.bgf9674:hover{color:var(--haze-color-text)}.bgf9674:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.a1prfgev{color:var(--haze-color-primary);border-bottom-color:var(--haze-color-primary)}.b1dqiroo{border-bottom:1px solid var(--haze-color-border);gap:0;display:flex}.bp1375a{padding:var(--haze-space-4) 0}.h1gs31v1{display:none}.b1cu6oqd{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.b1t44wwy{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;display:inline-flex}.d14l1xxm{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.py5mbql{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary)}.s1rwhzzg{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.wgefhgi{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.d141dsor{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.sp149c6{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.m10vceca{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.ciauw5q{appearance:none;color:inherit;cursor:pointer;font-size:inherit;opacity:.6;background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:opacity .15s;display:inline-flex}.ciauw5q:hover{opacity:1}.ciauw5q:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.b1n6cdld{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);resize:vertical;transition:border-color .15s,box-shadow .15s;display:block}.b1n6cdld:hover{border-color:var(--haze-color-border-hover)}.b1n6cdld:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b1n6cdld:disabled{opacity:.5;cursor:not-allowed}.b1n6cdld::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.b1n6cdld::placeholder{color:var(--haze-color-text-muted)}.b1n6cdld:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.b1n6cdld::placeholder{color:var(--haze-color-text-muted)}.svhqg3y{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.m1lnui41{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.l1ogff54{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.blmvb4r{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);box-shadow:var(--haze-shadow-lg);pointer-events:auto;animation:.2s ease-out toastIn-blmvb4r;display:flex}@keyframes toastIn-blmvb4r{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.iy49nz2{background:var(--haze-color-bg);color:var(--haze-color-text);border:1px solid var(--haze-color-border)}.swaipoh{background:color-mix(in srgb, var(--haze-color-success) 10%, var(--haze-color-bg));color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.wxi28ov{background:color-mix(in srgb, var(--haze-color-warning) 10%, var(--haze-color-bg));color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.dl2596s{background:color-mix(in srgb, var(--haze-color-danger) 10%, var(--haze-color-bg));color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.cyr6umc{flex:1}.c19whxes{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.c19whxes:hover{opacity:1}.czbjunm{bottom:var(--haze-space-4);right:var(--haze-space-4);z-index:9999;gap:var(--haze-space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.wojk2bk{display:inline-flex;position:relative}.b1pzhi26{z-index:1000;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);background:var(--haze-color-text);color:var(--haze-color-text-inverse);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);line-height:var(--haze-leading-normal);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute}.t1eufnsf{margin-bottom:var(--haze-space-1);bottom:100%;left:50%;transform:translate(-50%)}.b17ctpvp{margin-top:var(--haze-space-1);top:100%;left:50%;transform:translate(-50%)}.l1fci34k{margin-right:var(--haze-space-1);top:50%;right:100%;transform:translateY(-50%)}.rtkbbwq{margin-left:var(--haze-space-1);top:50%;left:100%;transform:translateY(-50%)}.s16ged4s:hover>[role=tooltip],.s16ged4s:focus-within>[role=tooltip]{opacity:1}.l677mhi{--haze-color-primary:#06f;--haze-color-primary-hover:#0052cc;--haze-color-primary-active:#003d99;--haze-color-primary-subtle:#e6f0ff;--haze-color-bg:#fff;--haze-color-bg-subtle:#f7f8fa;--haze-color-bg-muted:#eef0f4;--haze-color-text:#1a1a1a;--haze-color-text-secondary:#4a4a4a;--haze-color-text-muted:#8a8a8a;--haze-color-text-inverse:#fff;--haze-color-border:#e0e0e0;--haze-color-border-hover:silver;--haze-color-success:#16a34a;--haze-color-warning:#f59e0b;--haze-color-danger:#dc2626;--haze-color-info:#2563eb;--haze-color-focus-ring:#06f6}.dves5ff{--haze-color-primary:#4d94ff;--haze-color-primary-hover:#6aa6ff;--haze-color-primary-active:#80b3ff;--haze-color-primary-subtle:#1a2e4a;--haze-color-bg:#121212;--haze-color-bg-subtle:#1e1e1e;--haze-color-bg-muted:#2a2a2a;--haze-color-text:#e8e8e8;--haze-color-text-secondary:#b0b0b0;--haze-color-text-muted:#707070;--haze-color-text-inverse:#1a1a1a;--haze-color-border:#333;--haze-color-border-hover:#4a4a4a;--haze-color-success:#22c55e;--haze-color-warning:#fbbf24;--haze-color-danger:#ef4444;--haze-color-info:#3b82f6;--haze-color-focus-ring:#4d94ff66}.s413e2t{--haze-space-0:0;--haze-space-1:4px;--haze-space-2:8px;--haze-space-3:12px;--haze-space-4:16px;--haze-space-5:20px;--haze-space-6:24px;--haze-space-8:32px;--haze-space-10:40px;--haze-space-12:48px;--haze-space-16:64px;--haze-radius-none:0;--haze-radius-sm:4px;--haze-radius-md:6px;--haze-radius-lg:8px;--haze-radius-xl:12px;--haze-radius-2xl:16px;--haze-radius-full:9999px;--haze-shadow-sm:0 1px 2px #0000000d;--haze-shadow-md:0 4px 6px #00000012;--haze-shadow-lg:0 10px 15px #0000001a;--haze-shadow-xl:0 20px 25px #0000001a}.tjcr6l1{--haze-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--haze-font-mono:"SF Mono",SFMono-Regular,ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;--haze-text-xs:12px;--haze-text-sm:14px;--haze-text-base:16px;--haze-text-lg:18px;--haze-text-xl:20px;--haze-text-2xl:24px;--haze-text-3xl:30px;--haze-leading-tight:1.25;--haze-leading-normal:1.5;--haze-leading-relaxed:1.75;--haze-weight-normal:400;--haze-weight-medium:500;--haze-weight-semibold:600;--haze-weight-bold:700}
|
|
1
|
+
.b1oalqve{width:100%}.i1sazm4o{border-bottom:1px solid var(--haze-color-border)}.i1sazm4o:first-of-type{border-top:1px solid var(--haze-color-border)}.s15fkg36{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.s15fkg36:hover{background:var(--haze-color-bg-subtle)}.s15fkg36:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.s15fkg36::marker{display:none}.s15fkg36::-webkit-details-marker{display:none}.s15fkg36:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.s15fkg36:after{transform:rotate(45deg)}.cvrhx3b{padding:0 var(--haze-space-4) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.b1mir2ye{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);display:flex}.iszr7j7{background:color-mix(in srgb, var(--haze-color-info) 10%, transparent);color:var(--haze-color-info);border:1px solid color-mix(in srgb, var(--haze-color-info) 25%, transparent)}.s1p0rp69{background:color-mix(in srgb, var(--haze-color-success) 10%, transparent);color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.w1dv8644{background:color-mix(in srgb, var(--haze-color-warning) 10%, transparent);color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.d13e6k4w{background:color-mix(in srgb, var(--haze-color-danger) 10%, transparent);color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.c1rnnssd{flex:1}.cf33uyw{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.cf33uyw:hover{opacity:1}.cf33uyw:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.b4666vo{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.sag18gw{width:32px;height:32px;font-size:var(--haze-text-xs)}.m7cr8e2{width:40px;height:40px;font-size:var(--haze-text-sm)}.lmhruty{width:56px;height:56px;font-size:var(--haze-text-lg)}.imhjc6a{object-fit:cover;width:100%;height:100%}.b48ijb1{border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;align-items:center;display:inline-flex}.dnq0o02{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.syuh2ol{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.w8jmk6n{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.d6m6v51{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.i58ehqk{background:color-mix(in srgb, var(--haze-color-info) 15%, transparent);color:var(--haze-color-info)}.s1m88y0u{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.miqan6{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.n10d0fjb{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.l727nxp{align-items:center;gap:var(--haze-space-2);margin:0;padding:0;list-style:none;display:flex}.sjewi7s{color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none}.lr0896i{color:var(--haze-color-primary);-webkit-text-decoration:none;text-decoration:none;transition:color .15s}.lr0896i:hover{color:var(--haze-color-primary-hover);-webkit-text-decoration:underline;text-decoration:underline}.lr0896i:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.cpuhw6u{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.btwn6q9{justify-content:center;align-items:center;gap:var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btwn6q9:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.btwn6q9:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sfzq9n9{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.sfzq9n9:hover{background:var(--haze-color-primary-hover)}.sfzq9n9:active{background:var(--haze-color-primary-active)}.o1dhij4n{border-color:var(--haze-color-border);color:var(--haze-color-text);background:0 0}.o1dhij4n:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.o1dhij4n:active{background:var(--haze-color-bg-muted)}.ga83b1x{color:var(--haze-color-text);background:0 0}.ga83b1x:hover{background:var(--haze-color-bg-subtle)}.ga83b1x:active{background:var(--haze-color-bg-muted)}.svizdgc{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.m5okc3b{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-sm)}.lqx8j9d{padding:var(--haze-space-3) var(--haze-space-6);font-size:var(--haze-text-base)}.suufezf{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.mrc88qd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.l1i6iwg2{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.b1r9ra2q{border-radius:var(--haze-radius-lg);padding:var(--haze-space-5);font-family:var(--haze-font-sans);color:var(--haze-color-text)}.eiercmf{background:var(--haze-color-bg);box-shadow:var(--haze-shadow-md)}.omgotjy{background:var(--haze-color-bg);border:1px solid var(--haze-color-border)}.f10uuhch{background:var(--haze-color-bg-subtle)}.w1vgcode{border-radius:var(--haze-radius-lg);position:relative;overflow:hidden}.t1gm45fg{-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;display:flex;overflow-x:auto}.t1gm45fg::-webkit-scrollbar{display:none}.nit1xjh{z-index:1;appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg);width:36px;height:36px;color:var(--haze-color-text);font-size:var(--haze-text-lg);cursor:pointer;box-shadow:var(--haze-shadow-md);border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nit1xjh:hover{background:var(--haze-color-bg-subtle)}.nit1xjh:focus-visible{box-shadow:var(--haze-shadow-md),0 0 0 3px var(--haze-color-focus-ring);outline:none}.pabcbhr{left:var(--haze-space-2)}.nc7ezkr{right:var(--haze-space-2)}.i1o6048a{justify-content:center;gap:var(--haze-space-1);padding:var(--haze-space-2) 0;display:flex}.dhf6lgj{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;width:8px;height:8px;padding:0;transition:background .15s}.dooaa69{background:var(--haze-color-primary)}.s10j4fk7{scroll-snap-snap-align:start;scroll-snap-align:start;flex:0 0 100%;min-width:0}.b187lfi8{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.b187lfi8:hover{border-color:var(--haze-color-border-hover)}.b187lfi8:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b187lfi8:checked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.b187lfi8:checked:after{content:"";border:solid var(--haze-color-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.b187lfi8:disabled{opacity:.5;cursor:not-allowed}.w1hbn1o4{width:100%;display:inline-block;position:relative}.i4sk2nn{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.i4sk2nn:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.luqji2p{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);max-height:200px;box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.h1poubj5{display:none}.o1jce0x2{padding:var(--haze-space-2) var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;align-items:center;transition:background .1s;display:flex}.o1jce0x2:hover,.h1rwzud7{background:var(--haze-color-bg-subtle)}.s10s5833{font-weight:var(--haze-weight-medium);color:var(--haze-color-primary)}.c1f9h0hb{padding:var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.hrefchg{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;margin-bottom:var(--haze-space-2);justify-content:space-between;display:flex}.h144mm7c{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-1);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1}.h144mm7c:hover{background:var(--haze-color-bg-subtle)}.h144mm7c:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.hmmnmao{font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.g1f8zgbo{display:-ms-grid;-ms-grid-columns:repeat(7, 1fr);text-align:center;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.w1onmyfp{padding:var(--haze-space-1);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-muted);font-size:var(--haze-text-xs)}.d1om8hws{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-1);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1.5;transition:background .1s}.d1om8hws:hover{background:var(--haze-color-bg-subtle)}.d1om8hws:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.d1om8hws:disabled{opacity:.3;cursor:not-allowed}.dxg97in{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.dxg97in:hover{background:var(--haze-color-primary-hover)}.dum096m{color:var(--haze-color-text-muted)}.w1m20gol{display:inline-block;position:relative}.i1ydf3w1{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);cursor:pointer;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.i1ydf3w1:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.d1flfxon{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.hhbkpj1{display:none}.oxnde4s{border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);box-shadow:var(--haze-shadow-xl);border:none;width:100%;max-width:480px}.oxnde4s::backdrop{background:#0006}.oxnde4s:focus-visible{box-shadow:var(--haze-shadow-xl),0 0 0 3px var(--haze-color-focus-ring);outline:none}.d191itnz{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.s1kaiz9e{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.s1kaiz9e:hover{background:var(--haze-color-bg-subtle)}.s1kaiz9e:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.s1kaiz9e::marker{display:none}.s1kaiz9e::-webkit-details-marker{display:none}.s1kaiz9e:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.s1kaiz9e:after{transform:rotate(45deg)}.cz931n3{padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.h17p0ep7{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.t1nmk3to{justify-content:center;align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-4);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex}.t1nmk3to:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.t1nmk3to:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.b9t8w6f{display:flex}.b1din3i3{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.b1din3i3>svg{fill:currentColor;stroke:currentColor;width:100%;height:100%}.smrq8s4>svg{fill:none}.swqgfs4{width:16px;height:16px}.m1gcmjlm{width:20px;height:20px}.ly5zzma{width:24px;height:24px}.w184eiu0{display:block;position:relative;overflow:hidden}.ifikscv{width:100%;height:100%;display:block}.f1rrks2c{background:var(--haze-color-bg-muted);width:100%;height:100%;color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:flex}.b18dr76j{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);transition:border-color .15s,box-shadow .15s;display:block}.b18dr76j:hover{border-color:var(--haze-color-border-hover)}.b18dr76j:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b18dr76j:disabled{opacity:.5;cursor:not-allowed}.b18dr76j::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.b18dr76j::placeholder{color:var(--haze-color-text-muted)}.b18dr76j:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.b18dr76j::placeholder{color:var(--haze-color-text-muted)}.s1lt2bv9{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.m1aucp4h{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.lxj3cju{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.b6y76mu{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-normal);padding-left:var(--haze-space-5);margin:0}.u31hqp2{list-style-type:disc}.o1ubwy3d{list-style-type:decimal}.ngsxhlv{padding-left:0;list-style-type:none}.inunl6n{padding:var(--haze-space-1) 0}.czio6g9{display:inline-flex;position:relative}.p2k9teu{z-index:1000;margin-top:var(--haze-space-1);min-width:160px;padding:var(--haze-space-1) 0;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.hn79qla{display:none}.d1sgpkj8{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.iuktz9j{width:100%;padding:var(--haze-space-2) var(--haze-space-3);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;transition:background .1s;display:flex}.iuktz9j:hover{background:var(--haze-color-bg-subtle)}.iuktz9j:focus-visible{background:var(--haze-color-bg-subtle);box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.iuktz9j:disabled{opacity:.5;cursor:not-allowed}.wcynu9m{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.wcynu9m:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.ii249dk{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);text-align:center;-moz-appearance:textfield;border:none;outline:none;width:60px}.ii249dk::-webkit-inner-spin-button{appearance:none;margin:0}.ii249dk::-webkit-outer-spin-button{appearance:none;margin:0}.sbzqw1p{appearance:none;background:var(--haze-color-bg-subtle);color:var(--haze-color-text);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;transition:background .1s;display:flex}.sbzqw1p:hover{background:var(--haze-color-bg-muted)}.sbzqw1p:active{background:var(--haze-color-border)}.sbzqw1p:disabled{opacity:.5;cursor:not-allowed}.s6lc5ic{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.m128ncgb{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.lb15a7r{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.sib90v8{padding:0 var(--haze-space-2);font-size:var(--haze-text-sm)}.m1w4o2c9{padding:0 var(--haze-space-3);font-size:var(--haze-text-sm)}.lx2lopi{padding:0 var(--haze-space-3);font-size:var(--haze-text-base)}.cpz20zo{display:inline-flex;position:relative}.p1og1db{z-index:1000;margin-top:var(--haze-space-1);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);box-shadow:var(--haze-shadow-lg);min-width:200px;position:absolute;top:100%;left:0}.h12vxtuf{display:none}.r1wb1f2i{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-full);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.r1wb1f2i:hover{border-color:var(--haze-color-border-hover)}.r1wb1f2i:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.r1wb1f2i:checked{border-color:var(--haze-color-primary)}.r1wb1f2i:checked:after{content:"";border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:10px;height:10px;position:absolute;top:3px;left:3px}.r1wb1f2i:disabled{opacity:.5;cursor:not-allowed}.l1avex36{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;display:inline-flex}.b1bmwkyg{gap:var(--haze-space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.b1peearv{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);appearance:none;-webkit-background-position:right var(--haze-space-3) center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--haze-space-3) center;padding-right:var(--haze-space-8);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:block}.b1peearv:hover{border-color:var(--haze-color-border-hover)}.b1peearv:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b1peearv:disabled{opacity:.5;cursor:not-allowed}.sjwza0y{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.mzar2ws{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.lhyvvui{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.bpjjm1p{background:var(--haze-color-bg-muted);animation:1.5s ease-in-out infinite shimmer-bpjjm1p;display:block}@keyframes shimmer-bpjjm1p{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.t1ji0c5a{border-radius:var(--haze-radius-sm);height:1em}.c15uxer9{border-radius:var(--haze-radius-full)}.rkzquqq{border-radius:var(--haze-radius-md)}.bfgou5l{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;outline:none;width:100%;height:6px;transition:background .15s}.bfgou5l::-webkit-slider-thumb{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:18px;height:18px;box-shadow:var(--haze-shadow-sm);cursor:pointer;transition:background .15s,box-shadow .15s}.bfgou5l::-moz-range-thumb{border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:18px;height:18px;box-shadow:var(--haze-shadow-sm);cursor:pointer}.bfgou5l:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.bfgou5l:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.bfgou5l:disabled{opacity:.5;cursor:not-allowed}.t1js4uxc{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;align-items:center;padding:2px;transition:background .2s;display:inline-flex;position:relative}.t1js4uxc:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.t1js4uxc:disabled{opacity:.5;cursor:not-allowed}.t1qb79fu{background:var(--haze-color-primary)}.t1ixneoj{border-radius:var(--haze-radius-full);-webkit-transition:-webkit-transform .2s;box-shadow:var(--haze-shadow-sm);background:#fff;transition:transform .2s;display:block}.so54z1g{width:32px;height:18px}.m9yt5eh{width:40px;height:22px}.lh99aoz{width:48px;height:26px}.s3tnk0a{width:14px;height:14px}.mf3ptdg{width:18px;height:18px}.l11o9w2z{width:22px;height:22px}.sew2awa{transform:translate(14px)}.m1dvw2o9{transform:translate(18px)}.l19clm6f{transform:translate(22px)}.b9fntfg{border-collapse:collapse;width:100%;font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text)}.sy1ks6b tbody tr:nth-child(2n){background:var(--haze-color-bg-subtle)}.b45kaep th,.b45kaep td{border:1px solid var(--haze-color-border)}.b7tlpbs td{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.h188mbkb{border-bottom:2px solid var(--haze-color-border)}.h188mbkb th{text-align:left;padding:var(--haze-space-2) var(--haze-space-3);font-weight:var(--haze-weight-semibold);color:var(--haze-color-text)}.bgf9674{padding:var(--haze-space-2) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;transition:color .15s,border-color .15s}.bgf9674:hover{color:var(--haze-color-text)}.bgf9674:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.a1prfgev{color:var(--haze-color-primary);border-bottom-color:var(--haze-color-primary)}.b1dqiroo{border-bottom:1px solid var(--haze-color-border);gap:0;display:flex}.bp1375a{padding:var(--haze-space-4) 0}.h1gs31v1{display:none}.b1cu6oqd{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.b1t44wwy{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;display:inline-flex}.d14l1xxm{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.py5mbql{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary)}.s1rwhzzg{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.wgefhgi{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.d141dsor{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.sp149c6{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.m10vceca{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.ciauw5q{appearance:none;color:inherit;cursor:pointer;font-size:inherit;opacity:.6;background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:opacity .15s;display:inline-flex}.ciauw5q:hover{opacity:1}.ciauw5q:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.b1n6cdld{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);resize:vertical;transition:border-color .15s,box-shadow .15s;display:block}.b1n6cdld:hover{border-color:var(--haze-color-border-hover)}.b1n6cdld:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.b1n6cdld:disabled{opacity:.5;cursor:not-allowed}.b1n6cdld::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.b1n6cdld::placeholder{color:var(--haze-color-text-muted)}.b1n6cdld:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.b1n6cdld::placeholder{color:var(--haze-color-text-muted)}.svhqg3y{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.m1lnui41{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.l1ogff54{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.blmvb4r{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);box-shadow:var(--haze-shadow-lg);pointer-events:auto;animation:.2s ease-out toastIn-blmvb4r;display:flex}@keyframes toastIn-blmvb4r{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.iy49nz2{background:var(--haze-color-bg);color:var(--haze-color-text);border:1px solid var(--haze-color-border)}.swaipoh{background:color-mix(in srgb, var(--haze-color-success) 10%, var(--haze-color-bg));color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.wxi28ov{background:color-mix(in srgb, var(--haze-color-warning) 10%, var(--haze-color-bg));color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.dl2596s{background:color-mix(in srgb, var(--haze-color-danger) 10%, var(--haze-color-bg));color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.cyr6umc{flex:1}.c19whxes{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.c19whxes:hover{opacity:1}.czbjunm{bottom:var(--haze-space-4);right:var(--haze-space-4);z-index:9999;gap:var(--haze-space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.wojk2bk{display:inline-flex;position:relative}.b1pzhi26{z-index:1000;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);background:var(--haze-color-text);color:var(--haze-color-text-inverse);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);line-height:var(--haze-leading-normal);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute}.t1eufnsf{margin-bottom:var(--haze-space-1);bottom:100%;left:50%;transform:translate(-50%)}.b17ctpvp{margin-top:var(--haze-space-1);top:100%;left:50%;transform:translate(-50%)}.l1fci34k{margin-right:var(--haze-space-1);top:50%;right:100%;transform:translateY(-50%)}.rtkbbwq{margin-left:var(--haze-space-1);top:50%;left:100%;transform:translateY(-50%)}.s16ged4s:hover>[role=tooltip],.s16ged4s:focus-within>[role=tooltip]{opacity:1}.byqiwb1{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);overflow:auto}.i1rn21zx{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--haze-radius-sm);align-items:center;min-height:28px;padding:2px 0;transition:background .15s;display:flex}.i1rn21zx:hover{background:var(--haze-color-bg-subtle)}.i1rn21zx:focus-visible{box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.b15n7bsq{padding:var(--haze-space-1) var(--haze-space-2);margin:0 calc(-1 * var(--haze-space-1));border-radius:var(--haze-radius-sm)}.b15n7bsq:hover{background:var(--haze-color-bg-subtle)}.st8kw28{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.dk6qa2p{opacity:.5;cursor:not-allowed;pointer-events:none}.s1puwz78{cursor:pointer;width:20px;height:20px;color:var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex}.s1puwz78:hover{color:var(--haze-color-text)}.s1puwz78 svg{width:12px;height:12px}.ss5ce9u{transform:rotate(90deg)}.c181jvqa{width:16px;height:16px;margin-right:var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.c181jvqa:hover{border-color:var(--haze-color-primary)}.c181jvqa svg{color:#fff;width:12px;height:12px}.c7s72cp,.c1fyhtnu{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.n1cauqet{width:16px;height:16px;margin-right:var(--haze-space-2);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.n1cauqet svg{width:16px;height:16px}.t1k02n76{font-size:var(--haze-text-sm);color:var(--haze-color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.l1xmbyic{animation:1s linear infinite spin-l1xmbyic;display:inline-flex}@keyframes spin-l1xmbyic{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.i1fswrkf{flex-shrink:0;width:24px;display:inline-block}.i1t8wtlt{border-left:1px solid var(--haze-color-border)}.l677mhi{--haze-color-primary:#06f;--haze-color-primary-hover:#0052cc;--haze-color-primary-active:#003d99;--haze-color-primary-subtle:#e6f0ff;--haze-color-bg:#fff;--haze-color-bg-subtle:#f7f8fa;--haze-color-bg-muted:#eef0f4;--haze-color-text:#1a1a1a;--haze-color-text-secondary:#4a4a4a;--haze-color-text-muted:#8a8a8a;--haze-color-text-inverse:#fff;--haze-color-border:#e0e0e0;--haze-color-border-hover:silver;--haze-color-success:#16a34a;--haze-color-warning:#f59e0b;--haze-color-danger:#dc2626;--haze-color-info:#2563eb;--haze-color-focus-ring:#06f6}.dves5ff{--haze-color-primary:#4d94ff;--haze-color-primary-hover:#6aa6ff;--haze-color-primary-active:#80b3ff;--haze-color-primary-subtle:#1a2e4a;--haze-color-bg:#121212;--haze-color-bg-subtle:#1e1e1e;--haze-color-bg-muted:#2a2a2a;--haze-color-text:#e8e8e8;--haze-color-text-secondary:#b0b0b0;--haze-color-text-muted:#707070;--haze-color-text-inverse:#1a1a1a;--haze-color-border:#333;--haze-color-border-hover:#4a4a4a;--haze-color-success:#22c55e;--haze-color-warning:#fbbf24;--haze-color-danger:#ef4444;--haze-color-info:#3b82f6;--haze-color-focus-ring:#4d94ff66}.s413e2t{--haze-space-0:0;--haze-space-1:4px;--haze-space-2:8px;--haze-space-3:12px;--haze-space-4:16px;--haze-space-5:20px;--haze-space-6:24px;--haze-space-8:32px;--haze-space-10:40px;--haze-space-12:48px;--haze-space-16:64px;--haze-radius-none:0;--haze-radius-sm:4px;--haze-radius-md:6px;--haze-radius-lg:8px;--haze-radius-xl:12px;--haze-radius-2xl:16px;--haze-radius-full:9999px;--haze-shadow-sm:0 1px 2px #0000000d;--haze-shadow-md:0 4px 6px #00000012;--haze-shadow-lg:0 10px 15px #0000001a;--haze-shadow-xl:0 20px 25px #0000001a}.tjcr6l1{--haze-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--haze-font-mono:"SF Mono",SFMono-Regular,ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;--haze-text-xs:12px;--haze-text-sm:14px;--haze-text-base:16px;--haze-text-lg:18px;--haze-text-xl:20px;--haze-text-2xl:24px;--haze-text-3xl:30px;--haze-leading-tight:1.25;--haze-leading-normal:1.5;--haze-leading-relaxed:1.75;--haze-weight-normal:400;--haze-weight-medium:500;--haze-weight-semibold:600;--haze-weight-bold:700}
|
|
2
2
|
/*$vite$:1*/
|
package/dist/index.js
CHANGED
|
@@ -52,5 +52,6 @@ import Q from "./components/Table/TableCell.js";
|
|
|
52
52
|
import $ from "./components/Carousel/Carousel.js";
|
|
53
53
|
import ee from "./components/Carousel/CarouselSlide.js";
|
|
54
54
|
import te from "./components/Datepicker/Datepicker.js";
|
|
55
|
-
import
|
|
56
|
-
|
|
55
|
+
import ne from "./components/Tree/Tree.js";
|
|
56
|
+
import { useControl as re } from "react-use-control";
|
|
57
|
+
export { T as Accordion, E as AccordionItem, D as Alert, O as Avatar, f as Badge, P as Breadcrumb, F as BreadcrumbItem, o as Button, i as COMPONENT_TOKENS, g as Card, $ as Carousel, ee as CarouselSlide, u as Checkbox, q as Combobox, te as Datepicker, p as Dialog, I as Disclosure, V as FileInput, N as Flex, j as Icon, M as Image, s as Input, G as List, K as ListItem, L as Menu, z as MenuDivider, R as MenuItem, B as NumberInput, l as Option, h as Popover, _ as Radio, v as RadioGroup, c as Select, A as Skeleton, b as Slider, d as Switch, a as TOKEN_REGISTRY, C as Tab, S as TabList, w as TabPanel, J as Table, X as TableBody, Q as TableCell, Y as TableHead, Z as TableRow, x as Tabs, k as Tag, y as Textarea, H as Toast, U as ToastContainer, m as Tooltip, ne as Tree, e as darkTheme, t as lightTheme, n as spacing, r as typography, re as useControl, W as useToast };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TreeProps } from './types';
|
|
2
|
+
export default function Tree({ treeData, multiple, checkable, checkStrictly, selectable, disabled, blockNode, showLine, showIcon, switcherIcon, loadingIcon, titleRender, iconRender, expandedKeys: expandedKeysControl, selectedKeys: selectedKeysControl, checkedKeys: checkedKeysControl, className, onExpand, onSelect, onCheck, }: TreeProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export type { TreeProps };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { TreeNodeData } from './types';
|
|
3
|
+
type TreeItemProps = {
|
|
4
|
+
node: TreeNodeData;
|
|
5
|
+
level: number;
|
|
6
|
+
expanded: boolean;
|
|
7
|
+
selected: boolean;
|
|
8
|
+
checked: 'checked' | 'halfChecked' | 'unchecked';
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
checkable: boolean;
|
|
11
|
+
selectable: boolean;
|
|
12
|
+
blockNode: boolean;
|
|
13
|
+
showLine: boolean;
|
|
14
|
+
showIcon: boolean;
|
|
15
|
+
switcherIcon?: ReactNode;
|
|
16
|
+
loadingIcon?: ReactNode;
|
|
17
|
+
loading: boolean;
|
|
18
|
+
titleRender?: (node: TreeNodeData) => ReactNode;
|
|
19
|
+
iconRender?: (node: TreeNodeData) => ReactNode;
|
|
20
|
+
isLast: boolean[];
|
|
21
|
+
onToggle: () => void;
|
|
22
|
+
onSelect: () => void;
|
|
23
|
+
onCheck: () => void;
|
|
24
|
+
};
|
|
25
|
+
export default function TreeItem({ node, level, expanded, selected, checked, disabled, checkable, selectable, blockNode, showLine, showIcon, switcherIcon, loadingIcon: loadingIconProp, loading, titleRender, iconRender, isLast, onToggle, onSelect, onCheck, }: TreeItemProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { Control } from 'react-use-control';
|
|
3
|
+
/**
|
|
4
|
+
* Tree 节点数据接口
|
|
5
|
+
*/
|
|
6
|
+
export type TreeNodeData = {
|
|
7
|
+
/** 节点唯一标识 */
|
|
8
|
+
key: string;
|
|
9
|
+
/** 节点标题 */
|
|
10
|
+
title: ReactNode;
|
|
11
|
+
/** 子节点 */
|
|
12
|
+
children?: TreeNodeData[];
|
|
13
|
+
/** 是否禁用 */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/** 是否可选中 */
|
|
16
|
+
selectable?: boolean;
|
|
17
|
+
/** 是否禁用复选框 */
|
|
18
|
+
disableCheckbox?: boolean;
|
|
19
|
+
/** 自定义图标 */
|
|
20
|
+
icon?: ReactNode;
|
|
21
|
+
/** 是否叶子节点 */
|
|
22
|
+
isLeaf?: boolean;
|
|
23
|
+
/** 自定义数据 */
|
|
24
|
+
[key: string]: unknown;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* 展开/选择/复选状态
|
|
28
|
+
*/
|
|
29
|
+
export type TreeState = {
|
|
30
|
+
expandedKeys: string[];
|
|
31
|
+
selectedKeys: string[];
|
|
32
|
+
checkedKeys: string[];
|
|
33
|
+
halfCheckedKeys: string[];
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Tree 组件 Props
|
|
37
|
+
*/
|
|
38
|
+
export type TreeProps = {
|
|
39
|
+
/** 树节点数据 */
|
|
40
|
+
treeData: TreeNodeData[];
|
|
41
|
+
/** 是否支持多选 */
|
|
42
|
+
multiple?: boolean;
|
|
43
|
+
/** 是否显示复选框 */
|
|
44
|
+
checkable?: boolean;
|
|
45
|
+
/** 是否完全受控复选(父子不关联) */
|
|
46
|
+
checkStrictly?: boolean;
|
|
47
|
+
/** 是否可选中 */
|
|
48
|
+
selectable?: boolean;
|
|
49
|
+
/** 是否禁用整棵树 */
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
/** 是否节点占据整行 */
|
|
52
|
+
blockNode?: boolean;
|
|
53
|
+
/** 是否显示连接线 */
|
|
54
|
+
showLine?: boolean;
|
|
55
|
+
/** 是否显示图标 */
|
|
56
|
+
showIcon?: boolean;
|
|
57
|
+
/** 自定义展开/折叠图标 */
|
|
58
|
+
switcherIcon?: ReactNode;
|
|
59
|
+
/** 自定义加载图标 */
|
|
60
|
+
loadingIcon?: ReactNode;
|
|
61
|
+
/** 自定义节点标题渲染 */
|
|
62
|
+
titleRender?: (node: TreeNodeData) => ReactNode;
|
|
63
|
+
/** 自定义节点图标渲染 */
|
|
64
|
+
iconRender?: (node: TreeNodeData) => ReactNode;
|
|
65
|
+
/** (受控)展开的节点 */
|
|
66
|
+
expandedKeys?: Control<string[]> | string[];
|
|
67
|
+
/** (受控)选中的节点 */
|
|
68
|
+
selectedKeys?: Control<string[]> | string[];
|
|
69
|
+
/** (受控)复选的节点 */
|
|
70
|
+
checkedKeys?: Control<string[]> | string[];
|
|
71
|
+
/** 自定义类名 */
|
|
72
|
+
className?: string;
|
|
73
|
+
/** 展开/收起回调 */
|
|
74
|
+
onExpand?: (expandedKeys: string[], info: {
|
|
75
|
+
expanded: boolean;
|
|
76
|
+
node: TreeNodeData;
|
|
77
|
+
}) => void;
|
|
78
|
+
/** 选中回调 */
|
|
79
|
+
onSelect?: (selectedKeys: string[], info: {
|
|
80
|
+
selected: boolean;
|
|
81
|
+
selectedNodes: TreeNodeData[];
|
|
82
|
+
node: TreeNodeData;
|
|
83
|
+
}) => void;
|
|
84
|
+
/** 复选回调 */
|
|
85
|
+
onCheck?: (checkedKeys: string[] | {
|
|
86
|
+
checked: string[];
|
|
87
|
+
halfChecked: string[];
|
|
88
|
+
}, info: {
|
|
89
|
+
checked: boolean;
|
|
90
|
+
checkedNodes: TreeNodeData[];
|
|
91
|
+
node: TreeNodeData;
|
|
92
|
+
halfCheckedKeys: string[];
|
|
93
|
+
}) => void;
|
|
94
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TreeNodeData } from './types';
|
|
2
|
+
export declare function flattenTreeData(data: TreeNodeData[]): TreeNodeData[];
|
|
3
|
+
export declare function findNodeByKey(data: TreeNodeData[], key: string): TreeNodeData | null;
|
|
4
|
+
export declare function getChildKeys(data: TreeNodeData[], parentKey: string): string[];
|
|
5
|
+
export declare function getParentKey(data: TreeNodeData[], targetKey: string, parentKey?: string): string | null;
|
|
6
|
+
export declare function getAllLeafKeys(data: TreeNodeData[]): string[];
|
package/dist/types/index.d.ts
CHANGED
|
@@ -30,9 +30,9 @@ export type { TextareaProps } from './components/Textarea';
|
|
|
30
30
|
export { Slider } from './components/Slider';
|
|
31
31
|
export type { SliderProps } from './components/Slider';
|
|
32
32
|
export { Tabs, TabList, Tab, TabPanel } from './components/Tabs';
|
|
33
|
-
export type { TabsProps, TabListProps, TabProps, TabPanelProps } from './components/Tabs';
|
|
33
|
+
export type { TabsProps, TabListProps, TabProps, TabPanelProps, } from './components/Tabs';
|
|
34
34
|
export { Accordion, AccordionItem } from './components/Accordion';
|
|
35
|
-
export type { AccordionProps, AccordionItemProps } from './components/Accordion';
|
|
35
|
+
export type { AccordionProps, AccordionItemProps, } from './components/Accordion';
|
|
36
36
|
export { Alert } from './components/Alert';
|
|
37
37
|
export type { AlertProps } from './components/Alert';
|
|
38
38
|
export { Avatar } from './components/Avatar';
|
|
@@ -48,7 +48,7 @@ export type { ImageProps } from './components/Image';
|
|
|
48
48
|
export { Flex } from './components/Flex';
|
|
49
49
|
export type { FlexProps } from './components/Flex';
|
|
50
50
|
export { Breadcrumb, BreadcrumbItem } from './components/Breadcrumb';
|
|
51
|
-
export type { BreadcrumbProps, BreadcrumbItemProps } from './components/Breadcrumb';
|
|
51
|
+
export type { BreadcrumbProps, BreadcrumbItemProps, } from './components/Breadcrumb';
|
|
52
52
|
export { Disclosure } from './components/Disclosure';
|
|
53
53
|
export type { DisclosureProps } from './components/Disclosure';
|
|
54
54
|
export { Menu, MenuItem, MenuDivider } from './components/Menu';
|
|
@@ -63,10 +63,12 @@ export { List, ListItem } from './components/List';
|
|
|
63
63
|
export type { ListProps, ListItemProps } from './components/List';
|
|
64
64
|
export { Combobox } from './components/Combobox';
|
|
65
65
|
export type { ComboboxProps } from './components/Combobox';
|
|
66
|
-
export { Table, TableHead, TableBody, TableRow, TableCell } from './components/Table';
|
|
67
|
-
export type { TableProps, TableHeadProps, TableBodyProps, TableRowProps, TableCellProps } from './components/Table';
|
|
66
|
+
export { Table, TableHead, TableBody, TableRow, TableCell, } from './components/Table';
|
|
67
|
+
export type { TableProps, TableHeadProps, TableBodyProps, TableRowProps, TableCellProps, } from './components/Table';
|
|
68
68
|
export { Carousel, CarouselSlide } from './components/Carousel';
|
|
69
69
|
export type { CarouselProps, CarouselSlideProps } from './components/Carousel';
|
|
70
70
|
export { Datepicker } from './components/Datepicker';
|
|
71
71
|
export type { DatepickerProps } from './components/Datepicker';
|
|
72
|
+
export { Tree } from './components/Tree';
|
|
73
|
+
export type { TreeProps, TreeNodeData } from './components/Tree';
|
|
72
74
|
export { useControl } from 'react-use-control';
|