@teach-in/react 0.3.0 → 0.4.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 (103) hide show
  1. package/dist/chunk-3YOW5DEZ.mjs +45 -0
  2. package/dist/chunk-4N3FFVKQ.mjs +14 -0
  3. package/dist/{chunk-QCLLPJMB.mjs → chunk-544SDU73.mjs} +2 -2
  4. package/dist/chunk-7BTEKEON.mjs +11 -0
  5. package/dist/{chunk-2CEZXLZR.mjs → chunk-AFVGHUW2.mjs} +1 -1
  6. package/dist/chunk-EEGPGLDC.mjs +26 -0
  7. package/dist/{chunk-GEJLG5RP.mjs → chunk-NLHQDWUK.mjs} +3 -2
  8. package/dist/chunk-PSK7I7V4.mjs +30 -0
  9. package/dist/chunk-Q2ILWL7L.mjs +1 -0
  10. package/dist/chunk-TSD6GU35.mjs +16 -0
  11. package/dist/chunk-UON5ACST.mjs +1 -0
  12. package/dist/chunk-UT5RUCAT.mjs +1 -0
  13. package/dist/{chunk-2ASQXBDD.mjs → chunk-WFNNN6WU.mjs} +1 -1
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.js +290 -234
  16. package/dist/index.mjs +148 -133
  17. package/dist/ui/data/image/image.d.ts +6 -0
  18. package/dist/ui/data/image/image.js +47 -0
  19. package/dist/ui/data/image/image.mjs +7 -0
  20. package/dist/ui/data/image/index.d.ts +1 -0
  21. package/dist/ui/data/image/index.js +49 -0
  22. package/dist/ui/data/image/index.mjs +8 -0
  23. package/dist/ui/data/index.d.ts +1 -0
  24. package/dist/ui/data/index.js +11 -0
  25. package/dist/ui/data/index.mjs +10 -5
  26. package/dist/ui/feedback/chip/chip.js +18 -1
  27. package/dist/ui/feedback/chip/chip.mjs +3 -1
  28. package/dist/ui/feedback/chip/index.js +18 -1
  29. package/dist/ui/feedback/chip/index.mjs +3 -1
  30. package/dist/ui/feedback/index.js +18 -1
  31. package/dist/ui/feedback/index.mjs +6 -4
  32. package/dist/ui/form/index.js +23 -10
  33. package/dist/ui/form/index.mjs +14 -14
  34. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +10 -10
  35. package/dist/ui/form/rhf/fields/checkbox-field.mjs +10 -10
  36. package/dist/ui/form/rhf/fields/date-picker-field.mjs +10 -10
  37. package/dist/ui/form/rhf/fields/email-field.mjs +10 -10
  38. package/dist/ui/form/rhf/fields/index.js +23 -10
  39. package/dist/ui/form/rhf/fields/index.mjs +11 -11
  40. package/dist/ui/form/rhf/fields/input-field.mjs +10 -10
  41. package/dist/ui/form/rhf/fields/radio-field.mjs +10 -10
  42. package/dist/ui/form/rhf/fields/select-field.d.ts +8 -3
  43. package/dist/ui/form/rhf/fields/select-field.js +23 -10
  44. package/dist/ui/form/rhf/fields/select-field.mjs +11 -11
  45. package/dist/ui/form/rhf/fields/switch-field.mjs +10 -10
  46. package/dist/ui/form/rhf/fields/text-field.mjs +10 -10
  47. package/dist/ui/form/rhf/fields/textarea-field.mjs +10 -10
  48. package/dist/ui/form/rhf/index.js +23 -10
  49. package/dist/ui/form/rhf/index.mjs +11 -11
  50. package/dist/ui/format/index.mjs +12 -12
  51. package/dist/ui/index.js +288 -234
  52. package/dist/ui/index.mjs +145 -133
  53. package/dist/ui/inputs/index.js +21 -9
  54. package/dist/ui/inputs/index.mjs +18 -18
  55. package/dist/ui/inputs/select/index.js +21 -9
  56. package/dist/ui/inputs/select/index.mjs +1 -1
  57. package/dist/ui/inputs/select/select.d.ts +18 -5
  58. package/dist/ui/inputs/select/select.js +21 -9
  59. package/dist/ui/inputs/select/select.mjs +1 -1
  60. package/dist/ui/layout/container/container.mjs +73 -67
  61. package/dist/ui/layout/container/index.mjs +73 -67
  62. package/dist/ui/layout/index.mjs +76 -70
  63. package/dist/ui/layout/page/index.mjs +4 -2
  64. package/dist/ui/layout/page/page-loading.mjs +4 -2
  65. package/dist/ui/layout/page/section-loading.mjs +4 -2
  66. package/dist/ui/navigation/breadcrumbs/breadcrumbs.d.ts +10 -6
  67. package/dist/ui/navigation/breadcrumbs/breadcrumbs.js +4 -24
  68. package/dist/ui/navigation/breadcrumbs/breadcrumbs.mjs +1 -1
  69. package/dist/ui/navigation/breadcrumbs/index.js +4 -24
  70. package/dist/ui/navigation/breadcrumbs/index.mjs +1 -1
  71. package/dist/ui/navigation/index.js +4 -14
  72. package/dist/ui/navigation/index.mjs +9 -9
  73. package/dist/ui/overlays/index.d.ts +1 -0
  74. package/dist/ui/overlays/index.js +25 -2
  75. package/dist/ui/overlays/index.mjs +11 -6
  76. package/dist/ui/overlays/popover/index.d.ts +1 -0
  77. package/dist/ui/overlays/popover/index.js +51 -0
  78. package/dist/ui/overlays/popover/index.mjs +8 -0
  79. package/dist/ui/overlays/popover/popover.d.ts +10 -0
  80. package/dist/ui/overlays/popover/popover.js +49 -0
  81. package/dist/ui/overlays/popover/popover.mjs +7 -0
  82. package/dist/ui/provider/index.mjs +4 -2
  83. package/dist/ui/provider/ui-provider.mjs +4 -2
  84. package/dist/ui/surface/index.mjs +4 -4
  85. package/dist/ui/theme/colors/common.mjs +3 -3
  86. package/dist/ui/theme/colors/index.mjs +5 -5
  87. package/dist/ui/theme/colors/semantic.mjs +4 -4
  88. package/dist/ui/theme/colors.mjs +5 -5
  89. package/dist/ui/theme/index.mjs +6 -6
  90. package/dist/ui/theme/theme.mjs +6 -6
  91. package/dist/utils/extend-variants.d.ts +41 -0
  92. package/dist/utils/extend-variants.js +34 -0
  93. package/dist/utils/extend-variants.mjs +7 -0
  94. package/dist/utils/index.d.ts +1 -0
  95. package/dist/utils/index.js +36 -0
  96. package/dist/utils/index.mjs +8 -0
  97. package/package.json +5 -3
  98. package/dist/chunk-4KPEPEPC.mjs +0 -26
  99. package/dist/chunk-GQ3LBZ2Q.mjs +0 -33
  100. package/dist/chunk-ONQIPN3G.mjs +0 -14
  101. package/dist/{chunk-CYSW4N3T.mjs → chunk-3C4DPNCD.mjs} +0 -0
  102. package/dist/{chunk-IXPMUODA.mjs → chunk-5WDV3PDI.mjs} +6 -6
  103. /package/dist/{chunk-NMMWGIQE.mjs → chunk-DRZAPJZH.mjs} +0 -0
