@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
@@ -3,29 +3,29 @@ import {
3
3
  RadioField
4
4
  } from "../../../../chunk-W2A6C27Y.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
  RadioField
31
31
  };
@@ -1,9 +1,14 @@
1
1
  import type { SelectProps } from "../../../inputs";
2
2
  import React from "react";
3
- interface Props extends Omit<SelectProps, "name" | "errorMessage" | "isInvalid" | "value" | "onChange"> {
3
+ type BaseProps = Omit<SelectProps, "name" | "errorMessage" | "isInvalid" | "value" | "onChange">;
4
+ export type SelectFieldProps = (Omit<BaseProps, "selectionMode"> & {
4
5
  readonly name: string;
5
- }
6
- export declare function SelectField({ name, ...props }: Props): React.JSX.Element;
6
+ selectionMode?: "single";
7
+ }) | (Omit<BaseProps, "selectionMode"> & {
8
+ readonly name: string;
9
+ selectionMode: "multiple";
10
+ });
11
+ export declare function SelectField({ name, selectionMode, ...props }: SelectFieldProps): React.JSX.Element;
7
12
  export declare namespace SelectField {
8
13
  var displayName: string;
9
14
  }
@@ -41,21 +41,33 @@ var import_react = __toESM(require("react"));
41
41
  var import_select = require("@heroui/select");
42
42
  var import_jsx_runtime = require("react/jsx-runtime");
