@teach-in/react 0.3.0 → 1.0.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 (110) hide show
  1. package/dist/{chunk-2CEZXLZR.mjs → chunk-3VAZY2QK.mjs} +1 -1
  2. package/dist/chunk-3YOW5DEZ.mjs +45 -0
  3. package/dist/{chunk-TYMUQULA.mjs → chunk-4BGIUXAF.mjs} +1 -1
  4. package/dist/chunk-4N3FFVKQ.mjs +14 -0
  5. package/dist/chunk-7BTEKEON.mjs +11 -0
  6. package/dist/{chunk-2ASQXBDD.mjs → chunk-AMNORHD6.mjs} +1 -1
  7. package/dist/{chunk-QCLLPJMB.mjs → chunk-CFG5V7VB.mjs} +2 -2
  8. package/dist/chunk-EEGPGLDC.mjs +26 -0
  9. package/dist/{chunk-GEJLG5RP.mjs → chunk-NLHQDWUK.mjs} +3 -2
  10. package/dist/chunk-PSK7I7V4.mjs +30 -0
  11. package/dist/chunk-Q2ILWL7L.mjs +1 -0
  12. package/dist/chunk-TSD6GU35.mjs +16 -0
  13. package/dist/chunk-UON5ACST.mjs +1 -0
  14. package/dist/chunk-UT5RUCAT.mjs +1 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.js +291 -235
  17. package/dist/index.mjs +157 -142
  18. package/dist/ui/actions/button/button.js +1 -1
  19. package/dist/ui/actions/button/button.mjs +1 -1
  20. package/dist/ui/actions/button/index.js +1 -1
  21. package/dist/ui/actions/button/index.mjs +1 -1
  22. package/dist/ui/actions/index.js +1 -1
  23. package/dist/ui/actions/index.mjs +1 -1
  24. package/dist/ui/data/image/image.d.ts +6 -0
  25. package/dist/ui/data/image/image.js +47 -0
  26. package/dist/ui/data/image/image.mjs +7 -0
  27. package/dist/ui/data/image/index.d.ts +1 -0
  28. package/dist/ui/data/image/index.js +49 -0
  29. package/dist/ui/data/image/index.mjs +8 -0
  30. package/dist/ui/data/index.d.ts +1 -0
  31. package/dist/ui/data/index.js +11 -0
  32. package/dist/ui/data/index.mjs +18 -13
  33. package/dist/ui/feedback/chip/chip.js +18 -1
  34. package/dist/ui/feedback/chip/chip.mjs +3 -1
  35. package/dist/ui/feedback/chip/index.js +18 -1
  36. package/dist/ui/feedback/chip/index.mjs +3 -1
  37. package/dist/ui/feedback/index.js +18 -1
  38. package/dist/ui/feedback/index.mjs +13 -11
  39. package/dist/ui/form/index.js +23 -10
  40. package/dist/ui/form/index.mjs +12 -12
  41. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +11 -11
  42. package/dist/ui/form/rhf/fields/checkbox-field.mjs +11 -11
  43. package/dist/ui/form/rhf/fields/date-picker-field.mjs +11 -11
  44. package/dist/ui/form/rhf/fields/email-field.mjs +11 -11
  45. package/dist/ui/form/rhf/fields/index.js +23 -10
  46. package/dist/ui/form/rhf/fields/index.mjs +12 -12
  47. package/dist/ui/form/rhf/fields/input-field.mjs +11 -11
  48. package/dist/ui/form/rhf/fields/radio-field.mjs +11 -11
  49. package/dist/ui/form/rhf/fields/select-field.d.ts +8 -3
  50. package/dist/ui/form/rhf/fields/select-field.js +23 -10
  51. package/dist/ui/form/rhf/fields/select-field.mjs +12 -12
  52. package/dist/ui/form/rhf/fields/switch-field.mjs +11 -11
  53. package/dist/ui/form/rhf/fields/text-field.mjs +11 -11
  54. package/dist/ui/form/rhf/fields/textarea-field.mjs +11 -11
  55. package/dist/ui/form/rhf/index.js +23 -10
  56. package/dist/ui/form/rhf/index.mjs +12 -12
  57. package/dist/ui/format/index.mjs +6 -6
  58. package/dist/ui/index.js +289 -235
  59. package/dist/ui/index.mjs +155 -143
  60. package/dist/ui/inputs/index.js +21 -9
  61. package/dist/ui/inputs/index.mjs +22 -22
  62. package/dist/ui/inputs/radio/index.mjs +3 -3
  63. package/dist/ui/inputs/select/index.js +21 -9
  64. package/dist/ui/inputs/select/index.mjs +1 -1
  65. package/dist/ui/inputs/select/select.d.ts +18 -5
  66. package/dist/ui/inputs/select/select.js +21 -9
  67. package/dist/ui/inputs/select/select.mjs +1 -1
  68. package/dist/ui/layout/container/container.mjs +71 -65
  69. package/dist/ui/layout/container/index.mjs +71 -65
  70. package/dist/ui/layout/index.mjs +81 -75
  71. package/dist/ui/layout/page/index.mjs +7 -5
  72. package/dist/ui/layout/page/page-loading.mjs +4 -2
  73. package/dist/ui/layout/page/section-loading.mjs +4 -2
  74. package/dist/ui/navigation/breadcrumbs/breadcrumbs.d.ts +10 -6
  75. package/dist/ui/navigation/breadcrumbs/breadcrumbs.js +4 -24
  76. package/dist/ui/navigation/breadcrumbs/breadcrumbs.mjs +1 -1
  77. package/dist/ui/navigation/breadcrumbs/index.js +4 -24
  78. package/dist/ui/navigation/breadcrumbs/index.mjs +1 -1
  79. package/dist/ui/navigation/index.js +4 -14
  80. package/dist/ui/navigation/index.mjs +11 -11
  81. package/dist/ui/overlays/index.d.ts +1 -0
  82. package/dist/ui/overlays/index.js +25 -2
  83. package/dist/ui/overlays/index.mjs +10 -5
  84. package/dist/ui/overlays/popover/index.d.ts +1 -0
  85. package/dist/ui/overlays/popover/index.js +51 -0
  86. package/dist/ui/overlays/popover/index.mjs +8 -0
  87. package/dist/ui/overlays/popover/popover.d.ts +10 -0
  88. package/dist/ui/overlays/popover/popover.js +49 -0
  89. package/dist/ui/overlays/popover/popover.mjs +7 -0
  90. package/dist/ui/provider/index.mjs +4 -2
  91. package/dist/ui/provider/ui-provider.mjs +4 -2
  92. package/dist/ui/theme/colors/common.mjs +5 -5
  93. package/dist/ui/theme/colors/index.mjs +8 -8
  94. package/dist/ui/theme/colors/semantic.mjs +6 -6
  95. package/dist/ui/theme/colors.mjs +8 -8
  96. package/dist/ui/theme/index.mjs +8 -8
  97. package/dist/ui/theme/theme.mjs +8 -8
  98. package/dist/utils/extend-variants.d.ts +41 -0
  99. package/dist/utils/extend-variants.js +34 -0
  100. package/dist/utils/extend-variants.mjs +7 -0
  101. package/dist/utils/index.d.ts +1 -0
  102. package/dist/utils/index.js +36 -0
  103. package/dist/utils/index.mjs +8 -0
  104. package/package.json +5 -3
  105. package/dist/chunk-4KPEPEPC.mjs +0 -26
  106. package/dist/chunk-GQ3LBZ2Q.mjs +0 -33
  107. package/dist/chunk-ONQIPN3G.mjs +0 -14
  108. package/dist/{chunk-CYSW4N3T.mjs → chunk-3C4DPNCD.mjs} +0 -0
  109. package/dist/{chunk-NMMWGIQE.mjs → chunk-DRZAPJZH.mjs} +0 -0
  110. package/dist/{chunk-IXPMUODA.mjs → chunk-STVN4B47.mjs} +12 -12