package/dist/ui/index.mjs CHANGED
@@ -6,10 +6,10 @@ import "../chunk-BGNMWHME.mjs";
6
6
  import {
7
7
  ScrollShadow
8
8
  } from "../chunk-OZSO3C5Q.mjs";
9
- import "../chunk-JUIVZCH7.mjs";
9
+ import "../chunk-NVLF7L4R.mjs";
10
10
  import {
11
- Flex
12
- } from "../chunk-M5F723W7.mjs";
11
+ Divider
12
+ } from "../chunk-VWGY6KWP.mjs";
13
13
  import "../chunk-NDQAHQFL.mjs";
14
14
  import {
15
15
  Grid
@@ -34,11 +34,11 @@ import "../chunk-DBQTFBA3.mjs";
34
34
  import {
35
35
  PageLoading
36
36
  } from "../chunk-SPED4RBS.mjs";
37
- import "../chunk-N7GOJBLM.mjs";
38
- import "../chunk-NVLF7L4R.mjs";
37
+ import "../chunk-JUIVZCH7.mjs";
39
38
  import {
40
- Divider
41
- } from "../chunk-VWGY6KWP.mjs";
39
+ Flex
40
+ } from "../chunk-M5F723W7.mjs";
41
+ import "../chunk-N7GOJBLM.mjs";
42
42
  import {
43
43
  Accordion,
44
44
  AccordionItem
@@ -47,6 +47,16 @@ import "../chunk-Q6XJI7Q2.mjs";
47
47
  import {
48
48
  cn
49
49
  } from "../chunk-LOMRTWX5.mjs";
50
+ import "../chunk-UNBE67YJ.mjs";
51
+ import "../chunk-PON4ZQKG.mjs";
52
+ import {
53
+ Bento,
54
+ bento
55
+ } from "../chunk-J3OZNLTZ.mjs";
56
+ import "../chunk-57JRJHSH.mjs";
57
+ import {
58
+ Card
59
+ } from "../chunk-UFYLYN5Z.mjs";
50
60
  import "../chunk-EVQFKHCM.mjs";
51
61
  import "../chunk-XAW35UDV.mjs";
52
62
  import {
@@ -54,77 +64,22 @@ import {
54
64
  } from "../chunk-NBFOX367.mjs";
55
65
  import {
56
66
  theme
57
- } from "../chunk-2ASQXBDD.mjs";
58
- import "../chunk-NMMWGIQE.mjs";
59
- import "../chunk-I5AMV7H7.mjs";
60
- import {
61
- Modal
62
- } from "../chunk-T57H3CGO.mjs";
63
- import "../chunk-ICRO6HS3.mjs";
64
- import {
65
- Dropdown,
66
- DropdownItem,
67
- DropdownMenu,
68
- DropdownSection,
69
- DropdownTrigger
70
- } from "../chunk-YNCISHAU.mjs";
71
- import "../chunk-3N5UZODS.mjs";
72
- import {
73
- UIProvider
74
- } from "../chunk-FQUYFYMS.mjs";
75
- import "../chunk-UNBE67YJ.mjs";
76
- import "../chunk-57JRJHSH.mjs";
77
- import {
78
- Card
79
- } from "../chunk-UFYLYN5Z.mjs";
80
- import "../chunk-PON4ZQKG.mjs";
81
- import {
82
- Bento,
83
- bento
84
- } from "../chunk-J3OZNLTZ.mjs";
67
+ } from "../chunk-WFNNN6WU.mjs";
85
68
  import "../chunk-JWMPI5AZ.mjs";
86
- import "../chunk-QCLLPJMB.mjs";
87
- import "../chunk-2CEZXLZR.mjs";
69
+ import "../chunk-544SDU73.mjs";
70
+ import "../chunk-AFVGHUW2.mjs";
88
71
  import "../chunk-EJQH6CYW.mjs";
89
- import "../chunk-IXPMUODA.mjs";
72
+ import "../chunk-5WDV3PDI.mjs";
73
+ import "../chunk-HOVAPYGJ.mjs";
90
74
  import "../chunk-3LOCA2SP.mjs";
75
+ import "../chunk-LUERGYYZ.mjs";
91
76
  import "../chunk-YBQFG6QJ.mjs";
92
77
  import "../chunk-XKX5LFH7.mjs";
93
78
  import "../chunk-SLB2JE3N.mjs";
94
79
  import "../chunk-XYQVL4EX.mjs";
95
- import "../chunk-HOVAPYGJ.mjs";
96
80
  import "../chunk-2OPPNAW2.mjs";
97
81
  import "../chunk-OW6U64MG.mjs";
98
- import "../chunk-LUERGYYZ.mjs";
99
82
  import "../chunk-VIPLRFPR.mjs";
100
- import "../chunk-5IHVMMCK.mjs";
101
- import {
102
- Plural
103
- } from "../chunk-UHLC7GOU.mjs";
104
- import {
105
- Time
106
- } from "../chunk-3ZTXXJSO.mjs";
107
- import {
108
- Boolean
109
- } from "../chunk-26RHRVH2.mjs";
110
- import {
111
- Currency
112
- } from "../chunk-LN7WH3OB.mjs";
113
- import {
114
- DateFormat
115
- } from "../chunk-BUVPBB4J.mjs";
116
- import {
117
- Datetime
118
- } from "../chunk-6NZ4IHNU.mjs";
119
- import {
120
- Duration
121
- } from "../chunk-4QSIBIUI.mjs";
122
- import {
123
- Number
124
- } from "../chunk-NZI5NBXF.mjs";
125
- import {
126
- Percent
127
- } from "../chunk-CXAZBWS4.mjs";
128
83
  import "../chunk-VOG5HJID.mjs";
129
84
  import "../chunk-FXXWSYJA.mjs";
130
85
  import "../chunk-Q6JSJOU4.mjs";
@@ -136,7 +91,7 @@ import {
136
91
  } from "../chunk-W2A6C27Y.mjs";
137
92
  import {
138
93
  SelectField
139
- } from "../chunk-GEJLG5RP.mjs";
94
+ } from "../chunk-NLHQDWUK.mjs";
140
95
  import {
141
96
  SwitchField
142
97
  } from "../chunk-EC3NSPHR.mjs";
