@lglab/compose-ui 0.28.0 → 0.30.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/accordion.d.ts +49 -40
- package/dist/accordion.d.ts.map +1 -0
- package/dist/accordion.js +47 -45
- package/dist/accordion.js.map +1 -0
- package/dist/alert-dialog.d.ts +93 -87
- package/dist/alert-dialog.d.ts.map +1 -0
- package/dist/alert-dialog.js +94 -111
- package/dist/alert-dialog.js.map +1 -0
- package/dist/autocomplete.d.ts +99 -96
- package/dist/autocomplete.d.ts.map +1 -0
- package/dist/autocomplete.js +92 -116
- package/dist/autocomplete.js.map +1 -0
- package/dist/avatar.d.ts +56 -47
- package/dist/avatar.d.ts.map +1 -0
- package/dist/avatar.js +66 -79
- package/dist/avatar.js.map +1 -0
- package/dist/badge.d.ts +48 -42
- package/dist/badge.d.ts.map +1 -0
- package/dist/badge.js +195 -202
- package/dist/badge.js.map +1 -0
- package/dist/button.d.ts +26 -21
- package/dist/button.d.ts.map +1 -0
- package/dist/button.js +24 -24
- package/dist/button.js.map +1 -0
- package/dist/card.d.ts +105 -99
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +105 -66
- package/dist/card.js.map +1 -0
- package/dist/checkbox-group.d.ts +16 -12
- package/dist/checkbox-group.d.ts.map +1 -0
- package/dist/checkbox-group.js +18 -14
- package/dist/checkbox-group.js.map +1 -0
- package/dist/checkbox.d.ts +25 -19
- package/dist/checkbox.d.ts.map +1 -0
- package/dist/checkbox.js +26 -32
- package/dist/checkbox.js.map +1 -0
- package/dist/collapsible.d.ts +32 -26
- package/dist/collapsible.d.ts.map +1 -0
- package/dist/collapsible.js +32 -32
- package/dist/collapsible.js.map +1 -0
- package/dist/combobox.d.ts +191 -182
- package/dist/combobox.d.ts.map +1 -0
- package/dist/combobox.js +176 -250
- package/dist/combobox.js.map +1 -0
- package/dist/components/table/filters.d.ts +29 -0
- package/dist/components/table/filters.d.ts.map +1 -0
- package/dist/components/table/filters.js +47 -0
- package/dist/components/table/filters.js.map +1 -0
- package/dist/components/table/primitives.d.ts +93 -0
- package/dist/components/table/primitives.d.ts.map +1 -0
- package/dist/components/table/primitives.js +129 -0
- package/dist/components/table/primitives.js.map +1 -0
- package/dist/components/table/sort.js +17 -0
- package/dist/components/table/sort.js.map +1 -0
- package/dist/components/table/types.d.ts +101 -0
- package/dist/components/table/types.d.ts.map +1 -0
- package/dist/context-menu.d.ts +151 -138
- package/dist/context-menu.d.ts.map +1 -0
- package/dist/context-menu.js +151 -173
- package/dist/context-menu.js.map +1 -0
- package/dist/dialog.d.ts +101 -92
- package/dist/dialog.d.ts.map +1 -0
- package/dist/dialog.js +101 -105
- package/dist/dialog.js.map +1 -0
- package/dist/drawer.d.ts +109 -99
- package/dist/drawer.d.ts.map +1 -0
- package/dist/drawer.js +120 -111
- package/dist/drawer.js.map +1 -0
- package/dist/field.d.ts +61 -54
- package/dist/field.d.ts.map +1 -0
- package/dist/field.js +58 -27
- package/dist/field.js.map +1 -0
- package/dist/fieldset.d.ts +24 -19
- package/dist/fieldset.d.ts.map +1 -0
- package/dist/fieldset.js +26 -18
- package/dist/fieldset.js.map +1 -0
- package/dist/form.d.ts +16 -12
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +18 -8
- package/dist/form.js.map +1 -0
- package/dist/index.d.ts +48 -2115
- package/dist/index.js +47 -318
- package/dist/input.d.ts +16 -12
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +19 -9
- package/dist/input.js.map +1 -0
- package/dist/lib/arrow-svg.js +28 -0
- package/dist/lib/arrow-svg.js.map +1 -0
- package/dist/lib/button-variants.d.ts +6 -0
- package/dist/lib/button-variants.d.ts.map +1 -0
- package/dist/lib/button-variants.js +31 -0
- package/dist/lib/button-variants.js.map +1 -0
- package/dist/lib/control-variants.d.ts +6 -0
- package/dist/lib/control-variants.d.ts.map +1 -0
- package/dist/lib/control-variants.js +38 -0
- package/dist/lib/control-variants.js.map +1 -0
- package/dist/lib/form-variants.js +11 -0
- package/dist/lib/form-variants.js.map +1 -0
- package/dist/lib/tooltip-variants.d.ts +5 -0
- package/dist/lib/tooltip-variants.d.ts.map +1 -0
- package/dist/lib/tooltip-variants.js +36 -0
- package/dist/lib/tooltip-variants.js.map +1 -0
- package/dist/lib/utils.js +11 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/menu.d.ts +151 -138
- package/dist/menu.d.ts.map +1 -0
- package/dist/menu.js +151 -146
- package/dist/menu.js.map +1 -0
- package/dist/menubar.d.ts +168 -155
- package/dist/menubar.d.ts.map +1 -0
- package/dist/menubar.js +163 -169
- package/dist/menubar.js.map +1 -0
- package/dist/meter.d.ts +53 -43
- package/dist/meter.d.ts.map +1 -0
- package/dist/meter.js +59 -64
- package/dist/meter.js.map +1 -0
- package/dist/navigation-menu.d.ts +111 -96
- package/dist/navigation-menu.d.ts.map +1 -0
- package/dist/navigation-menu.js +117 -175
- package/dist/navigation-menu.js.map +1 -0
- package/dist/number-field.d.ts +64 -54
- package/dist/number-field.d.ts.map +1 -0
- package/dist/number-field.js +61 -69
- package/dist/number-field.js.map +1 -0
- package/dist/pagination.d.ts +184 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +164 -0
- package/dist/pagination.js.map +1 -0
- package/dist/popover.d.ts +90 -82
- package/dist/popover.d.ts.map +1 -0
- package/dist/popover.js +85 -94
- package/dist/popover.js.map +1 -0
- package/dist/preview-card.d.ts +58 -54
- package/dist/preview-card.d.ts.map +1 -0
- package/dist/preview-card.js +57 -81
- package/dist/preview-card.js.map +1 -0
- package/dist/progress.d.ts +48 -40
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +46 -50
- package/dist/progress.js.map +1 -0
- package/dist/radio-group.d.ts +16 -12
- package/dist/radio-group.d.ts.map +1 -0
- package/dist/radio-group.js +18 -14
- package/dist/radio-group.js.map +1 -0
- package/dist/radio.d.ts +24 -19
- package/dist/radio.d.ts.map +1 -0
- package/dist/radio.js +25 -34
- package/dist/radio.js.map +1 -0
- package/dist/scroll-area.d.ts +57 -47
- package/dist/scroll-area.d.ts.map +1 -0
- package/dist/scroll-area.js +54 -56
- package/dist/scroll-area.js.map +1 -0
- package/dist/select.d.ts +146 -133
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +133 -167
- package/dist/select.js.map +1 -0
- package/dist/separator.d.ts +17 -12
- package/dist/separator.d.ts.map +1 -0
- package/dist/separator.js +19 -23
- package/dist/separator.js.map +1 -0
- package/dist/skeleton.d.ts +20 -0
- package/dist/skeleton.d.ts.map +1 -0
- package/dist/skeleton.js +27 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.d.ts +56 -47
- package/dist/slider.d.ts.map +1 -0
- package/dist/slider.js +53 -62
- package/dist/slider.js.map +1 -0
- package/dist/styles/default.css +15 -1
- package/dist/switch.d.ts +24 -19
- package/dist/switch.d.ts.map +1 -0
- package/dist/switch.js +23 -39
- package/dist/switch.js.map +1 -0
- package/dist/table/index.d.ts +5 -0
- package/dist/table/index.js +5 -0
- package/dist/table/use-table.d.ts +9 -0
- package/dist/table/use-table.d.ts.map +1 -0
- package/dist/table/use-table.js +256 -0
- package/dist/table/use-table.js.map +1 -0
- package/dist/tabs.d.ts +60 -49
- package/dist/tabs.d.ts.map +1 -0
- package/dist/tabs.js +76 -84
- package/dist/tabs.js.map +1 -0
- package/dist/textarea.d.ts +15 -11
- package/dist/textarea.d.ts.map +1 -0
- package/dist/textarea.js +18 -14
- package/dist/textarea.js.map +1 -0
- package/dist/toast.d.ts +87 -81
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +79 -150
- package/dist/toast.js.map +1 -0
- package/dist/toggle-group.d.ts +34 -29
- package/dist/toggle-group.d.ts.map +1 -0
- package/dist/toggle-group.js +31 -34
- package/dist/toggle-group.js.map +1 -0
- package/dist/toggle.d.ts +24 -21
- package/dist/toggle.d.ts.map +1 -0
- package/dist/toggle.js +22 -15
- package/dist/toggle.js.map +1 -0
- package/dist/toolbar.d.ts +64 -56
- package/dist/toolbar.d.ts.map +1 -0
- package/dist/toolbar.js +57 -68
- package/dist/toolbar.js.map +1 -0
- package/dist/tooltip.d.ts +67 -62
- package/dist/tooltip.d.ts.map +1 -0
- package/dist/tooltip.js +65 -90
- package/dist/tooltip.js.map +1 -0
- package/package.json +25 -13
- package/dist/arrow-svg-C6zQTvgS.js +0 -40
- package/dist/button-variants-CbFMPwc8.js +0 -33
- package/dist/control-variants-Bwep4n0y.js +0 -37
- package/dist/form-variants-LJ8gIbk0.js +0 -9
- package/dist/utils-B6yFEsav.js +0 -8
package/dist/combobox.js
CHANGED
|
@@ -1,252 +1,178 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import * as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { cn } from "./lib/utils.js";
|
|
4
|
+
import { inputBaseStyles } from "./lib/form-variants.js";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import { Combobox as BaseCombobox } from "@base-ui/react/combobox";
|
|
8
|
+
|
|
9
|
+
//#region src/components/combobox.tsx
|
|
10
|
+
function ComboboxRoot(props) {
|
|
11
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Root, { ...props });
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const p = ({ className: o, ...t }) => /* @__PURE__ */ e(r.Icon, { className: a("flex", o), ...t });
|
|
15
|
-
p.displayName = "ComboboxIcon";
|
|
16
|
-
const d = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
17
|
-
r.Input,
|
|
18
|
-
{
|
|
19
|
-
className: a(
|
|
20
|
-
s,
|
|
21
|
-
"shrink-0",
|
|
22
|
-
"group-[&]/control:w-auto group-[&]/control:flex-1 group-[&]/control:border-0 group-[&]/control:bg-transparent",
|
|
23
|
-
"group-[&]/chips:w-auto group-[&]/chips:min-w-12 group-[&]/chips:flex-1 group-[&]/chips:border-0 group-[&]/chips:bg-transparent group-[&]/chips:h-7",
|
|
24
|
-
o
|
|
25
|
-
),
|
|
26
|
-
...t
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
|
-
d.displayName = "ComboboxInput";
|
|
30
|
-
const l = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
31
|
-
"div",
|
|
32
|
-
{
|
|
33
|
-
className: a(
|
|
34
|
-
s,
|
|
35
|
-
"group/control flex items-center p-0 pr-1",
|
|
36
|
-
o
|
|
37
|
-
),
|
|
38
|
-
...t
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
l.displayName = "ComboboxControl";
|
|
42
|
-
const c = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
43
|
-
r.Clear,
|
|
44
|
-
{
|
|
45
|
-
className: a(
|
|
46
|
-
"flex h-9 w-6 items-center justify-center rounded bg-transparent p-0 text-muted-foreground hover:text-foreground",
|
|
47
|
-
o
|
|
48
|
-
),
|
|
49
|
-
...t
|
|
50
|
-
}
|
|
51
|
-
);
|
|
52
|
-
c.displayName = "ComboboxClear";
|
|
53
|
-
const x = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
54
|
-
r.Trigger,
|
|
55
|
-
{
|
|
56
|
-
className: a(
|
|
57
|
-
"flex h-9 w-fit min-w-6 items-center justify-center rounded bg-transparent p-0 text-muted-foreground hover:text-foreground",
|
|
58
|
-
o
|
|
59
|
-
),
|
|
60
|
-
...t
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
x.displayName = "ComboboxTrigger";
|
|
64
|
-
const u = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
65
|
-
r.Backdrop,
|
|
66
|
-
{
|
|
67
|
-
className: a(
|
|
68
|
-
"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",
|
|
69
|
-
"transition-opacity duration-200",
|
|
70
|
-
"data-starting-style:opacity-0 data-ending-style:opacity-0",
|
|
71
|
-
o
|
|
72
|
-
),
|
|
73
|
-
...t
|
|
74
|
-
}
|
|
75
|
-
);
|
|
76
|
-
u.displayName = "ComboboxBackdrop";
|
|
77
|
-
const g = (o) => /* @__PURE__ */ e(r.Portal, { ...o });
|
|
78
|
-
g.displayName = "ComboboxPortal";
|
|
79
|
-
const C = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
80
|
-
r.Positioner,
|
|
81
|
-
{
|
|
82
|
-
className: a("z-50 outline-none", o),
|
|
83
|
-
sideOffset: 4,
|
|
84
|
-
...t
|
|
85
|
-
}
|
|
86
|
-
);
|
|
87
|
-
C.displayName = "ComboboxPositioner";
|
|
88
|
-
const y = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
89
|
-
r.Popup,
|
|
90
|
-
{
|
|
91
|
-
className: a(
|
|
92
|
-
"group flex flex-col min-w-(--anchor-width) max-h-[min(23rem,var(--available-height))] max-w-(--available-width) origin-(--transform-origin) rounded-md bg-background text-foreground shadow-lg shadow-gray-200 border border-border transition-[transform,scale,opacity] duration-100",
|
|
93
|
-
"data-ending-style:scale-95 data-ending-style:opacity-0",
|
|
94
|
-
"data-starting-style:scale-95 data-starting-style:opacity-0",
|
|
95
|
-
"dark:shadow-none",
|
|
96
|
-
o
|
|
97
|
-
),
|
|
98
|
-
...t
|
|
99
|
-
}
|
|
100
|
-
);
|
|
101
|
-
y.displayName = "ComboboxPopup";
|
|
102
|
-
const f = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
103
|
-
r.List,
|
|
104
|
-
{
|
|
105
|
-
className: a(
|
|
106
|
-
"outline-0 overflow-y-auto scroll-py-2 overscroll-contain flex-1 min-h-0 data-empty:p-0",
|
|
107
|
-
o
|
|
108
|
-
),
|
|
109
|
-
...t
|
|
110
|
-
}
|
|
111
|
-
);
|
|
112
|
-
f.displayName = "ComboboxList";
|
|
113
|
-
const h = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
114
|
-
r.Empty,
|
|
115
|
-
{
|
|
116
|
-
className: a(
|
|
117
|
-
"shrink-0 p-4 text-sm leading-4 text-muted-foreground empty:m-0 empty:p-0",
|
|
118
|
-
o
|
|
119
|
-
),
|
|
120
|
-
...t
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
|
-
h.displayName = "ComboboxEmpty";
|
|
124
|
-
const N = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
125
|
-
r.Item,
|
|
126
|
-
{
|
|
127
|
-
className: a(
|
|
128
|
-
"flex items-center justify-between gap-2 py-2 px-4 text-sm leading-4 outline-none select-none",
|
|
129
|
-
"data-selected:bg-accent data-selected:text-accent-foreground",
|
|
130
|
-
"data-highlighted:bg-accent data-highlighted:text-accent-foreground",
|
|
131
|
-
o
|
|
132
|
-
),
|
|
133
|
-
...t
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
N.displayName = "ComboboxItem";
|
|
137
|
-
const w = ({ className: o, ...t }) => /* @__PURE__ */ e("span", { className: o, ...t });
|
|
138
|
-
w.displayName = "ComboboxItemText";
|
|
139
|
-
const I = ({ className: o, ...t }) => /* @__PURE__ */ e(r.ItemIndicator, { className: o, ...t });
|
|
140
|
-
I.displayName = "ComboboxItemIndicator";
|
|
141
|
-
const v = ({ className: o, ...t }) => /* @__PURE__ */ e(r.Group, { className: o, ...t });
|
|
142
|
-
v.displayName = "ComboboxGroup";
|
|
143
|
-
const k = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
144
|
-
r.GroupLabel,
|
|
145
|
-
{
|
|
146
|
-
className: a(
|
|
147
|
-
"px-4 py-1.5 text-sm font-semibold sticky top-0 z-1 bg-background",
|
|
148
|
-
o
|
|
149
|
-
),
|
|
150
|
-
...t
|
|
151
|
-
}
|
|
152
|
-
);
|
|
153
|
-
k.displayName = "ComboboxGroupLabel";
|
|
154
|
-
const P = (o) => /* @__PURE__ */ e(r.Collection, { ...o });
|
|
155
|
-
P.displayName = "ComboboxCollection";
|
|
156
|
-
const R = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
157
|
-
r.Separator,
|
|
158
|
-
{
|
|
159
|
-
className: a("my-1 border-t border-border", o),
|
|
160
|
-
...t
|
|
161
|
-
}
|
|
162
|
-
);
|
|
163
|
-
R.displayName = "ComboboxSeparator";
|
|
164
|
-
const S = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
165
|
-
r.Status,
|
|
166
|
-
{
|
|
167
|
-
className: a(
|
|
168
|
-
"flex items-center gap-2 py-1 px-4 text-sm text-muted-foreground empty:hidden",
|
|
169
|
-
o
|
|
170
|
-
),
|
|
171
|
-
...t
|
|
172
|
-
}
|
|
173
|
-
);
|
|
174
|
-
S.displayName = "ComboboxStatus";
|
|
175
|
-
const G = m.forwardRef(
|
|
176
|
-
({ className: o, ...t }, n) => /* @__PURE__ */ e(
|
|
177
|
-
r.Chips,
|
|
178
|
-
{
|
|
179
|
-
ref: n,
|
|
180
|
-
className: a(
|
|
181
|
-
s,
|
|
182
|
-
"group/chips flex flex-wrap items-center gap-1 px-1 py-1 h-auto",
|
|
183
|
-
o
|
|
184
|
-
),
|
|
185
|
-
...t
|
|
186
|
-
}
|
|
187
|
-
)
|
|
188
|
-
);
|
|
189
|
-
G.displayName = "ComboboxChips";
|
|
190
|
-
const L = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
191
|
-
r.Chip,
|
|
192
|
-
{
|
|
193
|
-
className: a(
|
|
194
|
-
"flex items-center gap-1 rounded-md bg-muted px-1.5 py-0.5 text-xs text-foreground font-medium",
|
|
195
|
-
"data-highlighted:bg-primary data-highlighted:text-primary-foreground",
|
|
196
|
-
"focus-within:bg-primary focus-within:text-primary-foreground",
|
|
197
|
-
o
|
|
198
|
-
),
|
|
199
|
-
...t
|
|
200
|
-
}
|
|
201
|
-
);
|
|
202
|
-
L.displayName = "ComboboxChip";
|
|
203
|
-
const T = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
204
|
-
r.ChipRemove,
|
|
205
|
-
{
|
|
206
|
-
className: a(
|
|
207
|
-
"rounded-md p-0.5 text-inherit hover:bg-muted-foreground/20",
|
|
208
|
-
o
|
|
209
|
-
),
|
|
210
|
-
...t
|
|
211
|
-
}
|
|
212
|
-
);
|
|
213
|
-
T.displayName = "ComboboxChipRemove";
|
|
214
|
-
const j = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
215
|
-
r.Arrow,
|
|
216
|
-
{
|
|
217
|
-
className: a(
|
|
218
|
-
"flex data-[side=bottom]:top-[-8px] data-[side=left]:right-[-13px] data-[side=left]:rotate-90 data-[side=right]:left-[-13px] data-[side=right]:-rotate-90 data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180",
|
|
219
|
-
o
|
|
220
|
-
),
|
|
221
|
-
...t
|
|
222
|
-
}
|
|
223
|
-
);
|
|
224
|
-
j.displayName = "ComboboxArrow";
|
|
225
|
-
export {
|
|
226
|
-
q as Combobox,
|
|
227
|
-
j as ComboboxArrow,
|
|
228
|
-
u as ComboboxBackdrop,
|
|
229
|
-
L as ComboboxChip,
|
|
230
|
-
T as ComboboxChipRemove,
|
|
231
|
-
G as ComboboxChips,
|
|
232
|
-
c as ComboboxClear,
|
|
233
|
-
P as ComboboxCollection,
|
|
234
|
-
l as ComboboxControl,
|
|
235
|
-
h as ComboboxEmpty,
|
|
236
|
-
v as ComboboxGroup,
|
|
237
|
-
k as ComboboxGroupLabel,
|
|
238
|
-
p as ComboboxIcon,
|
|
239
|
-
d as ComboboxInput,
|
|
240
|
-
N as ComboboxItem,
|
|
241
|
-
I as ComboboxItemIndicator,
|
|
242
|
-
w as ComboboxItemText,
|
|
243
|
-
f as ComboboxList,
|
|
244
|
-
y as ComboboxPopup,
|
|
245
|
-
g as ComboboxPortal,
|
|
246
|
-
C as ComboboxPositioner,
|
|
247
|
-
i as ComboboxRoot,
|
|
248
|
-
R as ComboboxSeparator,
|
|
249
|
-
S as ComboboxStatus,
|
|
250
|
-
x as ComboboxTrigger,
|
|
251
|
-
b as ComboboxValue
|
|
13
|
+
ComboboxRoot.displayName = "ComboboxRoot";
|
|
14
|
+
const ComboboxValue = (props) => {
|
|
15
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Value, { ...props });
|
|
252
16
|
};
|
|
17
|
+
ComboboxValue.displayName = "ComboboxValue";
|
|
18
|
+
const ComboboxIcon = ({ className, ...props }) => {
|
|
19
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Icon, {
|
|
20
|
+
className: cn("flex", className),
|
|
21
|
+
...props
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
ComboboxIcon.displayName = "ComboboxIcon";
|
|
25
|
+
const ComboboxInput = ({ className, ...props }) => {
|
|
26
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Input, {
|
|
27
|
+
className: cn(inputBaseStyles, "shrink-0", "group-[&]/control:w-auto group-[&]/control:flex-1 group-[&]/control:border-0 group-[&]/control:bg-transparent", "group-[&]/chips:w-auto group-[&]/chips:min-w-12 group-[&]/chips:flex-1 group-[&]/chips:border-0 group-[&]/chips:bg-transparent group-[&]/chips:h-7", className),
|
|
28
|
+
...props
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
ComboboxInput.displayName = "ComboboxInput";
|
|
32
|
+
const ComboboxControl = ({ className, ...props }) => {
|
|
33
|
+
return /* @__PURE__ */ jsx("div", {
|
|
34
|
+
className: cn(inputBaseStyles, "group/control flex items-center p-0 pr-1", className),
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
ComboboxControl.displayName = "ComboboxControl";
|
|
39
|
+
const ComboboxClear = ({ className, ...props }) => {
|
|
40
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Clear, {
|
|
41
|
+
className: cn("flex h-9 w-6 items-center justify-center rounded bg-transparent p-0 text-muted-foreground hover:text-foreground", className),
|
|
42
|
+
...props
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
ComboboxClear.displayName = "ComboboxClear";
|
|
46
|
+
const ComboboxTrigger = ({ className, ...props }) => {
|
|
47
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Trigger, {
|
|
48
|
+
className: cn("flex h-9 w-fit min-w-6 items-center justify-center rounded bg-transparent p-0 text-muted-foreground hover:text-foreground", className),
|
|
49
|
+
...props
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
ComboboxTrigger.displayName = "ComboboxTrigger";
|
|
53
|
+
const ComboboxBackdrop = ({ className, ...props }) => {
|
|
54
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Backdrop, {
|
|
55
|
+
className: cn("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm", "transition-opacity duration-200", "data-starting-style:opacity-0 data-ending-style:opacity-0", className),
|
|
56
|
+
...props
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
ComboboxBackdrop.displayName = "ComboboxBackdrop";
|
|
60
|
+
const ComboboxPortal = (props) => {
|
|
61
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Portal, { ...props });
|
|
62
|
+
};
|
|
63
|
+
ComboboxPortal.displayName = "ComboboxPortal";
|
|
64
|
+
const ComboboxPositioner = ({ className, ...props }) => {
|
|
65
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Positioner, {
|
|
66
|
+
className: cn("z-50 outline-none", className),
|
|
67
|
+
sideOffset: 4,
|
|
68
|
+
...props
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
ComboboxPositioner.displayName = "ComboboxPositioner";
|
|
72
|
+
const ComboboxPopup = ({ className, ...props }) => {
|
|
73
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Popup, {
|
|
74
|
+
className: cn("group flex flex-col min-w-(--anchor-width) max-h-[min(23rem,var(--available-height))] max-w-(--available-width) origin-(--transform-origin) rounded-md bg-background text-foreground shadow-lg shadow-gray-200 border border-border transition-[transform,scale,opacity] duration-100", "data-ending-style:scale-95 data-ending-style:opacity-0", "data-starting-style:scale-95 data-starting-style:opacity-0", "dark:shadow-none", className),
|
|
75
|
+
...props
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
ComboboxPopup.displayName = "ComboboxPopup";
|
|
79
|
+
const ComboboxList = ({ className, ...props }) => {
|
|
80
|
+
return /* @__PURE__ */ jsx(BaseCombobox.List, {
|
|
81
|
+
className: cn("outline-0 overflow-y-auto scroll-py-2 overscroll-contain flex-1 min-h-0 data-empty:p-0", className),
|
|
82
|
+
...props
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
ComboboxList.displayName = "ComboboxList";
|
|
86
|
+
const ComboboxEmpty = ({ className, ...props }) => {
|
|
87
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Empty, {
|
|
88
|
+
className: cn("shrink-0 p-4 text-sm leading-4 text-muted-foreground empty:m-0 empty:p-0", className),
|
|
89
|
+
...props
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
ComboboxEmpty.displayName = "ComboboxEmpty";
|
|
93
|
+
const ComboboxItem = ({ className, ...props }) => {
|
|
94
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Item, {
|
|
95
|
+
className: cn("flex items-center justify-between gap-2 py-2 px-4 text-sm leading-4 outline-none select-none", "data-selected:bg-accent data-selected:text-accent-foreground", "data-highlighted:bg-accent data-highlighted:text-accent-foreground", className),
|
|
96
|
+
...props
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
ComboboxItem.displayName = "ComboboxItem";
|
|
100
|
+
const ComboboxItemText = ({ className, ...props }) => {
|
|
101
|
+
return /* @__PURE__ */ jsx("span", {
|
|
102
|
+
className,
|
|
103
|
+
...props
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
ComboboxItemText.displayName = "ComboboxItemText";
|
|
107
|
+
const ComboboxItemIndicator = ({ className, ...props }) => {
|
|
108
|
+
return /* @__PURE__ */ jsx(BaseCombobox.ItemIndicator, {
|
|
109
|
+
className,
|
|
110
|
+
...props
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
ComboboxItemIndicator.displayName = "ComboboxItemIndicator";
|
|
114
|
+
const ComboboxGroup = ({ className, ...props }) => {
|
|
115
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Group, {
|
|
116
|
+
className,
|
|
117
|
+
...props
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
ComboboxGroup.displayName = "ComboboxGroup";
|
|
121
|
+
const ComboboxGroupLabel = ({ className, ...props }) => {
|
|
122
|
+
return /* @__PURE__ */ jsx(BaseCombobox.GroupLabel, {
|
|
123
|
+
className: cn("px-4 py-1.5 text-sm font-semibold sticky top-0 z-1 bg-background", className),
|
|
124
|
+
...props
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
ComboboxGroupLabel.displayName = "ComboboxGroupLabel";
|
|
128
|
+
const ComboboxCollection = (props) => {
|
|
129
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Collection, { ...props });
|
|
130
|
+
};
|
|
131
|
+
ComboboxCollection.displayName = "ComboboxCollection";
|
|
132
|
+
const ComboboxSeparator = ({ className, ...props }) => {
|
|
133
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Separator, {
|
|
134
|
+
className: cn("my-1 border-t border-border", className),
|
|
135
|
+
...props
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
ComboboxSeparator.displayName = "ComboboxSeparator";
|
|
139
|
+
const ComboboxStatus = ({ className, ...props }) => {
|
|
140
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Status, {
|
|
141
|
+
className: cn("flex items-center gap-2 py-1 px-4 text-sm text-muted-foreground empty:hidden", className),
|
|
142
|
+
...props
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
ComboboxStatus.displayName = "ComboboxStatus";
|
|
146
|
+
const ComboboxChips = React.forwardRef(({ className, ...props }, ref) => {
|
|
147
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Chips, {
|
|
148
|
+
ref,
|
|
149
|
+
className: cn(inputBaseStyles, "group/chips flex flex-wrap items-center gap-1 px-1 py-1 h-auto", className),
|
|
150
|
+
...props
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
ComboboxChips.displayName = "ComboboxChips";
|
|
154
|
+
const ComboboxChip = ({ className, ...props }) => {
|
|
155
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Chip, {
|
|
156
|
+
className: cn("flex items-center gap-1 rounded-md bg-muted px-1.5 py-0.5 text-xs text-foreground font-medium", "data-highlighted:bg-primary data-highlighted:text-primary-foreground", "focus-within:bg-primary focus-within:text-primary-foreground", className),
|
|
157
|
+
...props
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
ComboboxChip.displayName = "ComboboxChip";
|
|
161
|
+
const ComboboxChipRemove = ({ className, ...props }) => {
|
|
162
|
+
return /* @__PURE__ */ jsx(BaseCombobox.ChipRemove, {
|
|
163
|
+
className: cn("rounded-md p-0.5 text-inherit hover:bg-muted-foreground/20", className),
|
|
164
|
+
...props
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
ComboboxChipRemove.displayName = "ComboboxChipRemove";
|
|
168
|
+
const ComboboxArrow = ({ className, ...props }) => {
|
|
169
|
+
return /* @__PURE__ */ jsx(BaseCombobox.Arrow, {
|
|
170
|
+
className: cn("flex data-[side=bottom]:top-[-8px] data-[side=left]:right-[-13px] data-[side=left]:rotate-90 data-[side=right]:left-[-13px] data-[side=right]:-rotate-90 data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180", className),
|
|
171
|
+
...props
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
ComboboxArrow.displayName = "ComboboxArrow";
|
|
175
|
+
|
|
176
|
+
//#endregion
|
|
177
|
+
export { BaseCombobox as Combobox, ComboboxArrow, ComboboxBackdrop, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxControl, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxIcon, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxItemText, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxPositioner, ComboboxRoot, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue };
|
|
178
|
+
//# sourceMappingURL=combobox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.js","names":[],"sources":["../src/components/combobox.tsx"],"sourcesContent":["'use client'\n\nimport {\n Combobox as BaseCombobox,\n type ComboboxRootProps as BaseComboboxRootProps,\n} from '@base-ui/react/combobox'\nimport * as React from 'react'\n\nimport { inputBaseStyles } from '../lib/form-variants'\nimport { cn } from '../lib/utils'\n\n// ============================================================================\n// ComboboxRoot\n// ============================================================================\n\nfunction ComboboxRoot<Value, Multiple extends boolean | undefined = false>(\n props: BaseComboboxRootProps<Value, Multiple>,\n) {\n return <BaseCombobox.Root {...props} />\n}\n\ntype ComboboxRootProps<\n Value,\n Multiple extends boolean | undefined = false,\n> = BaseComboboxRootProps<Value, Multiple>\n\nComboboxRoot.displayName = 'ComboboxRoot'\n\n// ============================================================================\n// ComboboxValue\n// ============================================================================\n\ntype ComboboxValueProps = React.ComponentProps<typeof BaseCombobox.Value>\n\nconst ComboboxValue = (props: ComboboxValueProps) => {\n return <BaseCombobox.Value {...props} />\n}\n\nComboboxValue.displayName = 'ComboboxValue'\n\n// ============================================================================\n// ComboboxIcon\n// ============================================================================\n\ntype ComboboxIconProps = React.ComponentProps<typeof BaseCombobox.Icon>\n\nconst ComboboxIcon = ({ className, ...props }: ComboboxIconProps) => {\n return <BaseCombobox.Icon className={cn('flex', className)} {...props} />\n}\n\nComboboxIcon.displayName = 'ComboboxIcon'\n\n// ============================================================================\n// ComboboxInput\n// ============================================================================\n\ntype ComboboxInputProps = React.ComponentProps<typeof BaseCombobox.Input>\n\nconst ComboboxInput = ({ className, ...props }: ComboboxInputProps) => {\n return (\n <BaseCombobox.Input\n className={cn(\n inputBaseStyles,\n 'shrink-0',\n 'group-[&]/control:w-auto group-[&]/control:flex-1 group-[&]/control:border-0 group-[&]/control:bg-transparent',\n 'group-[&]/chips:w-auto group-[&]/chips:min-w-12 group-[&]/chips:flex-1 group-[&]/chips:border-0 group-[&]/chips:bg-transparent group-[&]/chips:h-7',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxInput.displayName = 'ComboboxInput'\n\n// ============================================================================\n// ComboboxControl\n// ============================================================================\n\ntype ComboboxControlProps = React.ComponentProps<'div'>\n\nconst ComboboxControl = ({ className, ...props }: ComboboxControlProps) => {\n return (\n <div\n className={cn(\n inputBaseStyles,\n 'group/control flex items-center p-0 pr-1',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxControl.displayName = 'ComboboxControl'\n\n// ============================================================================\n// ComboboxClear\n// ============================================================================\n\ntype ComboboxClearProps = React.ComponentProps<typeof BaseCombobox.Clear>\n\nconst ComboboxClear = ({ className, ...props }: ComboboxClearProps) => {\n return (\n <BaseCombobox.Clear\n className={cn(\n 'flex h-9 w-6 items-center justify-center rounded bg-transparent p-0 text-muted-foreground hover:text-foreground',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxClear.displayName = 'ComboboxClear'\n\n// ============================================================================\n// ComboboxTrigger\n// ============================================================================\n\ntype ComboboxTriggerProps = React.ComponentProps<typeof BaseCombobox.Trigger>\n\nconst ComboboxTrigger = ({ className, ...props }: ComboboxTriggerProps) => {\n return (\n <BaseCombobox.Trigger\n className={cn(\n 'flex h-9 w-fit min-w-6 items-center justify-center rounded bg-transparent p-0 text-muted-foreground hover:text-foreground',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxTrigger.displayName = 'ComboboxTrigger'\n\n// ============================================================================\n// ComboboxBackdrop\n// ============================================================================\n\ntype ComboboxBackdropProps = React.ComponentProps<typeof BaseCombobox.Backdrop>\n\nconst ComboboxBackdrop = ({ className, ...props }: ComboboxBackdropProps) => {\n return (\n <BaseCombobox.Backdrop\n className={cn(\n 'fixed inset-0 z-50 bg-black/50 backdrop-blur-sm',\n 'transition-opacity duration-200',\n 'data-starting-style:opacity-0 data-ending-style:opacity-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxBackdrop.displayName = 'ComboboxBackdrop'\n\n// ============================================================================\n// ComboboxPortal\n// ============================================================================\n\ntype ComboboxPortalProps = React.ComponentProps<typeof BaseCombobox.Portal>\n\nconst ComboboxPortal = (props: ComboboxPortalProps) => {\n return <BaseCombobox.Portal {...props} />\n}\n\nComboboxPortal.displayName = 'ComboboxPortal'\n\n// ============================================================================\n// ComboboxPositioner\n// ============================================================================\n\ntype ComboboxPositionerProps = React.ComponentProps<typeof BaseCombobox.Positioner>\n\nconst ComboboxPositioner = ({ className, ...props }: ComboboxPositionerProps) => {\n return (\n <BaseCombobox.Positioner\n className={cn('z-50 outline-none', className)}\n sideOffset={4}\n {...props}\n />\n )\n}\n\nComboboxPositioner.displayName = 'ComboboxPositioner'\n\n// ============================================================================\n// ComboboxPopup\n// ============================================================================\n\ntype ComboboxPopupProps = React.ComponentProps<typeof BaseCombobox.Popup>\n\nconst ComboboxPopup = ({ className, ...props }: ComboboxPopupProps) => {\n return (\n <BaseCombobox.Popup\n className={cn(\n 'group flex flex-col min-w-(--anchor-width) max-h-[min(23rem,var(--available-height))] max-w-(--available-width) origin-(--transform-origin) rounded-md bg-background text-foreground shadow-lg shadow-gray-200 border border-border transition-[transform,scale,opacity] duration-100',\n 'data-ending-style:scale-95 data-ending-style:opacity-0',\n 'data-starting-style:scale-95 data-starting-style:opacity-0',\n 'dark:shadow-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxPopup.displayName = 'ComboboxPopup'\n\n// ============================================================================\n// ComboboxList\n// ============================================================================\n\ntype ComboboxListProps = React.ComponentProps<typeof BaseCombobox.List>\n\nconst ComboboxList = ({ className, ...props }: ComboboxListProps) => {\n return (\n <BaseCombobox.List\n className={cn(\n 'outline-0 overflow-y-auto scroll-py-2 overscroll-contain flex-1 min-h-0 data-empty:p-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxList.displayName = 'ComboboxList'\n\n// ============================================================================\n// ComboboxEmpty\n// ============================================================================\n\ntype ComboboxEmptyProps = React.ComponentProps<typeof BaseCombobox.Empty>\n\nconst ComboboxEmpty = ({ className, ...props }: ComboboxEmptyProps) => {\n return (\n <BaseCombobox.Empty\n className={cn(\n 'shrink-0 p-4 text-sm leading-4 text-muted-foreground empty:m-0 empty:p-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxEmpty.displayName = 'ComboboxEmpty'\n\n// ============================================================================\n// ComboboxItem\n// ============================================================================\n\ntype ComboboxItemProps = React.ComponentProps<typeof BaseCombobox.Item>\n\nconst ComboboxItem = ({ className, ...props }: ComboboxItemProps) => {\n return (\n <BaseCombobox.Item\n className={cn(\n 'flex items-center justify-between gap-2 py-2 px-4 text-sm leading-4 outline-none select-none',\n 'data-selected:bg-accent data-selected:text-accent-foreground',\n 'data-highlighted:bg-accent data-highlighted:text-accent-foreground',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxItem.displayName = 'ComboboxItem'\n\n// ============================================================================\n// ComboboxItemText\n// ============================================================================\n\ntype ComboboxItemTextProps = React.ComponentProps<'span'>\n\nconst ComboboxItemText = ({ className, ...props }: ComboboxItemTextProps) => {\n return <span className={className} {...props} />\n}\n\nComboboxItemText.displayName = 'ComboboxItemText'\n\n// ============================================================================\n// ComboboxItemIndicator\n// ============================================================================\n\ntype ComboboxItemIndicatorProps = React.ComponentProps<typeof BaseCombobox.ItemIndicator>\n\nconst ComboboxItemIndicator = ({ className, ...props }: ComboboxItemIndicatorProps) => {\n return <BaseCombobox.ItemIndicator className={className} {...props} />\n}\n\nComboboxItemIndicator.displayName = 'ComboboxItemIndicator'\n\n// ============================================================================\n// ComboboxGroup\n// ============================================================================\n\ntype ComboboxGroupProps = React.ComponentProps<typeof BaseCombobox.Group>\n\nconst ComboboxGroup = ({ className, ...props }: ComboboxGroupProps) => {\n return <BaseCombobox.Group className={className} {...props} />\n}\n\nComboboxGroup.displayName = 'ComboboxGroup'\n\n// ============================================================================\n// ComboboxGroupLabel\n// ============================================================================\n\ntype ComboboxGroupLabelProps = React.ComponentProps<typeof BaseCombobox.GroupLabel>\n\nconst ComboboxGroupLabel = ({ className, ...props }: ComboboxGroupLabelProps) => {\n return (\n <BaseCombobox.GroupLabel\n className={cn(\n 'px-4 py-1.5 text-sm font-semibold sticky top-0 z-1 bg-background',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxGroupLabel.displayName = 'ComboboxGroupLabel'\n\n// ============================================================================\n// ComboboxCollection\n// ============================================================================\n\ntype ComboboxCollectionProps = React.ComponentProps<typeof BaseCombobox.Collection>\n\nconst ComboboxCollection = (props: ComboboxCollectionProps) => {\n return <BaseCombobox.Collection {...props} />\n}\n\nComboboxCollection.displayName = 'ComboboxCollection'\n\n// ============================================================================\n// ComboboxSeparator\n// ============================================================================\n\ntype ComboboxSeparatorProps = React.ComponentProps<typeof BaseCombobox.Separator>\n\nconst ComboboxSeparator = ({ className, ...props }: ComboboxSeparatorProps) => {\n return (\n <BaseCombobox.Separator\n className={cn('my-1 border-t border-border', className)}\n {...props}\n />\n )\n}\n\nComboboxSeparator.displayName = 'ComboboxSeparator'\n\n// ============================================================================\n// ComboboxStatus\n// ============================================================================\n\ntype ComboboxStatusProps = React.ComponentProps<typeof BaseCombobox.Status>\n\nconst ComboboxStatus = ({ className, ...props }: ComboboxStatusProps) => {\n return (\n <BaseCombobox.Status\n className={cn(\n 'flex items-center gap-2 py-1 px-4 text-sm text-muted-foreground empty:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxStatus.displayName = 'ComboboxStatus'\n\n// ============================================================================\n// ComboboxChips\n// ============================================================================\n\ntype ComboboxChipsProps = React.ComponentProps<typeof BaseCombobox.Chips>\n\nconst ComboboxChips = React.forwardRef<HTMLDivElement, ComboboxChipsProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseCombobox.Chips\n ref={ref}\n className={cn(\n inputBaseStyles,\n 'group/chips flex flex-wrap items-center gap-1 px-1 py-1 h-auto',\n className,\n )}\n {...props}\n />\n )\n },\n)\n\nComboboxChips.displayName = 'ComboboxChips'\n\n// ============================================================================\n// ComboboxChip\n// ============================================================================\n\ntype ComboboxChipProps = React.ComponentProps<typeof BaseCombobox.Chip>\n\nconst ComboboxChip = ({ className, ...props }: ComboboxChipProps) => {\n return (\n <BaseCombobox.Chip\n className={cn(\n 'flex items-center gap-1 rounded-md bg-muted px-1.5 py-0.5 text-xs text-foreground font-medium',\n 'data-highlighted:bg-primary data-highlighted:text-primary-foreground',\n 'focus-within:bg-primary focus-within:text-primary-foreground',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxChip.displayName = 'ComboboxChip'\n\n// ============================================================================\n// ComboboxChipRemove\n// ============================================================================\n\ntype ComboboxChipRemoveProps = React.ComponentProps<typeof BaseCombobox.ChipRemove>\n\nconst ComboboxChipRemove = ({ className, ...props }: ComboboxChipRemoveProps) => {\n return (\n <BaseCombobox.ChipRemove\n className={cn(\n 'rounded-md p-0.5 text-inherit hover:bg-muted-foreground/20',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxChipRemove.displayName = 'ComboboxChipRemove'\n\n// ============================================================================\n// ComboboxArrow\n// ============================================================================\n\ntype ComboboxArrowProps = React.ComponentProps<typeof BaseCombobox.Arrow>\n\nconst ComboboxArrow = ({ className, ...props }: ComboboxArrowProps) => {\n return (\n <BaseCombobox.Arrow\n className={cn(\n 'flex data-[side=bottom]:top-[-8px] data-[side=left]:right-[-13px] data-[side=left]:rotate-90 data-[side=right]:left-[-13px] data-[side=right]:-rotate-90 data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180',\n className,\n )}\n {...props}\n />\n )\n}\n\nComboboxArrow.displayName = 'ComboboxArrow'\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n BaseCombobox as Combobox,\n ComboboxRoot,\n ComboboxValue,\n ComboboxIcon,\n ComboboxInput,\n ComboboxControl,\n ComboboxClear,\n ComboboxTrigger,\n ComboboxBackdrop,\n ComboboxPortal,\n ComboboxPositioner,\n ComboboxPopup,\n ComboboxList,\n ComboboxEmpty,\n ComboboxItem,\n ComboboxItemText,\n ComboboxItemIndicator,\n ComboboxGroup,\n ComboboxGroupLabel,\n ComboboxCollection,\n ComboboxSeparator,\n ComboboxStatus,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipRemove,\n ComboboxArrow,\n}\n\nexport type {\n ComboboxRootProps,\n ComboboxValueProps,\n ComboboxIconProps,\n ComboboxInputProps,\n ComboboxControlProps,\n ComboboxClearProps,\n ComboboxTriggerProps,\n ComboboxBackdropProps,\n ComboboxPortalProps,\n ComboboxPositionerProps,\n ComboboxPopupProps,\n ComboboxListProps,\n ComboboxEmptyProps,\n ComboboxItemProps,\n ComboboxItemTextProps,\n ComboboxItemIndicatorProps,\n ComboboxGroupProps,\n ComboboxGroupLabelProps,\n ComboboxCollectionProps,\n ComboboxSeparatorProps,\n ComboboxStatusProps,\n ComboboxChipsProps,\n ComboboxChipProps,\n ComboboxChipRemoveProps,\n ComboboxArrowProps,\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FilterPredicate } from "./types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/components/table/filters.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Multi-select filter: row value is included in selected array.
|
|
7
|
+
* Returns true if no values are selected (empty array or undefined).
|
|
8
|
+
*/
|
|
9
|
+
declare function includesFilter<T, K extends keyof T>(key: K): FilterPredicate<T, T[K][]>;
|
|
10
|
+
/**
|
|
11
|
+
* Range filter: numeric row value is within [min, max] bounds.
|
|
12
|
+
* Returns true if range is undefined.
|
|
13
|
+
*/
|
|
14
|
+
declare function rangeFilter<T, K extends keyof T>(key: K): FilterPredicate<T, [number, number]>;
|
|
15
|
+
/**
|
|
16
|
+
* Contains filter: string row value contains search term (case-insensitive).
|
|
17
|
+
* Returns true if search term is empty or undefined.
|
|
18
|
+
*/
|
|
19
|
+
declare function containsFilter<T, K extends keyof T>(key: K): FilterPredicate<T, string>;
|
|
20
|
+
/**
|
|
21
|
+
* Equals filter: row value strictly equals filter value.
|
|
22
|
+
* Returns true if filter value is undefined.
|
|
23
|
+
*/
|
|
24
|
+
declare function equalsFilter<T, K extends keyof T>(key: K): FilterPredicate<T, T[K]>;
|
|
25
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { containsFilter, equalsFilter, includesFilter, rangeFilter };
|
|
29
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","names":[],"sources":["../../../src/components/table/filters.ts"],"sourcesContent":[],"mappings":";;;;;;AAMA;;AAAkD,iBAAlC,cAAkC,CAAA,CAAA,EAAA,UAAA,MAAA,CAAA,CAAA,CAAA,GAAA,EAAQ,CAAR,CAAA,EAAY,eAAZ,CAA4B,CAA5B,EAA+B,CAA/B,CAAiC,CAAjC,CAAA,EAAA,CAAA;;;;;AAAY,iBAW9C,WAX8C,CAAA,CAAA,EAAA,UAAA,MAWf,CAXe,CAAA,CAAA,GAAA,EAYvD,CAZuD,CAAA,EAa3D,eAb2D,CAa3C,CAb2C,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;AAW9D;;;AACO,iBAcS,cAdT,CAAA,CAAA,EAAA,UAAA,MAc2C,CAd3C,CAAA,CAAA,GAAA,EAcmD,CAdnD,CAAA,EAcuD,eAdvD,CAcuE,CAdvE,EAAA,MAAA,CAAA;;;;AAcP;AAA8B,iBAWd,YAXc,CAAA,CAAA,EAAA,UAAA,MAWkB,CAXlB,CAAA,CAAA,GAAA,EAW0B,CAX1B,CAAA,EAW8B,eAX9B,CAW8C,CAX9C,EAWiD,CAXjD,CAWmD,CAXnD,CAAA,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
//#region src/components/table/filters.ts
|
|
2
|
+
/**
|
|
3
|
+
* Multi-select filter: row value is included in selected array.
|
|
4
|
+
* Returns true if no values are selected (empty array or undefined).
|
|
5
|
+
*/
|
|
6
|
+
function includesFilter(key) {
|
|
7
|
+
return (row, value) => {
|
|
8
|
+
if (!value || value.length === 0) return true;
|
|
9
|
+
return value.includes(row[key]);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Range filter: numeric row value is within [min, max] bounds.
|
|
14
|
+
* Returns true if range is undefined.
|
|
15
|
+
*/
|
|
16
|
+
function rangeFilter(key) {
|
|
17
|
+
return (row, value) => {
|
|
18
|
+
if (!value) return true;
|
|
19
|
+
const [min, max] = value;
|
|
20
|
+
const rowValue = row[key];
|
|
21
|
+
return rowValue >= min && rowValue <= max;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Contains filter: string row value contains search term (case-insensitive).
|
|
26
|
+
* Returns true if search term is empty or undefined.
|
|
27
|
+
*/
|
|
28
|
+
function containsFilter(key) {
|
|
29
|
+
return (row, value) => {
|
|
30
|
+
if (!value) return true;
|
|
31
|
+
return String(row[key]).toLowerCase().includes(value.toLowerCase());
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Equals filter: row value strictly equals filter value.
|
|
36
|
+
* Returns true if filter value is undefined.
|
|
37
|
+
*/
|
|
38
|
+
function equalsFilter(key) {
|
|
39
|
+
return (row, value) => {
|
|
40
|
+
if (value === void 0) return true;
|
|
41
|
+
return row[key] === value;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { containsFilter, equalsFilter, includesFilter, rangeFilter };
|
|
47
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","names":[],"sources":["../../../src/components/table/filters.ts"],"sourcesContent":["import type { FilterPredicate } from './types'\n\n/**\n * Multi-select filter: row value is included in selected array.\n * Returns true if no values are selected (empty array or undefined).\n */\nexport function includesFilter<T, K extends keyof T>(key: K): FilterPredicate<T, T[K][]> {\n return (row: T, value: T[K][]) => {\n if (!value || value.length === 0) return true\n return value.includes(row[key])\n }\n}\n\n/**\n * Range filter: numeric row value is within [min, max] bounds.\n * Returns true if range is undefined.\n */\nexport function rangeFilter<T, K extends keyof T>(\n key: K,\n): FilterPredicate<T, [number, number]> {\n return (row: T, value: [number, number]) => {\n if (!value) return true\n const [min, max] = value\n const rowValue = row[key] as number\n return rowValue >= min && rowValue <= max\n }\n}\n\n/**\n * Contains filter: string row value contains search term (case-insensitive).\n * Returns true if search term is empty or undefined.\n */\nexport function containsFilter<T, K extends keyof T>(key: K): FilterPredicate<T, string> {\n return (row: T, value: string) => {\n if (!value) return true\n return String(row[key]).toLowerCase().includes(value.toLowerCase())\n }\n}\n\n/**\n * Equals filter: row value strictly equals filter value.\n * Returns true if filter value is undefined.\n */\nexport function equalsFilter<T, K extends keyof T>(key: K): FilterPredicate<T, T[K]> {\n return (row: T, value: T[K]) => {\n if (value === undefined) return true\n return row[key] === value\n }\n}\n"],"mappings":";;;;;AAMA,SAAgB,eAAqC,KAAoC;AACvF,SAAQ,KAAQ,UAAkB;AAChC,MAAI,CAAC,SAAS,MAAM,WAAW,EAAG,QAAO;AACzC,SAAO,MAAM,SAAS,IAAI,KAAK;;;;;;;AAQnC,SAAgB,YACd,KACsC;AACtC,SAAQ,KAAQ,UAA4B;AAC1C,MAAI,CAAC,MAAO,QAAO;EACnB,MAAM,CAAC,KAAK,OAAO;EACnB,MAAM,WAAW,IAAI;AACrB,SAAO,YAAY,OAAO,YAAY;;;;;;;AAQ1C,SAAgB,eAAqC,KAAoC;AACvF,SAAQ,KAAQ,UAAkB;AAChC,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,MAAM,aAAa,CAAC;;;;;;;AAQvE,SAAgB,aAAmC,KAAkC;AACnF,SAAQ,KAAQ,UAAgB;AAC9B,MAAI,UAAU,OAAW,QAAO;AAChC,SAAO,IAAI,SAAS"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { SortDirection } from "./types.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
import * as react_jsx_runtime285 from "react/jsx-runtime";
|
|
5
|
+
import * as class_variance_authority_types3 from "class-variance-authority/types";
|
|
6
|
+
|
|
7
|
+
//#region src/components/table/primitives.d.ts
|
|
8
|
+
declare const tableVariants: (props?: ({
|
|
9
|
+
variant?: "default" | "striped" | "bordered" | null | undefined;
|
|
10
|
+
size?: "default" | "compact" | null | undefined;
|
|
11
|
+
} & class_variance_authority_types3.ClassProp) | undefined) => string;
|
|
12
|
+
type TableVariant = VariantProps<typeof tableVariants>['variant'];
|
|
13
|
+
type TableSize = VariantProps<typeof tableVariants>['size'];
|
|
14
|
+
type TableRootProps = React.ComponentProps<'table'> & VariantProps<typeof tableVariants>;
|
|
15
|
+
declare const TableRoot: {
|
|
16
|
+
({
|
|
17
|
+
className,
|
|
18
|
+
variant,
|
|
19
|
+
size,
|
|
20
|
+
...props
|
|
21
|
+
}: TableRootProps): react_jsx_runtime285.JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
type TableHeaderProps = React.ComponentProps<'thead'>;
|
|
25
|
+
declare const TableHeader: {
|
|
26
|
+
({
|
|
27
|
+
className,
|
|
28
|
+
...props
|
|
29
|
+
}: TableHeaderProps): react_jsx_runtime285.JSX.Element;
|
|
30
|
+
displayName: string;
|
|
31
|
+
};
|
|
32
|
+
type TableBodyProps = React.ComponentProps<'tbody'>;
|
|
33
|
+
declare const TableBody: {
|
|
34
|
+
({
|
|
35
|
+
className,
|
|
36
|
+
...props
|
|
37
|
+
}: TableBodyProps): react_jsx_runtime285.JSX.Element;
|
|
38
|
+
displayName: string;
|
|
39
|
+
};
|
|
40
|
+
type TableFooterProps = React.ComponentProps<'tfoot'>;
|
|
41
|
+
declare const TableFooter: {
|
|
42
|
+
({
|
|
43
|
+
className,
|
|
44
|
+
...props
|
|
45
|
+
}: TableFooterProps): react_jsx_runtime285.JSX.Element;
|
|
46
|
+
displayName: string;
|
|
47
|
+
};
|
|
48
|
+
type TableRowProps = React.ComponentProps<'tr'>;
|
|
49
|
+
declare const TableRow: {
|
|
50
|
+
({
|
|
51
|
+
className,
|
|
52
|
+
...props
|
|
53
|
+
}: TableRowProps): react_jsx_runtime285.JSX.Element;
|
|
54
|
+
displayName: string;
|
|
55
|
+
};
|
|
56
|
+
type TableHeadProps = React.ComponentProps<'th'> & {
|
|
57
|
+
sortable?: boolean;
|
|
58
|
+
sortDirection?: SortDirection;
|
|
59
|
+
onSort?: () => void;
|
|
60
|
+
};
|
|
61
|
+
declare const TableHead: {
|
|
62
|
+
({
|
|
63
|
+
className,
|
|
64
|
+
sortable,
|
|
65
|
+
sortDirection,
|
|
66
|
+
onSort,
|
|
67
|
+
children,
|
|
68
|
+
...props
|
|
69
|
+
}: TableHeadProps): react_jsx_runtime285.JSX.Element;
|
|
70
|
+
displayName: string;
|
|
71
|
+
};
|
|
72
|
+
type TableCellProps = React.ComponentProps<'td'>;
|
|
73
|
+
declare const TableCell: {
|
|
74
|
+
({
|
|
75
|
+
className,
|
|
76
|
+
...props
|
|
77
|
+
}: TableCellProps): react_jsx_runtime285.JSX.Element;
|
|
78
|
+
displayName: string;
|
|
79
|
+
};
|
|
80
|
+
type TableCaptionProps = React.ComponentProps<'caption'> & {
|
|
81
|
+
position?: 'top' | 'bottom';
|
|
82
|
+
};
|
|
83
|
+
declare const TableCaption: {
|
|
84
|
+
({
|
|
85
|
+
className,
|
|
86
|
+
position,
|
|
87
|
+
...props
|
|
88
|
+
}: TableCaptionProps): react_jsx_runtime285.JSX.Element;
|
|
89
|
+
displayName: string;
|
|
90
|
+
};
|
|
91
|
+
//#endregion
|
|
92
|
+
export { TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableRoot, type TableRootProps, TableRow, type TableRowProps, TableSize, TableVariant };
|
|
93
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","names":[],"sources":["../../../src/components/table/primitives.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAYM;;;IAcJ,+BAAA,CAAA;AAdI,KAgBM,YAAA,GAAe,YAFzB,CAAA,OAE6C,aAF7C,CAAA,CAAA,SAAA,CAAA;AAEU,KACA,SAAA,GAAY,YADA,CAAA,OACoB,aADpB,CAAA,CAAA,MAAA,CAAA;KAOnB,cAAA,GAAiB,KAAA,CAAM,cAPJ,CAAA,OAAA,CAAA,GAO8B,YAP9B,CAAA,OAOkD,aAPlD,CAAA;cASlB,SATyC,EAAA;;IAApB,SAAA;IAAA,OAAA;IAAA,IAAA;IAAA,GAAA;EAAA,CAAA,EASgC,cAThC,CAAA,EAS8C,oBAAA,CAAA,GAAA,CAAA,OAT9C;EAAY,WAAA,EAAA,MAAA;AACvC,CAAA;KAsBK,gBAAA,GAAmB,KAAA,CAAM,cAtBT,CAAA,OAAA,CAAA;cAwBf,WAxBsC,EAAA;;IAApB,SAAA;IAAA,GAAA;EAAA,CAAA,EAwBsB,gBAxBtB,CAAA,EAwBsC,oBAAA,CAAA,GAAA,CAAA,OAxBtC;EAAY,WAAA,EAAA,MAAA;AAA8B,CAAA;KAkC7D,cAAA,GAAiB,KAAA,CAAM,cA5BT,CAAA,OAAA,CAAA;cA8Bb,SA9BsB,EAAA;;IAA8C,SAAA;IAAA,GAAA;EAAA,CAAA,EA8B9B,cA9B8B,CAAA,EA8BhB,oBAAA,CAAA,GAAA,CAAA,OA9BgB;aAApB,EAAA,MAAA;CAAY;AAAA,KAwC7D,gBAAA,GAAmB,KAAA,CAAM,cAhC7B,CAAA,OAAA,CAAA;cAkCK,WAlCL,EAAA;;;;KAkC6C,mBAAgB,oBAAA,CAAA,GAAA,CAAA;;;KAezD,aAAA,GAAgB,KAAA,CAAM,cAvDgC,CAAA,IAAA,CAAA;cAyDrD,QAzDmE,EAAA;EAAA,CAAA;IAAA,SAAA;IAAA,GAAA;EAAA,CAAA,EAyD9B,aAzD8B,CAAA,EAyDjB,oBAAA,CAAA,GAAA,CAAA,OAzDiB;EAcpE,WAAA,EAAA,MAAgB;AAAuB,CAAA;KA+DvC,cAAA,GAAiB,KAAA,CAAM,cA3D3B,CAAA,IAAA,CAAA,GAAA;;eAF6C,CAAA,EA+D5B,aA/D4B;QAAgB,CAAA,EAAA,GAAA,GAAA,IAAA;CAAA;AAAA,cAgGxD,SAtFa,EAAA;EAEb,CAAA;IAAA,SAEL;IAAA,QAAA;IAAA,aAAA;IAAA,MAAA;IAAA,QAAA;IAAA,GAAA;EAAA,CAAA,EAyFE,cAzFF,CAAA,EAyFgB,oBAAA,CAAA,GAAA,CAAA,OAzFhB;EAAA,WAAA,EAAA,MAAA;;KAmII,cAAA,GAAiB,KAAA,CAAM,cArIgB,CAAA,IAAA,CAAA;cAuItC,SAvIoD,EAAA;EAAA,CAAA;IAAA,SAAA;IAAA,GAAA;EAAA,CAAA,EAuId,cAvIc,CAAA,EAuIA,oBAAA,CAAA,GAAA,CAAA,OAvIA;EAUrD,WAAA,EAAA,MAAgB;AAAuB,CAAA;KA+IvC,iBAAA,GAAoB,KAAA,CAAM,cAtI9B,CAAA,SAAA,CAAA,GAAA;;;cA0IK,YAjJwD,EAAA;EAAA,CAAA;IAAA,SAAA;IAAA,QAAA;IAAA,GAAA;EAAA,CAAA,EAqJ3D,iBArJ2D,CAAA,EAqJ1C,oBAAA,CAAA,GAAA,CAAA,OArJ0C;EAezD,WAAA,EAAA,MAAa;AAAuB,CAAA"}
|