@@ -1,5 +1,21 @@
1
1
  "use client";
2
- import "../../chunk-CYSW4N3T.mjs";
2
+ import "../../chunk-3C4DPNCD.mjs";
3
+ import "../../chunk-KH4D2C2T.mjs";
4
+ import {
5
+ Pagination
6
+ } from "../../chunk-O5T4GUJH.mjs";
7
+ import "../../chunk-CTKWGSNJ.mjs";
8
+ import {
9
+ User
10
+ } from "../../chunk-XHCXM5MU.mjs";
11
+ import "../../chunk-UTZUYZZL.mjs";
12
+ import {
13
+ Avatar
14
+ } from "../../chunk-IZEJE6V2.mjs";
15
+ import "../../chunk-DRZAPJZH.mjs";
16
+ import {
17
+ Image
18
+ } from "../../chunk-4N3FFVKQ.mjs";
3
19
  import "../../chunk-54FA62HL.mjs";
4
20
  import {
5
21
  Table,
@@ -10,20 +26,9 @@ import {
10
26
  TableRow,
11
27
  getKeyValue
12
28
  } from "../../chunk-PKZZEODR.mjs";
13
- import "../../chunk-CTKWGSNJ.mjs";
14
- import {
15
- User
16
- } from "../../chunk-XHCXM5MU.mjs";
17
- import "../../chunk-KH4D2C2T.mjs";
18
- import {
19
- Pagination
20
- } from "../../chunk-O5T4GUJH.mjs";
21
- import "../../chunk-UTZUYZZL.mjs";
22
- import {
23
- Avatar
24
- } from "../../chunk-IZEJE6V2.mjs";
25
29
  export {
26
30
  Avatar,
31
+ Image,
27
32
  Pagination,
28
33
  Table,
29
34
  TableBody,
@@ -36,9 +36,26 @@ __export(chip_exports, {
36
36
  module.exports = __toCommonJS(chip_exports);
37
37
  var import_react = __toESM(require("react"));
38
38
  var import_chip = require("@heroui/chip");
39
+
40
+ // src/utils/extend-variants.ts
41
+ var import_system = require("@heroui/system");
42
+ var extendVariants = (component, config) => {
43
+ return (0, import_system.extendVariants)(component, config);
44
+ };
45
+
46
+ // src/ui/feedback/chip/chip.tsx
39
47
  var import_jsx_runtime = require("react/jsx-runtime");
48
+ var ChipCustom = extendVariants(import_chip.Chip, {
49
+ variants: {
50
+ variant: {
51
+ bordered: { base: "border-1" },
52
+ faded: { base: "border-1" },
53
+ dot: { base: "border-1" }
54
+ }
55
+ }
56
+ });
40
57
  var Chip = import_react.default.forwardRef(({ variant = "flat", ...props }, ref) => {
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_chip.Chip, { ref, variant, ...props });
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChipCustom, { ref, variant, ...props });
42
59
  });
43
60
  Chip.displayName = "TeachInUI.Chip";
44
61
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  Chip
4
- } from "../../../chunk-ONQIPN3G.mjs";
4
+ } from "../../../chunk-EEGPGLDC.mjs";
5
+ import "../../../chunk-Q2ILWL7L.mjs";
6
+ import "../../../chunk-7BTEKEON.mjs";
5
7
  export {
6
8
  Chip
7
9
  };