@@ -158,14 +113,14 @@ import {
158
113
  import {
159
114
  EmailField
160
115
  } from "../chunk-R7LDL5CU.mjs";
161
- import "../chunk-CZEO3U25.mjs";
162
- import "../chunk-LLP2PTPK.mjs";
163
116
  import {
164
- FavoriteSwitch
165
- } from "../chunk-E5QSNLSR.mjs";
117
+ Form
118
+ } from "../chunk-A3AAC7PF.mjs";
119
+ import "../chunk-CZEO3U25.mjs";
120
+ import "../chunk-DUQFM3QS.mjs";
166
121
  import {
167
- Switch
168
- } from "../chunk-N3EAW6UO.mjs";
122
+ Text
123
+ } from "../chunk-KTUGFQWJ.mjs";
169
124
  import "../chunk-RRA7GWP2.mjs";
170
125
  import {
171
126
  RadioGroup
@@ -173,23 +128,33 @@ import {
173
128
  import {
174
129
  Radio
175
130
  } from "../chunk-2SNKT7I4.mjs";
176
- import "../chunk-DUQFM3QS.mjs";
131
+ import "../chunk-LLP2PTPK.mjs";
177
132
  import {
178
- Text
179
- } from "../chunk-KTUGFQWJ.mjs";
133
+ FavoriteSwitch
134
+ } from "../chunk-E5QSNLSR.mjs";
135
+ import {
136
+ Switch
137
+ } from "../chunk-N3EAW6UO.mjs";
180
138
  import "../chunk-5HK7HRTR.mjs";
181
139
  import {
182
140
  Textarea
183
141
  } from "../chunk-HJUZTISD.mjs";
184
- import "../chunk-V3KKDSQP.mjs";
185
142
  import "../chunk-V2HNFTTX.mjs";
186
143
  import {
187
144
  DatePicker
188
145
  } from "../chunk-IAJ6G633.mjs";
146
+ import "../chunk-V3KKDSQP.mjs";
147
+ import {
148
+ Email
149
+ } from "../chunk-LJIVY6GU.mjs";
150
+ import "../chunk-ZRHEFEFS.mjs";
151
+ import {
152
+ Input
153
+ } from "../chunk-V2G5QHZZ.mjs";
189
154
  import "../chunk-AQ3ISJKU.mjs";
190
155
  import {
191
156
  Select
192
- } from "../chunk-GQ3LBZ2Q.mjs";
157
+ } from "../chunk-3YOW5DEZ.mjs";
193
158
  import "../chunk-WYJW5NNA.mjs";
