@mortenbrudvik/waveui 0.14.1 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +413 -53
- package/dist/components/data-display/InfoButton.cjs +1 -1
- package/dist/components/data-display/InfoButton.cjs.map +1 -1
- package/dist/components/data-display/InfoButton.mjs +90 -82
- package/dist/components/data-display/InfoButton.mjs.map +1 -1
- package/dist/components/data-display/InfoLabel.cjs +1 -1
- package/dist/components/data-display/InfoLabel.cjs.map +1 -1
- package/dist/components/data-display/InfoLabel.mjs +19 -18
- package/dist/components/data-display/InfoLabel.mjs.map +1 -1
- package/dist/components/data-display/List.cjs +1 -1
- package/dist/components/data-display/List.cjs.map +1 -1
- package/dist/components/data-display/List.mjs +405 -219
- package/dist/components/data-display/List.mjs.map +1 -1
- package/dist/components/data-display/List.registry.cjs +1 -1
- package/dist/components/data-display/List.registry.cjs.map +1 -1
- package/dist/components/data-display/List.registry.mjs +12 -6
- package/dist/components/data-display/List.registry.mjs.map +1 -1
- package/dist/components/feedback/MessageBarGroup.cjs +2 -0
- package/dist/components/feedback/MessageBarGroup.cjs.map +1 -0
- package/dist/components/feedback/MessageBarGroup.mjs +63 -0
- package/dist/components/feedback/MessageBarGroup.mjs.map +1 -0
- package/dist/components/feedback/ProgressBar.cjs +1 -1
- package/dist/components/feedback/ProgressBar.cjs.map +1 -1
- package/dist/components/feedback/ProgressBar.mjs +41 -39
- package/dist/components/feedback/ProgressBar.mjs.map +1 -1
- package/dist/components/feedback/Toaster.cjs +1 -1
- package/dist/components/feedback/Toaster.cjs.map +1 -1
- package/dist/components/feedback/Toaster.mjs +222 -216
- package/dist/components/feedback/Toaster.mjs.map +1 -1
- package/dist/components/input/Combobox.cjs +1 -1
- package/dist/components/input/Combobox.cjs.map +1 -1
- package/dist/components/input/Combobox.mjs +163 -148
- package/dist/components/input/Combobox.mjs.map +1 -1
- package/dist/components/input/Dropdown.cjs +1 -1
- package/dist/components/input/Dropdown.cjs.map +1 -1
- package/dist/components/input/Dropdown.mjs +132 -117
- package/dist/components/input/Dropdown.mjs.map +1 -1
- package/dist/components/input/Listbox.cjs +1 -1
- package/dist/components/input/Listbox.cjs.map +1 -1
- package/dist/components/input/Listbox.mjs +90 -78
- package/dist/components/input/Listbox.mjs.map +1 -1
- package/dist/components/input/Option.cjs +1 -1
- package/dist/components/input/Option.cjs.map +1 -1
- package/dist/components/input/Option.data.cjs +2 -0
- package/dist/components/input/Option.data.cjs.map +1 -0
- package/dist/components/input/Option.data.mjs +114 -0
- package/dist/components/input/Option.data.mjs.map +1 -0
- package/dist/components/input/Option.mjs +21 -17
- package/dist/components/input/Option.mjs.map +1 -1
- package/dist/components/layout/Accordion.cjs +1 -1
- package/dist/components/layout/Accordion.cjs.map +1 -1
- package/dist/components/layout/Accordion.mjs +124 -109
- package/dist/components/layout/Accordion.mjs.map +1 -1
- package/dist/components/layout/Carousel.cjs +1 -1
- package/dist/components/layout/Carousel.cjs.map +1 -1
- package/dist/components/layout/Carousel.mjs +207 -193
- package/dist/components/layout/Carousel.mjs.map +1 -1
- package/dist/components/layout/FlatTree.cjs +2 -0
- package/dist/components/layout/FlatTree.cjs.map +1 -0
- package/dist/components/layout/FlatTree.context.cjs +2 -0
- package/dist/components/layout/FlatTree.context.cjs.map +1 -0
- package/dist/components/layout/FlatTree.context.mjs +20 -0
- package/dist/components/layout/FlatTree.context.mjs.map +1 -0
- package/dist/components/layout/FlatTree.item.cjs +2 -0
- package/dist/components/layout/FlatTree.item.cjs.map +1 -0
- package/dist/components/layout/FlatTree.item.mjs +90 -0
- package/dist/components/layout/FlatTree.item.mjs.map +1 -0
- package/dist/components/layout/FlatTree.mjs +276 -0
- package/dist/components/layout/FlatTree.mjs.map +1 -0
- package/dist/components/layout/TabList.cjs +1 -1
- package/dist/components/layout/TabList.cjs.map +1 -1
- package/dist/components/layout/TabList.mjs +149 -108
- package/dist/components/layout/TabList.mjs.map +1 -1
- package/dist/components/layout/Tree.cjs.map +1 -1
- package/dist/components/layout/Tree.context.cjs +1 -1
- package/dist/components/layout/Tree.context.cjs.map +1 -1
- package/dist/components/layout/Tree.context.mjs +2 -1
- package/dist/components/layout/Tree.context.mjs.map +1 -1
- package/dist/components/layout/Tree.core.cjs +1 -1
- package/dist/components/layout/Tree.core.cjs.map +1 -1
- package/dist/components/layout/Tree.core.mjs +162 -148
- package/dist/components/layout/Tree.core.mjs.map +1 -1
- package/dist/components/layout/Tree.mjs.map +1 -1
- package/dist/components/layout/Tree.selection.cjs +1 -1
- package/dist/components/layout/Tree.selection.cjs.map +1 -1
- package/dist/components/layout/Tree.selection.mjs +11 -57
- package/dist/components/layout/Tree.selection.mjs.map +1 -1
- package/dist/components/layout/useFlatTree.cjs +2 -0
- package/dist/components/layout/useFlatTree.cjs.map +1 -0
- package/dist/components/layout/useFlatTree.mjs +83 -0
- package/dist/components/layout/useFlatTree.mjs.map +1 -0
- package/dist/components/navigation/Menu.popover.cjs +1 -1
- package/dist/components/navigation/Menu.popover.cjs.map +1 -1
- package/dist/components/navigation/Menu.popover.mjs +154 -168
- package/dist/components/navigation/Menu.popover.mjs.map +1 -1
- package/dist/components/navigation/Nav.cjs +1 -1
- package/dist/components/navigation/Nav.cjs.map +1 -1
- package/dist/components/navigation/Nav.mjs +156 -136
- package/dist/components/navigation/Nav.mjs.map +1 -1
- package/dist/components/navigation/NavDrawer.cjs +1 -1
- package/dist/components/navigation/NavDrawer.cjs.map +1 -1
- package/dist/components/navigation/NavDrawer.mjs +48 -45
- package/dist/components/navigation/NavDrawer.mjs.map +1 -1
- package/dist/components/overlays/Dialog.cjs +1 -1
- package/dist/components/overlays/Dialog.cjs.map +1 -1
- package/dist/components/overlays/Dialog.mjs +128 -122
- package/dist/components/overlays/Dialog.mjs.map +1 -1
- package/dist/components/overlays/Dialog.slots.cjs +1 -1
- package/dist/components/overlays/Dialog.slots.cjs.map +1 -1
- package/dist/components/overlays/Dialog.slots.mjs +12 -12
- package/dist/components/overlays/Dialog.slots.mjs.map +1 -1
- package/dist/components/overlays/Drawer.cjs.map +1 -1
- package/dist/components/overlays/Drawer.mjs.map +1 -1
- package/dist/components/overlays/Drawer.panel.cjs +1 -1
- package/dist/components/overlays/Drawer.panel.cjs.map +1 -1
- package/dist/components/overlays/Drawer.panel.mjs +97 -81
- package/dist/components/overlays/Drawer.panel.mjs.map +1 -1
- package/dist/components/overlays/Drawer.root.cjs +1 -1
- package/dist/components/overlays/Drawer.root.cjs.map +1 -1
- package/dist/components/overlays/Drawer.root.mjs +34 -31
- package/dist/components/overlays/Drawer.root.mjs.map +1 -1
- package/dist/components/overlays/Popover.cjs +1 -1
- package/dist/components/overlays/Popover.cjs.map +1 -1
- package/dist/components/overlays/Popover.mjs +231 -216
- package/dist/components/overlays/Popover.mjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.cjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.mjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.parts.cjs +1 -1
- package/dist/components/overlays/TeachingPopover.parts.cjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.parts.mjs +199 -177
- package/dist/components/overlays/TeachingPopover.parts.mjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.root.cjs +1 -1
- package/dist/components/overlays/TeachingPopover.root.cjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.root.mjs +93 -92
- package/dist/components/overlays/TeachingPopover.root.mjs.map +1 -1
- package/dist/components/overlays/Tooltip.cjs +1 -1
- package/dist/components/overlays/Tooltip.cjs.map +1 -1
- package/dist/components/overlays/Tooltip.mjs +66 -61
- package/dist/components/overlays/Tooltip.mjs.map +1 -1
- package/dist/components/provider/WaveProvider.cjs +1 -1
- package/dist/components/provider/WaveProvider.cjs.map +1 -1
- package/dist/components/provider/WaveProvider.mjs +26 -23
- package/dist/components/provider/WaveProvider.mjs.map +1 -1
- package/dist/components/table/DataGrid.cjs +1 -1
- package/dist/components/table/DataGrid.cjs.map +1 -1
- package/dist/components/table/DataGrid.context.cjs +2 -0
- package/dist/components/table/DataGrid.context.cjs.map +1 -0
- package/dist/components/table/DataGrid.context.mjs +74 -0
- package/dist/components/table/DataGrid.context.mjs.map +1 -0
- package/dist/components/table/DataGrid.header.cjs +2 -0
- package/dist/components/table/DataGrid.header.cjs.map +1 -0
- package/dist/components/table/DataGrid.header.mjs +168 -0
- package/dist/components/table/DataGrid.header.mjs.map +1 -0
- package/dist/components/table/DataGrid.mjs +488 -591
- package/dist/components/table/DataGrid.mjs.map +1 -1
- package/dist/components/table/DataGrid.sizing.cjs +2 -0
- package/dist/components/table/DataGrid.sizing.cjs.map +1 -0
- package/dist/components/table/DataGrid.sizing.mjs +187 -0
- package/dist/components/table/DataGrid.sizing.mjs.map +1 -0
- package/dist/components/table/DataGrid.store.cjs +2 -0
- package/dist/components/table/DataGrid.store.cjs.map +1 -0
- package/dist/components/table/DataGrid.store.mjs +108 -0
- package/dist/components/table/DataGrid.store.mjs.map +1 -0
- package/dist/components/table/DataGrid.window.cjs +2 -0
- package/dist/components/table/DataGrid.window.cjs.map +1 -0
- package/dist/components/table/DataGrid.window.mjs +165 -0
- package/dist/components/table/DataGrid.window.mjs.map +1 -0
- package/dist/components/table/Table.cjs +1 -1
- package/dist/components/table/Table.cjs.map +1 -1
- package/dist/components/table/Table.mjs +74 -72
- package/dist/components/table/Table.mjs.map +1 -1
- package/dist/components/table/Table.resize.cjs +2 -0
- package/dist/components/table/Table.resize.cjs.map +1 -0
- package/dist/components/table/Table.resize.mjs +98 -0
- package/dist/components/table/Table.resize.mjs.map +1 -0
- package/dist/components/table/useGridNavigation.cjs +1 -1
- package/dist/components/table/useGridNavigation.cjs.map +1 -1
- package/dist/components/table/useGridNavigation.mjs +343 -140
- package/dist/components/table/useGridNavigation.mjs.map +1 -1
- package/dist/components/table/useTableColumnSizing.cjs +2 -0
- package/dist/components/table/useTableColumnSizing.cjs.map +1 -0
- package/dist/components/table/useTableColumnSizing.mjs +76 -0
- package/dist/components/table/useTableColumnSizing.mjs.map +1 -0
- package/dist/components/table/useTableFeatures.cjs +2 -0
- package/dist/components/table/useTableFeatures.cjs.map +1 -0
- package/dist/components/table/useTableFeatures.mjs +110 -0
- package/dist/components/table/useTableFeatures.mjs.map +1 -0
- package/dist/components/table/useTableSelection.cjs +2 -0
- package/dist/components/table/useTableSelection.cjs.map +1 -0
- package/dist/components/table/useTableSelection.mjs +39 -0
- package/dist/components/table/useTableSelection.mjs.map +1 -0
- package/dist/components/table/useTableSort.cjs +2 -0
- package/dist/components/table/useTableSort.cjs.map +1 -0
- package/dist/components/table/useTableSort.mjs +58 -0
- package/dist/components/table/useTableSort.mjs.map +1 -0
- package/dist/hooks/useActiveDescendant.cjs +1 -1
- package/dist/hooks/useActiveDescendant.cjs.map +1 -1
- package/dist/hooks/useActiveDescendant.mjs +33 -25
- package/dist/hooks/useActiveDescendant.mjs.map +1 -1
- package/dist/hooks/useCollapsePresence.cjs +2 -0
- package/dist/hooks/useCollapsePresence.cjs.map +1 -0
- package/dist/hooks/useCollapsePresence.mjs +21 -0
- package/dist/hooks/useCollapsePresence.mjs.map +1 -0
- package/dist/hooks/useFocusBeforeClose.cjs +2 -0
- package/dist/hooks/useFocusBeforeClose.cjs.map +1 -0
- package/dist/hooks/useFocusBeforeClose.mjs +33 -0
- package/dist/hooks/useFocusBeforeClose.mjs.map +1 -0
- package/dist/hooks/useListbox.cjs +1 -1
- package/dist/hooks/useListbox.cjs.map +1 -1
- package/dist/hooks/useListbox.mjs +140 -130
- package/dist/hooks/useListbox.mjs.map +1 -1
- package/dist/hooks/useMotion.cjs +2 -0
- package/dist/hooks/useMotion.cjs.map +1 -0
- package/dist/hooks/useMotion.mjs +14 -0
- package/dist/hooks/useMotion.mjs.map +1 -0
- package/dist/hooks/usePresenceGroup.cjs +2 -0
- package/dist/hooks/usePresenceGroup.cjs.map +1 -0
- package/dist/hooks/usePresenceGroup.mjs +68 -0
- package/dist/hooks/usePresenceGroup.mjs.map +1 -0
- package/dist/hooks/useRovingTabIndex.cjs +1 -1
- package/dist/hooks/useRovingTabIndex.cjs.map +1 -1
- package/dist/hooks/useRovingTabIndex.mjs +1 -1
- package/dist/hooks/useRovingTabIndex.mjs.map +1 -1
- package/dist/hooks/useSelection.cjs +2 -0
- package/dist/hooks/useSelection.cjs.map +1 -0
- package/dist/hooks/useSelection.mjs +57 -0
- package/dist/hooks/useSelection.mjs.map +1 -0
- package/dist/hooks/useVirtualWindow.cjs +2 -0
- package/dist/hooks/useVirtualWindow.cjs.map +1 -0
- package/dist/hooks/useVirtualWindow.mjs +102 -0
- package/dist/hooks/useVirtualWindow.mjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2249 -179
- package/dist/index.d.ts +2249 -179
- package/dist/index.mjs +147 -135
- package/dist/lib/classNames.cjs +1 -1
- package/dist/lib/classNames.cjs.map +1 -1
- package/dist/lib/classNames.mjs +125 -95
- package/dist/lib/classNames.mjs.map +1 -1
- package/dist/lib/columnSizing.cjs +2 -0
- package/dist/lib/columnSizing.cjs.map +1 -0
- package/dist/lib/columnSizing.mjs +27 -0
- package/dist/lib/columnSizing.mjs.map +1 -0
- package/dist/lib/flatTree.cjs +2 -0
- package/dist/lib/flatTree.cjs.map +1 -0
- package/dist/lib/flatTree.mjs +118 -0
- package/dist/lib/flatTree.mjs.map +1 -0
- package/dist/lib/motion.cjs +2 -0
- package/dist/lib/motion.cjs.map +1 -0
- package/dist/lib/motion.mjs +43 -0
- package/dist/lib/motion.mjs.map +1 -0
- package/dist/lib/selection.cjs +2 -0
- package/dist/lib/selection.cjs.map +1 -0
- package/dist/lib/selection.mjs +28 -0
- package/dist/lib/selection.mjs.map +1 -0
- package/dist/lib/treeCascade.cjs +2 -0
- package/dist/lib/treeCascade.cjs.map +1 -0
- package/dist/lib/treeCascade.mjs +52 -0
- package/dist/lib/treeCascade.mjs.map +1 -0
- package/dist/lib/virtual.cjs +2 -0
- package/dist/lib/virtual.cjs.map +1 -0
- package/dist/lib/virtual.mjs +54 -0
- package/dist/lib/virtual.mjs.map +1 -0
- package/dist/styles.css +1 -1
- package/package.json +2 -1
|
@@ -19,208 +19,222 @@ import { pickerButtonOffset as _e, pickerEndPadding as ve, pickerGlyphSize as ye
|
|
|
19
19
|
import { PickerExpandButton as xe, showsExpandButton as Se } from "./Combobox.expand.mjs";
|
|
20
20
|
import { insertedText as Ce, replacedText as we } from "./Combobox.text.mjs";
|
|
21
21
|
import { ListboxSurface as Te, Option as s, OptionGroup as c, useListboxPopup as Ee } from "./Option.mjs";
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
22
|
+
import { renderListboxItems as De, renderListboxWindow as Oe, useDataModeWarnings as ke, useItemsAndChildrenWarning as Ae, useShownListScroll as je } from "./Option.data.mjs";
|
|
23
|
+
import { PickerAnnouncer as Me, announceToggle as Ne, defaultSelectionLabel as Pe } from "./pickerLabels.mjs";
|
|
24
|
+
import { EMPTY_VALUES as Fe, resetValues as Ie, toValues as Le, toggleValue as Re } from "./pickerValues.mjs";
|
|
24
25
|
import * as l from "react";
|
|
25
|
-
import { jsx as u, jsxs as
|
|
26
|
+
import { jsx as u, jsxs as ze } from "react/jsx-runtime";
|
|
26
27
|
//#region src/components/input/Combobox.tsx
|
|
27
|
-
var d = /* @__PURE__ */ new Set(["historyUndo", "historyRedo"]);
|
|
28
|
-
function
|
|
28
|
+
var d = /* @__PURE__ */ new Set(["historyUndo", "historyRedo"]), Be = /* @__PURE__ */ new Map();
|
|
29
|
+
function Ve(e, t) {
|
|
29
30
|
return (e.textValue ?? e.label).toLowerCase().includes(t.toLowerCase());
|
|
30
31
|
}
|
|
31
32
|
var f = (s) => {
|
|
32
|
-
let { multiselect: c = !1, value: f, defaultValue: p, onValueChange:
|
|
33
|
+
let { multiselect: c = !1, value: f, defaultValue: p, onValueChange: He, onOptionSelect: m, open: Ue, defaultOpen: We, onOpenChange: Ge, placeholder: Ke, disabled: h = !1, size: qe, positioning: Je, appearance: Ye, freeform: Xe = !1, filter: Ze, query: Qe, defaultQuery: $e, onQueryChange: et, onActiveOptionChange: tt, disabledOptionsFocusable: nt = !1, name: rt, form: it, required: at, autoComplete: ot = "off", autoCapitalize: st, autoCorrect: ct, maxLength: lt, readOnly: g, clearable: ut = !1, expandIcon: dt, labels: _, items: v, renderOption: ft, virtualWindow: pt, inputMode: mt, spellCheck: ht, enterKeyHint: gt, autoFocus: _t, tabIndex: vt, id: yt, "aria-label": bt, "aria-labelledby": xt, "aria-describedby": St, "aria-invalid": Ct, "aria-required": wt, "aria-errormessage": Tt, "aria-details": Et, onFocus: Dt, onBlur: Ot, onKeyDown: kt, onKeyUp: At, controlRef: jt, className: Mt, children: y, ref: Nt, ...Pt } = s;
|
|
33
34
|
m !== void 0 && t("Combobox", "onOptionSelect", "onValueChange");
|
|
34
|
-
let b =
|
|
35
|
+
let b = Xe && !c, Ft = Xe && c;
|
|
35
36
|
l.useEffect(() => {
|
|
36
|
-
|
|
37
|
-
}, [
|
|
38
|
-
let
|
|
37
|
+
Ft && n("Combobox:freeform-multiselect", "Combobox: `freeform` is not available with `multiselect`: a multi-select Combobox selects options only.");
|
|
38
|
+
}, [Ft]);
|
|
39
|
+
let It = b && (Qe !== void 0 || $e !== void 0);
|
|
39
40
|
l.useEffect(() => {
|
|
40
|
-
|
|
41
|
-
}, [
|
|
42
|
-
let
|
|
43
|
-
id:
|
|
44
|
-
"aria-label":
|
|
45
|
-
"aria-labelledby":
|
|
46
|
-
"aria-describedby":
|
|
47
|
-
"aria-invalid":
|
|
48
|
-
"aria-required":
|
|
49
|
-
}),
|
|
50
|
-
|
|
51
|
-
}), T =
|
|
52
|
-
D && F !== "unlocked" ?
|
|
41
|
+
It && n("Combobox:query-freeform", "Combobox: `query` and `defaultQuery` are not used with `freeform`: the typed text is the value (`value`, `onValueChange`).");
|
|
42
|
+
}, [It]);
|
|
43
|
+
let Lt = ne(), Rt = (at ?? Lt?.required ?? !1) && !g, x = re({
|
|
44
|
+
id: yt,
|
|
45
|
+
"aria-label": bt,
|
|
46
|
+
"aria-labelledby": xt,
|
|
47
|
+
"aria-describedby": St,
|
|
48
|
+
"aria-invalid": Ct,
|
|
49
|
+
"aria-required": wt ?? at
|
|
50
|
+
}), zt = me(!1, x["aria-invalid"]), { size: S, appearance: C } = pe(qe, Ye), [Bt, w] = a(f, p ?? (c ? Fe : ""), (e) => {
|
|
51
|
+
He?.(typeof e == "string" ? e : [...e]);
|
|
52
|
+
}), T = Le(Bt), E = c ? "" : Bt, D = !h && !g, [Vt, O] = a(Ue, (We ?? !1) && D, Ge), k = Vt && D, [Ht, A] = a(b ? void 0 : Qe, D ? $e ?? "" : "", b ? void 0 : et), [Ut, j] = l.useState(!1), [M, N] = l.useState(null), P = b ? M : D && (Ut || Ht !== "") ? Ht : null, [F, Wt] = l.useState(D ? "unlocked" : "mounted-locked");
|
|
53
|
+
D && F !== "unlocked" ? Wt("unlocked") : !D && F === "unlocked" && (Wt("locked"), j(!1), N(null)), l.useEffect(() => {
|
|
53
54
|
F === "locked" && A("");
|
|
54
55
|
}, [F, A]);
|
|
55
|
-
let
|
|
56
|
+
let Gt = !D && Vt;
|
|
56
57
|
l.useEffect(() => {
|
|
57
|
-
|
|
58
|
-
}, [
|
|
59
|
-
let [
|
|
58
|
+
Gt && O(!1);
|
|
59
|
+
}, [Gt, O]);
|
|
60
|
+
let [Kt, I] = l.useState(null), qt = l.useRef(null), L = l.useRef(null), R = v !== void 0, Jt = l.useMemo(() => R ? Be : ie(y), [R, y]);
|
|
61
|
+
Ae("Combobox", v, y), ke("Combobox", {
|
|
62
|
+
items: v,
|
|
63
|
+
renderOption: ft,
|
|
64
|
+
virtualWindow: pt,
|
|
65
|
+
children: y
|
|
66
|
+
});
|
|
67
|
+
let z = R ? pt : void 0, B = P ?? "", Yt = l.useMemo(() => B ? (e) => (Ze ?? Ve)(e, B) : void 0, [B, Ze]), V = (e) => {
|
|
60
68
|
b ? N(e) : (j(!0), A(e));
|
|
61
|
-
},
|
|
69
|
+
}, H = () => {
|
|
62
70
|
b ? N(null) : (j(!1), A(""));
|
|
63
|
-
},
|
|
71
|
+
}, Xt = (e) => {
|
|
64
72
|
I(e), w(e), m?.(e);
|
|
65
|
-
},
|
|
66
|
-
O(!1),
|
|
67
|
-
},
|
|
68
|
-
b ?
|
|
69
|
-
N(null),
|
|
70
|
-
} : P && (
|
|
71
|
-
let
|
|
73
|
+
}, U = () => {
|
|
74
|
+
O(!1), H();
|
|
75
|
+
}, W;
|
|
76
|
+
b ? W = () => {
|
|
77
|
+
N(null), Xt("");
|
|
78
|
+
} : P && (W = H);
|
|
79
|
+
let G = ae({
|
|
72
80
|
open: k,
|
|
73
81
|
onOpenChange: (e) => {
|
|
74
|
-
e ? O(!0) :
|
|
82
|
+
e ? O(!0) : U();
|
|
75
83
|
},
|
|
76
84
|
mode: "editable",
|
|
77
85
|
multiselect: c,
|
|
78
|
-
disabledOptionsFocusable:
|
|
86
|
+
disabledOptionsFocusable: nt,
|
|
87
|
+
items: v,
|
|
79
88
|
selectedValues: T,
|
|
80
89
|
onSelect: (e, t) => {
|
|
81
90
|
if (!c) {
|
|
82
|
-
w(e), m?.(e),
|
|
91
|
+
w(e), m?.(e), H(), I(null);
|
|
83
92
|
return;
|
|
84
93
|
}
|
|
85
|
-
let { values: n, added: r } =
|
|
86
|
-
w(n), m?.(e),
|
|
94
|
+
let { values: n, added: r } = Re(T, e);
|
|
95
|
+
w(n), m?.(e), Ne(_, t?.item.label ?? Jt.get(e) ?? e, r, n.length), H();
|
|
87
96
|
},
|
|
88
|
-
filter:
|
|
97
|
+
filter: Yt,
|
|
89
98
|
autoHighlight: !b && P ? "first" : !1,
|
|
90
|
-
onActiveValueChange:
|
|
99
|
+
onActiveValueChange: tt,
|
|
100
|
+
onScrollToItem: z ? (e) => z.scrollToIndex(e, { align: "auto" }) : void 0,
|
|
91
101
|
idPrefix: "combobox-listbox",
|
|
92
|
-
onClearDraft:
|
|
93
|
-
}),
|
|
102
|
+
onClearDraft: W
|
|
103
|
+
}), Zt = (e) => G.getItem(e)?.label ?? Jt.get(e), K = "";
|
|
94
104
|
if (c) {
|
|
95
|
-
let e = T.map(
|
|
96
|
-
e.length > 0 && (
|
|
105
|
+
let e = T.map(Zt).filter((e) => e !== void 0);
|
|
106
|
+
e.length > 0 && (K = (_?.selection ?? Pe)(e));
|
|
97
107
|
}
|
|
98
|
-
let
|
|
99
|
-
|
|
100
|
-
let
|
|
101
|
-
positioning:
|
|
108
|
+
let q = c && P === null && K !== "", Qt = E ? Zt(E) : void 0, J;
|
|
109
|
+
J = c ? P ?? K : b ? E === Kt ? E : Qt ?? E : P ?? Qt ?? "", b && M !== null && M !== J && N(J);
|
|
110
|
+
let Y = k && G.items.length > 0, $t = _?.noMatches ?? "No matches", X = k && (Y || !!P), en = X && !Y, { layerId: tn, setReference: nn, surfaceRef: rn, floatingProps: an } = Ee({
|
|
111
|
+
positioning: Je,
|
|
102
112
|
open: k,
|
|
103
|
-
surfaceOpen:
|
|
104
|
-
onDismiss:
|
|
105
|
-
rootRef:
|
|
113
|
+
surfaceOpen: X,
|
|
114
|
+
onDismiss: U,
|
|
115
|
+
rootRef: qt,
|
|
106
116
|
anchorRef: L
|
|
107
|
-
}),
|
|
108
|
-
he(L, () => {
|
|
109
|
-
w(c ? (e) =>
|
|
110
|
-
},
|
|
111
|
-
let
|
|
112
|
-
|
|
113
|
-
},
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
|
|
117
|
+
}), on = o(qt, Nt), sn = o(L, jt, nn), cn = o(Y ? z?.scrollRef : void 0);
|
|
118
|
+
je(Y, z, G.items, G.activeValue, T), he(L, () => {
|
|
119
|
+
w(c ? (e) => Ie(e, p) : p ?? ""), H(), I(null);
|
|
120
|
+
}, it);
|
|
121
|
+
let Z = l.useRef(!1), ln = (e) => {
|
|
122
|
+
Z.current = q && !te(e.currentTarget);
|
|
123
|
+
}, un = (e) => {
|
|
124
|
+
q && e.currentTarget.select();
|
|
125
|
+
}, dn = (e) => {
|
|
126
|
+
Z.current && (Z.current = !1, e.preventDefault());
|
|
117
127
|
};
|
|
118
128
|
l.useLayoutEffect(() => {
|
|
119
129
|
let e = L.current;
|
|
120
|
-
|
|
121
|
-
}, [
|
|
122
|
-
let
|
|
130
|
+
q && e && te(e) && e.select();
|
|
131
|
+
}, [q, K]);
|
|
132
|
+
let Q = l.useRef(null), fn = l.useRef(null), pn = ee((e) => {
|
|
123
133
|
let t = e.currentTarget;
|
|
124
|
-
|
|
134
|
+
q && t.value === K && (Q.current = null, !d.has(e.inputType ?? "") && (fn.current = e, V(K), k || O(!0)));
|
|
125
135
|
});
|
|
126
136
|
l.useEffect(() => {
|
|
127
137
|
let e = L.current;
|
|
128
138
|
if (!c || !e) return;
|
|
129
139
|
let t = (t) => {
|
|
130
140
|
let { inputType: n } = t, { selectionStart: r, selectionEnd: i } = e;
|
|
131
|
-
|
|
141
|
+
Q.current = {
|
|
132
142
|
inputType: n,
|
|
133
143
|
range: n === "insertFromDrop" || d.has(n) || r === null || i === null ? null : [r, i]
|
|
134
144
|
};
|
|
135
145
|
};
|
|
136
|
-
return e.addEventListener("beforeinput", t), e.addEventListener("input",
|
|
137
|
-
e.removeEventListener("beforeinput", t), e.removeEventListener("input",
|
|
146
|
+
return e.addEventListener("beforeinput", t), e.addEventListener("input", pn), () => {
|
|
147
|
+
e.removeEventListener("beforeinput", t), e.removeEventListener("input", pn);
|
|
138
148
|
};
|
|
139
|
-
}, [c,
|
|
140
|
-
let
|
|
141
|
-
if (e.key === "Escape" && k && !
|
|
142
|
-
|
|
149
|
+
}, [c, pn]);
|
|
150
|
+
let mn = (e) => {
|
|
151
|
+
if (e.key === "Escape" && k && !X && !e.nativeEvent.isComposing) {
|
|
152
|
+
U(), W && e.currentTarget.value !== "" && (e.preventDefault(), W());
|
|
143
153
|
return;
|
|
144
154
|
}
|
|
145
|
-
|
|
146
|
-
},
|
|
147
|
-
if (e.nativeEvent ===
|
|
148
|
-
let t = e.target.value, n =
|
|
149
|
-
|
|
155
|
+
G.onKeyDown(e);
|
|
156
|
+
}, hn = (e) => {
|
|
157
|
+
if (e.nativeEvent === fn.current) return;
|
|
158
|
+
let t = e.target.value, n = Q.current;
|
|
159
|
+
Q.current = null;
|
|
150
160
|
let r = n && n.inputType === e.nativeEvent.inputType ? n : null;
|
|
151
|
-
if (!c)
|
|
152
|
-
else if (t ===
|
|
153
|
-
else if (
|
|
161
|
+
if (!c) V(t);
|
|
162
|
+
else if (t === K && (r === null || d.has(r.inputType))) H();
|
|
163
|
+
else if (q) {
|
|
154
164
|
let e = r?.range;
|
|
155
|
-
|
|
156
|
-
} else
|
|
157
|
-
k || O(!0), b &&
|
|
158
|
-
},
|
|
159
|
-
D && (k ?
|
|
160
|
-
},
|
|
161
|
-
w(c ?
|
|
162
|
-
},
|
|
163
|
-
|
|
165
|
+
V((e && we(K, t, e[0], e[1])) ?? Ce(K, t));
|
|
166
|
+
} else V(t);
|
|
167
|
+
k || O(!0), b && Xt(t);
|
|
168
|
+
}, gn = () => {
|
|
169
|
+
D && (k ? U() : O(!0), L.current?.focus());
|
|
170
|
+
}, _n = () => {
|
|
171
|
+
w(c ? Fe : ""), I(null), H(), O(!1), L.current?.focus();
|
|
172
|
+
}, $ = Se(dt), vn = ut && (c ? T.length > 0 : E !== "") && !g, yn = x["aria-label"] === void 0 ? x["aria-labelledby"] ?? Lt?.labelId : x["aria-labelledby"], bn = {
|
|
173
|
+
selected: new Set(T),
|
|
174
|
+
activeValue: G.activeValue,
|
|
175
|
+
renderOption: ft
|
|
176
|
+
};
|
|
177
|
+
return /* @__PURE__ */ ze("div", {
|
|
164
178
|
"data-size": S,
|
|
165
179
|
"data-appearance": C,
|
|
166
|
-
...
|
|
167
|
-
ref:
|
|
168
|
-
className: e(i.root, "relative inline-flex flex-col",
|
|
180
|
+
...Pt,
|
|
181
|
+
ref: on,
|
|
182
|
+
className: e(i.root, "relative inline-flex flex-col", Mt),
|
|
169
183
|
children: [
|
|
170
|
-
c && /* @__PURE__ */ u(
|
|
171
|
-
/* @__PURE__ */
|
|
184
|
+
c && /* @__PURE__ */ u(Me, {}),
|
|
185
|
+
/* @__PURE__ */ ze("div", {
|
|
172
186
|
className: "relative flex items-center",
|
|
173
187
|
children: [
|
|
174
188
|
/* @__PURE__ */ u("input", {
|
|
175
189
|
type: "text",
|
|
176
|
-
autoComplete:
|
|
190
|
+
autoComplete: ot,
|
|
177
191
|
...x,
|
|
178
|
-
...
|
|
179
|
-
"aria-expanded":
|
|
180
|
-
"aria-errormessage":
|
|
181
|
-
"aria-details":
|
|
182
|
-
ref:
|
|
192
|
+
...G.getComboboxProps(),
|
|
193
|
+
"aria-expanded": Y,
|
|
194
|
+
"aria-errormessage": Tt,
|
|
195
|
+
"aria-details": Et,
|
|
196
|
+
ref: sn,
|
|
183
197
|
disabled: h,
|
|
184
|
-
readOnly:
|
|
185
|
-
placeholder: c &&
|
|
186
|
-
autoCapitalize:
|
|
187
|
-
autoCorrect:
|
|
188
|
-
maxLength:
|
|
189
|
-
inputMode:
|
|
190
|
-
spellCheck:
|
|
191
|
-
enterKeyHint:
|
|
192
|
-
autoFocus:
|
|
193
|
-
tabIndex:
|
|
194
|
-
value:
|
|
195
|
-
onChange:
|
|
198
|
+
readOnly: g,
|
|
199
|
+
placeholder: c && K !== "" ? void 0 : Ke,
|
|
200
|
+
autoCapitalize: st,
|
|
201
|
+
autoCorrect: ct,
|
|
202
|
+
maxLength: q ? void 0 : lt,
|
|
203
|
+
inputMode: mt,
|
|
204
|
+
spellCheck: ht,
|
|
205
|
+
enterKeyHint: gt,
|
|
206
|
+
autoFocus: _t,
|
|
207
|
+
tabIndex: vt,
|
|
208
|
+
value: J,
|
|
209
|
+
onChange: hn,
|
|
196
210
|
onClick: () => {
|
|
197
211
|
!k && D && O(!0);
|
|
198
212
|
},
|
|
199
|
-
onMouseDown:
|
|
200
|
-
onMouseUp:
|
|
201
|
-
onKeyDown: r(
|
|
202
|
-
onKeyUp: r(
|
|
203
|
-
onFocus: r(
|
|
204
|
-
onBlur: r(
|
|
205
|
-
className: e(i.input, le[S], "w-full", ue[S], de[S], se[C], "text-foreground placeholder:text-muted-foreground", ce, oe,
|
|
213
|
+
onMouseDown: ln,
|
|
214
|
+
onMouseUp: dn,
|
|
215
|
+
onKeyDown: r(kt, g ? void 0 : mn),
|
|
216
|
+
onKeyUp: r(At, G.onKeyUp),
|
|
217
|
+
onFocus: r(Dt, un),
|
|
218
|
+
onBlur: r(Ot, H, { checkDefaultPrevented: !1 }),
|
|
219
|
+
className: e(i.input, le[S], "w-full", ue[S], de[S], se[C], "text-foreground placeholder:text-muted-foreground", ce, oe, zt && "border-destructive", ve(Number(vn) + Number($), S))
|
|
206
220
|
}),
|
|
207
|
-
|
|
221
|
+
vn && /* @__PURE__ */ u("button", {
|
|
208
222
|
type: "button",
|
|
209
|
-
"aria-label":
|
|
223
|
+
"aria-label": _?.clear ?? "Clear selection",
|
|
210
224
|
disabled: h,
|
|
211
225
|
onMouseDown: (e) => e.preventDefault(),
|
|
212
|
-
onClick:
|
|
213
|
-
className: e(i.clearButton, be(S, C), _e(S,
|
|
226
|
+
onClick: _n,
|
|
227
|
+
className: e(i.clearButton, be(S, C), _e(S, $ ? 2 : 1), "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", "disabled:cursor-not-allowed disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:focus-visible:opacity-100"),
|
|
214
228
|
children: /* @__PURE__ */ u(fe, { size: ye(S, "icon") })
|
|
215
229
|
}),
|
|
216
|
-
|
|
230
|
+
$ && /* @__PURE__ */ u(xe, {
|
|
217
231
|
component: "Combobox",
|
|
218
|
-
expandIcon:
|
|
219
|
-
label:
|
|
220
|
-
expanded:
|
|
221
|
-
listboxId:
|
|
222
|
-
disabled: h || !!
|
|
223
|
-
onToggle:
|
|
232
|
+
expandIcon: dt,
|
|
233
|
+
label: _?.expand ?? "Show options",
|
|
234
|
+
expanded: Y,
|
|
235
|
+
listboxId: G.listboxId,
|
|
236
|
+
disabled: h || !!g,
|
|
237
|
+
onToggle: gn,
|
|
224
238
|
size: S,
|
|
225
239
|
appearance: C,
|
|
226
240
|
className: i.expandButton,
|
|
@@ -231,44 +245,45 @@ var f = (s) => {
|
|
|
231
245
|
/* @__PURE__ */ u("span", {
|
|
232
246
|
role: "status",
|
|
233
247
|
className: "sr-only",
|
|
234
|
-
children:
|
|
248
|
+
children: en && $t
|
|
235
249
|
}),
|
|
236
250
|
/* @__PURE__ */ u(Te, {
|
|
237
|
-
listbox:
|
|
238
|
-
layerId:
|
|
239
|
-
surfaceRef:
|
|
240
|
-
floatingProps:
|
|
251
|
+
listbox: G,
|
|
252
|
+
layerId: tn,
|
|
253
|
+
surfaceRef: rn,
|
|
254
|
+
floatingProps: an,
|
|
241
255
|
open: k,
|
|
242
|
-
expanded:
|
|
243
|
-
listClassName: i.listbox,
|
|
256
|
+
expanded: Y,
|
|
257
|
+
listClassName: e(i.listbox, z && "[overflow-anchor:none]"),
|
|
244
258
|
surfaceClassName: i.surface,
|
|
245
259
|
emptyContent: P ? /* @__PURE__ */ u("div", {
|
|
246
260
|
"aria-hidden": "true",
|
|
247
261
|
className: e(i.emptyMessage, "px-3 py-1.5 text-body-1 text-muted-foreground"),
|
|
248
|
-
children:
|
|
262
|
+
children: $t
|
|
249
263
|
}) : void 0,
|
|
250
264
|
"aria-label": x["aria-label"],
|
|
251
|
-
"aria-labelledby":
|
|
252
|
-
|
|
265
|
+
"aria-labelledby": yn,
|
|
266
|
+
listProps: z ? { ref: cn } : void 0,
|
|
267
|
+
children: R ? Y && (z ? Oe(G.items, z, bn, i.spacer) : De(G.items, bn)) : y
|
|
253
268
|
}),
|
|
254
269
|
/* @__PURE__ */ u(ge, {
|
|
255
|
-
name:
|
|
256
|
-
form:
|
|
270
|
+
name: rt,
|
|
271
|
+
form: it,
|
|
257
272
|
disabled: h,
|
|
258
273
|
value: c ? T : E,
|
|
259
274
|
type: "text",
|
|
260
|
-
required:
|
|
275
|
+
required: Rt,
|
|
261
276
|
onInvalid: () => L.current?.focus()
|
|
262
277
|
})
|
|
263
278
|
]
|
|
264
279
|
});
|
|
265
280
|
};
|
|
266
281
|
f.displayName = "Combobox";
|
|
267
|
-
var p = s,
|
|
282
|
+
var p = s, He = c, m = /* @__PURE__ */ Object.assign(f, {
|
|
268
283
|
Option: s,
|
|
269
284
|
OptionGroup: c
|
|
270
285
|
});
|
|
271
286
|
//#endregion
|
|
272
|
-
export { m as Combobox, p as ComboboxOption,
|
|
287
|
+
export { m as Combobox, p as ComboboxOption, He as ComboboxOptionGroup, s as Option, c as OptionGroup };
|
|
273
288
|
|
|
274
289
|
//# sourceMappingURL=Combobox.mjs.map
|