@optimum-intelligence/opti-ui 0.0.0-stage → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +161 -2
  3. package/dist/components/accordion/Accordion.d.ts +17 -0
  4. package/dist/components/accordion/Accordion.js +204 -0
  5. package/dist/components/accordion/Accordion.js.map +1 -0
  6. package/dist/components/alert/Alert.d.ts +18 -0
  7. package/dist/components/alert/Alert.js +164 -0
  8. package/dist/components/alert/Alert.js.map +1 -0
  9. package/dist/components/app-shell/AppShell.d.ts +97 -0
  10. package/dist/components/app-shell/AppShell.js +689 -0
  11. package/dist/components/app-shell/AppShell.js.map +1 -0
  12. package/dist/components/avatar/Avatar.d.ts +21 -0
  13. package/dist/components/avatar/Avatar.js +190 -0
  14. package/dist/components/avatar/Avatar.js.map +1 -0
  15. package/dist/components/badge/Badge.d.ts +16 -0
  16. package/dist/components/badge/Badge.js +94 -0
  17. package/dist/components/badge/Badge.js.map +1 -0
  18. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +18 -0
  19. package/dist/components/breadcrumbs/Breadcrumbs.js +154 -0
  20. package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -0
  21. package/dist/components/button/Button.d.ts +23 -0
  22. package/dist/components/button/Button.js +159 -0
  23. package/dist/components/button/Button.js.map +1 -0
  24. package/dist/components/calendar/Calendar.d.ts +59 -0
  25. package/dist/components/calendar/Calendar.js +709 -0
  26. package/dist/components/calendar/Calendar.js.map +1 -0
  27. package/dist/components/calendar/date-utils.d.ts +32 -0
  28. package/dist/components/calendar/date-utils.js +112 -0
  29. package/dist/components/calendar/date-utils.js.map +1 -0
  30. package/dist/components/card/Card.d.ts +42 -0
  31. package/dist/components/card/Card.js +82 -0
  32. package/dist/components/card/Card.js.map +1 -0
  33. package/dist/components/choice/Choice.d.ts +32 -0
  34. package/dist/components/choice/Choice.js +371 -0
  35. package/dist/components/choice/Choice.js.map +1 -0
  36. package/dist/components/collapsible/Collapsible.d.ts +15 -0
  37. package/dist/components/collapsible/Collapsible.js +155 -0
  38. package/dist/components/collapsible/Collapsible.js.map +1 -0
  39. package/dist/components/combobox/Combobox.d.ts +68 -0
  40. package/dist/components/combobox/Combobox.js +752 -0
  41. package/dist/components/combobox/Combobox.js.map +1 -0
  42. package/dist/components/command-palette/CommandPalette.d.ts +52 -0
  43. package/dist/components/command-palette/CommandPalette.js +328 -0
  44. package/dist/components/command-palette/CommandPalette.js.map +1 -0
  45. package/dist/components/data-table/DataTable.d.ts +111 -0
  46. package/dist/components/data-table/DataTable.js +444 -0
  47. package/dist/components/data-table/DataTable.js.map +1 -0
  48. package/dist/components/date-picker/DatePicker.d.ts +50 -0
  49. package/dist/components/date-picker/DatePicker.js +485 -0
  50. package/dist/components/date-picker/DatePicker.js.map +1 -0
  51. package/dist/components/date-picker/DateRangePicker.d.ts +39 -0
  52. package/dist/components/date-picker/DateRangePicker.js +339 -0
  53. package/dist/components/date-picker/DateRangePicker.js.map +1 -0
  54. package/dist/components/date-picker/PickerField.d.ts +38 -0
  55. package/dist/components/date-picker/PickerField.js +238 -0
  56. package/dist/components/date-picker/PickerField.js.map +1 -0
  57. package/dist/components/dialog/Dialog.d.ts +70 -0
  58. package/dist/components/dialog/Dialog.js +354 -0
  59. package/dist/components/dialog/Dialog.js.map +1 -0
  60. package/dist/components/drawer/Drawer.d.ts +39 -0
  61. package/dist/components/drawer/Drawer.js +225 -0
  62. package/dist/components/drawer/Drawer.js.map +1 -0
  63. package/dist/components/empty-state/EmptyState.d.ts +12 -0
  64. package/dist/components/empty-state/EmptyState.js +116 -0
  65. package/dist/components/empty-state/EmptyState.js.map +1 -0
  66. package/dist/components/field/Field.d.ts +36 -0
  67. package/dist/components/field/Field.js +337 -0
  68. package/dist/components/field/Field.js.map +1 -0
  69. package/dist/components/file-upload/FileUpload.d.ts +91 -0
  70. package/dist/components/file-upload/FileUpload.js +714 -0
  71. package/dist/components/file-upload/FileUpload.js.map +1 -0
  72. package/dist/components/input/Input.d.ts +49 -0
  73. package/dist/components/input/Input.js +538 -0
  74. package/dist/components/input/Input.js.map +1 -0
  75. package/dist/components/link/Link.d.ts +17 -0
  76. package/dist/components/link/Link.js +91 -0
  77. package/dist/components/link/Link.js.map +1 -0
  78. package/dist/components/menu/Menu.d.ts +79 -0
  79. package/dist/components/menu/Menu.js +615 -0
  80. package/dist/components/menu/Menu.js.map +1 -0
  81. package/dist/components/number-field/NumberField.d.ts +16 -0
  82. package/dist/components/number-field/NumberField.js +188 -0
  83. package/dist/components/number-field/NumberField.js.map +1 -0
  84. package/dist/components/pagination/Pagination.d.ts +34 -0
  85. package/dist/components/pagination/Pagination.js +244 -0
  86. package/dist/components/pagination/Pagination.js.map +1 -0
  87. package/dist/components/popover/Popover.d.ts +22 -0
  88. package/dist/components/popover/Popover.js +186 -0
  89. package/dist/components/popover/Popover.js.map +1 -0
  90. package/dist/components/preview-card/PreviewCard.d.ts +20 -0
  91. package/dist/components/preview-card/PreviewCard.js +114 -0
  92. package/dist/components/preview-card/PreviewCard.js.map +1 -0
  93. package/dist/components/progress/Progress.d.ts +20 -0
  94. package/dist/components/progress/Progress.js +169 -0
  95. package/dist/components/progress/Progress.js.map +1 -0
  96. package/dist/components/scroll-area/ScrollArea.d.ts +8 -0
  97. package/dist/components/scroll-area/ScrollArea.js +112 -0
  98. package/dist/components/scroll-area/ScrollArea.js.map +1 -0
  99. package/dist/components/search-input/SearchInput.d.ts +14 -0
  100. package/dist/components/search-input/SearchInput.js +114 -0
  101. package/dist/components/search-input/SearchInput.js.map +1 -0
  102. package/dist/components/select/Select.d.ts +66 -0
  103. package/dist/components/select/Select.js +601 -0
  104. package/dist/components/select/Select.js.map +1 -0
  105. package/dist/components/separator/Separator.d.ts +4 -0
  106. package/dist/components/separator/Separator.js +46 -0
  107. package/dist/components/separator/Separator.js.map +1 -0
  108. package/dist/components/skeleton/Skeleton.d.ts +16 -0
  109. package/dist/components/skeleton/Skeleton.js +135 -0
  110. package/dist/components/skeleton/Skeleton.js.map +1 -0
  111. package/dist/components/slider/Slider.d.ts +11 -0
  112. package/dist/components/slider/Slider.js +107 -0
  113. package/dist/components/slider/Slider.js.map +1 -0
  114. package/dist/components/spinner/Spinner.d.ts +9 -0
  115. package/dist/components/spinner/Spinner.js +78 -0
  116. package/dist/components/spinner/Spinner.js.map +1 -0
  117. package/dist/components/stack/Stack.d.ts +23 -0
  118. package/dist/components/stack/Stack.js +79 -0
  119. package/dist/components/stack/Stack.js.map +1 -0
  120. package/dist/components/stat-card/StatCard.d.ts +22 -0
  121. package/dist/components/stat-card/StatCard.js +153 -0
  122. package/dist/components/stat-card/StatCard.js.map +1 -0
  123. package/dist/components/stepper/Stepper.d.ts +30 -0
  124. package/dist/components/stepper/Stepper.js +131 -0
  125. package/dist/components/stepper/Stepper.js.map +1 -0
  126. package/dist/components/table/Table.d.ts +53 -0
  127. package/dist/components/table/Table.js +221 -0
  128. package/dist/components/table/Table.js.map +1 -0
  129. package/dist/components/tabs/Tabs.d.ts +19 -0
  130. package/dist/components/tabs/Tabs.js +183 -0
  131. package/dist/components/tabs/Tabs.js.map +1 -0
  132. package/dist/components/tag/Tag.d.ts +22 -0
  133. package/dist/components/tag/Tag.js +121 -0
  134. package/dist/components/tag/Tag.js.map +1 -0
  135. package/dist/components/toast/Toast.d.ts +34 -0
  136. package/dist/components/toast/Toast.js +187 -0
  137. package/dist/components/toast/Toast.js.map +1 -0
  138. package/dist/components/toggle/Toggle.d.ts +31 -0
  139. package/dist/components/toggle/Toggle.js +197 -0
  140. package/dist/components/toggle/Toggle.js.map +1 -0
  141. package/dist/components/toolbar/Toolbar.d.ts +21 -0
  142. package/dist/components/toolbar/Toolbar.js +239 -0
  143. package/dist/components/toolbar/Toolbar.js.map +1 -0
  144. package/dist/components/tooltip/Tooltip.d.ts +33 -0
  145. package/dist/components/tooltip/Tooltip.js +182 -0
  146. package/dist/components/tooltip/Tooltip.js.map +1 -0
  147. package/dist/components/typography/Typography.d.ts +32 -0
  148. package/dist/components/typography/Typography.js +183 -0
  149. package/dist/components/typography/Typography.js.map +1 -0
  150. package/dist/fonts.css +3 -0
  151. package/dist/icons/index.d.ts +125 -0
  152. package/dist/icons/index.js +174 -0
  153. package/dist/icons/index.js.map +1 -0
  154. package/dist/index.d.ts +53 -0
  155. package/dist/index.js +56 -0
  156. package/dist/opti-ui.css +5365 -0
  157. package/dist/theme/ThemeProvider.d.ts +22 -0
  158. package/dist/theme/ThemeProvider.js +115 -0
  159. package/dist/theme/ThemeProvider.js.map +1 -0
  160. package/dist/theme/index.d.ts +2 -0
  161. package/dist/utils/cx.d.ts +10 -0
  162. package/dist/utils/cx.js +18 -0
  163. package/dist/utils/cx.js.map +1 -0
  164. package/dist/utils/index.d.ts +2 -0
  165. package/dist/utils/portal.d.ts +8 -0
  166. package/dist/utils/portal.js +16 -0
  167. package/dist/utils/portal.js.map +1 -0
  168. package/dist/utils/primitive.d.ts +13 -0
  169. package/dist/utils/primitive.js +61 -0
  170. package/dist/utils/primitive.js.map +1 -0
  171. package/dist/utils/search.d.ts +4 -0
  172. package/dist/utils/search.js +15 -0
  173. package/dist/utils/search.js.map +1 -0
  174. package/package.json +71 -4