@@ -38,9 +38,26 @@ module.exports = __toCommonJS(chip_exports);
38
38
  // src/ui/feedback/chip/chip.tsx
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_chip = require("@heroui/chip");
41
+
42
+ // src/utils/extend-variants.ts
43
+ var import_system = require("@heroui/system");
44
+ var extendVariants = (component, config) => {
45
+ return (0, import_system.extendVariants)(component, config);
46
+ };
47
+
48
+ // src/ui/feedback/chip/chip.tsx
41
49
  var import_jsx_runtime = require("react/jsx-runtime");
50
+ var ChipCustom = extendVariants(import_chip.Chip, {
51
+ variants: {
52
+ variant: {
53
+ bordered: { base: "border-1" },
54
+ faded: { base: "border-1" },
55
+ dot: { base: "border-1" }
56
+ }
57
+ }
58
+ });
42
59
  var Chip = import_react.default.forwardRef(({ variant = "flat", ...props }, ref) => {
43
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_chip.Chip, { ref, variant, ...props });
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChipCustom, { ref, variant, ...props });
44
61
  });
45
62
  Chip.displayName = "TeachInUI.Chip";
46
63
  // Annotate the CommonJS export names for ESM import in node:
@@ -2,7 +2,9 @@
2
2
  import "../../../chunk-K3WTHFIG.mjs";
3
3
  import {
4
4
  Chip
5
- } from "../../../chunk-ONQIPN3G.mjs";
5
+ } from "../../../chunk-EEGPGLDC.mjs";
6
+ import "../../../chunk-Q2ILWL7L.mjs";
7
+ import "../../../chunk-7BTEKEON.mjs";
6
8
  export {
7
9
  Chip
8
10
  };
@@ -60,9 +60,26 @@ Alert.displayName = "TeachInUI.Alert";
60
60
  // src/ui/feedback/chip/chip.tsx
61
61
  var import_react2 = __toESM(require("react"));
62
62
  var import_chip = require("@heroui/chip");
63
+
64
+ // src/utils/extend-variants.ts
65
+ var import_system = require("@heroui/system");
66
+ var extendVariants = (component, config) => {
67
+ return (0, import_system.extendVariants)(component, config);
68
+ };
69
+
70
+ // src/ui/feedback/chip/chip.tsx
63
71
  var import_jsx_runtime2 = require("react/jsx-runtime");
72
+ var ChipCustom = extendVariants(import_chip.Chip, {
73
+ variants: {
74
+ variant: {
75
+ bordered: { base: "border-1" },
76
+ faded: { base: "border-1" },
77
+ dot: { base: "border-1" }
78
+ }
79
+ }
80
+ });
64
81
  var Chip = import_react2.default.forwardRef(({ variant = "flat", ...props }, ref) => {
65
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_chip.Chip, { ref, variant, ...props });
82
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ChipCustom, { ref, variant, ...props });
66
83
  });
67
84
  Chip.displayName = "TeachInUI.Chip";
68
85
 
@@ -1,15 +1,5 @@
1
1
  "use client";
2
2
  import "../../chunk-AR4IYKG5.mjs";
3
- import {
4
- Toast,
5
- ToastProvider,
6
- addToast,
7
- closeAll,
8
- closeToast,
9
- getToastQueue,
10
- isToastClosing,
11
- useToast
12
- } from "../../chunk-CA2EAK5M.mjs";
13
3
  import "../../chunk-U4FAPNVK.mjs";