194
159
  import {
195
160
  Autocomplete
@@ -201,44 +166,51 @@ import {
201
166
  import {
202
167
  Checkbox
203
168
  } from "../chunk-N3QOXWJI.mjs";
169
+ import "../chunk-J3GK2CGQ.mjs";
170
+ import "../chunk-MJTSZFLC.mjs";
204
171
  import {
205
- Email
206
- } from "../chunk-LJIVY6GU.mjs";
207
- import "../chunk-ZRHEFEFS.mjs";
172
+ Tabs
173
+ } from "../chunk-ZSYIKEXW.mjs";
174
+ import "../chunk-FKHR6G3R.mjs";
208
175
  import {
209
- Input
210
- } from "../chunk-V2G5QHZZ.mjs";
176
+ BreadcrumbItem,
177
+ Breadcrumbs
178
+ } from "../chunk-TSD6GU35.mjs";
179
+ import "../chunk-25ISU6R3.mjs";
211
180
  import {
212
- Form
213
- } from "../chunk-A3AAC7PF.mjs";
214
- import "../chunk-HZ5YAOU6.mjs";
215
- import "../chunk-5UKTT75Y.mjs";
181
+ Link
182
+ } from "../chunk-7T3JFARO.mjs";
183
+ import "../chunk-AT6DX4DN.mjs";
216
184
  import {
217
- Button
218
- } from "../chunk-TYMUQULA.mjs";
219
- import "../chunk-CYSW4N3T.mjs";
220
- import "../chunk-54FA62HL.mjs";
185
+ Navbar,
186
+ NavbarBrand,
187
+ NavbarContent,
188
+ NavbarItem,
189
+ NavbarMenu,
190
+ NavbarMenuItem,
191
+ NavbarMenuToggle
192
+ } from "../chunk-SAYYLTIE.mjs";
193
+ import "../chunk-UON5ACST.mjs";
194
+ import "../chunk-ICRO6HS3.mjs";
221
195
  import {
222
- Table,
223
- TableBody,
224
- TableCell,
225
- TableColumn,
226
- TableHeader,
227
- TableRow,
228
- getKeyValue
229
- } from "../chunk-PKZZEODR.mjs";
230
- import "../chunk-CTKWGSNJ.mjs";
196
+ Dropdown,
197
+ DropdownItem,
198
+ DropdownMenu,
199
+ DropdownSection,
200
+ DropdownTrigger
201
+ } from "../chunk-YNCISHAU.mjs";
202
+ import "../chunk-I5AMV7H7.mjs";
231
203
  import {
232
- User
233
- } from "../chunk-XHCXM5MU.mjs";
234
- import "../chunk-KH4D2C2T.mjs";
204
+ Modal
205
+ } from "../chunk-T57H3CGO.mjs";
206
+ import "../chunk-UT5RUCAT.mjs";
235
207
  import {
236
- Pagination
237
- } from "../chunk-O5T4GUJH.mjs";
238
- import "../chunk-UTZUYZZL.mjs";
208
+ Popover
209
+ } from "../chunk-PSK7I7V4.mjs";
210
+ import "../chunk-3N5UZODS.mjs";
239
211
  import {
240
- Avatar
241
- } from "../chunk-IZEJE6V2.mjs";
212
+ UIProvider
213
+ } from "../chunk-FQUYFYMS.mjs";
242
214
  import "../chunk-AR4IYKG5.mjs";