@@ -0,0 +1,371 @@
1
+ "use client";
2
+ import { withClass } from "../../utils/cx.js";
3
+ import { CheckIcon, MinusIcon } from "../../icons/index.js";
4
+ import { c } from "react/compiler-runtime";
5
+ import "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Checkbox } from "@base-ui/react/checkbox";
8
+ import { CheckboxGroup } from "@base-ui/react/checkbox-group";
9
+ import { Radio } from "@base-ui/react/radio";
10
+ import { RadioGroup } from "@base-ui/react/radio-group";
11
+ import { Switch } from "@base-ui/react/switch";
12
+ //#region src/components/choice/Choice.tsx
13
+ function ChoiceLabel(t0) {
14
+ const $ = c(12);
15
+ const { control, label, description, size, disabled } = t0;
16
+ if (label == null && description == null) return control;
17
+ const t1 = disabled || void 0;
18
+ let t2;
19
+ if ($[0] !== label) {
20
+ t2 = label != null && /* @__PURE__ */ jsx("span", {
21
+ className: "oui-choice__label",
22
+ children: label
23
+ });
24
+ $[0] = label;
25
+ $[1] = t2;
26
+ } else t2 = $[1];
27
+ let t3;
28
+ if ($[2] !== description) {
29
+ t3 = description != null && /* @__PURE__ */ jsx("span", {
30
+ className: "oui-choice__description",
31
+ children: description
32
+ });
33
+ $[2] = description;
34
+ $[3] = t3;
35
+ } else t3 = $[3];
36
+ let t4;
37
+ if ($[4] !== t2 || $[5] !== t3) {
38
+ t4 = /* @__PURE__ */ jsxs("span", {
39
+ className: "oui-choice__text",
40
+ children: [t2, t3]
41
+ });
42
+ $[4] = t2;
43
+ $[5] = t3;
44
+ $[6] = t4;
45
+ } else t4 = $[6];
46
+ let t5;
47
+ if ($[7] !== control || $[8] !== size || $[9] !== t1 || $[10] !== t4) {
48
+ t5 = /* @__PURE__ */ jsxs("label", {
49
+ className: "oui-choice",
50
+ "data-size": size,
51
+ "data-disabled": t1,
52
+ children: [control, t4]
53
+ });
54
+ $[7] = control;
55
+ $[8] = size;
56
+ $[9] = t1;
57
+ $[10] = t4;
58
+ $[11] = t5;
59
+ } else t5 = $[11];
60
+ return t5;
61
+ }
62
+ function Checkbox$1(t0) {
63
+ const $ = c(21);
64
+ let className;
65
+ let description;
66
+ let label;
67
+ let props;
68
+ let ref;
69
+ let t1;
70
+ if ($[0] !== t0) {
71
+ ({label, description, size: t1, className, ref, ...props} = t0);
72
+ $[0] = t0;
73
+ $[1] = className;
74
+ $[2] = description;
75
+ $[3] = label;
76
+ $[4] = props;
77
+ $[5] = ref;
78
+ $[6] = t1;
79
+ } else {
80
+ className = $[1];
81
+ description = $[2];
82
+ label = $[3];
83
+ props = $[4];
84
+ ref = $[5];
85
+ t1 = $[6];
86
+ }
87
+ const size = t1 === void 0 ? "md" : t1;
88
+ let t2;
89
+ if ($[7] !== className) {
90
+ t2 = withClass("oui-checkbox", className);
91
+ $[7] = className;
92
+ $[8] = t2;
93
+ } else t2 = $[8];
94
+ let t3;
95
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
96
+ t3 = /* @__PURE__ */ jsx(Checkbox.Indicator, {
97
+ className: "oui-checkbox__indicator",
98
+ render: _temp
99
+ });
100
+ $[9] = t3;
101
+ } else t3 = $[9];
102
+ let t4;
103
+ if ($[10] !== props || $[11] !== ref || $[12] !== size || $[13] !== t2) {
104
+ t4 = /* @__PURE__ */ jsx(Checkbox.Root, {
105
+ ref,
106
+ className: t2,
107
+ "data-size": size,
108
+ ...props,
109
+ children: t3
110
+ });
111
+ $[10] = props;
112
+ $[11] = ref;
113
+ $[12] = size;
114
+ $[13] = t2;
115
+ $[14] = t4;
116
+ } else t4 = $[14];
117
+ const control = t4;
118
+ let t5;
119
+ if ($[15] !== control || $[16] !== description || $[17] !== label || $[18] !== props.disabled || $[19] !== size) {
120
+ t5 = /* @__PURE__ */ jsx(ChoiceLabel, {
121
+ control,
122
+ label,
123
+ description,
124
+ size,
125
+ disabled: props.disabled
126
+ });
127
+ $[15] = control;
128
+ $[16] = description;
129
+ $[17] = label;
130
+ $[18] = props.disabled;
131
+ $[19] = size;
132
+ $[20] = t5;
133
+ } else t5 = $[20];
134
+ return t5;
135
+ }
136
+ function _temp(indicatorProps, state) {
137
+ return /* @__PURE__ */ jsx("span", {
138
+ ...indicatorProps,
139
+ children: state.indeterminate ? /* @__PURE__ */ jsx(MinusIcon, { strokeWidth: 3 }) : /* @__PURE__ */ jsx(CheckIcon, { strokeWidth: 3 })
140
+ });
141
+ }
142
+ function CheckboxGroup$1(t0) {
143
+ const $ = c(12);
144
+ let className;
145
+ let props;
146
+ let ref;
147
+ let t1;
148
+ if ($[0] !== t0) {
149
+ ({orientation: t1, className, ref, ...props} = t0);
150
+ $[0] = t0;
151
+ $[1] = className;
152
+ $[2] = props;
153
+ $[3] = ref;
154
+ $[4] = t1;
155
+ } else {
156
+ className = $[1];
157
+ props = $[2];
158
+ ref = $[3];
159
+ t1 = $[4];
160
+ }
161
+ const orientation = t1 === void 0 ? "vertical" : t1;
162
+ let t2;
163
+ if ($[5] !== className) {
164
+ t2 = withClass("oui-choice-group", className);
165
+ $[5] = className;
166
+ $[6] = t2;
167
+ } else t2 = $[6];
168
+ let t3;
169
+ if ($[7] !== orientation || $[8] !== props || $[9] !== ref || $[10] !== t2) {
170
+ t3 = /* @__PURE__ */ jsx(CheckboxGroup, {
171
+ ref,
172
+ className: t2,
173
+ "data-orientation": orientation,
174
+ ...props
175
+ });
176
+ $[7] = orientation;
177
+ $[8] = props;
178
+ $[9] = ref;
179
+ $[10] = t2;
180
+ $[11] = t3;
181
+ } else t3 = $[11];
182
+ return t3;
183
+ }
184
+ function RadioGroup$1(t0) {
185
+ const $ = c(12);
186
+ let className;
187
+ let props;
188
+ let ref;
189
+ let t1;
190
+ if ($[0] !== t0) {
191
+ ({orientation: t1, className, ref, ...props} = t0);
192
+ $[0] = t0;
193
+ $[1] = className;
194
+ $[2] = props;
195
+ $[3] = ref;
196
+ $[4] = t1;
197
+ } else {
198
+ className = $[1];
199
+ props = $[2];
200
+ ref = $[3];
201
+ t1 = $[4];
202
+ }
203
+ const orientation = t1 === void 0 ? "vertical" : t1;
204
+ let t2;
205
+ if ($[5] !== className) {
206
+ t2 = withClass("oui-choice-group", className);
207
+ $[5] = className;
208
+ $[6] = t2;
209
+ } else t2 = $[6];
210
+ let t3;
211
+ if ($[7] !== orientation || $[8] !== props || $[9] !== ref || $[10] !== t2) {
212
+ t3 = /* @__PURE__ */ jsx(RadioGroup, {
213
+ ref,
214
+ className: t2,
215
+ "data-orientation": orientation,
216
+ ...props
217
+ });
218
+ $[7] = orientation;
219
+ $[8] = props;
220
+ $[9] = ref;
221
+ $[10] = t2;
222
+ $[11] = t3;
223
+ } else t3 = $[11];
224
+ return t3;
225
+ }
226
+ function Radio$1(t0) {
227
+ const $ = c(21);
228
+ let className;
229
+ let description;
230
+ let label;
231
+ let props;
232
+ let ref;
233
+ let t1;
234
+ if ($[0] !== t0) {
235
+ ({label, description, size: t1, className, ref, ...props} = t0);
236
+ $[0] = t0;
237
+ $[1] = className;
238
+ $[2] = description;
239
+ $[3] = label;
240
+ $[4] = props;
241
+ $[5] = ref;
242
+ $[6] = t1;
243
+ } else {
244
+ className = $[1];
245
+ description = $[2];
246
+ label = $[3];
247
+ props = $[4];
248
+ ref = $[5];
249
+ t1 = $[6];
250
+ }
251
+ const size = t1 === void 0 ? "md" : t1;
252
+ let t2;
253
+ if ($[7] !== className) {
254
+ t2 = withClass("oui-radio", className);
255
+ $[7] = className;
256
+ $[8] = t2;
257
+ } else t2 = $[8];
258
+ let t3;
259
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
260
+ t3 = /* @__PURE__ */ jsx(Radio.Indicator, { className: "oui-radio__indicator" });
261
+ $[9] = t3;
262
+ } else t3 = $[9];
263
+ let t4;
264
+ if ($[10] !== props || $[11] !== ref || $[12] !== size || $[13] !== t2) {
265
+ t4 = /* @__PURE__ */ jsx(Radio.Root, {
266
+ ref,
267
+ className: t2,
268
+ "data-size": size,
269
+ ...props,
270
+ children: t3
271
+ });
272
+ $[10] = props;
273
+ $[11] = ref;
274
+ $[12] = size;
275
+ $[13] = t2;
276
+ $[14] = t4;
277
+ } else t4 = $[14];
278
+ const control = t4;
279
+ let t5;
280
+ if ($[15] !== control || $[16] !== description || $[17] !== label || $[18] !== props.disabled || $[19] !== size) {
281
+ t5 = /* @__PURE__ */ jsx(ChoiceLabel, {
282
+ control,
283
+ label,
284
+ description,
285
+ size,
286
+ disabled: props.disabled
287
+ });
288
+ $[15] = control;
289
+ $[16] = description;
290
+ $[17] = label;
291
+ $[18] = props.disabled;
292
+ $[19] = size;
293
+ $[20] = t5;
294
+ } else t5 = $[20];
295
+ return t5;
296
+ }
297
+ function Switch$1(t0) {
298
+ const $ = c(21);
299
+ let className;
300
+ let description;
301
+ let label;
302
+ let props;
303
+ let ref;
304
+ let t1;
305
+ if ($[0] !== t0) {
306
+ ({label, description, size: t1, className, ref, ...props} = t0);
307
+ $[0] = t0;
308
+ $[1] = className;
309
+ $[2] = description;
310
+ $[3] = label;
311
+ $[4] = props;
312
+ $[5] = ref;
313
+ $[6] = t1;
314
+ } else {
315
+ className = $[1];
316
+ description = $[2];
317
+ label = $[3];
318
+ props = $[4];
319
+ ref = $[5];
320
+ t1 = $[6];
321
+ }
322
+ const size = t1 === void 0 ? "md" : t1;
323
+ let t2;
324
+ if ($[7] !== className) {
325
+ t2 = withClass("oui-switch", className);
326
+ $[7] = className;
327
+ $[8] = t2;
328
+ } else t2 = $[8];
329
+ let t3;
330
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
331
+ t3 = /* @__PURE__ */ jsx(Switch.Thumb, { className: "oui-switch__thumb" });
332
+ $[9] = t3;
333
+ } else t3 = $[9];
334
+ let t4;
335
+ if ($[10] !== props || $[11] !== ref || $[12] !== size || $[13] !== t2) {
336
+ t4 = /* @__PURE__ */ jsx(Switch.Root, {
337
+ ref,
338
+ className: t2,
339
+ "data-size": size,
340
+ ...props,
341
+ children: t3
342
+ });
343
+ $[10] = props;
344
+ $[11] = ref;
345
+ $[12] = size;
346
+ $[13] = t2;
347
+ $[14] = t4;
348
+ } else t4 = $[14];
349
+ const control = t4;
350
+ let t5;
351
+ if ($[15] !== control || $[16] !== description || $[17] !== label || $[18] !== props.disabled || $[19] !== size) {
352
+ t5 = /* @__PURE__ */ jsx(ChoiceLabel, {
353
+ control,
354
+ label,
355
+ description,
356
+ size,
357
+ disabled: props.disabled
358
+ });
359
+ $[15] = control;
360
+ $[16] = description;
361
+ $[17] = label;
362
+ $[18] = props.disabled;
363
+ $[19] = size;
364
+ $[20] = t5;
365
+ } else t5 = $[20];
366
+ return t5;
367
+ }
368
+ //#endregion
369
+ export { Checkbox$1 as Checkbox, CheckboxGroup$1 as CheckboxGroup, Radio$1 as Radio, RadioGroup$1 as RadioGroup, Switch$1 as Switch };
370
+
371
+ //# sourceMappingURL=Choice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Choice.js","names":["React","Checkbox","BaseCheckbox","CheckboxGroup","BaseCheckboxGroup","Radio","BaseRadio","RadioGroup","BaseRadioGroup","Switch","BaseSwitch","withClass","CheckIcon","MinusIcon","ChoiceSize","ChoiceLabelProps","label","ReactNode","description","size","ChoiceLabel","t0","$","_c","control","disabled","t1","undefined","t2","t3","t4","t5","CheckboxProps","Root","Props","className","props","ref","Symbol","for","_temp","indicatorProps","state","indeterminate","CheckboxGroupProps","orientation","RadioGroupProps","RadioProps","SwitchProps","_c","Checkbox","BaseCheckbox","CheckboxGroup","BaseCheckboxGroup","RadioGroup","BaseRadioGroup","Radio","BaseRadio","Switch","BaseSwitch"],"sources":["../../../src/components/choice/Choice.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Checkbox as BaseCheckbox } from '@base-ui/react/checkbox';\nimport { CheckboxGroup as BaseCheckboxGroup } from '@base-ui/react/checkbox-group';\nimport { Radio as BaseRadio } from '@base-ui/react/radio';\nimport { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';\nimport { Switch as BaseSwitch } from '@base-ui/react/switch';\nimport { withClass } from '../../utils/cx';\nimport { CheckIcon, MinusIcon } from '../../icons';\n\nexport type ChoiceSize = 'sm' | 'md';\n\ninterface ChoiceLabelProps {\n /** Visible label. Wraps the control in a `<label>` when set. */\n label?: React.ReactNode;\n /** Secondary text under the label. */\n description?: React.ReactNode;\n size?: ChoiceSize;\n}\n\nfunction ChoiceLabel({\n control,\n label,\n description,\n size,\n disabled,\n}: ChoiceLabelProps & { control: React.ReactElement; disabled?: boolean }) {\n if (label == null && description == null) return control;\n return (\n <label className=\"oui-choice\" data-size={size} data-disabled={disabled || undefined}>\n {control}\n <span className=\"oui-choice__text\">\n {label != null && <span className=\"oui-choice__label\">{label}</span>}\n {description != null && <span className=\"oui-choice__description\">{description}</span>}\n </span>\n </label>\n );\n}\n\n// ─── Checkbox ────────────────────────────────────────────────────────────────\n\nexport interface CheckboxProps extends BaseCheckbox.Root.Props, ChoiceLabelProps {}\n\nexport function Checkbox({ label, description, size = 'md', className, ref, ...props }: CheckboxProps) {\n const control = (\n <BaseCheckbox.Root ref={ref} className={withClass('oui-checkbox', className)} data-size={size} {...props}>\n <BaseCheckbox.Indicator\n className=\"oui-checkbox__indicator\"\n render={(indicatorProps, state) => (\n <span {...indicatorProps}>{state.indeterminate ? <MinusIcon strokeWidth={3} /> : <CheckIcon strokeWidth={3} />}</span>\n )}\n />\n </BaseCheckbox.Root>\n );\n return <ChoiceLabel control={control} label={label} description={description} size={size} disabled={props.disabled} />;\n}\n\nexport interface CheckboxGroupProps extends BaseCheckboxGroup.Props {\n orientation?: 'vertical' | 'horizontal';\n}\n\nexport function CheckboxGroup({ orientation = 'vertical', className, ref, ...props }: CheckboxGroupProps) {\n return (\n <BaseCheckboxGroup\n ref={ref}\n className={withClass('oui-choice-group', className)}\n data-orientation={orientation}\n {...props}\n />\n );\n}\n\n// ─── Radio ───────────────────────────────────────────────────────────────────\n\nexport interface RadioGroupProps extends BaseRadioGroup.Props {\n orientation?: 'vertical' | 'horizontal';\n}\n\nexport function RadioGroup({ orientation = 'vertical', className, ref, ...props }: RadioGroupProps) {\n return (\n <BaseRadioGroup\n ref={ref}\n className={withClass('oui-choice-group', className)}\n data-orientation={orientation}\n {...props}\n />\n );\n}\n\nexport interface RadioProps extends BaseRadio.Root.Props, ChoiceLabelProps {}\n\nexport function Radio({ label, description, size = 'md', className, ref, ...props }: RadioProps) {\n const control = (\n <BaseRadio.Root ref={ref} className={withClass('oui-radio', className)} data-size={size} {...props}>\n <BaseRadio.Indicator className=\"oui-radio__indicator\" />\n </BaseRadio.Root>\n );\n return <ChoiceLabel control={control} label={label} description={description} size={size} disabled={props.disabled} />;\n}\n\n// ─── Switch ──────────────────────────────────────────────────────────────────\n\nexport interface SwitchProps extends BaseSwitch.Root.Props, ChoiceLabelProps {}\n\nexport function Switch({ label, description, size = 'md', className, ref, ...props }: SwitchProps) {\n const control = (\n <BaseSwitch.Root ref={ref} className={withClass('oui-switch', className)} data-size={size} {...props}>\n <BaseSwitch.Thumb className=\"oui-switch__thumb\" />\n </BaseSwitch.Root>\n );\n return (\n <ChoiceLabel\n control={control}\n label={label}\n description={description}\n size={size}\n disabled={props.disabled}\n />\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Collapsible as BaseCollapsible } from '@base-ui/react/collapsible';
2
+ declare function CollapsibleRoot({ className, ref, ...props }: BaseCollapsible.Root.Props): import("react").JSX.Element;
3
+ export interface CollapsibleTriggerProps extends BaseCollapsible.Trigger.Props {
4
+ /** Show the chevron that turns when the panel opens. */
5
+ chevron?: boolean;
6
+ }
7
+ declare function CollapsibleTrigger({ chevron, className, children, ref, ...props }: CollapsibleTriggerProps): import("react").JSX.Element;
8
+ declare function CollapsiblePanel({ className, children, ref, ...props }: BaseCollapsible.Panel.Props): import("react").JSX.Element;
9
+ /** A single section that shows and hides: advanced options, "show more", filter groups. */
10
+ export declare const Collapsible: {
11
+ Root: typeof CollapsibleRoot;
12
+ Trigger: typeof CollapsibleTrigger;
13
+ Panel: typeof CollapsiblePanel;
14
+ };
15
+ export {};
@@ -0,0 +1,155 @@
1
+ "use client";
2
+ import { withClass } from "../../utils/cx.js";
3
+ import { ChevronRightIcon } from "../../icons/index.js";
4
+ import { c } from "react/compiler-runtime";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { Collapsible } from "@base-ui/react/collapsible";
7
+ //#region src/components/collapsible/Collapsible.tsx
8
+ function CollapsibleRoot(t0) {
9
+ const $ = c(10);
10
+ let className;
11
+ let props;
12
+ let ref;
13
+ if ($[0] !== t0) {
14
+ ({className, ref, ...props} = t0);
15
+ $[0] = t0;
16
+ $[1] = className;
17
+ $[2] = props;
18
+ $[3] = ref;
19
+ } else {
20
+ className = $[1];
21
+ props = $[2];
22
+ ref = $[3];
23
+ }
24
+ let t1;
25
+ if ($[4] !== className) {
26
+ t1 = withClass("oui-collapsible", className);
27
+ $[4] = className;
28
+ $[5] = t1;
29
+ } else t1 = $[5];
30
+ let t2;
31
+ if ($[6] !== props || $[7] !== ref || $[8] !== t1) {
32
+ t2 = /* @__PURE__ */ jsx(Collapsible.Root, {
33
+ ref,
34
+ className: t1,
35
+ ...props
36
+ });
37
+ $[6] = props;
38
+ $[7] = ref;
39
+ $[8] = t1;
40
+ $[9] = t2;
41
+ } else t2 = $[9];
42
+ return t2;
43
+ }
44
+ function CollapsibleTrigger(t0) {
45
+ const $ = c(16);
46
+ let children;
47
+ let className;
48
+ let props;
49
+ let ref;
50
+ let t1;
51
+ if ($[0] !== t0) {
52
+ ({chevron: t1, className, children, ref, ...props} = t0);
53
+ $[0] = t0;
54
+ $[1] = children;
55
+ $[2] = className;
56
+ $[3] = props;
57
+ $[4] = ref;
58
+ $[5] = t1;
59
+ } else {
60
+ children = $[1];
61
+ className = $[2];
62
+ props = $[3];
63
+ ref = $[4];
64
+ t1 = $[5];
65
+ }
66
+ const chevron = t1 === void 0 ? true : t1;
67
+ let t2;
68
+ if ($[6] !== className) {
69
+ t2 = withClass("oui-collapsible__trigger", className);
70
+ $[6] = className;
71
+ $[7] = t2;
72
+ } else t2 = $[7];
73
+ let t3;
74
+ if ($[8] !== chevron) {
75
+ t3 = chevron && /* @__PURE__ */ jsx(ChevronRightIcon, { className: "oui-collapsible__chevron" });
76
+ $[8] = chevron;
77
+ $[9] = t3;
78
+ } else t3 = $[9];
79
+ let t4;
80
+ if ($[10] !== children || $[11] !== props || $[12] !== ref || $[13] !== t2 || $[14] !== t3) {
81
+ t4 = /* @__PURE__ */ jsxs(Collapsible.Trigger, {
82
+ ref,
83
+ className: t2,
84
+ ...props,
85
+ children: [t3, children]
86
+ });
87
+ $[10] = children;
88
+ $[11] = props;
89
+ $[12] = ref;
90
+ $[13] = t2;
91
+ $[14] = t3;
92
+ $[15] = t4;
93
+ } else t4 = $[15];
94
+ return t4;
95
+ }
96
+ function CollapsiblePanel(t0) {
97
+ const $ = c(14);
98
+ let children;
99
+ let className;
100
+ let props;
101
+ let ref;
102
+ if ($[0] !== t0) {
103
+ ({className, children, ref, ...props} = t0);
104
+ $[0] = t0;
105
+ $[1] = children;
106
+ $[2] = className;
107
+ $[3] = props;
108
+ $[4] = ref;
109
+ } else {
110
+ children = $[1];
111
+ className = $[2];
112
+ props = $[3];
113
+ ref = $[4];
114
+ }
115
+ let t1;
116
+ if ($[5] !== className) {
117
+ t1 = withClass("oui-collapsible__panel", className);
118
+ $[5] = className;
119
+ $[6] = t1;
120
+ } else t1 = $[6];
121
+ let t2;
122
+ if ($[7] !== children) {
123
+ t2 = /* @__PURE__ */ jsx("div", {
124
+ className: "oui-collapsible__content",
125
+ children
126
+ });
127
+ $[7] = children;
128
+ $[8] = t2;
129
+ } else t2 = $[8];
130
+ let t3;
131
+ if ($[9] !== props || $[10] !== ref || $[11] !== t1 || $[12] !== t2) {
132
+ t3 = /* @__PURE__ */ jsx(Collapsible.Panel, {
133
+ ref,
134
+ className: t1,
135
+ ...props,
136
+ children: t2
137
+ });
138
+ $[9] = props;
139
+ $[10] = ref;
140
+ $[11] = t1;
141
+ $[12] = t2;
142
+ $[13] = t3;
143
+ } else t3 = $[13];
144
+ return t3;
145
+ }
146
+ /** A single section that shows and hides: advanced options, "show more", filter groups. */
147
+ var Collapsible$1 = {
148
+ Root: CollapsibleRoot,
149
+ Trigger: CollapsibleTrigger,
150
+ Panel: CollapsiblePanel
151
+ };
152
+ //#endregion
153
+ export { Collapsible$1 as Collapsible };
154
+
155
+ //# sourceMappingURL=Collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collapsible.js","names":["Collapsible","BaseCollapsible","withClass","ChevronRightIcon","CollapsibleRoot","t0","$","_c","className","props","ref","t1","t2","CollapsibleTriggerProps","Trigger","Props","chevron","CollapsibleTrigger","children","undefined","t3","t4","CollapsiblePanel","Root","Panel","_c","BaseCollapsible","Collapsible"],"sources":["../../../src/components/collapsible/Collapsible.tsx"],"sourcesContent":["import { Collapsible as BaseCollapsible } from '@base-ui/react/collapsible';\nimport { withClass } from '../../utils/cx';\nimport { ChevronRightIcon } from '../../icons';\n\nfunction CollapsibleRoot({ className, ref, ...props }: BaseCollapsible.Root.Props) {\n return <BaseCollapsible.Root ref={ref} className={withClass('oui-collapsible', className)} {...props} />;\n}\n\nexport interface CollapsibleTriggerProps extends BaseCollapsible.Trigger.Props {\n /** Show the chevron that turns when the panel opens. */\n chevron?: boolean;\n}\n\nfunction CollapsibleTrigger({ chevron = true, className, children, ref, ...props }: CollapsibleTriggerProps) {\n return (\n <BaseCollapsible.Trigger ref={ref} className={withClass('oui-collapsible__trigger', className)} {...props}>\n {chevron && <ChevronRightIcon className=\"oui-collapsible__chevron\" />}\n {children}\n </BaseCollapsible.Trigger>\n );\n}\n\nfunction CollapsiblePanel({ className, children, ref, ...props }: BaseCollapsible.Panel.Props) {\n return (\n <BaseCollapsible.Panel ref={ref} className={withClass('oui-collapsible__panel', className)} {...props}>\n <div className=\"oui-collapsible__content\">{children}</div>\n </BaseCollapsible.Panel>\n );\n}\n\n/** A single section that shows and hides: advanced options, \"show more\", filter groups. */\nexport const Collapsible = {\n Root: CollapsibleRoot,\n Trigger: CollapsibleTrigger,\n Panel: CollapsiblePanel,\n};\n"],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import * as React from 'react';
2
+ import { Combobox as BaseCombobox } from '@base-ui/react/combobox';
3
+ import type { ControlSize } from '../input/Input';
4
+ export interface ComboboxInputGroupProps extends BaseCombobox.InputGroup.Props {
5
+ size?: ControlSize;
6
+ }
7
+ declare function ComboboxInputGroup({ size, className, ref, ...props }: ComboboxInputGroupProps): React.JSX.Element;
8
+ declare function ComboboxInput({ className, ref, ...props }: BaseCombobox.Input.Props): React.JSX.Element;
9
+ declare function ComboboxTrigger({ className, children, ref, ...props }: BaseCombobox.Trigger.Props): React.JSX.Element;
10
+ declare function ComboboxClear({ className, children, ref, ...props }: BaseCombobox.Clear.Props): React.JSX.Element;
11
+ export interface ComboboxContentProps extends BaseCombobox.Popup.Props {
12
+ side?: BaseCombobox.Positioner.Props['side'];
13
+ align?: BaseCombobox.Positioner.Props['align'];
14
+ sideOffset?: BaseCombobox.Positioner.Props['sideOffset'];
15
+ positionerProps?: BaseCombobox.Positioner.Props;
16
+ }
17
+ declare function ComboboxContent({ side, align, sideOffset, positionerProps, className, ref, ...props }: ComboboxContentProps): React.JSX.Element;
18
+ declare function ComboboxList({ className, ref, ...props }: BaseCombobox.List.Props): React.JSX.Element;
19
+ declare function ComboboxItem({ className, children, ref, ...props }: BaseCombobox.Item.Props): React.JSX.Element;
20
+ declare function ComboboxEmpty({ className, ref, ...props }: BaseCombobox.Empty.Props): React.JSX.Element;
21
+ declare function ComboboxChips({ className, ref, ...props }: BaseCombobox.Chips.Props): React.JSX.Element;
22
+ declare function ComboboxChip({ className, children, removeLabel, ref, ...props }: BaseCombobox.Chip.Props & {
23
+ removeLabel?: string;
24
+ }): React.JSX.Element;
25
+ declare function ComboboxGroupLabel({ className, ref, ...props }: BaseCombobox.GroupLabel.Props): React.JSX.Element;
26
+ export interface ComboboxOption {
27
+ value: string;
28
+ label: string;
29
+ disabled?: boolean;
30
+ }
31
+ type RootProps = Omit<BaseCombobox.Root.Props<ComboboxOption, boolean | undefined>, 'items' | 'children'>;
32
+ export interface ComboboxProps extends RootProps {
33
+ items: ComboboxOption[];
34
+ label?: React.ReactNode;
35
+ description?: React.ReactNode;
36
+ error?: React.ReactNode;
37
+ placeholder?: string;
38
+ /** Shown when the filter matches nothing. */
39
+ emptyText?: React.ReactNode;
40
+ size?: ControlSize;
41
+ /** Hide the clear button. */
42
+ hideClear?: boolean;
43
+ inputProps?: BaseCombobox.Input.Props;
44
+ }
45
+ declare function ComboboxComponent({ items, label, description, error, placeholder, emptyText, size, hideClear, inputProps, name, disabled, required, multiple, ...rootProps }: ComboboxProps): React.JSX.Element;
46
+ /**
47
+ * Searchable select. `<Combobox items={…} />` covers single and `multiple`
48
+ * (chips) selection; compose the parts for anything custom.
49
+ */
50
+ export declare const Combobox: typeof ComboboxComponent & {
51
+ Root: typeof BaseCombobox.Root;
52
+ InputGroup: typeof ComboboxInputGroup;
53
+ Input: typeof ComboboxInput;
54
+ Trigger: typeof ComboboxTrigger;
55
+ Clear: typeof ComboboxClear;
56
+ Value: typeof BaseCombobox.Value;
57
+ Chips: typeof ComboboxChips;
58
+ Chip: typeof ComboboxChip;
59
+ Content: typeof ComboboxContent;
60
+ List: typeof ComboboxList;
61
+ Item: typeof ComboboxItem;
62
+ Empty: typeof ComboboxEmpty;
63
+ Group: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ComboboxGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
64
+ GroupLabel: typeof ComboboxGroupLabel;
65
+ Collection: typeof BaseCombobox.Collection;
66
+ useFilter: typeof BaseCombobox.useFilter;
67
+ };
68
+ export {};