43
43
  var Select = import_react.default.forwardRef(
44
- ({ value, items, onChange, ...props }, ref) => {
45
- const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
44
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
45
+ const isMultiple = selectionMode === "multiple";
46
+ const selectedKeys = import_react.default.useMemo(() => {
47
+ if (value == null) return /* @__PURE__ */ new Set();
48
+ return new Set(Array.isArray(value) ? value : [value]);
49
+ }, [value]);
50
+ const handleSelectionChange = import_react.default.useCallback(
51
+ (keys) => {
52
+ var _a;
53
+ if (keys === "all") return;
54
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
55
+ if (isMultiple) {
56
+ onChange == null ? void 0 : onChange(selected);
57
+ } else {
58
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
59
+ }
60
+ },
61
+ [onChange, isMultiple]
62
+ );
46
63
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
47
64
  import_select.Select,
48
65
  {
49
66
  ref,
50
67
  items,
51
- placeholder: " ",
52
68
  selectedKeys,
53
- onSelectionChange: (keys) => {
54
- const selected = Array.from(keys)[0];
55
- if (typeof selected === "string") {
56
- onChange == null ? void 0 : onChange(selected);
57
- }
58
- },
69
+ selectionMode,
70
+ onSelectionChange: handleSelectionChange,
59
71
  ...props,
60
72
  children: (item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_select.SelectItem, { children: item.label }, item.key)
61
73
  }
@@ -66,7 +78,7 @@ Select.displayName = "TeachInUI.Select";
66
78
 
67
79
  // src/ui/form/rhf/fields/select-field.tsx
68
80
  var import_jsx_runtime2 = require("react/jsx-runtime");
69
- function SelectField({ name, ...props }) {
81
+ function SelectField({ name, selectionMode, ...props }) {
70
82
  const { control } = (0, import_react_hook_form.useFormContext)();
71
83
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
72
84
  import_react_hook_form.Controller,
@@ -76,6 +88,7 @@ function SelectField({ name, ...props }) {
76
88
  render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
77
89
  Select,
78
90
  {
91
+ selectionMode,
79
92
  value: field.value,
80
93
  onChange: (value) => field.onChange(value),
81
94
  ...props,
@@ -1,31 +1,31 @@
1
1
  "use client";
2
2
  import {
3
3
  SelectField
4
- } from "../../../../chunk-GEJLG5RP.mjs";
4
+ } from "../../../../chunk-NLHQDWUK.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
  SelectField
31
31
  };
@@ -3,29 +3,29 @@ import {
3
3
  SwitchField
4
4
  } from "../../../../chunk-EC3NSPHR.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
  SwitchField
31
31
  };
@@ -3,29 +3,29 @@ import {
3
3
  TextField
4
4
  } from "../../../../chunk-CETCW7DS.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
  TextField
31
31
  };
@@ -3,29 +3,29 @@ import {
3
3
  TextareaField
4
4
  } from "../../../../chunk-V4HKGJYK.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
  TextareaField
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,
@@ -9,7 +9,7 @@ import {
9
9
  } from "../../../chunk-W2A6C27Y.mjs";
10
10
  import {
11
11
  SelectField
12
- } from "../../../chunk-GEJLG5RP.mjs";
12
+ } from "../../../chunk-NLHQDWUK.mjs";
13
13
  import {
14
14
  SwitchField
15
15
  } from "../../../chunk-EC3NSPHR.mjs";
@@ -32,29 +32,29 @@ import {
32
32
  EmailField
33
33
  } from "../../../chunk-R7LDL5CU.mjs";
34
34
  import "../../../chunk-CZEO3U25.mjs";
35
+ import "../../../chunk-DUQFM3QS.mjs";
36
+ import "../../../chunk-KTUGFQWJ.mjs";
35
37
  import "../../../chunk-LLP2PTPK.mjs";
36
38
  import "../../../chunk-E5QSNLSR.mjs";
37
39
  import "../../../chunk-N3EAW6UO.mjs";
38
- import "../../../chunk-RRA7GWP2.mjs";
39
- import "../../../chunk-NOXFF2KJ.mjs";
40
- import "../../../chunk-2SNKT7I4.mjs";
41
- import "../../../chunk-DUQFM3QS.mjs";
42
- import "../../../chunk-KTUGFQWJ.mjs";
43
40
  import "../../../chunk-5HK7HRTR.mjs";
44
41
  import "../../../chunk-HJUZTISD.mjs";
45
42
  import "../../../chunk-V3KKDSQP.mjs";
46
- import "../../../chunk-V2HNFTTX.mjs";
47
- import "../../../chunk-IAJ6G633.mjs";
43
+ import "../../../chunk-LJIVY6GU.mjs";
44
+ import "../../../chunk-ZRHEFEFS.mjs";
45
+ import "../../../chunk-V2G5QHZZ.mjs";
48
46
  import "../../../chunk-AQ3ISJKU.mjs";
49
- import "../../../chunk-GQ3LBZ2Q.mjs";
47
+ import "../../../chunk-3YOW5DEZ.mjs";
48
+ import "../../../chunk-RRA7GWP2.mjs";
49
+ import "../../../chunk-2SNKT7I4.mjs";
50
+ import "../../../chunk-NOXFF2KJ.mjs";
50
51
  import "../../../chunk-WYJW5NNA.mjs";
51
52
  import "../../../chunk-C3MURCMZ.mjs";
53
+ import "../../../chunk-V2HNFTTX.mjs";
54
+ import "../../../chunk-IAJ6G633.mjs";
52
55
  import "../../../chunk-UUKS7JYX.mjs";
53
56
  import "../../../chunk-C4PCTOGM.mjs";
54
57
  import "../../../chunk-N3QOXWJI.mjs";
55
- import "../../../chunk-LJIVY6GU.mjs";
56
- import "../../../chunk-ZRHEFEFS.mjs";
57
- import "../../../chunk-V2G5QHZZ.mjs";
58
58
  export {
59
59
  AutocompleteField,
60
60
  CheckboxField,
@@ -1,14 +1,8 @@
1
1
  "use client";
2
2
  import "../../chunk-5IHVMMCK.mjs";
3
- import {
4
- Plural
5
- } from "../../chunk-UHLC7GOU.mjs";
6
3
  import {
7
4
  Time
8
5
  } from "../../chunk-3ZTXXJSO.mjs";
9
- import {
10
- Boolean
11
- } from "../../chunk-26RHRVH2.mjs";
12
6
  import {
13
7
  Currency
14
8
  } from "../../chunk-LN7WH3OB.mjs";
@@ -27,6 +21,12 @@ import {
27
21
  import {
28
22
  Percent
29
23
  } from "../../chunk-CXAZBWS4.mjs";
24
+ import {
25
+ Plural
26
+ } from "../../chunk-UHLC7GOU.mjs";
27
+ import {
28
+ Boolean
29
+ } from "../../chunk-26RHRVH2.mjs";
30
30
  export {
31
31
  Boolean as FormatBoolean,
32
32
  Currency as FormatCurrency,