@spark-ui/components 16.1.1-beta.0 → 16.2.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/{Button-BIAkZTRR.js → Button-B6rA3-e5.js} +2 -2
- package/dist/{Button-BIAkZTRR.js.map → Button-B6rA3-e5.js.map} +1 -1
- package/dist/{Button-DggC4GFM.mjs → Button-DPncfbbM.mjs} +2 -2
- package/dist/{Button-DggC4GFM.mjs.map → Button-DPncfbbM.mjs.map} +1 -1
- package/dist/{IconButton-Mv9tO1ZH.mjs → IconButton-Bfd-6BAD.mjs} +14 -14
- package/dist/IconButton-Bfd-6BAD.mjs.map +1 -0
- package/dist/IconButton-D3g86WpZ.js +2 -0
- package/dist/IconButton-D3g86WpZ.js.map +1 -0
- package/dist/avatar/index.js +1 -1
- package/dist/avatar/index.mjs +1 -1
- package/dist/button/index.js +1 -1
- package/dist/button/index.mjs +1 -1
- package/dist/carousel/index.js +1 -1
- package/dist/carousel/index.mjs +1 -1
- package/dist/checkbox/index.js +1 -1
- package/dist/checkbox/index.js.map +1 -1
- package/dist/checkbox/index.mjs +30 -30
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chip/index.js +1 -1
- package/dist/chip/index.js.map +1 -1
- package/dist/chip/index.mjs +1 -1
- package/dist/chip/index.mjs.map +1 -1
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +39 -39
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/dialog/index.js +1 -1
- package/dist/dialog/index.mjs +1 -1
- package/dist/drawer/index.js +1 -1
- package/dist/drawer/index.mjs +1 -1
- package/dist/dropdown/index.js +1 -1
- package/dist/dropdown/index.js.map +1 -1
- package/dist/dropdown/index.mjs +1 -1
- package/dist/dropdown/index.mjs.map +1 -1
- package/dist/file-upload/index.js +1 -1
- package/dist/file-upload/index.mjs +2 -2
- package/dist/icon-button/index.js +1 -1
- package/dist/icon-button/index.mjs +1 -1
- package/dist/input/index.js +1 -1
- package/dist/input/index.js.map +1 -1
- package/dist/input/index.mjs +6 -6
- package/dist/input/index.mjs.map +1 -1
- package/dist/pagination/index.js +1 -1
- package/dist/pagination/index.mjs +2 -2
- package/dist/popover/index.js +1 -1
- package/dist/popover/index.mjs +1 -1
- package/dist/radio-group/index.js +1 -1
- package/dist/radio-group/index.js.map +1 -1
- package/dist/radio-group/index.mjs +7 -7
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/scrolling-list/index.js +1 -1
- package/dist/scrolling-list/index.mjs +2 -2
- package/dist/select/index.js +1 -1
- package/dist/select/index.js.map +1 -1
- package/dist/select/index.mjs +1 -1
- package/dist/select/index.mjs.map +1 -1
- package/dist/snackbar/index.js +1 -1
- package/dist/snackbar/index.mjs +2 -2
- package/dist/stepper/index.js +1 -1
- package/dist/stepper/index.mjs +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/index.mjs +2 -2
- package/dist/tag/index.js +1 -1
- package/dist/tag/index.js.map +1 -1
- package/dist/tag/index.mjs +6 -6
- package/dist/tag/index.mjs.map +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/index.js.map +1 -1
- package/dist/textarea/index.mjs +14 -10
- package/dist/textarea/index.mjs.map +1 -1
- package/dist/toast/index.js +1 -1
- package/dist/toast/index.mjs +2 -2
- package/package.json +4 -4
- package/dist/IconButton-D5fk89W-.js +0 -2
- package/dist/IconButton-D5fk89W-.js.map +0 -1
- package/dist/IconButton-Mv9tO1ZH.mjs.map +0 -1
package/dist/combobox/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as a, jsxs as _, Fragment as te } from "react/jsx-runtime";
|
|
2
2
|
import { useFormFieldControl as oe } from "@spark-ui/components/form-field";
|
|
3
3
|
import { useCombinedState as Le } from "@spark-ui/hooks/use-combined-state";
|
|
4
|
-
import { useCombobox as
|
|
4
|
+
import { useCombobox as g, useMultipleSelection as Ee } from "downshift";
|
|
5
5
|
import { Children as B, isValidElement as z, createContext as ne, useRef as A, useState as T, useEffect as P, useId as q, Fragment as se, useContext as re, useLayoutEffect as ct } from "react";
|
|
6
6
|
import { Popover as K } from "../popover/index.mjs";
|
|
7
7
|
import { DeleteOutline as Ae } from "@spark-ui/icons/DeleteOutline";
|
|
@@ -9,7 +9,7 @@ import { cx as f, cva as Me } from "class-variance-authority";
|
|
|
9
9
|
import { I as $ } from "../Icon-C23-htlD.mjs";
|
|
10
10
|
import { useMergeRefs as W } from "@spark-ui/hooks/use-merge-refs";
|
|
11
11
|
import { ArrowHorizontalDown as dt } from "@spark-ui/icons/ArrowHorizontalDown";
|
|
12
|
-
import { I as ut } from "../IconButton-
|
|
12
|
+
import { I as ut } from "../IconButton-Bfd-6BAD.mjs";
|
|
13
13
|
import { V as mt } from "../VisuallyHidden-DjlV0-CW.mjs";
|
|
14
14
|
import { Check as pt } from "@spark-ui/icons/Check";
|
|
15
15
|
import { S as bt } from "../Spinner-aLrtE2JN.mjs";
|
|
@@ -69,14 +69,14 @@ const ft = (e, o) => {
|
|
|
69
69
|
}) => (i, { changes: s, type: m }) => {
|
|
70
70
|
const u = l.current?.contains?.(document.activeElement);
|
|
71
71
|
switch (m) {
|
|
72
|
-
case
|
|
72
|
+
case g.stateChangeTypes.InputClick:
|
|
73
73
|
return {
|
|
74
74
|
...s,
|
|
75
75
|
isOpen: !0
|
|
76
76
|
// keep menu opened
|
|
77
77
|
};
|
|
78
|
-
case
|
|
79
|
-
case
|
|
78
|
+
case g.stateChangeTypes.InputKeyDownEnter:
|
|
79
|
+
case g.stateChangeTypes.ItemClick: {
|
|
80
80
|
const b = { ...s };
|
|
81
81
|
if (s.selectedItem != null) {
|
|
82
82
|
b.inputValue = "", b.isOpen = !0;
|
|
@@ -89,17 +89,17 @@ const ft = (e, o) => {
|
|
|
89
89
|
}
|
|
90
90
|
return b;
|
|
91
91
|
}
|
|
92
|
-
case
|
|
92
|
+
case g.stateChangeTypes.ToggleButtonClick:
|
|
93
93
|
return {
|
|
94
94
|
...s,
|
|
95
95
|
inputValue: t ? s.inputValue : ""
|
|
96
96
|
};
|
|
97
|
-
case
|
|
97
|
+
case g.stateChangeTypes.InputChange:
|
|
98
98
|
return {
|
|
99
99
|
...s,
|
|
100
100
|
selectedItem: s.highlightedIndex === -1 ? null : s.selectedItem
|
|
101
101
|
};
|
|
102
|
-
case
|
|
102
|
+
case g.stateChangeTypes.InputBlur:
|
|
103
103
|
return {
|
|
104
104
|
...s,
|
|
105
105
|
inputValue: t ? s.inputValue : "",
|
|
@@ -117,15 +117,15 @@ const ft = (e, o) => {
|
|
|
117
117
|
(s) => s.text.toLowerCase() === l.inputValue.toLowerCase()
|
|
118
118
|
);
|
|
119
119
|
switch (c) {
|
|
120
|
-
case
|
|
120
|
+
case g.stateChangeTypes.InputKeyDownEscape:
|
|
121
121
|
return r.selectedItem || t(null), r;
|
|
122
|
-
case
|
|
123
|
-
case
|
|
122
|
+
case g.stateChangeTypes.ItemClick:
|
|
123
|
+
case g.stateChangeTypes.InputKeyDownEnter:
|
|
124
124
|
return r.selectedItem && t(r.selectedItem), r;
|
|
125
|
-
case
|
|
125
|
+
case g.stateChangeTypes.InputClick:
|
|
126
126
|
return { ...r, isOpen: !0 };
|
|
127
|
-
case
|
|
128
|
-
case
|
|
127
|
+
case g.stateChangeTypes.ToggleButtonClick:
|
|
128
|
+
case g.stateChangeTypes.InputBlur:
|
|
129
129
|
return o ? r : l.inputValue === "" ? (t(null), { ...r, selectedItem: null }) : i ? (t(i), { ...r, selectedItem: i, inputValue: i.text }) : l.selectedItem ? { ...r, inputValue: l.selectedItem.text } : { ...r, inputValue: "" };
|
|
130
130
|
default:
|
|
131
131
|
return r;
|
|
@@ -151,14 +151,14 @@ const ft = (e, o) => {
|
|
|
151
151
|
onOpenChange: I,
|
|
152
152
|
isLoading: k
|
|
153
153
|
}) => {
|
|
154
|
-
const x = A(!1), [w, N] = T(""), [E,
|
|
154
|
+
const x = A(!1), [w, N] = T(""), [E, h] = T(n === "strict"), R = A(null), V = A(null), [X, G] = T(null), [D] = Le(s, m), Q = n === "strict" || n === "auto" && E, [C, qe] = T(Re(e)), [H, ve] = T(
|
|
155
155
|
Q ? ee(C, w) : C
|
|
156
156
|
), [we, Ne] = T(
|
|
157
157
|
C.get(D) || null
|
|
158
158
|
), [Te, Pe] = T(
|
|
159
159
|
D ? [...C.values()].filter((d) => D.includes(d.value)) : []
|
|
160
160
|
), Se = (d) => {
|
|
161
|
-
|
|
161
|
+
h(!1), d?.value !== we?.value && (Ne(d), setTimeout(() => {
|
|
162
162
|
u?.(d?.value);
|
|
163
163
|
}, 0));
|
|
164
164
|
}, Y = (d) => {
|
|
@@ -225,7 +225,7 @@ const ft = (e, o) => {
|
|
|
225
225
|
P(() => {
|
|
226
226
|
X?.(w || "");
|
|
227
227
|
}, [w]);
|
|
228
|
-
const Z =
|
|
228
|
+
const Z = g({
|
|
229
229
|
inputId: Oe,
|
|
230
230
|
items: De,
|
|
231
231
|
selectedItem: r ? void 0 : we,
|
|
@@ -311,7 +311,7 @@ const ft = (e, o) => {
|
|
|
311
311
|
isLoading: k,
|
|
312
312
|
setOnInputValueChange: G,
|
|
313
313
|
isTyping: E,
|
|
314
|
-
setIsTyping:
|
|
314
|
+
setIsTyping: h
|
|
315
315
|
},
|
|
316
316
|
children: /* @__PURE__ */ a(rt, { ...lt, children: e })
|
|
317
317
|
}
|
|
@@ -398,7 +398,7 @@ const ie = ({ className: e, children: o, ref: t }) => v().filteredItemsMap.size
|
|
|
398
398
|
}
|
|
399
399
|
) : null;
|
|
400
400
|
ie.displayName = "Combobox.Empty";
|
|
401
|
-
const He = ne(null),
|
|
401
|
+
const He = ne(null), gt = ({ children: e }) => {
|
|
402
402
|
const o = `${U}-group-label-${q()}`;
|
|
403
403
|
return /* @__PURE__ */ a(He.Provider, { value: { groupLabelId: o }, children: e });
|
|
404
404
|
}, je = () => {
|
|
@@ -406,7 +406,7 @@ const He = ne(null), ht = ({ children: e }) => {
|
|
|
406
406
|
if (!e)
|
|
407
407
|
throw Error("useComboboxGroupContext must be used within a ComboboxGroup provider");
|
|
408
408
|
return e;
|
|
409
|
-
}, ce = ({ children: e, ref: o, ...t }) => /* @__PURE__ */ a(
|
|
409
|
+
}, ce = ({ children: e, ref: o, ...t }) => /* @__PURE__ */ a(gt, { children: /* @__PURE__ */ a(ht, { ref: o, ...t, children: e }) }), ht = ({ children: e, className: o, ref: t }) => {
|
|
410
410
|
const n = v(), l = je();
|
|
411
411
|
return B.toArray(e).some((c) => z(c) && n.filteredItemsMap.get(c.props.value)) ? /* @__PURE__ */ a(
|
|
412
412
|
"div",
|
|
@@ -456,16 +456,16 @@ const de = ({
|
|
|
456
456
|
},
|
|
457
457
|
ref: w
|
|
458
458
|
}), E = s.multiple ? !s.areSelectedItemsInTrigger || s.selectedItems.length === 0 : s.selectedItem === null;
|
|
459
|
-
function
|
|
459
|
+
function h(V, X) {
|
|
460
460
|
return (G) => {
|
|
461
461
|
V?.(G), X?.(G);
|
|
462
462
|
};
|
|
463
463
|
}
|
|
464
464
|
const R = {
|
|
465
|
-
onBlur:
|
|
466
|
-
onChange:
|
|
467
|
-
onClick:
|
|
468
|
-
onKeyDown:
|
|
465
|
+
onBlur: h(i.onBlur, N.onBlur),
|
|
466
|
+
onChange: h(i.onChange, N.onChange),
|
|
467
|
+
onClick: h(i.onClick, N.onClick),
|
|
468
|
+
onKeyDown: h(i.onKeyDown, N.onKeyDown)
|
|
469
469
|
};
|
|
470
470
|
return /* @__PURE__ */ _(te, { children: [
|
|
471
471
|
e && /* @__PURE__ */ a(mt, { children: /* @__PURE__ */ a("label", { ...s.getLabelProps(), children: e }) }),
|
|
@@ -737,15 +737,15 @@ const Tt = ({ item: e, index: o }) => {
|
|
|
737
737
|
},
|
|
738
738
|
`selected-item-${o}`
|
|
739
739
|
);
|
|
740
|
-
},
|
|
740
|
+
}, ge = () => {
|
|
741
741
|
const e = v();
|
|
742
742
|
return e.multiple && e.selectedItems.length ? /* @__PURE__ */ a(te, { children: e.selectedItems.map((o, t) => /* @__PURE__ */ a(Tt, { item: o, index: t }, o.value)) }) : null;
|
|
743
743
|
};
|
|
744
|
-
|
|
744
|
+
ge.displayName = "Combobox.SelectedItems";
|
|
745
745
|
const Pt = Me(
|
|
746
746
|
[
|
|
747
747
|
"flex items-start gap-md min-h-sz-44 text-body-1",
|
|
748
|
-
"h-fit rounded-
|
|
748
|
+
"h-fit rounded-lg px-lg",
|
|
749
749
|
// outline styles
|
|
750
750
|
"ring-1 outline-hidden ring-inset focus-within:ring-2 focus-within:ring-focus"
|
|
751
751
|
],
|
|
@@ -795,11 +795,11 @@ const Pt = Me(
|
|
|
795
795
|
}, l = requestAnimationFrame(n);
|
|
796
796
|
return () => cancelAnimationFrame(l);
|
|
797
797
|
}, [e]);
|
|
798
|
-
},
|
|
798
|
+
}, he = ({ className: e, children: o, ref: t }) => {
|
|
799
799
|
const n = v(), l = oe(), r = F(o, "Combobox.LeadingIcon"), c = F(o, "Combobox.SelectedItems"), i = F(o, "Combobox.Input"), s = F(o, "Combobox.ClearButton"), m = F(o, "Combobox.Disclosure"), [u, b] = n.hasPopover ? [K.Anchor, { asChild: !0, type: void 0 }] : [se, {}], O = W(t, n.triggerAreaRef), I = A(null), k = l.disabled || n.disabled, x = l.readOnly || n.readOnly, w = !!s && !k && !x, N = () => {
|
|
800
800
|
if (I.current && !n.wrap) {
|
|
801
|
-
const { scrollWidth:
|
|
802
|
-
I.current.scrollLeft =
|
|
801
|
+
const { scrollWidth: h, clientWidth: R } = I.current;
|
|
802
|
+
I.current.scrollLeft = h - R;
|
|
803
803
|
}
|
|
804
804
|
};
|
|
805
805
|
St(I, N);
|
|
@@ -807,9 +807,9 @@ const Pt = Me(
|
|
|
807
807
|
return P(() => {
|
|
808
808
|
n.setAreSelectedItemsInTrigger(E);
|
|
809
809
|
}, [E]), P(() => {
|
|
810
|
-
const
|
|
811
|
-
return I.current &&
|
|
812
|
-
|
|
810
|
+
const h = new ResizeObserver(N);
|
|
811
|
+
return I.current && h.observe(I.current), () => {
|
|
812
|
+
h.disconnect();
|
|
813
813
|
};
|
|
814
814
|
}, []), /* @__PURE__ */ a(te, { children: /* @__PURE__ */ a(u, { ...b, children: /* @__PURE__ */ _(
|
|
815
815
|
"div",
|
|
@@ -847,7 +847,7 @@ const Pt = Me(
|
|
|
847
847
|
}
|
|
848
848
|
) }) });
|
|
849
849
|
};
|
|
850
|
-
|
|
850
|
+
he.displayName = "Combobox.Trigger";
|
|
851
851
|
const Ot = Object.assign(Ge, {
|
|
852
852
|
Group: ce,
|
|
853
853
|
Item: me,
|
|
@@ -856,12 +856,12 @@ const Ot = Object.assign(Ge, {
|
|
|
856
856
|
ItemIndicator: pe,
|
|
857
857
|
Label: Ie,
|
|
858
858
|
Popover: ye,
|
|
859
|
-
Trigger:
|
|
859
|
+
Trigger: he,
|
|
860
860
|
LeadingIcon: xe,
|
|
861
861
|
Empty: ie,
|
|
862
862
|
Input: de,
|
|
863
863
|
Disclosure: ae,
|
|
864
|
-
SelectedItems:
|
|
864
|
+
SelectedItems: ge,
|
|
865
865
|
ClearButton: le,
|
|
866
866
|
Portal: Ce
|
|
867
867
|
});
|
|
@@ -873,12 +873,12 @@ fe.displayName = "Combobox.ItemText";
|
|
|
873
873
|
pe.displayName = "Combobox.ItemIndicator";
|
|
874
874
|
Ie.displayName = "Combobox.Label";
|
|
875
875
|
ye.displayName = "Combobox.Popover";
|
|
876
|
-
|
|
876
|
+
he.displayName = "Combobox.Trigger";
|
|
877
877
|
xe.displayName = "Combobox.LeadingIcon";
|
|
878
878
|
ie.displayName = "Combobox.Empty";
|
|
879
879
|
de.displayName = "Combobox.Input";
|
|
880
880
|
ae.displayName = "Combobox.Disclosure";
|
|
881
|
-
|
|
881
|
+
ge.displayName = "Combobox.SelectedItems";
|
|
882
882
|
le.displayName = "Combobox.ClearButton";
|
|
883
883
|
Ce.displayName = "Combobox.Portal";
|
|
884
884
|
export {
|