14
4
  import {
15
5
  CircularProgress
@@ -21,6 +11,16 @@ import "../../chunk-WZDFBWUL.mjs";
21
11
  import {
22
12
  Spinner
23
13
  } from "../../chunk-ZXCQ73RT.mjs";
14
+ import {
15
+ Toast,
16
+ ToastProvider,
17
+ addToast,
18
+ closeAll,
19
+ closeToast,
20
+ getToastQueue,
21
+ isToastClosing,
22
+ useToast
23
+ } from "../../chunk-CA2EAK5M.mjs";
24
24
  import "../../chunk-3BST3PYD.mjs";
25
25
  import {
26
26
  Tooltip
@@ -32,7 +32,9 @@ import {
32
32
  import "../../chunk-K3WTHFIG.mjs";
33
33
  import {
34
34
  Chip
35
- } from "../../chunk-ONQIPN3G.mjs";
35
+ } from "../../chunk-EEGPGLDC.mjs";
36
+ import "../../chunk-Q2ILWL7L.mjs";
37
+ import "../../chunk-7BTEKEON.mjs";
36
38
  export {
37
39
  Alert,
38
40
  Chip,
@@ -106,21 +106,33 @@ var import_react6 = __toESM(require("react"));
106
106
  var import_select = require("@heroui/select");
107
107
  var import_jsx_runtime6 = require("react/jsx-runtime");
108
108
  var Select = import_react6.default.forwardRef(
109
- ({ value, items, onChange, ...props }, ref) => {
110
- const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
109
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
110
+ const isMultiple = selectionMode === "multiple";
111
+ const selectedKeys = import_react6.default.useMemo(() => {
112
+ if (value == null) return /* @__PURE__ */ new Set();
113
+ return new Set(Array.isArray(value) ? value : [value]);
114
+ }, [value]);
115
+ const handleSelectionChange = import_react6.default.useCallback(
116
+ (keys) => {
117
+ var _a;
118
+ if (keys === "all") return;
119
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
120
+ if (isMultiple) {
121
+ onChange == null ? void 0 : onChange(selected);
122
+ } else {
123
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
124
+ }
125
+ },
126
+ [onChange, isMultiple]
127
+ );
111
128
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
112
129
  import_select.Select,
113
130
  {
114
131
  ref,
115
132
  items,
116
- placeholder: " ",
117
133
  selectedKeys,
118
- onSelectionChange: (keys) => {
119
- const selected = Array.from(keys)[0];
120
- if (typeof selected === "string") {
121
- onChange == null ? void 0 : onChange(selected);
122
- }
123
- },
134
+ selectionMode,
135
+ onSelectionChange: handleSelectionChange,
124
136
  ...props,
125
137
  children: (item) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_select.SelectItem, { children: item.label }, item.key)
126
138
  }
@@ -243,7 +255,7 @@ TextareaField.displayName = "TeachInUI.TextareaField";
243
255
  // src/ui/form/rhf/fields/select-field.tsx
244
256
  var import_react_hook_form5 = require("react-hook-form");
245
257
  var import_jsx_runtime15 = require("react/jsx-runtime");
246
- function SelectField({ name, ...props }) {
258
+ function SelectField({ name, selectionMode, ...props }) {
247
259
  const { control } = (0, import_react_hook_form5.useFormContext)();
248
260
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
249
261
  import_react_hook_form5.Controller,
@@ -253,6 +265,7 @@ function SelectField({ name, ...props }) {
253
265
  render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
254
266
  Select,
255
267
  {
268
+ selectionMode,
256
269
  value: field.value,
257
270
  onChange: (value) => field.onChange(value),
258
271
  ...props,
@@ -10,7 +10,7 @@ import {
10
10
  } from "../../chunk-W2A6C27Y.mjs";
11
11
  import {
12
12
  SelectField
13
- } from "../../chunk-GEJLG5RP.mjs";
13
+ } from "../../chunk-NLHQDWUK.mjs";
14
14
  import {
15
15
  SwitchField
16
16
  } from "../../chunk-EC3NSPHR.mjs";
@@ -33,29 +33,29 @@ import {
33
33
  EmailField
34
34
  } from "../../chunk-R7LDL5CU.mjs";
35
35
  import "../../chunk-CZEO3U25.mjs";
36
+ import "../../chunk-DUQFM3QS.mjs";
37
+ import "../../chunk-KTUGFQWJ.mjs";
36
38
  import "../../chunk-LLP2PTPK.mjs";
37
39
  import "../../chunk-E5QSNLSR.mjs";
38
40
  import "../../chunk-N3EAW6UO.mjs";
39
- import "../../chunk-RRA7GWP2.mjs";
40
- import "../../chunk-NOXFF2KJ.mjs";
41
- import "../../chunk-2SNKT7I4.mjs";
42
- import "../../chunk-DUQFM3QS.mjs";
43
- import "../../chunk-KTUGFQWJ.mjs";
44
41
  import "../../chunk-5HK7HRTR.mjs";
45
42
  import "../../chunk-HJUZTISD.mjs";
46
43
  import "../../chunk-V3KKDSQP.mjs";
47
- import "../../chunk-V2HNFTTX.mjs";
48
- import "../../chunk-IAJ6G633.mjs";
44
+ import "../../chunk-LJIVY6GU.mjs";
45
+ import "../../chunk-ZRHEFEFS.mjs";
46
+ import "../../chunk-V2G5QHZZ.mjs";
49
47
  import "../../chunk-AQ3ISJKU.mjs";
50
- import "../../chunk-GQ3LBZ2Q.mjs";
48
+ import "../../chunk-3YOW5DEZ.mjs";
49
+ import "../../chunk-RRA7GWP2.mjs";
50
+ import "../../chunk-2SNKT7I4.mjs";
51
+ import "../../chunk-NOXFF2KJ.mjs";
51
52
  import "../../chunk-WYJW5NNA.mjs";
52
53
  import "../../chunk-C3MURCMZ.mjs";
54
+ import "../../chunk-V2HNFTTX.mjs";
55
+ import "../../chunk-IAJ6G633.mjs";
53
56
  import "../../chunk-UUKS7JYX.mjs";
54
57
  import "../../chunk-C4PCTOGM.mjs";
55
58
  import "../../chunk-N3QOXWJI.mjs";
56
- import "../../chunk-LJIVY6GU.mjs";
57
- import "../../chunk-ZRHEFEFS.mjs";
58
- import "../../chunk-V2G5QHZZ.mjs";
59
59
  import {
60
60
  Form
61
61
  } from "../../chunk-A3AAC7PF.mjs";
@@ -3,29 +3,29 @@ import {
3
3
  AutocompleteField
4
4
  } from "../../../../chunk-S3ET5HKP.mjs";
5
5
  import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-DUQFM3QS.mjs";
7
+ import "../../../../chunk-KTUGFQWJ.mjs";
6
8
  import "../../../../chunk-LLP2PTPK.mjs";
7
9
  import "../../../../chunk-E5QSNLSR.mjs";
8
10
  import "../../../../chunk-N3EAW6UO.mjs";
9
- import "../../../../chunk-RRA7GWP2.mjs";
10
- import "../../../../chunk-NOXFF2KJ.mjs";
11
- import "../../../../chunk-2SNKT7I4.mjs";
12
- import "../../../../chunk-DUQFM3QS.mjs";
13
- import "../../../../chunk-KTUGFQWJ.mjs";
14
11
  import "../../../../chunk-5HK7HRTR.mjs";
15
12
  import "../../../../chunk-HJUZTISD.mjs";
16
13
  import "../../../../chunk-V3KKDSQP.mjs";
17
- import "../../../../chunk-V2HNFTTX.mjs";
18
- import "../../../../chunk-IAJ6G633.mjs";
14
+ import "../../../../chunk-LJIVY6GU.mjs";
15
+ import "../../../../chunk-ZRHEFEFS.mjs";
16
+ import "../../../../chunk-V2G5QHZZ.mjs";
19
17
  import "../../../../chunk-AQ3ISJKU.mjs";
20
- import "../../../../chunk-GQ3LBZ2Q.mjs";
18
+ import "../../../../chunk-3YOW5DEZ.mjs";
19
+ import "../../../../chunk-RRA7GWP2.mjs";
20
+ import "../../../../chunk-2SNKT7I4.mjs";
21
+ import "../../../../chunk-NOXFF2KJ.mjs";
21
22
  import "../../../../chunk-WYJW5NNA.mjs";
22
23
  import "../../../../chunk-C3MURCMZ.mjs";
24
+ import "../../../../chunk-V2HNFTTX.mjs";
25
+ import "../../../../chunk-IAJ6G633.mjs";
23
26
  import "../../../../chunk-UUKS7JYX.mjs";
24
27
  import "../../../../chunk-C4PCTOGM.mjs";
25
28
  import "../../../../chunk-N3QOXWJI.mjs";
26
- import "../../../../chunk-LJIVY6GU.mjs";
27
- import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-V2G5QHZZ.mjs";
29
29
  export {
30
30
  AutocompleteField
31
31
  };
@@ -3,29 +3,29 @@ import {
3
3
  CheckboxField
4
4
  } from "../../../../chunk-MCZBJUTN.mjs";
5
5
  import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-DUQFM3QS.mjs";
7
+ import "../../../../chunk-KTUGFQWJ.mjs";
6
8
  import "../../../../chunk-LLP2PTPK.mjs";
7
9
  import "../../../../chunk-E5QSNLSR.mjs";
8
10
  import "../../../../chunk-N3EAW6UO.mjs";
9
- import "../../../../chunk-RRA7GWP2.mjs";
10
- import "../../../../chunk-NOXFF2KJ.mjs";
11
- import "../../../../chunk-2SNKT7I4.mjs";
12
- import "../../../../chunk-DUQFM3QS.mjs";
13
- import "../../../../chunk-KTUGFQWJ.mjs";
14
11
  import "../../../../chunk-5HK7HRTR.mjs";
15
12
  import "../../../../chunk-HJUZTISD.mjs";
16
13
  import "../../../../chunk-V3KKDSQP.mjs";
17
- import "../../../../chunk-V2HNFTTX.mjs";
18
- import "../../../../chunk-IAJ6G633.mjs";
14
+ import "../../../../chunk-LJIVY6GU.mjs";
15
+ import "../../../../chunk-ZRHEFEFS.mjs";
16
+ import "../../../../chunk-V2G5QHZZ.mjs";
19
17
  import "../../../../chunk-AQ3ISJKU.mjs";
20
- import "../../../../chunk-GQ3LBZ2Q.mjs";
18
+ import "../../../../chunk-3YOW5DEZ.mjs";
19
+ import "../../../../chunk-RRA7GWP2.mjs";
20
+ import "../../../../chunk-2SNKT7I4.mjs";
21
+ import "../../../../chunk-NOXFF2KJ.mjs";
21
22
  import "../../../../chunk-WYJW5NNA.mjs";
22
23
  import "../../../../chunk-C3MURCMZ.mjs";
24
+ import "../../../../chunk-V2HNFTTX.mjs";
25
+ import "../../../../chunk-IAJ6G633.mjs";
23
26
  import "../../../../chunk-UUKS7JYX.mjs";
24
27
  import "../../../../chunk-C4PCTOGM.mjs";
25
28
  import "../../../../chunk-N3QOXWJI.mjs";
26
- import "../../../../chunk-LJIVY6GU.mjs";
27
- import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-V2G5QHZZ.mjs";
29
29
  export {
30
30
  CheckboxField
31
31
  };
@@ -3,29 +3,29 @@ import {
3
3
  DatePickerField
4
4
  } from "../../../../chunk-7GHK5XYK.mjs";
5
5
  import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-DUQFM3QS.mjs";
7
+ import "../../../../chunk-KTUGFQWJ.mjs";
6
8
  import "../../../../chunk-LLP2PTPK.mjs";
7
9
  import "../../../../chunk-E5QSNLSR.mjs";
8
10
  import "../../../../chunk-N3EAW6UO.mjs";
9
- import "../../../../chunk-RRA7GWP2.mjs";
10
- import "../../../../chunk-NOXFF2KJ.mjs";
11
- import "../../../../chunk-2SNKT7I4.mjs";
12
- import "../../../../chunk-DUQFM3QS.mjs";
13
- import "../../../../chunk-KTUGFQWJ.mjs";
14
11
  import "../../../../chunk-5HK7HRTR.mjs";
15
12
  import "../../../../chunk-HJUZTISD.mjs";
16
13
  import "../../../../chunk-V3KKDSQP.mjs";
17
- import "../../../../chunk-V2HNFTTX.mjs";
18
- import "../../../../chunk-IAJ6G633.mjs";
14
+ import "../../../../chunk-LJIVY6GU.mjs";
15
+ import "../../../../chunk-ZRHEFEFS.mjs";
16
+ import "../../../../chunk-V2G5QHZZ.mjs";
19
17
  import "../../../../chunk-AQ3ISJKU.mjs";
20
- import "../../../../chunk-GQ3LBZ2Q.mjs";
18
+ import "../../../../chunk-3YOW5DEZ.mjs";
19
+ import "../../../../chunk-RRA7GWP2.mjs";
20
+ import "../../../../chunk-2SNKT7I4.mjs";
21
+ import "../../../../chunk-NOXFF2KJ.mjs";
21
22
  import "../../../../chunk-WYJW5NNA.mjs";
22
23
  import "../../../../chunk-C3MURCMZ.mjs";
24
+ import "../../../../chunk-V2HNFTTX.mjs";
25
+ import "../../../../chunk-IAJ6G633.mjs";
23
26
  import "../../../../chunk-UUKS7JYX.mjs";
24
27
  import "../../../../chunk-C4PCTOGM.mjs";
25
28
  import "../../../../chunk-N3QOXWJI.mjs";
26
- import "../../../../chunk-LJIVY6GU.mjs";
27
- import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-V2G5QHZZ.mjs";
29
29
  export {
30
30
  DatePickerField
31
31
  };
@@ -3,29 +3,29 @@ import {
3
3
  EmailField
4
4
  } from "../../../../chunk-R7LDL5CU.mjs";
5
5
  import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-DUQFM3QS.mjs";
7
+ import "../../../../chunk-KTUGFQWJ.mjs";
6
8
  import "../../../../chunk-LLP2PTPK.mjs";
7
9
  import "../../../../chunk-E5QSNLSR.mjs";
8
10
  import "../../../../chunk-N3EAW6UO.mjs";
9
- import "../../../../chunk-RRA7GWP2.mjs";
10
- import "../../../../chunk-NOXFF2KJ.mjs";
11
- import "../../../../chunk-2SNKT7I4.mjs";
12
- import "../../../../chunk-DUQFM3QS.mjs";
13
- import "../../../../chunk-KTUGFQWJ.mjs";
14
11
  import "../../../../chunk-5HK7HRTR.mjs";
15
12
  import "../../../../chunk-HJUZTISD.mjs";
16
13
  import "../../../../chunk-V3KKDSQP.mjs";
17
- import "../../../../chunk-V2HNFTTX.mjs";
18
- import "../../../../chunk-IAJ6G633.mjs";
14
+ import "../../../../chunk-LJIVY6GU.mjs";
15
+ import "../../../../chunk-ZRHEFEFS.mjs";
16
+ import "../../../../chunk-V2G5QHZZ.mjs";
19
17
  import "../../../../chunk-AQ3ISJKU.mjs";
20
- import "../../../../chunk-GQ3LBZ2Q.mjs";
18
+ import "../../../../chunk-3YOW5DEZ.mjs";
19
+ import "../../../../chunk-RRA7GWP2.mjs";
20
+ import "../../../../chunk-2SNKT7I4.mjs";
21
+ import "../../../../chunk-NOXFF2KJ.mjs";
21
22
  import "../../../../chunk-WYJW5NNA.mjs";
22
23
  import "../../../../chunk-C3MURCMZ.mjs";
24
+ import "../../../../chunk-V2HNFTTX.mjs";
25
+ import "../../../../chunk-IAJ6G633.mjs";
23
26
  import "../../../../chunk-UUKS7JYX.mjs";
24
27
  import "../../../../chunk-C4PCTOGM.mjs";
25
28
  import "../../../../chunk-N3QOXWJI.mjs";
26
- import "../../../../chunk-LJIVY6GU.mjs";
27
- import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-V2G5QHZZ.mjs";
29
29
  export {
30
30
  EmailField
31
31
  };
@@ -105,21 +105,33 @@ var import_react6 = __toESM(require("react"));
105
105
  var import_select = require("@heroui/select");
106
106
  var import_jsx_runtime6 = require("react/jsx-runtime");
107
107
  var Select = import_react6.default.forwardRef(
108
- ({ value, items, onChange, ...props }, ref) => {
109
- const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
108
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
109
+ const isMultiple = selectionMode === "multiple";
110
+ const selectedKeys = import_react6.default.useMemo(() => {
111
+ if (value == null) return /* @__PURE__ */ new Set();
112
+ return new Set(Array.isArray(value) ? value : [value]);
113
+ }, [value]);
114
+ const handleSelectionChange = import_react6.default.useCallback(
115
+ (keys) => {
116
+ var _a;
117
+ if (keys === "all") return;
118
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
119
+ if (isMultiple) {
120
+ onChange == null ? void 0 : onChange(selected);
121
+ } else {
122
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
123
+ }
124
+ },
125
+ [onChange, isMultiple]
126
+ );
110
127
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
111
128
  import_select.Select,
112
129
  {
113
130
  ref,
114
131
  items,
115
- placeholder: " ",
116
132
  selectedKeys,
117
- onSelectionChange: (keys) => {
118
- const selected = Array.from(keys)[0];
119
- if (typeof selected === "string") {
120
- onChange == null ? void 0 : onChange(selected);
121
- }
122
- },
133
+ selectionMode,
134
+ onSelectionChange: handleSelectionChange,
123
135
  ...props,
124
136
  children: (item) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_select.SelectItem, { children: item.label }, item.key)
125
137
  }
@@ -242,7 +254,7 @@ TextareaField.displayName = "TeachInUI.TextareaField";
242
254
  // src/ui/form/rhf/fields/select-field.tsx
243
255
  var import_react_hook_form5 = require("react-hook-form");
244
256
  var import_jsx_runtime15 = require("react/jsx-runtime");
245
- function SelectField({ name, ...props }) {
257
+ function SelectField({ name, selectionMode, ...props }) {
246
258
  const { control } = (0, import_react_hook_form5.useFormContext)();
247
259
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
248
260
  import_react_hook_form5.Controller,
@@ -252,6 +264,7 @@ function SelectField({ name, ...props }) {
252
264
  render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
253
265
  Select,
254
266
  {
267
+ selectionMode,
255
268
  value: field.value,
256
269
  onChange: (value) => field.onChange(value),
257
270
  ...props,
@@ -8,7 +8,7 @@ import {
8
8
  } from "../../../../chunk-W2A6C27Y.mjs";
9
9
  import {
10
10
  SelectField
11
- } from "../../../../chunk-GEJLG5RP.mjs";
11
+ } from "../../../../chunk-NLHQDWUK.mjs";
12
12
  import {
13
13
  SwitchField
14
14
  } from "../../../../chunk-EC3NSPHR.mjs";
@@ -31,29 +31,29 @@ import {
31
31
  EmailField
32
32
  } from "../../../../chunk-R7LDL5CU.mjs";
33
33
  import "../../../../chunk-CZEO3U25.mjs";
34
+ import "../../../../chunk-DUQFM3QS.mjs";
35
+ import "../../../../chunk-KTUGFQWJ.mjs";
34
36
  import "../../../../chunk-LLP2PTPK.mjs";
35
37
  import "../../../../chunk-E5QSNLSR.mjs";
36
38
  import "../../../../chunk-N3EAW6UO.mjs";
37
- import "../../../../chunk-RRA7GWP2.mjs";
38
- import "../../../../chunk-NOXFF2KJ.mjs";
39
- import "../../../../chunk-2SNKT7I4.mjs";
40
- import "../../../../chunk-DUQFM3QS.mjs";
41
- import "../../../../chunk-KTUGFQWJ.mjs";
42
39
  import "../../../../chunk-5HK7HRTR.mjs";
43
40
  import "../../../../chunk-HJUZTISD.mjs";
44
41
  import "../../../../chunk-V3KKDSQP.mjs";
45
- import "../../../../chunk-V2HNFTTX.mjs";
46
- import "../../../../chunk-IAJ6G633.mjs";
42
+ import "../../../../chunk-LJIVY6GU.mjs";
43
+ import "../../../../chunk-ZRHEFEFS.mjs";
44
+ import "../../../../chunk-V2G5QHZZ.mjs";
47
45
  import "../../../../chunk-AQ3ISJKU.mjs";
48
- import "../../../../chunk-GQ3LBZ2Q.mjs";
46
+ import "../../../../chunk-3YOW5DEZ.mjs";
47
+ import "../../../../chunk-RRA7GWP2.mjs";
48
+ import "../../../../chunk-2SNKT7I4.mjs";
49
+ import "../../../../chunk-NOXFF2KJ.mjs";
49
50
  import "../../../../chunk-WYJW5NNA.mjs";
50
51
  import "../../../../chunk-C3MURCMZ.mjs";
52
+ import "../../../../chunk-V2HNFTTX.mjs";
53
+ import "../../../../chunk-IAJ6G633.mjs";
51
54
  import "../../../../chunk-UUKS7JYX.mjs";
52
55
  import "../../../../chunk-C4PCTOGM.mjs";
53
56
  import "../../../../chunk-N3QOXWJI.mjs";
54
- import "../../../../chunk-LJIVY6GU.mjs";
55
- import "../../../../chunk-ZRHEFEFS.mjs";
56
- import "../../../../chunk-V2G5QHZZ.mjs";
57
57
  export {
58
58
  AutocompleteField,
59
59
  CheckboxField,
@@ -3,29 +3,29 @@ import {
3
3
  InputField
4
4
  } from "../../../../chunk-JDFRAN4S.mjs";
5
5
  import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-DUQFM3QS.mjs";
7
+ import "../../../../chunk-KTUGFQWJ.mjs";
6
8
  import "../../../../chunk-LLP2PTPK.mjs";
7
9
  import "../../../../chunk-E5QSNLSR.mjs";
8
10
  import "../../../../chunk-N3EAW6UO.mjs";
9
- import "../../../../chunk-RRA7GWP2.mjs";
10
- import "../../../../chunk-NOXFF2KJ.mjs";
11
- import "../../../../chunk-2SNKT7I4.mjs";
12
- import "../../../../chunk-DUQFM3QS.mjs";
13
- import "../../../../chunk-KTUGFQWJ.mjs";
14
11
  import "../../../../chunk-5HK7HRTR.mjs";
15
12
  import "../../../../chunk-HJUZTISD.mjs";
16
13
  import "../../../../chunk-V3KKDSQP.mjs";
17
- import "../../../../chunk-V2HNFTTX.mjs";
18
- import "../../../../chunk-IAJ6G633.mjs";
14
+ import "../../../../chunk-LJIVY6GU.mjs";
15
+ import "../../../../chunk-ZRHEFEFS.mjs";
16
+ import "../../../../chunk-V2G5QHZZ.mjs";
19
17
  import "../../../../chunk-AQ3ISJKU.mjs";
20
- import "../../../../chunk-GQ3LBZ2Q.mjs";
18
+ import "../../../../chunk-3YOW5DEZ.mjs";
19
+ import "../../../../chunk-RRA7GWP2.mjs";
20
+ import "../../../../chunk-2SNKT7I4.mjs";
21
+ import "../../../../chunk-NOXFF2KJ.mjs";
21
22
  import "../../../../chunk-WYJW5NNA.mjs";
22
23
  import "../../../../chunk-C3MURCMZ.mjs";
24
+ import "../../../../chunk-V2HNFTTX.mjs";
25
+ import "../../../../chunk-IAJ6G633.mjs";
23
26
  import "../../../../chunk-UUKS7JYX.mjs";
24
27
  import "../../../../chunk-C4PCTOGM.mjs";
25
28
  import "../../../../chunk-N3QOXWJI.mjs";
26
- import "../../../../chunk-LJIVY6GU.mjs";
27
- import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-V2G5QHZZ.mjs";
29
29
  export {
30
30
  InputField
31
31
  };