243
215
  import {
244
216
  Toast,
@@ -265,38 +237,76 @@ import "../chunk-3BST3PYD.mjs";
265
237
  import {
266
238
  Tooltip
267
239
  } from "../chunk-TJBXXTYS.mjs";
240
+ import "../chunk-K3WTHFIG.mjs";
241
+ import {
242
+ Chip
243
+ } from "../chunk-EEGPGLDC.mjs";
268
244
  import "../chunk-V77JZXH7.mjs";
269
245
  import {
270
246
  Alert
271
247
  } from "../chunk-TIFF5WZA.mjs";
272
- import "../chunk-K3WTHFIG.mjs";
248
+ import "../chunk-5IHVMMCK.mjs";
273
249
  import {
274
- Chip
275
- } from "../chunk-ONQIPN3G.mjs";
276
- import "../chunk-J3GK2CGQ.mjs";
277
- import "../chunk-MJTSZFLC.mjs";
250
+ DateFormat
251
+ } from "../chunk-BUVPBB4J.mjs";
278
252
  import {
279
- Tabs
280
- } from "../chunk-ZSYIKEXW.mjs";
281
- import "../chunk-AT6DX4DN.mjs";
253
+ Datetime
254
+ } from "../chunk-6NZ4IHNU.mjs";
282
255
  import {
283
- Navbar,
284
- NavbarBrand,
285
- NavbarContent,
286
- NavbarItem,
287
- NavbarMenu,
288
- NavbarMenuItem,
289
- NavbarMenuToggle
290
- } from "../chunk-SAYYLTIE.mjs";
291
- import "../chunk-25ISU6R3.mjs";
256
+ Duration
257
+ } from "../chunk-4QSIBIUI.mjs";
292
258
  import {
293
- Link
294
- } from "../chunk-7T3JFARO.mjs";
295
- import "../chunk-FKHR6G3R.mjs";
259
+ Number
260
+ } from "../chunk-NZI5NBXF.mjs";
296
261
  import {
297
- BreadcrumbItem,
298
- Breadcrumbs
299
- } from "../chunk-4KPEPEPC.mjs";
262
+ Percent
263
+ } from "../chunk-CXAZBWS4.mjs";
264
+ import {
265
+ Plural
266
+ } from "../chunk-UHLC7GOU.mjs";
267
+ import {
268
+ Time
269
+ } from "../chunk-3ZTXXJSO.mjs";
270
+ import "../chunk-Q2ILWL7L.mjs";
271
+ import "../chunk-7BTEKEON.mjs";
272
+ import "../chunk-HZ5YAOU6.mjs";
273
+ import "../chunk-5UKTT75Y.mjs";
274
+ import {
275
+ Button
276
+ } from "../chunk-TYMUQULA.mjs";
277
+ import "../chunk-3C4DPNCD.mjs";
278
+ import "../chunk-54FA62HL.mjs";
279
+ import {
280
+ Table,
281
+ TableBody,
282
+ TableCell,
283
+ TableColumn,
284
+ TableHeader,
285
+ TableRow,
286
+ getKeyValue
287
+ } from "../chunk-PKZZEODR.mjs";
288
+ import "../chunk-CTKWGSNJ.mjs";
289
+ import {
290
+ User
291
+ } from "../chunk-XHCXM5MU.mjs";
292
+ import "../chunk-UTZUYZZL.mjs";
293
+ import {
294
+ Avatar
295
+ } from "../chunk-IZEJE6V2.mjs";
296
+ import "../chunk-DRZAPJZH.mjs";
297
+ import {
298
+ Image
299
+ } from "../chunk-4N3FFVKQ.mjs";
300
+ import "../chunk-KH4D2C2T.mjs";
301
+ import {
302
+ Pagination
303
+ } from "../chunk-O5T4GUJH.mjs";
304
+ import {
305
+ Boolean
306
+ } from "../chunk-26RHRVH2.mjs";
307
+ import {
308
+ Currency
309
+ } from "../chunk-LN7WH3OB.mjs";
300
310
  export {
301
311
  Accordion,
302
312
  AccordionItem,
@@ -341,6 +351,7 @@ export {
341
351
  Time as FormatTime,
342
352
  Grid,
343
353
  Header,
354
+ Image,
344
355
  Input,
345
356
  InputField,
346
357
  Link,
@@ -355,6 +366,7 @@ export {
355
366
  PageContent,
356
367
  PageLoading,
357
368
  Pagination,
369
+ Popover,
358
370
  Progress,
359
371
  Radio,
360
372
  RadioField,
@@ -112,21 +112,33 @@ var import_react7 = __toESM(require("react"));
112
112
  var import_select = require("@heroui/select");
113
113
  var import_jsx_runtime7 = require("react/jsx-runtime");
114
114
  var Select = import_react7.default.forwardRef(
115
- ({ value, items, onChange, ...props }, ref) => {
116
- const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
115
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
116
+ const isMultiple = selectionMode === "multiple";
117
+ const selectedKeys = import_react7.default.useMemo(() => {
118
+ if (value == null) return /* @__PURE__ */ new Set();
119
+ return new Set(Array.isArray(value) ? value : [value]);
120
+ }, [value]);
121
+ const handleSelectionChange = import_react7.default.useCallback(
122
+ (keys) => {
123
+ var _a;
124
+ if (keys === "all") return;
125
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
126
+ if (isMultiple) {
127
+ onChange == null ? void 0 : onChange(selected);
128
+ } else {
129
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
130
+ }
131
+ },
132
+ [onChange, isMultiple]
133
+ );
117
134
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
118
135
  import_select.Select,
119
136
  {
120
137
  ref,
121
138
  items,
122
- placeholder: " ",
123
139
  selectedKeys,
124
- onSelectionChange: (keys) => {
125
- const selected = Array.from(keys)[0];
126
- if (typeof selected === "string") {
127
- onChange == null ? void 0 : onChange(selected);
128
- }
129
- },
140
+ selectionMode,
141
+ onSelectionChange: handleSelectionChange,
130
142
  ...props,
131
143
  children: (item) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.SelectItem, { children: item.label }, item.key)
132
144
  }
@@ -1,12 +1,9 @@
1
1
  "use client";
2
2
  import "../../chunk-CZEO3U25.mjs";
3
- import "../../chunk-LLP2PTPK.mjs";
4
- import {
5
- FavoriteSwitch
6
- } from "../../chunk-E5QSNLSR.mjs";
3
+ import "../../chunk-DUQFM3QS.mjs";
7
4
  import {
8
- Switch
9
- } from "../../chunk-N3EAW6UO.mjs";
5
+ Text
6
+ } from "../../chunk-KTUGFQWJ.mjs";
10
7
  import "../../chunk-RRA7GWP2.mjs";
11
8
  import {
12
9
  RadioGroup
@@ -14,23 +11,33 @@ import {
14
11
  import {
15
12
  Radio
16
13
  } from "../../chunk-2SNKT7I4.mjs";
17
- import "../../chunk-DUQFM3QS.mjs";
14
+ import "../../chunk-LLP2PTPK.mjs";
18
15
  import {
19
- Text
20
- } from "../../chunk-KTUGFQWJ.mjs";
16
+ FavoriteSwitch
17
+ } from "../../chunk-E5QSNLSR.mjs";
18
+ import {
19
+ Switch
20
+ } from "../../chunk-N3EAW6UO.mjs";
21
21
  import "../../chunk-5HK7HRTR.mjs";
22
22
  import {
23
23
  Textarea
24
24
  } from "../../chunk-HJUZTISD.mjs";
25
- import "../../chunk-V3KKDSQP.mjs";
26
25
  import "../../chunk-V2HNFTTX.mjs";
27
26
  import {
28
27
  DatePicker
29
28
  } from "../../chunk-IAJ6G633.mjs";
29
+ import "../../chunk-V3KKDSQP.mjs";
30
+ import {
31
+ Email
32
+ } from "../../chunk-LJIVY6GU.mjs";
33
+ import "../../chunk-ZRHEFEFS.mjs";
34
+ import {
35
+ Input
36
+ } from "../../chunk-V2G5QHZZ.mjs";
30
37
  import "../../chunk-AQ3ISJKU.mjs";
31
38
  import {
32
39
  Select
33
- } from "../../chunk-GQ3LBZ2Q.mjs";
40
+ } from "../../chunk-3YOW5DEZ.mjs";
34
41
  import "../../chunk-WYJW5NNA.mjs";
35
42
  import {
36
43
  Autocomplete
@@ -42,13 +49,6 @@ import {
42
49
  import {
43
50
  Checkbox
44
51
  } from "../../chunk-N3QOXWJI.mjs";
45
- import {
46
- Email
47
- } from "../../chunk-LJIVY6GU.mjs";
48
- import "../../chunk-ZRHEFEFS.mjs";
49
- import {
50
- Input
51
- } from "../../chunk-V2G5QHZZ.mjs";
52
52
  export {
53
53
  Autocomplete,
54
54
  Checkbox,
@@ -40,21 +40,33 @@ var import_react = __toESM(require("react"));
40
40
  var import_select = require("@heroui/select");
41
41
  var import_jsx_runtime = require("react/jsx-runtime");
42
42
  var Select = import_react.default.forwardRef(
43
- ({ value, items, onChange, ...props }, ref) => {
44
- const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
43
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
44
+ const isMultiple = selectionMode === "multiple";
45
+ const selectedKeys = import_react.default.useMemo(() => {
46
+ if (value == null) return /* @__PURE__ */ new Set();
47
+ return new Set(Array.isArray(value) ? value : [value]);
48
+ }, [value]);
49
+ const handleSelectionChange = import_react.default.useCallback(
50
+ (keys) => {
51
+ var _a;
52
+ if (keys === "all") return;
53
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
54
+ if (isMultiple) {
55
+ onChange == null ? void 0 : onChange(selected);
56
+ } else {
57
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
58
+ }
59
+ },
60
+ [onChange, isMultiple]
61
+ );
45
62
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
63
  import_select.Select,
47
64
  {
48
65
  ref,
49
66
  items,
50
- placeholder: " ",
51
67
  selectedKeys,
52
- onSelectionChange: (keys) => {
53
- const selected = Array.from(keys)[0];
54
- if (typeof selected === "string") {
55
- onChange == null ? void 0 : onChange(selected);
56
- }
57
- },
68
+ selectionMode,
69
+ onSelectionChange: handleSelectionChange,
58
70
  ...props,
59
71
  children: (item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_select.SelectItem, { children: item.label }, item.key)
60
72
  }
@@ -2,7 +2,7 @@
2
2
  import "../../../chunk-AQ3ISJKU.mjs";
3
3
  import {
4
4
  Select
5
- } from "../../../chunk-GQ3LBZ2Q.mjs";
5
+ } from "../../../chunk-3YOW5DEZ.mjs";
6
6
  export {
7
7
  Select
8
8
  };
@@ -4,10 +4,23 @@ interface Item {
4
4
  key: string;
5
5
  label: string;
6
6
  }
7
- export interface SelectProps extends Omit<HeroUISelectProps<Item>, "value" | "items" | "onSelectionChange" | "onChange" | "children"> {
7
+ type BaseSelectProps = Omit<HeroUISelectProps<Item>, "selectedKeys" | "onSelectionChange" | "children" | "onChange">;
8
+ export type SelectProps = (BaseSelectProps & {
9
+ selectionMode?: "single";
8
10
  value?: string;
9
- items?: Item[];
10
- onChange?: (value: string) => void;
11
- }
12
- export declare const Select: React.ForwardRefExoticComponent<Omit<SelectProps, "ref"> & React.RefAttributes<HTMLSelectElement>>;
11
+ onChange?: (value: string | null) => void;
12
+ }) | (BaseSelectProps & {
13
+ selectionMode: "multiple";
14
+ value?: string[];
15
+ onChange?: (value: string[]) => void;
16
+ });
17
+ export declare const Select: React.ForwardRefExoticComponent<(Omit<BaseSelectProps & {
18
+ selectionMode?: "single";
19
+ value?: string;
20
+ onChange?: (value: string | null) => void;
21
+ }, "ref"> | Omit<BaseSelectProps & {
22
+ selectionMode: "multiple";
23
+ value?: string[];
24
+ onChange?: (value: string[]) => void;
25
+ }, "ref">) & React.RefAttributes<HTMLSelectElement>>;
13
26
  export {};
@@ -38,21 +38,33 @@ var import_react = __toESM(require("react"));
38
38
  var import_select = require("@heroui/select");
39
39
  var import_jsx_runtime = require("react/jsx-runtime");
40
40
  var Select = import_react.default.forwardRef(
41
- ({ value, items, onChange, ...props }, ref) => {
42
- const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
41
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
42
+ const isMultiple = selectionMode === "multiple";
43
+ const selectedKeys = import_react.default.useMemo(() => {
44
+ if (value == null) return /* @__PURE__ */ new Set();
45
+ return new Set(Array.isArray(value) ? value : [value]);
46
+ }, [value]);
47
+ const handleSelectionChange = import_react.default.useCallback(
48
+ (keys) => {
49
+ var _a;
50
+ if (keys === "all") return;
51
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
52
+ if (isMultiple) {
53
+ onChange == null ? void 0 : onChange(selected);
54
+ } else {
55
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
56
+ }
57
+ },
58
+ [onChange, isMultiple]
59
+ );
43
60
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
61
  import_select.Select,
45
62
  {
46
63
  ref,
47
64
  items,
48
- placeholder: " ",
49
65
  selectedKeys,
50
- onSelectionChange: (keys) => {
51
- const selected = Array.from(keys)[0];
52
- if (typeof selected === "string") {
53
- onChange == null ? void 0 : onChange(selected);
54
- }
55
- },
66
+ selectionMode,
67
+ onSelectionChange: handleSelectionChange,
56
68
  ...props,
57
69
  children: (item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_select.SelectItem, { children: item.label }, item.key)
58
70
  }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  Select
4
- } from "../../../chunk-GQ3LBZ2Q.mjs";
4
+ } from "../../../chunk-3YOW5DEZ.mjs";
5
5
  export {
6
6
  Select
7
7
  };