@logicplanes/kaeso-ui 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -0
- package/LICENSE +1 -1
- package/ai/component-guides.md +269 -7
- package/ai/component-registry.json +600 -800
- package/ai/component-registry.md +200 -141
- package/ai/icons.md +2 -2
- package/ai/tokens.md +1 -1
- package/dist/blocks/delete-resource.js +1 -1
- package/dist/blocks/pages.js +3 -3
- package/dist/blocks/resource-list.js +2 -2
- package/dist/chunks/app-frame-BXh-06HL.js +214 -0
- package/dist/chunks/app-frame-BXh-06HL.js.map +1 -0
- package/dist/chunks/{banner-BiziJuBZ.js → banner-DxGBPQ7p.js} +2 -2
- package/dist/chunks/{banner-BiziJuBZ.js.map → banner-DxGBPQ7p.js.map} +1 -1
- package/dist/chunks/{button-BHKAE6ui.js → button-DQvoOxVQ.js} +2 -2
- package/dist/chunks/{button-BHKAE6ui.js.map → button-DQvoOxVQ.js.map} +1 -1
- package/dist/chunks/{calendar-B5SSTE56.js → calendar-CN3YJi2k.js} +3 -3
- package/dist/chunks/{calendar-B5SSTE56.js.map → calendar-CN3YJi2k.js.map} +1 -1
- package/dist/chunks/code-BADhvsgC.js +33 -0
- package/dist/chunks/code-BADhvsgC.js.map +1 -0
- package/dist/chunks/{code-block-BbK6E4Eo.js → code-block-DxtladFW.js} +41 -37
- package/dist/chunks/code-block-DxtladFW.js.map +1 -0
- package/dist/chunks/{combobox-D8pQk22r.js → combobox-D30Wt11R.js} +4 -4
- package/dist/chunks/{combobox-D8pQk22r.js.map → combobox-D30Wt11R.js.map} +1 -1
- package/dist/chunks/{copy-button-mAzHjYXq.js → copy-button-DXxn-YYZ.js} +4 -4
- package/dist/chunks/{copy-button-mAzHjYXq.js.map → copy-button-DXxn-YYZ.js.map} +1 -1
- package/dist/chunks/{core-Bgefcs3z.js → core-K960A4OT.js} +119 -120
- package/dist/chunks/core-K960A4OT.js.map +1 -0
- package/dist/chunks/{date-popup-Er1oQwtU.js → date-popup-B-6xhb-1.js} +3 -3
- package/dist/chunks/{date-popup-Er1oQwtU.js.map → date-popup-B-6xhb-1.js.map} +1 -1
- package/dist/chunks/{de-BCg1eRVd.js → de-CTAo4KL7.js} +10 -10
- package/dist/chunks/de-CTAo4KL7.js.map +1 -0
- package/dist/chunks/dialog-LNKgPEsV.js +319 -0
- package/dist/chunks/dialog-LNKgPEsV.js.map +1 -0
- package/dist/chunks/{icon-Bha63LaN.js → icon-CBzvyEqC.js} +30 -29
- package/dist/chunks/icon-CBzvyEqC.js.map +1 -0
- package/dist/chunks/{icon-button-Bw67oKtx.js → icon-button-_x1RUphC.js} +3 -3
- package/dist/chunks/{icon-button-Bw67oKtx.js.map → icon-button-_x1RUphC.js.map} +1 -1
- package/dist/chunks/{identity-DQinp-Ep.js → identity-BtZC_d_Q.js} +3 -3
- package/dist/chunks/{identity-DQinp-Ep.js.map → identity-BtZC_d_Q.js.map} +1 -1
- package/dist/chunks/{input-Biakz6GB.js → input-CNTfI6YE.js} +2 -2
- package/dist/chunks/{input-Biakz6GB.js.map → input-CNTfI6YE.js.map} +1 -1
- package/dist/chunks/{input-group-DQqEPFj_.js → input-group-CYA1MEoZ.js} +2 -2
- package/dist/chunks/{input-group-DQqEPFj_.js.map → input-group-CYA1MEoZ.js.map} +1 -1
- package/dist/chunks/{iso-field-CznqNVrH.js → iso-field-1qmg7TP8.js} +2 -2
- package/dist/chunks/{iso-field-CznqNVrH.js.map → iso-field-1qmg7TP8.js.map} +1 -1
- package/dist/chunks/linear-scale-BWKeRqDX.js +37 -0
- package/dist/chunks/linear-scale-BWKeRqDX.js.map +1 -0
- package/dist/chunks/{link-tTapNTpM.js → link-vz9aV8WX.js} +9 -2
- package/dist/chunks/link-vz9aV8WX.js.map +1 -0
- package/dist/chunks/{list-CN8pO8lv.js → list-CzaiyNja.js} +119 -111
- package/dist/chunks/list-CzaiyNja.js.map +1 -0
- package/dist/chunks/{markdown-C-iJsYnd.js → markdown-5NyaHHfN.js} +6 -6
- package/dist/chunks/{markdown-C-iJsYnd.js.map → markdown-5NyaHHfN.js.map} +1 -1
- package/dist/chunks/{menu-OURWt_hD.js → menu-DyVPwgfF.js} +2 -2
- package/dist/chunks/{menu-OURWt_hD.js.map → menu-DyVPwgfF.js.map} +1 -1
- package/dist/chunks/nav-sheet-BIErlV74.js +58 -0
- package/dist/chunks/nav-sheet-BIErlV74.js.map +1 -0
- package/dist/chunks/{logo-VmXYhIJL.js → nav-wordmark-DLkItdvo.js} +12 -93
- package/dist/chunks/nav-wordmark-DLkItdvo.js.map +1 -0
- package/dist/chunks/observe-resize-DhxhmoyB.js +25 -0
- package/dist/chunks/observe-resize-DhxhmoyB.js.map +1 -0
- package/dist/chunks/{page-header-BIRswR73.js → page-header-CEPZzhRp.js} +2 -2
- package/dist/chunks/{page-header-BIRswR73.js.map → page-header-CEPZzhRp.js.map} +1 -1
- package/dist/chunks/{pagination-DYdLm18-.js → pagination-CCMxQ5pH.js} +3 -3
- package/dist/chunks/{pagination-DYdLm18-.js.map → pagination-CCMxQ5pH.js.map} +1 -1
- package/dist/chunks/{range-popup-AbRzgHtY.js → range-popup-DGOnGGag.js} +4 -4
- package/dist/chunks/{range-popup-AbRzgHtY.js.map → range-popup-DGOnGGag.js.map} +1 -1
- package/dist/chunks/resize-motion-CMaidkwe.js +101 -0
- package/dist/chunks/resize-motion-CMaidkwe.js.map +1 -0
- package/dist/chunks/{rights-CXo7zEf6.js → rights-BbiJ0AJB.js} +4 -4
- package/dist/chunks/{rights-CXo7zEf6.js.map → rights-BbiJ0AJB.js.map} +1 -1
- package/dist/chunks/{section-XStLtXKa.js → section-DzOLLN1p.js} +3 -3
- package/dist/chunks/section-DzOLLN1p.js.map +1 -0
- package/dist/chunks/{segmented-CDTx2n29.js → segmented-MrinfDL8.js} +36 -35
- package/dist/chunks/segmented-MrinfDL8.js.map +1 -0
- package/dist/chunks/select-Bc4kRiSG.js +227 -0
- package/dist/chunks/select-Bc4kRiSG.js.map +1 -0
- package/dist/chunks/{sidebar-C4fL_KMm.js → sidebar-5IA18LuP.js} +180 -183
- package/dist/chunks/sidebar-5IA18LuP.js.map +1 -0
- package/dist/chunks/{sidebar-menu-sd9vCpDy.js → sidebar-menu-DRWRxcJ3.js} +2 -2
- package/dist/chunks/{sidebar-menu-sd9vCpDy.js.map → sidebar-menu-DRWRxcJ3.js.map} +1 -1
- package/dist/chunks/{switch-CztLhA8F.js → switch-XMY_CQE-.js} +2 -2
- package/dist/chunks/{switch-CztLhA8F.js.map → switch-XMY_CQE-.js.map} +1 -1
- package/dist/chunks/{tag-BsmQ1xPj.js → tag-Dg89uYpV.js} +3 -3
- package/dist/chunks/{tag-BsmQ1xPj.js.map → tag-Dg89uYpV.js.map} +1 -1
- package/dist/chunks/{text-BPglS3vq.js → text--5MKh2G4.js} +3 -3
- package/dist/chunks/{text-BPglS3vq.js.map → text--5MKh2G4.js.map} +1 -1
- package/dist/chunks/{textarea-Bvk7N2bh.js → textarea-Cj8iR82R.js} +3 -3
- package/dist/chunks/{textarea-Bvk7N2bh.js.map → textarea-Cj8iR82R.js.map} +1 -1
- package/dist/chunks/theme-provider-DJhORMlc.js +72 -0
- package/dist/chunks/theme-provider-DJhORMlc.js.map +1 -0
- package/dist/chunks/tooltip-DEbCCsru.js +151 -0
- package/dist/chunks/tooltip-DEbCCsru.js.map +1 -0
- package/dist/chunks/{tooltip-root-DWhtAtFb.js → tooltip-root-DRd4ciUv.js} +2 -2
- package/dist/chunks/{tooltip-root-DWhtAtFb.js.map → tooltip-root-DRd4ciUv.js.map} +1 -1
- package/dist/chunks/use-layout-width-CbSDbRb0.js +28 -0
- package/dist/chunks/use-layout-width-CbSDbRb0.js.map +1 -0
- package/dist/chunks/use-scroll-margin-DfdTc_5D.js +26 -0
- package/dist/chunks/use-scroll-margin-DfdTc_5D.js.map +1 -0
- package/dist/chunks/use-truncated-CW0hByYt.js +24 -0
- package/dist/chunks/use-truncated-CW0hByYt.js.map +1 -0
- package/dist/chunks/{virtual-rows-BgMdVelU.js → virtual-rows-BZe49bKi.js} +2 -2
- package/dist/chunks/{virtual-rows-BgMdVelU.js.map → virtual-rows-BZe49bKi.js.map} +1 -1
- package/dist/chunks/{zh-CN-cPjO1OOo.js → zh-CN-C7GmVswt.js} +15 -15
- package/dist/chunks/zh-CN-C7GmVswt.js.map +1 -0
- package/dist/components/app-frame.js +3 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/button-group.js +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts/bar.js +78 -77
- package/dist/components/charts/bar.js.map +1 -1
- package/dist/components/charts/donut.js +2 -2
- package/dist/components/charts/gauge.js +1 -1
- package/dist/components/charts/sankey.js +1 -1
- package/dist/components/charts/timeseries.js +75 -75
- package/dist/components/charts/timeseries.js.map +1 -1
- package/dist/components/charts.js +1 -1
- package/dist/components/code-block.js +1 -1
- package/dist/components/code.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +105 -97
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +94 -95
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +3 -3
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +141 -153
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/display-options.js +5 -5
- package/dist/components/filter-chip.js +1 -1
- package/dist/components/flow.js +37 -36
- package/dist/components/flow.js.map +1 -1
- package/dist/components/icon-button.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/input.js +5 -5
- package/dist/components/kaeso/conversation.js +2 -2
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +3 -3
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +1 -1
- package/dist/components/kaeso.js +4 -4
- package/dist/components/key-value.js +3 -3
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/logo.js +101 -1
- package/dist/components/logo.js.map +1 -0
- package/dist/components/markdown.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/page-header.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/playground.js +8 -8
- package/dist/components/scroll-area.js +30 -23
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/section.js +1 -1
- package/dist/components/segmented.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.js +46 -41
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/stat.js +75 -76
- package/dist/components/stat.js.map +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/theme-image.js +38 -0
- package/dist/components/theme-image.js.map +1 -0
- package/dist/components/theme-menu.js +3 -3
- package/dist/components/theme-select.js +58 -0
- package/dist/components/theme-select.js.map +1 -0
- package/dist/components/toast.js +91 -92
- package/dist/components/toast.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/i18n-provider.js +1 -1
- package/dist/index.js +76 -74
- package/dist/kaeso.css +39 -16
- package/dist/styles.css +1 -1
- package/dist/theme.js +1 -1
- package/dist/types/components/app-frame/app-frame.d.ts +2 -10
- package/dist/types/components/app-frame/docs.d.ts +1 -0
- package/dist/types/components/app-frame/index.d.ts +1 -0
- package/dist/types/components/app-frame/nav-sheet.d.ts +11 -0
- package/dist/types/components/charts/linear-scale.d.ts +17 -0
- package/dist/types/components/code/code.d.ts +16 -0
- package/dist/types/components/code/docs.d.ts +1 -0
- package/dist/types/components/code-block/code-block.d.ts +2 -0
- package/dist/types/components/code-block/docs.d.ts +4 -0
- package/dist/types/components/command-palette/command-palette.d.ts +1 -0
- package/dist/types/components/command-palette/docs.d.ts +1 -0
- package/dist/types/components/dialog/dialog.d.ts +5 -2
- package/dist/types/components/dialog/docs.d.ts +10 -0
- package/dist/types/components/dialog/index.d.ts +1 -0
- package/dist/types/components/dialog/scope.d.ts +9 -0
- package/dist/types/components/dialog/step-dialog.d.ts +9 -1
- package/dist/types/components/link/link.d.ts +8 -0
- package/dist/types/components/logo/nav-wordmark.d.ts +6 -0
- package/dist/types/components/scroll-area/scroll-area.d.ts +3 -3
- package/dist/types/components/theme-image/docs.d.ts +13 -0
- package/dist/types/components/theme-image/index.d.ts +1 -0
- package/dist/types/components/theme-image/theme-image.d.ts +23 -0
- package/dist/types/components/theme-select/docs.d.ts +10 -0
- package/dist/types/components/theme-select/index.d.ts +1 -0
- package/dist/types/components/theme-select/theme-select.d.ts +34 -0
- package/dist/types/icons/groups.d.ts +1 -1
- package/dist/types/icons/vocabulary.d.ts +5 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/theme/theme-provider.d.ts +1 -1
- package/dist/types/utils/dialog-scope.d.ts +7 -0
- package/dist/types/utils/lazy-module.d.ts +7 -2
- package/dist/types/utils/observe-resize.d.ts +1 -0
- package/dist/types/utils/resize-motion.d.ts +2 -0
- package/foundations/motion.md +1 -0
- package/package.json +2 -2
- package/dist/chunks/app-frame-BBIMch8X.js +0 -224
- package/dist/chunks/app-frame-BBIMch8X.js.map +0 -1
- package/dist/chunks/code-DDyOlIFO.js +0 -23
- package/dist/chunks/code-DDyOlIFO.js.map +0 -1
- package/dist/chunks/code-block-BbK6E4Eo.js.map +0 -1
- package/dist/chunks/core-Bgefcs3z.js.map +0 -1
- package/dist/chunks/de-BCg1eRVd.js.map +0 -1
- package/dist/chunks/dialog-CVqSVk3T.js +0 -283
- package/dist/chunks/dialog-CVqSVk3T.js.map +0 -1
- package/dist/chunks/icon-Bha63LaN.js.map +0 -1
- package/dist/chunks/link-tTapNTpM.js.map +0 -1
- package/dist/chunks/list-CN8pO8lv.js.map +0 -1
- package/dist/chunks/logo-VmXYhIJL.js.map +0 -1
- package/dist/chunks/restore-focus-Cap1Q-R3.js +0 -19
- package/dist/chunks/restore-focus-Cap1Q-R3.js.map +0 -1
- package/dist/chunks/section-XStLtXKa.js.map +0 -1
- package/dist/chunks/segmented-CDTx2n29.js.map +0 -1
- package/dist/chunks/select-Ca3HGsN1.js +0 -223
- package/dist/chunks/select-Ca3HGsN1.js.map +0 -1
- package/dist/chunks/sidebar-C4fL_KMm.js.map +0 -1
- package/dist/chunks/theme-provider-mgUaQK7L.js +0 -69
- package/dist/chunks/theme-provider-mgUaQK7L.js.map +0 -1
- package/dist/chunks/tooltip-CDu00nzg.js +0 -124
- package/dist/chunks/tooltip-CDu00nzg.js.map +0 -1
- package/dist/chunks/use-layout-width-DZaLOQMT.js +0 -27
- package/dist/chunks/use-layout-width-DZaLOQMT.js.map +0 -1
- package/dist/chunks/use-scroll-margin-DWcfIXac.js +0 -25
- package/dist/chunks/use-scroll-margin-DWcfIXac.js.map +0 -1
- package/dist/chunks/use-truncated-DmQoePvG.js +0 -25
- package/dist/chunks/use-truncated-DmQoePvG.js.map +0 -1
- package/dist/chunks/zh-CN-cPjO1OOo.js.map +0 -1
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as e, o as t } from "./styles-Btvg2DCf.js";
|
|
3
|
+
import { t as n } from "./cn-CidVUKMm.js";
|
|
4
|
+
import { i as r } from "./dev-CR1p7gCm.js";
|
|
5
|
+
import { n as i, r as a } from "./portal-context-BBbzDKmY.js";
|
|
6
|
+
import { i as o } from "./context-BELWW79w.js";
|
|
7
|
+
import { t as s } from "./icon-CeNQtobn.js";
|
|
8
|
+
import { a as ee, o as c, s as l } from "./field-d8V94bvZ.js";
|
|
9
|
+
import { n as u, t as te } from "./use-layout-width-CbSDbRb0.js";
|
|
10
|
+
import { Fragment as ne, forwardRef as d, useCallback as re, useRef as f } from "react";
|
|
11
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
12
|
+
import { ArrowDown01Icon as h, ArrowUp01Icon as ie, Tick02Icon as g } from "@hugeicons/core-free-icons";
|
|
13
|
+
import { CSPProvider as _ } from "@base-ui/react/csp-provider";
|
|
14
|
+
import { Select as v } from "@base-ui/react/select";
|
|
15
|
+
//#region src/components/select/select.tsx
|
|
16
|
+
var y = {
|
|
17
|
+
appearance: {
|
|
18
|
+
default: { classes: "material-secondary" },
|
|
19
|
+
ghost: { classes: "material-ghost text-fg-secondary hover:text-fg open:text-fg" },
|
|
20
|
+
header: { classes: "material-ghost text-fg" }
|
|
21
|
+
},
|
|
22
|
+
size: {
|
|
23
|
+
sm: { classes: "h-32 pl-12 pr-10 gap-6 text-body" },
|
|
24
|
+
md: { classes: "h-36 pl-16 pr-12 gap-8 text-body" },
|
|
25
|
+
lg: { classes: "h-40 pl-18 pr-14 gap-8 text-body" },
|
|
26
|
+
xl: { classes: "h-48 pl-22 pr-18 gap-8 text-body-lg" }
|
|
27
|
+
}
|
|
28
|
+
}, b = {
|
|
29
|
+
appearance: "default",
|
|
30
|
+
size: "md"
|
|
31
|
+
};
|
|
32
|
+
function x(e, t) {
|
|
33
|
+
return (n) => {
|
|
34
|
+
t(n) && e(n);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function S(e) {
|
|
38
|
+
let t = [];
|
|
39
|
+
for (let n of e) {
|
|
40
|
+
let e = t[t.length - 1];
|
|
41
|
+
e && e.group === n.group ? e.items.push(n) : t.push({
|
|
42
|
+
group: n.group,
|
|
43
|
+
items: [n]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return t;
|
|
47
|
+
}
|
|
48
|
+
var C = /* @__PURE__ */ d(function(d, b) {
|
|
49
|
+
let { options: C, placeholder: T, size: E = "md", appearance: D = "default", disabled: O, name: k, id: A, open: j, onOpenChange: M, invalid: N, icon: P, fullWidth: F, label: I, description: L, error: R, optional: z, required: B, layout: V, className: H, multiple: U, "aria-label": W, "data-force": G } = d;
|
|
50
|
+
r("Select", H);
|
|
51
|
+
let K = o(), q = T ?? K("select.placeholder", "Select"), J = ee(), Y = c(d), X = f(null), ae = u(X), oe = re((e) => {
|
|
52
|
+
X.current = e, typeof b == "function" ? b(e) : b && (b.current = e);
|
|
53
|
+
}, [b]), Z = new Map(C.map((e) => [e.value, e])), Q = (e) => {
|
|
54
|
+
let t = Z.get(e);
|
|
55
|
+
return t?.textValue ?? (typeof t?.label == "string" ? t.label : e);
|
|
56
|
+
}, se = d.multiple ? {
|
|
57
|
+
multiple: !0,
|
|
58
|
+
...d.value === void 0 ? {} : { value: d.value },
|
|
59
|
+
...d.defaultValue === void 0 ? {} : { defaultValue: d.defaultValue },
|
|
60
|
+
...d.onValueChange ? { onValueChange: x(d.onValueChange, Array.isArray) } : {}
|
|
61
|
+
} : {
|
|
62
|
+
...d.value === void 0 ? {} : { value: d.value },
|
|
63
|
+
...d.defaultValue === void 0 ? {} : { defaultValue: d.defaultValue },
|
|
64
|
+
...d.onValueChange ? { onValueChange: x(d.onValueChange, (e) => typeof e == "string") } : {}
|
|
65
|
+
}, $ = /* @__PURE__ */ m(v.Root, {
|
|
66
|
+
...se,
|
|
67
|
+
...J?.required ?? B ? { required: !0 } : {},
|
|
68
|
+
...O === void 0 ? {} : { disabled: O },
|
|
69
|
+
...k ? { name: k } : {},
|
|
70
|
+
...j === void 0 ? {} : { open: j },
|
|
71
|
+
...M ? { onOpenChange: (e) => M(e) } : {},
|
|
72
|
+
itemToStringLabel: (e) => Q(String(e)),
|
|
73
|
+
modal: !1,
|
|
74
|
+
children: [/* @__PURE__ */ m(v.Trigger, {
|
|
75
|
+
ref: oe,
|
|
76
|
+
...A ? { id: A } : {},
|
|
77
|
+
...Y.controlProps,
|
|
78
|
+
...W ? { "aria-label": W } : {},
|
|
79
|
+
...N || R ? { "aria-invalid": !0 } : {},
|
|
80
|
+
...G ? { "data-force": G } : {},
|
|
81
|
+
className: n("inline-flex min-w-0 cursor-pointer items-center justify-between rounded-pill font-medium whitespace-nowrap transition-control focus-ring disabled:cursor-not-allowed", y.size[E].classes, y.appearance[D].classes, (N || R) && "ring-invalid", F && "w-full", !(I || L || R) && H),
|
|
82
|
+
children: [
|
|
83
|
+
P && /* @__PURE__ */ p(s, {
|
|
84
|
+
icon: P,
|
|
85
|
+
size: "sm",
|
|
86
|
+
className: "text-fg-secondary"
|
|
87
|
+
}),
|
|
88
|
+
/* @__PURE__ */ p(v.Value, {
|
|
89
|
+
className: "min-w-0 flex-1 truncate text-left data-placeholder:text-fg-tertiary data-placeholder:font-regular",
|
|
90
|
+
placeholder: q,
|
|
91
|
+
children: (e) => {
|
|
92
|
+
if (U) {
|
|
93
|
+
let t = Array.isArray(e) ? e.map(String) : [], [n] = t;
|
|
94
|
+
return n === void 0 ? q : t.length === 1 ? Q(n) : K("select.firstAndMore", "{first} +{count}", {
|
|
95
|
+
first: Q(n),
|
|
96
|
+
count: String(t.length - 1)
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return e == null || e === "" ? q : Z.get(String(e))?.label ?? String(e);
|
|
100
|
+
}
|
|
101
|
+
}),
|
|
102
|
+
/* @__PURE__ */ p(v.Icon, {
|
|
103
|
+
className: "flex shrink-0 text-fg-tertiary",
|
|
104
|
+
children: /* @__PURE__ */ p(s, {
|
|
105
|
+
icon: h,
|
|
106
|
+
size: "sm"
|
|
107
|
+
})
|
|
108
|
+
})
|
|
109
|
+
]
|
|
110
|
+
}), /* @__PURE__ */ p(_, {
|
|
111
|
+
disableStyleElements: !0,
|
|
112
|
+
children: /* @__PURE__ */ p(v.Portal, {
|
|
113
|
+
container: a(),
|
|
114
|
+
children: /* @__PURE__ */ p(v.Positioner, {
|
|
115
|
+
positionMethod: "fixed",
|
|
116
|
+
collisionBoundary: i(),
|
|
117
|
+
alignItemWithTrigger: !1,
|
|
118
|
+
align: "start",
|
|
119
|
+
sideOffset: 6,
|
|
120
|
+
collisionPadding: 8,
|
|
121
|
+
className: "z-50 outline-none",
|
|
122
|
+
children: /* @__PURE__ */ m(v.Popup, {
|
|
123
|
+
className: n(t, "min-w-anchor overflow-hidden"),
|
|
124
|
+
style: te(ae),
|
|
125
|
+
children: [
|
|
126
|
+
/* @__PURE__ */ p(v.ScrollUpArrow, {
|
|
127
|
+
className: "flex h-20 items-center justify-center text-fg-tertiary",
|
|
128
|
+
children: /* @__PURE__ */ p(s, {
|
|
129
|
+
icon: ie,
|
|
130
|
+
size: "xs"
|
|
131
|
+
})
|
|
132
|
+
}),
|
|
133
|
+
/* @__PURE__ */ p(v.List, {
|
|
134
|
+
className: "-mx-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain px-6 outline-none scrollbar-quiet",
|
|
135
|
+
children: S(C).map((t, r) => /* @__PURE__ */ m(ne, { children: [r > 0 && /* @__PURE__ */ p("div", {
|
|
136
|
+
role: "presentation",
|
|
137
|
+
className: "mx-10 my-4 h-1 shrink-0 bg-line-subtle"
|
|
138
|
+
}), /* @__PURE__ */ m(v.Group, {
|
|
139
|
+
className: "flex flex-col",
|
|
140
|
+
children: [t.group && /* @__PURE__ */ p(v.GroupLabel, {
|
|
141
|
+
className: "flex h-28 items-center px-10 text-caption font-medium text-fg-secondary",
|
|
142
|
+
children: t.group
|
|
143
|
+
}), t.items.map((t) => /* @__PURE__ */ m(v.Item, {
|
|
144
|
+
value: t.value,
|
|
145
|
+
...t.disabled ? { disabled: !0 } : {},
|
|
146
|
+
label: t.textValue ?? (typeof t.label == "string" ? t.label : t.value),
|
|
147
|
+
className: n(e, "group/opt"),
|
|
148
|
+
children: [
|
|
149
|
+
U && /* @__PURE__ */ p("span", {
|
|
150
|
+
className: "pointer-events-none flex",
|
|
151
|
+
children: /* @__PURE__ */ p(w, {})
|
|
152
|
+
}),
|
|
153
|
+
t.icon && /* @__PURE__ */ p(s, {
|
|
154
|
+
icon: t.icon,
|
|
155
|
+
size: "sm",
|
|
156
|
+
className: n("text-fg-secondary group-data-highlighted/item:text-fg group-data-disabled/item:text-fg-disabled", t.description && "self-start mt-10")
|
|
157
|
+
}),
|
|
158
|
+
/* @__PURE__ */ m("span", {
|
|
159
|
+
className: n("flex min-w-0 flex-1 flex-col", t.description && "gap-2 py-8"),
|
|
160
|
+
children: [/* @__PURE__ */ p(v.ItemText, {
|
|
161
|
+
className: "truncate",
|
|
162
|
+
children: t.label
|
|
163
|
+
}), t.description && /* @__PURE__ */ p("span", {
|
|
164
|
+
className: "text-small font-regular whitespace-normal text-fg-secondary",
|
|
165
|
+
children: t.description
|
|
166
|
+
})]
|
|
167
|
+
}),
|
|
168
|
+
!U && /* @__PURE__ */ p(v.ItemIndicator, {
|
|
169
|
+
keepMounted: !0,
|
|
170
|
+
className: n("flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100", t.description && "self-start mt-10"),
|
|
171
|
+
children: /* @__PURE__ */ p(s, {
|
|
172
|
+
icon: g,
|
|
173
|
+
size: "sm"
|
|
174
|
+
})
|
|
175
|
+
})
|
|
176
|
+
]
|
|
177
|
+
}, t.value))]
|
|
178
|
+
})] }, t.group ?? `g${r}`))
|
|
179
|
+
}),
|
|
180
|
+
/* @__PURE__ */ p(v.ScrollDownArrow, {
|
|
181
|
+
className: "flex h-20 items-center justify-center text-fg-tertiary",
|
|
182
|
+
children: /* @__PURE__ */ p(s, {
|
|
183
|
+
icon: h,
|
|
184
|
+
size: "xs"
|
|
185
|
+
})
|
|
186
|
+
})
|
|
187
|
+
]
|
|
188
|
+
})
|
|
189
|
+
})
|
|
190
|
+
})
|
|
191
|
+
})]
|
|
192
|
+
});
|
|
193
|
+
return J ? $ : l({
|
|
194
|
+
label: I,
|
|
195
|
+
description: L,
|
|
196
|
+
error: R,
|
|
197
|
+
optional: z,
|
|
198
|
+
required: B,
|
|
199
|
+
layout: V,
|
|
200
|
+
id: Y.wrapId ?? A,
|
|
201
|
+
disabled: O,
|
|
202
|
+
className: H
|
|
203
|
+
}, $);
|
|
204
|
+
});
|
|
205
|
+
process.env.NODE_ENV !== "production" && (C.displayName = "Select");
|
|
206
|
+
function w() {
|
|
207
|
+
return /* @__PURE__ */ p("span", {
|
|
208
|
+
className: "inline-flex size-18 shrink-0 items-center justify-center rounded-checkbox bg-raised shadow-selector group-data-selected/opt:bg-ink group-data-selected/opt:shadow-none",
|
|
209
|
+
children: /* @__PURE__ */ p("svg", {
|
|
210
|
+
viewBox: "0 0 12 12",
|
|
211
|
+
className: "hidden size-12 text-on-ink group-data-selected/opt:block",
|
|
212
|
+
fill: "none",
|
|
213
|
+
"aria-hidden": !0,
|
|
214
|
+
children: /* @__PURE__ */ p("path", {
|
|
215
|
+
d: "M2.5 6.25 4.9 8.5 9.5 3.75",
|
|
216
|
+
stroke: "currentColor",
|
|
217
|
+
strokeWidth: "1.75",
|
|
218
|
+
strokeLinecap: "round",
|
|
219
|
+
strokeLinejoin: "round"
|
|
220
|
+
})
|
|
221
|
+
})
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
//#endregion
|
|
225
|
+
export { y as n, C as r, b as t };
|
|
226
|
+
|
|
227
|
+
//# sourceMappingURL=select-Bc4kRiSG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-Bc4kRiSG.js","names":["Select","BaseSelect","__icon_ArrowDown01Icon","__icon_ArrowUp01Icon","__icon_Tick02Icon","MENU_ITEM","MENU_POPUP","cn","warnStylingClassName","pageBoundary","usePortalContainer","useUiText","Icon","useField","useFieldControl","withField","useLayoutWidth","anchorWidthStyle","KAESO_SELECT_VARIANTS","KAESO_SELECT_DEFAULT_VARIANTS","changeWith","accepts","value","onChange","groupsOf","out","o","options","last","Select$1","placeholderProp","ariaLabel","force","props","className","t","placeholder","field","fc","trigger","useRef","triggerWidth","setTrigger","useCallback","el","ref","byValue","textOf","v","valueProps","control","Select","required","disabled","name","open","onOpenChange","id","invalid","error","size","appearance","fullWidth","label","description","icon","multiple","arr","first","ArrowDown01Icon","CSPProvider","ArrowUp01Icon","Fragment","gi","g","OptionCheckbox","Tick02Icon"],"sources":["../../src/components/select/select.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport { Fragment, forwardRef, useCallback, useRef, type ReactNode } from \"react\";\nimport { CSPProvider } from \"@base-ui/react/csp-provider\";\nimport { Select as BaseSelect } from \"@base-ui/react/select\";\nimport { cn } from \"../../utils/cn.js\";\nimport { warnStylingClassName } from \"../../utils/dev.js\";\nimport { useField, useFieldControl, withField, type FieldWrapProps } from \"../field/field.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { ArrowDown01Icon as __icon_ArrowDown01Icon, ArrowUp01Icon as __icon_ArrowUp01Icon, Tick02Icon as __icon_Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { MENU_ICON, MENU_ITEM, MENU_LABEL, MENU_POPUP, MENU_SEPARATOR } from \"../menu/styles.js\";\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_SELECT_VARIANTS = {\n appearance: {\n default: { classes: \"material-secondary\" },\n ghost: { classes: \"material-ghost text-fg-secondary hover:text-fg open:text-fg\" },\n header: { classes: \"material-ghost text-fg\" },\n },\n size: {\n sm: { classes: \"h-32 pl-12 pr-10 gap-6 text-body\" },\n md: { classes: \"h-36 pl-16 pr-12 gap-8 text-body\" },\n lg: { classes: \"h-40 pl-18 pr-14 gap-8 text-body\" },\n xl: { classes: \"h-48 pl-22 pr-18 gap-8 text-body-lg\" },\n },\n} as const;\nexport const KAESO_SELECT_DEFAULT_VARIANTS = { appearance: \"default\", size: \"md\" } as const;\n\nexport interface SelectOption {\n value: string;\n label: ReactNode;\n textValue?: string | undefined;\n description?: ReactNode | undefined;\n icon?: IconData | undefined;\n group?: string | undefined;\n disabled?: boolean | undefined;\n}\n\ninterface BaseProps extends FieldWrapProps {\n options: SelectOption[];\n placeholder?: ReactNode | undefined;\n size?: keyof typeof KAESO_SELECT_VARIANTS.size | undefined;\n appearance?: keyof typeof KAESO_SELECT_VARIANTS.appearance | undefined;\n disabled?: boolean | undefined;\n name?: string | undefined;\n id?: string | undefined;\n open?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n invalid?: boolean | undefined;\n icon?: IconData | undefined;\n fullWidth?: boolean | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\nexport interface SingleSelectProps extends BaseProps {\n multiple?: false | undefined;\n value?: string | null | undefined;\n defaultValue?: string | null | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n}\nexport interface MultiSelectProps extends BaseProps {\n multiple: true;\n value?: string[] | undefined;\n defaultValue?: string[] | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n}\nexport type SelectProps = SingleSelectProps | MultiSelectProps;\n\nfunction changeWith<T extends string | string[]>(onChange: (value: T) => void, accepts: (value: unknown) => value is T) {\n return (value: unknown) => {\n if (accepts(value)) onChange(value);\n };\n}\n\nfunction groupsOf(options: SelectOption[]) {\n const out: { group: string | undefined; items: SelectOption[] }[] = [];\n for (const o of options) {\n const last = out[out.length - 1];\n if (last && last.group === o.group) last.items.push(o);\n else out.push({ group: o.group, items: [o] });\n }\n return out;\n}\n\nexport const Select = /* @__PURE__ */ forwardRef<HTMLButtonElement, SelectProps>(function Select(props, ref) {\n const {\n options,\n placeholder: placeholderProp,\n size = \"md\",\n appearance = \"default\",\n disabled,\n name,\n id,\n open,\n onOpenChange,\n invalid,\n icon,\n fullWidth,\n label,\n description,\n error,\n optional,\n required,\n layout,\n className,\n multiple,\n \"aria-label\": ariaLabel,\n \"data-force\": force,\n } = props;\n warnStylingClassName(\"Select\", className);\n const t = useUiText();\n const placeholder = placeholderProp ?? t(\"select.placeholder\", \"Select\");\n const field = useField();\n const fc = useFieldControl(props);\n const trigger = useRef<HTMLButtonElement | null>(null);\n const triggerWidth = useLayoutWidth(trigger);\n const setTrigger = useCallback(\n (el: HTMLButtonElement | null) => {\n trigger.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n },\n [ref],\n );\n const byValue = new Map(options.map((o) => [o.value, o]));\n const textOf = (v: string) => {\n const o = byValue.get(v);\n return o?.textValue ?? (typeof o?.label === \"string\" ? o.label : v);\n };\n const valueProps: Pick<BaseSelect.Root.Props<string, boolean>, \"multiple\" | \"value\" | \"defaultValue\" | \"onValueChange\"> = props.multiple\n ? {\n multiple: true,\n ...(props.value !== undefined ? { value: props.value } : {}),\n ...(props.defaultValue !== undefined ? { defaultValue: props.defaultValue } : {}),\n ...(props.onValueChange ? { onValueChange: changeWith(props.onValueChange, Array.isArray) } : {}),\n }\n : {\n ...(props.value !== undefined ? { value: props.value } : {}),\n ...(props.defaultValue !== undefined ? { defaultValue: props.defaultValue } : {}),\n ...(props.onValueChange ? { onValueChange: changeWith(props.onValueChange, (v) => typeof v === \"string\") } : {}),\n };\n const control = (\n <BaseSelect.Root\n {...valueProps}\n {...((field?.required ?? required) ? { required: true } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(name ? { name } : {})}\n {...(open !== undefined ? { open } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n itemToStringLabel={(v: unknown) => textOf(String(v))}\n modal={false}\n >\n <BaseSelect.Trigger\n ref={setTrigger}\n {...(id ? { id } : {})}\n {...fc.controlProps}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(invalid || error ? { \"aria-invalid\": true } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"inline-flex min-w-0 cursor-pointer items-center justify-between rounded-pill font-medium whitespace-nowrap transition-control focus-ring disabled:cursor-not-allowed\",\n KAESO_SELECT_VARIANTS.size[size].classes,\n KAESO_SELECT_VARIANTS.appearance[appearance].classes,\n (invalid || error) && \"ring-invalid\",\n fullWidth && \"w-full\",\n !(label || description || error) && className,\n )}\n >\n {icon && <Icon icon={icon} size=\"sm\" className=\"text-fg-secondary\" />}\n <BaseSelect.Value\n className=\"min-w-0 flex-1 truncate text-left data-placeholder:text-fg-tertiary data-placeholder:font-regular\"\n placeholder={placeholder}\n >\n {(value: unknown) => {\n if (multiple) {\n const arr = Array.isArray(value) ? value.map(String) : [];\n const [first] = arr;\n if (first === undefined) return placeholder;\n return arr.length === 1 ? textOf(first) : t(\"select.firstAndMore\", \"{first} +{count}\", { first: textOf(first), count: String(arr.length - 1) });\n }\n return value == null || value === \"\" ? placeholder : (byValue.get(String(value))?.label ?? String(value));\n }}\n </BaseSelect.Value>\n <BaseSelect.Icon className=\"flex shrink-0 text-fg-tertiary\">\n <Icon icon={__icon_ArrowDown01Icon} size=\"sm\" />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n <CSPProvider disableStyleElements>\n <BaseSelect.Portal container={usePortalContainer()}>\n <BaseSelect.Positioner\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n alignItemWithTrigger={false}\n align=\"start\"\n sideOffset={6}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseSelect.Popup className={cn(MENU_POPUP, \"min-w-anchor overflow-hidden\")} style={anchorWidthStyle(triggerWidth)}>\n <BaseSelect.ScrollUpArrow className=\"flex h-20 items-center justify-center text-fg-tertiary\">\n <Icon icon={__icon_ArrowUp01Icon} size=\"xs\" />\n </BaseSelect.ScrollUpArrow>\n <BaseSelect.List className=\"-mx-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain px-6 outline-none scrollbar-quiet\">\n {groupsOf(options).map((g, gi) => (\n <Fragment key={g.group ?? `g${gi}`}>\n {gi > 0 && <div role=\"presentation\" className={MENU_SEPARATOR} />}\n <BaseSelect.Group className=\"flex flex-col\">\n {g.group && <BaseSelect.GroupLabel className={MENU_LABEL}>{g.group}</BaseSelect.GroupLabel>}\n {g.items.map((o) => (\n <BaseSelect.Item\n key={o.value}\n value={o.value}\n {...(o.disabled ? { disabled: true } : {})}\n label={o.textValue ?? (typeof o.label === \"string\" ? o.label : o.value)}\n className={cn(MENU_ITEM, \"group/opt\")}\n >\n {multiple && (\n <span className=\"pointer-events-none flex\">\n <OptionCheckbox />\n </span>\n )}\n {o.icon && <Icon icon={o.icon} size=\"sm\" className={cn(MENU_ICON, o.description && \"self-start mt-10\")} />}\n <span className={cn(\"flex min-w-0 flex-1 flex-col\", o.description && \"gap-2 py-8\")}>\n <BaseSelect.ItemText className=\"truncate\">{o.label}</BaseSelect.ItemText>\n {o.description && <span className=\"text-small font-regular whitespace-normal text-fg-secondary\">{o.description}</span>}\n </span>\n {!multiple && (\n <BaseSelect.ItemIndicator\n keepMounted\n className={cn(\n \"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100\",\n o.description && \"self-start mt-10\",\n )}\n >\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseSelect.ItemIndicator>\n )}\n </BaseSelect.Item>\n ))}\n </BaseSelect.Group>\n </Fragment>\n ))}\n </BaseSelect.List>\n <BaseSelect.ScrollDownArrow className=\"flex h-20 items-center justify-center text-fg-tertiary\">\n <Icon icon={__icon_ArrowDown01Icon} size=\"xs\" />\n </BaseSelect.ScrollDownArrow>\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n </CSPProvider>\n </BaseSelect.Root>\n );\n if (field) return control;\n return withField({ label, description, error, optional, required, layout, id: fc.wrapId ?? id, disabled, className }, control);\n});\nif (process.env.NODE_ENV !== \"production\") Select.displayName = \"Select\";\n\nfunction OptionCheckbox() {\n return (\n <span className=\"inline-flex size-18 shrink-0 items-center justify-center rounded-checkbox bg-raised shadow-selector group-data-selected/opt:bg-ink group-data-selected/opt:shadow-none\">\n <svg viewBox=\"0 0 12 12\" className=\"hidden size-12 text-on-ink group-data-selected/opt:block\" fill=\"none\" aria-hidden>\n <path d=\"M2.5 6.25 4.9 8.5 9.5 3.75\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAaA,IAAakB,IAAwB;CACnC,YAAY;EACV,SAAS,EAAE,SAAS,qBAAqB;EACzC,OAAO,EAAE,SAAS,8DAA8D;EAChF,QAAQ,EAAE,SAAS,yBAAyB;CAC9C;CACA,MAAM;EACJ,IAAI,EAAE,SAAS,mCAAmC;EAClD,IAAI,EAAE,SAAS,mCAAmC;EAClD,IAAI,EAAE,SAAS,mCAAmC;EAClD,IAAI,EAAE,SAAS,sCAAsC;CACvD;AACF,GACaC,IAAgC;CAAE,YAAY;CAAW,MAAM;AAAK;AA2CjF,SAASC,EAAwC,GAA8B,GAAyC;CACtH,QAAQ,MAAmB;EACzB,AAAIC,EAAQC,CAAK,KAAGC,EAASD,CAAK;CACpC;AACF;AAEA,SAASE,EAAS,GAAyB;CACzC,IAAMC,IAA8D,CAAC;CACrE,KAAK,IAAMC,KAAKC,GAAS;EACvB,IAAMC,IAAOH,EAAIA,EAAI,SAAS;EAC9B,AAAIG,KAAQA,EAAK,UAAUF,EAAE,QAAOE,EAAK,MAAM,KAAKF,CAAC,IAChDD,EAAI,KAAK;GAAE,OAAOC,EAAE;GAAO,OAAO,CAACA,CAAC;EAAE,CAAC;CAC9C;CACA,OAAOD;AACT;AAEA,IAAazB,IAAyB,kBAA2C,SAAgB,GAAO,GAAK;CAC3G,IAAM,EACJ,YACA,aAAa8B,GACb,UAAO,MACP,gBAAa,WACb,aACA,SACA,OACA,SACA,iBACA,YACA,SACA,cACA,UACA,gBACA,UACA,aACA,aACA,WACA,cACA,aACA,cAAcC,GACd,cAAcC,MACZC;CACJ,EAAqB,UAAUC,CAAS;CACxC,IAAMC,IAAIxB,EAAU,GACdyB,IAAcN,KAAmBK,EAAE,sBAAsB,QAAQ,GACjEE,IAAQxB,GAAS,GACjByB,IAAKxB,EAAgBmB,CAAK,GAC1BM,IAAUC,EAAiC,IAAI,GAC/CC,KAAezB,EAAeuB,CAAO,GACrCG,KAAaC,IAChB,MAAiC;EAEhC,AADA,EAAQ,UAAUC,GACd,OAAOC,KAAQ,aAAYA,EAAID,CAAE,IAC5BC,MAAK,EAAI,UAAUD;CAC9B,GACA,CAACC,CAAG,CACN,GACMC,IAAU,IAAI,IAAInB,EAAQ,KAAK,MAAM,CAACD,EAAE,OAAOA,CAAC,CAAC,CAAC,GAClDqB,KAAU,MAAc;EAC5B,IAAMrB,IAAIoB,EAAQ,IAAIE,CAAC;EACvB,OAAOtB,GAAG,cAAc,OAAOA,GAAG,SAAU,WAAWA,EAAE,QAAQsB;CACnE,GACMC,KAAoHhB,EAAM,WAC5H;EACE,UAAU;EACV,GAAIA,EAAM,UAAU,KAAA,IAAqC,CAAC,IAA1B,EAAE,OAAOA,EAAM,MAAM;EACrD,GAAIA,EAAM,iBAAiB,KAAA,IAAmD,CAAC,IAAxC,EAAE,cAAcA,EAAM,aAAa;EAC1E,GAAIA,EAAM,gBAAgB,EAAE,eAAeb,EAAWa,EAAM,eAAe,MAAM,OAAO,EAAE,IAAI,CAAC;CACjG,IACA;EACE,GAAIA,EAAM,UAAU,KAAA,IAAqC,CAAC,IAA1B,EAAE,OAAOA,EAAM,MAAM;EACrD,GAAIA,EAAM,iBAAiB,KAAA,IAAmD,CAAC,IAAxC,EAAE,cAAcA,EAAM,aAAa;EAC1E,GAAIA,EAAM,gBAAgB,EAAE,eAAeb,EAAWa,EAAM,gBAAgB,MAAM,OAAOe,KAAM,QAAQ,EAAE,IAAI,CAAC;CAChH,GACEE,IACJ,kBAACjD,EAAW,MAAZ;EACE,GAAIgD;EACJ,GAAMZ,GAAO,YAAYe,IAAY,EAAE,UAAU,GAAK,IAAI,CAAC;EAC3D,GAAKC,MAAa,KAAA,IAA2B,CAAC,IAAhB,EAAE,YAAS;EACzC,GAAKC,IAAO,EAAE,QAAK,IAAI,CAAC;EACxB,GAAKC,MAAS,KAAA,IAAuB,CAAC,IAAZ,EAAE,QAAK;EACjC,GAAKC,IAAe,EAAE,eAAe,MAAeA,EAAa9B,CAAC,EAAE,IAAI,CAAC;EACzE,oBAAoB,MAAeqB,EAAO,OAAOC,CAAC,CAAC;EACnD,OAAO;EART,UAAA,CAUE,kBAAC/C,EAAW,SAAZ;GACE,KAAKyC;GACL,GAAKe,IAAK,EAAE,MAAG,IAAI,CAAC;GACpB,GAAInB,EAAG;GACP,GAAKP,IAAY,EAAE,cAAcA,EAAU,IAAI,CAAC;GAChD,GAAK2B,KAAWC,IAAQ,EAAE,gBAAgB,GAAK,IAAI,CAAC;GACpD,GAAK3B,IAAQ,EAAE,cAAcA,EAAM,IAAI,CAAC;GACxC,WAAWzB,EACT,wKACAW,EAAsB,KAAK0C,EAAK,CAAC,SACjC1C,EAAsB,WAAW2C,EAAW,CAAC,UAC5CH,KAAWC,MAAU,gBACtBG,KAAa,UACb,EAAEC,KAASC,KAAeL,MAAUzB,CACtC;GAdF,UAAA;IAgBG+B,KAAQ,kBAACrD,GAAD;KAAY;KAAM,MAAK;KAAK,WAAU;IAAqB,CAAA;IACpE,kBAACX,EAAW,OAAZ;KACE,WAAU;KACG;KAEX,WAAA,MAAmB;MACnB,IAAIiE,GAAU;OACZ,IAAMC,IAAM,MAAM,QAAQ7C,CAAK,IAAIA,EAAM,IAAI,MAAM,IAAI,CAAC,GAClD,CAAC8C,KAASD;OAEhB,OADIC,MAAU,KAAA,IAAkBhC,IACzB+B,EAAI,WAAW,IAAIpB,EAAOqB,CAAK,IAAIjC,EAAE,uBAAuB,oBAAoB;QAAE,OAAOY,EAAOqB,CAAK;QAAG,OAAO,OAAOD,EAAI,SAAS,CAAC;OAAE,CAAC;MAChJ;MACA,OAAO7C,KAAS,QAAQA,MAAU,KAAKc,IAAeU,EAAQ,IAAI,OAAOxB,CAAK,CAAC,CAAC,EAAE,SAAS,OAAOA,CAAK;KACzG;IACgB,CAAA;IAClB,kBAACrB,EAAW,MAAZ;KAAiB,WAAU;KACzB,UAAA,kBAACW,GAAD;MAAM,MAAMV;MAAwB,MAAK;KAAM,CAAA;IAChC,CAAA;GACC;EACpB,CAAA,GAAA,kBAACoE,GAAD;GAAa,sBAAA;GACX,UAAA,kBAACrE,EAAW,QAAZ;IAAmB,WAAWS,EAAmB;IAC/C,UAAA,kBAACT,EAAW,YAAZ;KACE,gBAAe;KACf,mBAAmBQ,EAAa;KAChC,sBAAsB;KACtB,OAAM;KACN,YAAY;KACZ,kBAAkB;KAClB,WAAU;KAEV,UAAA,kBAACR,EAAW,OAAZ;MAAkB,WAAWM,EAAGD,GAAY,8BAA8B;MAAG,OAAOW,GAAiBwB,EAAY;MAAjH,UAAA;OACE,kBAACxC,EAAW,eAAZ;QAA0B,WAAU;QAClC,UAAA,kBAACW,GAAD;SAAM,MAAMT;SAAsB,MAAK;QAAM,CAAA;OACrB,CAAA;OAC1B,kBAACF,EAAW,MAAZ;QAAiB,WAAU;QACxB,UAAAuB,EAASG,CAAO,CAAC,CAAC,KAAK,GAAG,MACzB,kBAAC6C,IAAD,EAAA,UAAA,CACGC,IAAK,KAAK,kBAAC,OAAD;SAAK,MAAK;SAAe,WAAA;QAA4B,CAAA,GAChE,kBAACxE,EAAW,OAAZ;SAAkB,WAAU;SAA5B,UAAA,CACGyE,EAAE,SAAS,kBAACzE,EAAW,YAAZ;UAAuB,WAAA;UAAwB,UAAAyE,EAAE;SAA6B,CAAA,GACzFA,EAAE,MAAM,KAAK,MACZ,kBAACzE,EAAW,MAAZ;UAEE,OAAOyB,EAAE;UACT,GAAKA,EAAE,WAAW,EAAE,UAAU,GAAK,IAAI,CAAC;UACxC,OAAOA,EAAE,cAAc,OAAOA,EAAE,SAAU,WAAWA,EAAE,QAAQA,EAAE;UACjE,WAAWnB,EAAGF,GAAW,WAAW;UALtC,UAAA;WAOG6D,KACC,kBAAC,QAAD;YAAM,WAAU;YACd,UAAA,kBAACS,GAAD,CAAiB,CAAA;WACb,CAAA;WAEPjD,EAAE,QAAQ,kBAACd,GAAD;YAAM,MAAMc,EAAE;YAAM,MAAK;YAAK,WAAWnB,EAAA,mGAAcmB,EAAE,eAAe,kBAAkB;WAAI,CAAA;WACzG,kBAAC,QAAD;YAAM,WAAWnB,EAAG,gCAAgCmB,EAAE,eAAe,YAAY;YAAjF,UAAA,CACE,kBAACzB,EAAW,UAAZ;aAAqB,WAAU;aAAY,UAAAyB,EAAE;YAA2B,CAAA,GACvEA,EAAE,eAAe,kBAAC,QAAD;aAAM,WAAU;aAA+D,UAAAA,EAAE;YAAkB,CAAA,CACjH;;WACL,CAACwC,KACA,kBAACjE,EAAW,eAAZ;YACE,aAAA;YACA,WAAWM,EACT,iGACAmB,EAAE,eAAe,kBACnB;YAEA,UAAA,kBAACd,GAAD;aAAM,MAAMR;aAAmB,MAAK;YAAM,CAAA;WAClB,CAAA;UAEb;SA3BV,GAAAsB,EAAE,KA2BQ,CAClB,CACe;QACV,CAAA,CAAA,EAAA,GApCKgD,EAAE,SAAS,IAAID,GAoCpB,CACX;OACc,CAAA;OACjB,kBAACxE,EAAW,iBAAZ;QAA4B,WAAU;QACpC,UAAA,kBAACW,GAAD;SAAM,MAAMV;SAAwB,MAAK;QAAM,CAAA;OACrB,CAAA;MACZ;;IACG,CAAA;GACN,CAAA;EACR,CAAA,CACE;;CAGnB,OADImC,IAAca,IACXnC,EAAU;EAAE;EAAO;EAAa;EAAO;EAAU;EAAU;EAAQ,IAAIuB,EAAG,UAAUmB;EAAI;EAAU;CAAU,GAAGP,CAAO;AAC/H,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc;AAEhE,SAASyB,IAAiB;CACxB,OACE,kBAAC,QAAD;EAAM,WAAU;EACd,UAAA,kBAAC,OAAD;GAAK,SAAQ;GAAY,WAAU;GAA2D,MAAK;GAAO,eAAA;GACxG,UAAA,kBAAC,QAAD;IAAM,GAAE;IAA6B,QAAO;IAAe,aAAY;IAAO,eAAc;IAAQ,gBAAe;GAAS,CAAA;EACzH,CAAA;CACD,CAAA;AAEV"}
|