@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.
Files changed (213) hide show
  1. package/dist/accordion.d.ts +49 -40
  2. package/dist/accordion.d.ts.map +1 -0
  3. package/dist/accordion.js +47 -45
  4. package/dist/accordion.js.map +1 -0
  5. package/dist/alert-dialog.d.ts +93 -87
  6. package/dist/alert-dialog.d.ts.map +1 -0
  7. package/dist/alert-dialog.js +94 -111
  8. package/dist/alert-dialog.js.map +1 -0
  9. package/dist/autocomplete.d.ts +99 -96
  10. package/dist/autocomplete.d.ts.map +1 -0
  11. package/dist/autocomplete.js +92 -116
  12. package/dist/autocomplete.js.map +1 -0
  13. package/dist/avatar.d.ts +56 -47
  14. package/dist/avatar.d.ts.map +1 -0
  15. package/dist/avatar.js +66 -79
  16. package/dist/avatar.js.map +1 -0
  17. package/dist/badge.d.ts +48 -42
  18. package/dist/badge.d.ts.map +1 -0
  19. package/dist/badge.js +195 -202
  20. package/dist/badge.js.map +1 -0
  21. package/dist/button.d.ts +26 -21
  22. package/dist/button.d.ts.map +1 -0
  23. package/dist/button.js +24 -24
  24. package/dist/button.js.map +1 -0
  25. package/dist/card.d.ts +105 -99
  26. package/dist/card.d.ts.map +1 -0
  27. package/dist/card.js +105 -66
  28. package/dist/card.js.map +1 -0
  29. package/dist/checkbox-group.d.ts +16 -12
  30. package/dist/checkbox-group.d.ts.map +1 -0
  31. package/dist/checkbox-group.js +18 -14
  32. package/dist/checkbox-group.js.map +1 -0
  33. package/dist/checkbox.d.ts +25 -19
  34. package/dist/checkbox.d.ts.map +1 -0
  35. package/dist/checkbox.js +26 -32
  36. package/dist/checkbox.js.map +1 -0
  37. package/dist/collapsible.d.ts +32 -26
  38. package/dist/collapsible.d.ts.map +1 -0
  39. package/dist/collapsible.js +32 -32
  40. package/dist/collapsible.js.map +1 -0
  41. package/dist/combobox.d.ts +191 -182
  42. package/dist/combobox.d.ts.map +1 -0
  43. package/dist/combobox.js +176 -250
  44. package/dist/combobox.js.map +1 -0
  45. package/dist/components/table/filters.d.ts +29 -0
  46. package/dist/components/table/filters.d.ts.map +1 -0
  47. package/dist/components/table/filters.js +47 -0
  48. package/dist/components/table/filters.js.map +1 -0
  49. package/dist/components/table/primitives.d.ts +93 -0
  50. package/dist/components/table/primitives.d.ts.map +1 -0
  51. package/dist/components/table/primitives.js +129 -0
  52. package/dist/components/table/primitives.js.map +1 -0
  53. package/dist/components/table/sort.js +17 -0
  54. package/dist/components/table/sort.js.map +1 -0
  55. package/dist/components/table/types.d.ts +101 -0
  56. package/dist/components/table/types.d.ts.map +1 -0
  57. package/dist/context-menu.d.ts +151 -138
  58. package/dist/context-menu.d.ts.map +1 -0
  59. package/dist/context-menu.js +151 -173
  60. package/dist/context-menu.js.map +1 -0
  61. package/dist/dialog.d.ts +101 -92
  62. package/dist/dialog.d.ts.map +1 -0
  63. package/dist/dialog.js +101 -105
  64. package/dist/dialog.js.map +1 -0
  65. package/dist/drawer.d.ts +109 -99
  66. package/dist/drawer.d.ts.map +1 -0
  67. package/dist/drawer.js +120 -111
  68. package/dist/drawer.js.map +1 -0
  69. package/dist/field.d.ts +61 -54
  70. package/dist/field.d.ts.map +1 -0
  71. package/dist/field.js +58 -27
  72. package/dist/field.js.map +1 -0
  73. package/dist/fieldset.d.ts +24 -19
  74. package/dist/fieldset.d.ts.map +1 -0
  75. package/dist/fieldset.js +26 -18
  76. package/dist/fieldset.js.map +1 -0
  77. package/dist/form.d.ts +16 -12
  78. package/dist/form.d.ts.map +1 -0
  79. package/dist/form.js +18 -8
  80. package/dist/form.js.map +1 -0
  81. package/dist/index.d.ts +48 -2115
  82. package/dist/index.js +47 -318
  83. package/dist/input.d.ts +16 -12
  84. package/dist/input.d.ts.map +1 -0
  85. package/dist/input.js +19 -9
  86. package/dist/input.js.map +1 -0
  87. package/dist/lib/arrow-svg.js +28 -0
  88. package/dist/lib/arrow-svg.js.map +1 -0
  89. package/dist/lib/button-variants.d.ts +6 -0
  90. package/dist/lib/button-variants.d.ts.map +1 -0
  91. package/dist/lib/button-variants.js +31 -0
  92. package/dist/lib/button-variants.js.map +1 -0
  93. package/dist/lib/control-variants.d.ts +6 -0
  94. package/dist/lib/control-variants.d.ts.map +1 -0
  95. package/dist/lib/control-variants.js +38 -0
  96. package/dist/lib/control-variants.js.map +1 -0
  97. package/dist/lib/form-variants.js +11 -0
  98. package/dist/lib/form-variants.js.map +1 -0
  99. package/dist/lib/tooltip-variants.d.ts +5 -0
  100. package/dist/lib/tooltip-variants.d.ts.map +1 -0
  101. package/dist/lib/tooltip-variants.js +36 -0
  102. package/dist/lib/tooltip-variants.js.map +1 -0
  103. package/dist/lib/utils.js +11 -0
  104. package/dist/lib/utils.js.map +1 -0
  105. package/dist/menu.d.ts +151 -138
  106. package/dist/menu.d.ts.map +1 -0
  107. package/dist/menu.js +151 -146
  108. package/dist/menu.js.map +1 -0
  109. package/dist/menubar.d.ts +168 -155
  110. package/dist/menubar.d.ts.map +1 -0
  111. package/dist/menubar.js +163 -169
  112. package/dist/menubar.js.map +1 -0
  113. package/dist/meter.d.ts +53 -43
  114. package/dist/meter.d.ts.map +1 -0
  115. package/dist/meter.js +59 -64
  116. package/dist/meter.js.map +1 -0
  117. package/dist/navigation-menu.d.ts +111 -96
  118. package/dist/navigation-menu.d.ts.map +1 -0
  119. package/dist/navigation-menu.js +117 -175
  120. package/dist/navigation-menu.js.map +1 -0
  121. package/dist/number-field.d.ts +64 -54
  122. package/dist/number-field.d.ts.map +1 -0
  123. package/dist/number-field.js +61 -69
  124. package/dist/number-field.js.map +1 -0
  125. package/dist/pagination.d.ts +184 -0
  126. package/dist/pagination.d.ts.map +1 -0
  127. package/dist/pagination.js +164 -0
  128. package/dist/pagination.js.map +1 -0
  129. package/dist/popover.d.ts +90 -82
  130. package/dist/popover.d.ts.map +1 -0
  131. package/dist/popover.js +85 -94
  132. package/dist/popover.js.map +1 -0
  133. package/dist/preview-card.d.ts +58 -54
  134. package/dist/preview-card.d.ts.map +1 -0
  135. package/dist/preview-card.js +57 -81
  136. package/dist/preview-card.js.map +1 -0
  137. package/dist/progress.d.ts +48 -40
  138. package/dist/progress.d.ts.map +1 -0
  139. package/dist/progress.js +46 -50
  140. package/dist/progress.js.map +1 -0
  141. package/dist/radio-group.d.ts +16 -12
  142. package/dist/radio-group.d.ts.map +1 -0
  143. package/dist/radio-group.js +18 -14
  144. package/dist/radio-group.js.map +1 -0
  145. package/dist/radio.d.ts +24 -19
  146. package/dist/radio.d.ts.map +1 -0
  147. package/dist/radio.js +25 -34
  148. package/dist/radio.js.map +1 -0
  149. package/dist/scroll-area.d.ts +57 -47
  150. package/dist/scroll-area.d.ts.map +1 -0
  151. package/dist/scroll-area.js +54 -56
  152. package/dist/scroll-area.js.map +1 -0
  153. package/dist/select.d.ts +146 -133
  154. package/dist/select.d.ts.map +1 -0
  155. package/dist/select.js +133 -167
  156. package/dist/select.js.map +1 -0
  157. package/dist/separator.d.ts +17 -12
  158. package/dist/separator.d.ts.map +1 -0
  159. package/dist/separator.js +19 -23
  160. package/dist/separator.js.map +1 -0
  161. package/dist/skeleton.d.ts +20 -0
  162. package/dist/skeleton.d.ts.map +1 -0
  163. package/dist/skeleton.js +27 -0
  164. package/dist/skeleton.js.map +1 -0
  165. package/dist/slider.d.ts +56 -47
  166. package/dist/slider.d.ts.map +1 -0
  167. package/dist/slider.js +53 -62
  168. package/dist/slider.js.map +1 -0
  169. package/dist/styles/default.css +15 -1
  170. package/dist/switch.d.ts +24 -19
  171. package/dist/switch.d.ts.map +1 -0
  172. package/dist/switch.js +23 -39
  173. package/dist/switch.js.map +1 -0
  174. package/dist/table/index.d.ts +5 -0
  175. package/dist/table/index.js +5 -0
  176. package/dist/table/use-table.d.ts +9 -0
  177. package/dist/table/use-table.d.ts.map +1 -0
  178. package/dist/table/use-table.js +256 -0
  179. package/dist/table/use-table.js.map +1 -0
  180. package/dist/tabs.d.ts +60 -49
  181. package/dist/tabs.d.ts.map +1 -0
  182. package/dist/tabs.js +76 -84
  183. package/dist/tabs.js.map +1 -0
  184. package/dist/textarea.d.ts +15 -11
  185. package/dist/textarea.d.ts.map +1 -0
  186. package/dist/textarea.js +18 -14
  187. package/dist/textarea.js.map +1 -0
  188. package/dist/toast.d.ts +87 -81
  189. package/dist/toast.d.ts.map +1 -0
  190. package/dist/toast.js +79 -150
  191. package/dist/toast.js.map +1 -0
  192. package/dist/toggle-group.d.ts +34 -29
  193. package/dist/toggle-group.d.ts.map +1 -0
  194. package/dist/toggle-group.js +31 -34
  195. package/dist/toggle-group.js.map +1 -0
  196. package/dist/toggle.d.ts +24 -21
  197. package/dist/toggle.d.ts.map +1 -0
  198. package/dist/toggle.js +22 -15
  199. package/dist/toggle.js.map +1 -0
  200. package/dist/toolbar.d.ts +64 -56
  201. package/dist/toolbar.d.ts.map +1 -0
  202. package/dist/toolbar.js +57 -68
  203. package/dist/toolbar.js.map +1 -0
  204. package/dist/tooltip.d.ts +67 -62
  205. package/dist/tooltip.d.ts.map +1 -0
  206. package/dist/tooltip.js +65 -90
  207. package/dist/tooltip.js.map +1 -0
  208. package/package.json +25 -13
  209. package/dist/arrow-svg-C6zQTvgS.js +0 -40
  210. package/dist/button-variants-CbFMPwc8.js +0 -33
  211. package/dist/control-variants-Bwep4n0y.js +0 -37
  212. package/dist/form-variants-LJ8gIbk0.js +0 -9
  213. package/dist/utils-B6yFEsav.js +0 -8
package/dist/combobox.js CHANGED
@@ -1,252 +1,178 @@
1
- "use client";
2
- import { jsx as e } from "react/jsx-runtime";
3
- import { Combobox as r } from "@base-ui/react/combobox";
4
- import { Combobox as q } from "@base-ui/react/combobox";
5
- import * as m from "react";
6
- import { i as s } from "./form-variants-LJ8gIbk0.js";
7
- import { c as a } from "./utils-B6yFEsav.js";
8
- function i(o) {
9
- return /* @__PURE__ */ e(r.Root, { ...o });
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
- i.displayName = "ComboboxRoot";
12
- const b = (o) => /* @__PURE__ */ e(r.Value, { ...o });
13
- b.displayName = "ComboboxValue";
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"}