@teach-in/react 1.2.0 → 1.3.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 (113) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +9 -9
  3. package/dist/chunk-3YOW5DEZ.mjs +45 -0
  4. package/dist/{chunk-QCLLPJMB.mjs → chunk-544SDU73.mjs} +2 -2
  5. package/dist/{chunk-2CEZXLZR.mjs → chunk-AFVGHUW2.mjs} +1 -1
  6. package/dist/{chunk-IU2JYI7W.mjs → chunk-CETCW7DS.mjs} +1 -1
  7. package/dist/{chunk-5FFWQB7D.mjs → chunk-JDFRAN4S.mjs} +2 -12
  8. package/dist/{chunk-KTWHCUYV.mjs → chunk-KTUGFQWJ.mjs} +1 -1
  9. package/dist/{chunk-46SKVFMZ.mjs → chunk-LJIVY6GU.mjs} +1 -1
  10. package/dist/{chunk-CKJ5U5Q4.mjs → chunk-NLHQDWUK.mjs} +1 -1
  11. package/dist/{chunk-R46SWVWL.mjs → chunk-R7LDL5CU.mjs} +1 -1
  12. package/dist/chunk-V2G5QHZZ.mjs +14 -0
  13. package/dist/{chunk-2ASQXBDD.mjs → chunk-WFNNN6WU.mjs} +1 -1
  14. package/dist/index.js +230 -575
  15. package/dist/index.mjs +125 -141
  16. package/dist/ui/data/index.mjs +8 -8
  17. package/dist/ui/feedback/index.mjs +14 -14
  18. package/dist/ui/form/index.js +106 -447
  19. package/dist/ui/form/index.mjs +21 -31
  20. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +14 -20
  21. package/dist/ui/form/rhf/fields/checkbox-field.mjs +14 -20
  22. package/dist/ui/form/rhf/fields/date-picker-field.mjs +14 -20
  23. package/dist/ui/form/rhf/fields/email-field.js +10 -147
  24. package/dist/ui/form/rhf/fields/email-field.mjs +15 -21
  25. package/dist/ui/form/rhf/fields/index.d.ts +0 -1
  26. package/dist/ui/form/rhf/fields/index.js +102 -443
  27. package/dist/ui/form/rhf/fields/index.mjs +21 -31
  28. package/dist/ui/form/rhf/fields/input-field.js +6 -153
  29. package/dist/ui/form/rhf/fields/input-field.mjs +15 -21
  30. package/dist/ui/form/rhf/fields/radio-field.mjs +14 -20
  31. package/dist/ui/form/rhf/fields/select-field.js +26 -136
  32. package/dist/ui/form/rhf/fields/select-field.mjs +15 -21
  33. package/dist/ui/form/rhf/fields/switch-field.mjs +14 -20
  34. package/dist/ui/form/rhf/fields/text-field.js +10 -147
  35. package/dist/ui/form/rhf/fields/text-field.mjs +15 -21
  36. package/dist/ui/form/rhf/fields/textarea-field.mjs +14 -20
  37. package/dist/ui/form/rhf/index.js +102 -443
  38. package/dist/ui/form/rhf/index.mjs +21 -31
  39. package/dist/ui/format/index.mjs +3 -3
  40. package/dist/ui/index.js +230 -575
  41. package/dist/ui/index.mjs +125 -141
  42. package/dist/ui/inputs/checkbox/index.mjs +3 -3
  43. package/dist/ui/inputs/email/email.js +7 -144
  44. package/dist/ui/inputs/email/email.mjs +2 -4
  45. package/dist/ui/inputs/email/index.js +7 -144
  46. package/dist/ui/inputs/email/index.mjs +2 -4
  47. package/dist/ui/inputs/index.d.ts +0 -2
  48. package/dist/ui/inputs/index.js +56 -363
  49. package/dist/ui/inputs/index.mjs +25 -37
  50. package/dist/ui/inputs/input/index.js +3 -140
  51. package/dist/ui/inputs/input/index.mjs +1 -3
  52. package/dist/ui/inputs/input/input.d.ts +0 -1
  53. package/dist/ui/inputs/input/input.js +3 -140
  54. package/dist/ui/inputs/input/input.mjs +1 -3
  55. package/dist/ui/inputs/select/index.js +22 -132
  56. package/dist/ui/inputs/select/index.mjs +1 -3
  57. package/dist/ui/inputs/select/select.d.ts +0 -4
  58. package/dist/ui/inputs/select/select.js +22 -132
  59. package/dist/ui/inputs/select/select.mjs +1 -3
  60. package/dist/ui/inputs/text/index.js +7 -144
  61. package/dist/ui/inputs/text/index.mjs +2 -4
  62. package/dist/ui/inputs/text/text.js +7 -144
  63. package/dist/ui/inputs/text/text.mjs +2 -4
  64. package/dist/ui/layout/container/container.mjs +64 -71
  65. package/dist/ui/layout/container/index.mjs +64 -71
  66. package/dist/ui/layout/index.mjs +69 -76
  67. package/dist/ui/layout/page/index.mjs +3 -3
  68. package/dist/ui/layout/page/page-loading.mjs +3 -3
  69. package/dist/ui/layout/page/section-loading.mjs +3 -3
  70. package/dist/ui/navigation/index.mjs +5 -5
  71. package/dist/ui/overlays/index.mjs +4 -4
  72. package/dist/ui/provider/index.mjs +3 -3
  73. package/dist/ui/provider/ui-provider.mjs +3 -3
  74. package/dist/ui/theme/colors/common.mjs +3 -3
  75. package/dist/ui/theme/colors/index.mjs +6 -6
  76. package/dist/ui/theme/colors/semantic.mjs +4 -4
  77. package/dist/ui/theme/colors.mjs +6 -6
  78. package/dist/ui/theme/index.mjs +6 -6
  79. package/dist/ui/theme/theme.mjs +6 -6
  80. package/package.json +1 -1
  81. package/dist/chunk-2UHA3DYG.mjs +0 -62
  82. package/dist/chunk-C2VWADF5.mjs +0 -34
  83. package/dist/chunk-CUEG2BFV.mjs +0 -34
  84. package/dist/chunk-MCQGBAUS.mjs +0 -73
  85. package/dist/chunk-NSU66J5E.mjs +0 -59
  86. package/dist/chunk-SEJXJZSK.mjs +0 -64
  87. package/dist/chunk-TUIN5YJW.mjs +0 -33
  88. package/dist/chunk-UQAG7TKJ.mjs +0 -1
  89. package/dist/chunk-VXYV37IM.mjs +0 -74
  90. package/dist/ui/form/rhf/fields/search-field.d.ts +0 -10
  91. package/dist/ui/form/rhf/fields/search-field.js +0 -296
  92. package/dist/ui/form/rhf/fields/search-field.mjs +0 -37
  93. package/dist/ui/inputs/clear-button.d.ts +0 -5
  94. package/dist/ui/inputs/clear-button.js +0 -67
  95. package/dist/ui/inputs/clear-button.mjs +0 -8
  96. package/dist/ui/inputs/input/use-input.d.ts +0 -19
  97. package/dist/ui/inputs/input/use-input.js +0 -82
  98. package/dist/ui/inputs/input/use-input.mjs +0 -7
  99. package/dist/ui/inputs/search/index.d.ts +0 -1
  100. package/dist/ui/inputs/search/index.js +0 -270
  101. package/dist/ui/inputs/search/index.mjs +0 -13
  102. package/dist/ui/inputs/search/search.d.ts +0 -7
  103. package/dist/ui/inputs/search/search.js +0 -268
  104. package/dist/ui/inputs/search/search.mjs +0 -12
  105. package/dist/ui/inputs/search/use-search.d.ts +0 -12
  106. package/dist/ui/inputs/search/use-search.js +0 -57
  107. package/dist/ui/inputs/search/use-search.mjs +0 -7
  108. package/dist/ui/inputs/select/use-select.d.ts +0 -17
  109. package/dist/ui/inputs/select/use-select.js +0 -85
  110. package/dist/ui/inputs/select/use-select.mjs +0 -7
  111. package/dist/{chunk-IXPMUODA.mjs → chunk-5WDV3PDI.mjs} +6 -6
  112. /package/dist/{chunk-5RNCFTW5.mjs → chunk-CZEO3U25.mjs} +0 -0
  113. /package/dist/{chunk-PTCNYQVY.mjs → chunk-Q6JSJOU4.mjs} +0 -0
@@ -1,23 +1,23 @@
1
1
  "use client";
2
- import "../../../../chunk-PTCNYQVY.mjs";
2
+ import "../../../../chunk-Q6JSJOU4.mjs";
3
+ import {
4
+ EmailField
5
+ } from "../../../../chunk-R7LDL5CU.mjs";
3
6
  import {
4
7
  InputField
5
- } from "../../../../chunk-5FFWQB7D.mjs";
8
+ } from "../../../../chunk-JDFRAN4S.mjs";
6
9
  import {
7
10
  RadioField
8
11
  } from "../../../../chunk-W2A6C27Y.mjs";
9
- import {
10
- SearchField
11
- } from "../../../../chunk-CUEG2BFV.mjs";
12
12
  import {
13
13
  SelectField
14
- } from "../../../../chunk-CKJ5U5Q4.mjs";
14
+ } from "../../../../chunk-NLHQDWUK.mjs";
15
15
  import {
16
16
  SwitchField
17
17
  } from "../../../../chunk-EC3NSPHR.mjs";
18
18
  import {
19
19
  TextField
20
- } from "../../../../chunk-IU2JYI7W.mjs";
20
+ } from "../../../../chunk-CETCW7DS.mjs";
21
21
  import {
22
22
  TextareaField
23
23
  } from "../../../../chunk-V4HKGJYK.mjs";
@@ -30,39 +30,30 @@ import {
30
30
  import {
31
31
  DatePickerField
32
32
  } from "../../../../chunk-7GHK5XYK.mjs";
33
- import {
34
- EmailField
35
- } from "../../../../chunk-R46SWVWL.mjs";
36
- import "../../../../chunk-UQAG7TKJ.mjs";
37
- import "../../../../chunk-DUQFM3QS.mjs";
38
- import "../../../../chunk-KTWHCUYV.mjs";
33
+ import "../../../../chunk-CZEO3U25.mjs";
34
+ import "../../../../chunk-5HK7HRTR.mjs";
35
+ import "../../../../chunk-HJUZTISD.mjs";
39
36
  import "../../../../chunk-LLP2PTPK.mjs";
40
37
  import "../../../../chunk-E5QSNLSR.mjs";
41
38
  import "../../../../chunk-N3EAW6UO.mjs";
42
- import "../../../../chunk-5HK7HRTR.mjs";
43
- import "../../../../chunk-HJUZTISD.mjs";
44
- import "../../../../chunk-V3KKDSQP.mjs";
45
- import "../../../../chunk-46SKVFMZ.mjs";
46
- import "../../../../chunk-AQ3ISJKU.mjs";
47
- import "../../../../chunk-VXYV37IM.mjs";
48
- import "../../../../chunk-2UHA3DYG.mjs";
49
- import "../../../../chunk-5RNCFTW5.mjs";
50
- import "../../../../chunk-SEJXJZSK.mjs";
51
- import "../../../../chunk-C2VWADF5.mjs";
52
- import "../../../../chunk-UUKS7JYX.mjs";
53
- import "../../../../chunk-V2HNFTTX.mjs";
54
- import "../../../../chunk-IAJ6G633.mjs";
55
39
  import "../../../../chunk-RRA7GWP2.mjs";
56
40
  import "../../../../chunk-NOXFF2KJ.mjs";
57
41
  import "../../../../chunk-2SNKT7I4.mjs";
42
+ import "../../../../chunk-DUQFM3QS.mjs";
43
+ import "../../../../chunk-KTUGFQWJ.mjs";
44
+ import "../../../../chunk-UUKS7JYX.mjs";
45
+ import "../../../../chunk-N3QOXWJI.mjs";
46
+ import "../../../../chunk-V3KKDSQP.mjs";
47
+ import "../../../../chunk-LJIVY6GU.mjs";
58
48
  import "../../../../chunk-ZRHEFEFS.mjs";
59
- import "../../../../chunk-MCQGBAUS.mjs";
60
- import "../../../../chunk-NSU66J5E.mjs";
49
+ import "../../../../chunk-V2G5QHZZ.mjs";
50
+ import "../../../../chunk-AQ3ISJKU.mjs";
51
+ import "../../../../chunk-3YOW5DEZ.mjs";
61
52
  import "../../../../chunk-WYJW5NNA.mjs";
62
53
  import "../../../../chunk-C3MURCMZ.mjs";
54
+ import "../../../../chunk-V2HNFTTX.mjs";
55
+ import "../../../../chunk-IAJ6G633.mjs";
63
56
  import "../../../../chunk-C4PCTOGM.mjs";
64
- import "../../../../chunk-N3QOXWJI.mjs";
65
- import "../../../../chunk-TUIN5YJW.mjs";
66
57
  export {
67
58
  AutocompleteField,
68
59
  CheckboxField,
@@ -70,7 +61,6 @@ export {
70
61
  EmailField,
71
62
  InputField,
72
63
  RadioField,
73
- SearchField,
74
64
  SelectField,
75
65
  SwitchField,
76
66
  TextField,
@@ -37,171 +37,24 @@ module.exports = __toCommonJS(input_field_exports);
37
37
  var import_react_hook_form = require("react-hook-form");
38
38
 
39
39
  // src/ui/inputs/input/input.tsx
40
- var import_react3 = __toESM(require("react"));
41
- var import_input = require("@heroui/input");
42
- var import_tailwind_variants = require("tailwind-variants");
43
-
44
- // src/ui/inputs/clear-button.tsx
45
40
  var import_react = __toESM(require("react"));
46
- var import_button = require("@heroui/button");
47
- var import_lucide_react = require("lucide-react");
41
+ var import_input = require("@heroui/input");
48
42
  var import_jsx_runtime = require("react/jsx-runtime");
49
- var ClearButton = import_react.default.forwardRef(
50
- ({ onClear }, ref) => {
51
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
52
- import_button.Button,
53
- {
54
- ref,
55
- isIconOnly: true,
56
- "aria-label": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
57
- as: "span",
58
- className: "opacity-0 transition-opacity group-hover:opacity-100",
59
- color: "default",
60
- radius: "full",
61
- size: "sm",
62
- tabIndex: 0,
63
- variant: "light",
64
- onPress: onClear,
65
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.XIcon, { className: "size-4 text-default-500" })
66
- }
67
- );
68
- }
69
- );
70
- ClearButton.displayName = "TeachInUI.ClearButton";
71
-
72
- // src/ui/inputs/input/use-input.ts
73
- var import_react2 = require("react");
74
- function useInput({
75
- value,
76
- defaultValue,
77
- onValueChange,
78
- onClear,
79
- isReadOnly,
80
- isClearable = true,
81
- ref
82
- }) {
83
- const inputRef = (0, import_react2.useRef)(null);
84
- const [internalValue, setInternalValue] = (0, import_react2.useState)(defaultValue != null ? defaultValue : "");
85
- const isControlled = value !== void 0;
86
- const currentValue = isControlled ? value : internalValue;
87
- const hasValue = String(currentValue).length > 0;
88
- const handleValueChange = (0, import_react2.useCallback)(
89
- (newValue) => {
90
- if (!isControlled) {
91
- setInternalValue(newValue);
92
- }
93
- onValueChange == null ? void 0 : onValueChange(newValue);
94
- },
95
- [isControlled, onValueChange]
96
- );
97
- const handleClear = (0, import_react2.useCallback)(() => {
98
- var _a;
99
- onClear == null ? void 0 : onClear();
100
- handleValueChange("");
101
- (_a = inputRef.current) == null ? void 0 : _a.focus();
102
- }, [onClear, handleValueChange]);
103
- const mergedRef = (0, import_react2.useCallback)(
104
- (node) => {
105
- inputRef.current = node;
106
- if (typeof ref === "function") {
107
- ref(node);
108
- } else if (ref) {
109
- ref.current = node;
110
- }
111
- },
112
- [ref]
113
- );
114
- const showClearButton = hasValue && !isReadOnly && isClearable;
115
- return {
116
- inputRef,
117
- currentValue,
118
- hasValue,
119
- handleValueChange,
120
- handleClear,
121
- mergedRef,
122
- showClearButton
123
- };
124
- }
125
-
126
- // src/ui/inputs/input/input.tsx
127
- var import_jsx_runtime2 = require("react/jsx-runtime");
128
- var inputWrapperVariants = (0, import_tailwind_variants.tv)({
129
- variants: {
130
- variant: {
131
- flat: "",
132
- underlined: "",
133
- bordered: "border-1",
134
- faded: "border-1"
135
- }
136
- }
43
+ var Input = import_react.default.forwardRef(({ ...props }, ref) => {
44
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_input.Input, { ref, ...props });
137
45
  });
138
- var Input = import_react3.default.forwardRef(
139
- ({
140
- value,
141
- defaultValue,
142
- onClear,
143
- onValueChange,
144
- variant,
145
- classNames,
146
- endContent,
147
- isReadOnly,
148
- isClearable,
149
- ...props
150
- }, ref) => {
151
- const { currentValue, handleValueChange, handleClear, mergedRef, showClearButton } = useInput({
152
- value,
153
- defaultValue,
154
- onValueChange,
155
- onClear,
156
- isReadOnly,
157
- isClearable,
158
- ref
159
- });
160
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
161
- import_input.Input,
162
- {
163
- ref: mergedRef,
164
- classNames: {
165
- ...classNames,
166
- inputWrapper: inputWrapperVariants({ variant }),
167
- innerWrapper: "group"
168
- },
169
- defaultValue,
170
- endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex items-center gap-1", children: [
171
- endContent,
172
- showClearButton && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ClearButton, { onClear: handleClear })
173
- ] }),
174
- isReadOnly,
175
- value: currentValue,
176
- variant,
177
- onValueChange: handleValueChange,
178
- ...props
179
- }
180
- );
181
- }
182
- );
183
46
  Input.displayName = "TeachInUI.Input";
184
47
 
185
48
  // src/ui/form/rhf/fields/input-field.tsx
186
- var import_jsx_runtime3 = require("react/jsx-runtime");
49
+ var import_jsx_runtime2 = require("react/jsx-runtime");
187
50
  function InputField({ name, ...props }) {
188
51
  const { control } = (0, import_react_hook_form.useFormContext)();
189
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
52
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
190
53
  import_react_hook_form.Controller,
191
54
  {
192
55
  control,
193
56
  name,
194
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
195
- Input,
196
- {
197
- ...props,
198
- ...field,
199
- ref,
200
- errorMessage: error == null ? void 0 : error.message,
201
- isInvalid: !!error,
202
- onValueChange: field.onChange
203
- }
204
- )
57
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Input, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
205
58
  }
206
59
  );
207
60
  }
@@ -1,37 +1,31 @@
1
1
  "use client";
2
2
  import {
3
3
  InputField
4
- } from "../../../../chunk-5FFWQB7D.mjs";
5
- import "../../../../chunk-UQAG7TKJ.mjs";
6
- import "../../../../chunk-DUQFM3QS.mjs";
7
- import "../../../../chunk-KTWHCUYV.mjs";
4
+ } from "../../../../chunk-JDFRAN4S.mjs";
5
+ import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-5HK7HRTR.mjs";
7
+ import "../../../../chunk-HJUZTISD.mjs";
8
8
  import "../../../../chunk-LLP2PTPK.mjs";
9
9
  import "../../../../chunk-E5QSNLSR.mjs";
10
10
  import "../../../../chunk-N3EAW6UO.mjs";
11
- import "../../../../chunk-5HK7HRTR.mjs";
12
- import "../../../../chunk-HJUZTISD.mjs";
13
- import "../../../../chunk-V3KKDSQP.mjs";
14
- import "../../../../chunk-46SKVFMZ.mjs";
15
- import "../../../../chunk-AQ3ISJKU.mjs";
16
- import "../../../../chunk-VXYV37IM.mjs";
17
- import "../../../../chunk-2UHA3DYG.mjs";
18
- import "../../../../chunk-5RNCFTW5.mjs";
19
- import "../../../../chunk-SEJXJZSK.mjs";
20
- import "../../../../chunk-C2VWADF5.mjs";
21
- import "../../../../chunk-UUKS7JYX.mjs";
22
- import "../../../../chunk-V2HNFTTX.mjs";
23
- import "../../../../chunk-IAJ6G633.mjs";
24
11
  import "../../../../chunk-RRA7GWP2.mjs";
25
12
  import "../../../../chunk-NOXFF2KJ.mjs";
26
13
  import "../../../../chunk-2SNKT7I4.mjs";
14
+ import "../../../../chunk-DUQFM3QS.mjs";
15
+ import "../../../../chunk-KTUGFQWJ.mjs";
16
+ import "../../../../chunk-UUKS7JYX.mjs";
17
+ import "../../../../chunk-N3QOXWJI.mjs";
18
+ import "../../../../chunk-V3KKDSQP.mjs";
19
+ import "../../../../chunk-LJIVY6GU.mjs";
27
20
  import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-MCQGBAUS.mjs";
29
- import "../../../../chunk-NSU66J5E.mjs";
21
+ import "../../../../chunk-V2G5QHZZ.mjs";
22
+ import "../../../../chunk-AQ3ISJKU.mjs";
23
+ import "../../../../chunk-3YOW5DEZ.mjs";
30
24
  import "../../../../chunk-WYJW5NNA.mjs";
31
25
  import "../../../../chunk-C3MURCMZ.mjs";
26
+ import "../../../../chunk-V2HNFTTX.mjs";
27
+ import "../../../../chunk-IAJ6G633.mjs";
32
28
  import "../../../../chunk-C4PCTOGM.mjs";
33
- import "../../../../chunk-N3QOXWJI.mjs";
34
- import "../../../../chunk-TUIN5YJW.mjs";
35
29
  export {
36
30
  InputField
37
31
  };
@@ -2,36 +2,30 @@
2
2
  import {
3
3
  RadioField
4
4
  } from "../../../../chunk-W2A6C27Y.mjs";
5
- import "../../../../chunk-UQAG7TKJ.mjs";
6
- import "../../../../chunk-DUQFM3QS.mjs";
7
- import "../../../../chunk-KTWHCUYV.mjs";
5
+ import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-5HK7HRTR.mjs";
7
+ import "../../../../chunk-HJUZTISD.mjs";
8
8
  import "../../../../chunk-LLP2PTPK.mjs";
9
9
  import "../../../../chunk-E5QSNLSR.mjs";
10
10
  import "../../../../chunk-N3EAW6UO.mjs";
11
- import "../../../../chunk-5HK7HRTR.mjs";
12
- import "../../../../chunk-HJUZTISD.mjs";
13
- import "../../../../chunk-V3KKDSQP.mjs";
14
- import "../../../../chunk-46SKVFMZ.mjs";
15
- import "../../../../chunk-AQ3ISJKU.mjs";
16
- import "../../../../chunk-VXYV37IM.mjs";
17
- import "../../../../chunk-2UHA3DYG.mjs";
18
- import "../../../../chunk-5RNCFTW5.mjs";
19
- import "../../../../chunk-SEJXJZSK.mjs";
20
- import "../../../../chunk-C2VWADF5.mjs";
21
- import "../../../../chunk-UUKS7JYX.mjs";
22
- import "../../../../chunk-V2HNFTTX.mjs";
23
- import "../../../../chunk-IAJ6G633.mjs";
24
11
  import "../../../../chunk-RRA7GWP2.mjs";
25
12
  import "../../../../chunk-NOXFF2KJ.mjs";
26
13
  import "../../../../chunk-2SNKT7I4.mjs";
14
+ import "../../../../chunk-DUQFM3QS.mjs";
15
+ import "../../../../chunk-KTUGFQWJ.mjs";
16
+ import "../../../../chunk-UUKS7JYX.mjs";
17
+ import "../../../../chunk-N3QOXWJI.mjs";
18
+ import "../../../../chunk-V3KKDSQP.mjs";
19
+ import "../../../../chunk-LJIVY6GU.mjs";
27
20
  import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-MCQGBAUS.mjs";
29
- import "../../../../chunk-NSU66J5E.mjs";
21
+ import "../../../../chunk-V2G5QHZZ.mjs";
22
+ import "../../../../chunk-AQ3ISJKU.mjs";
23
+ import "../../../../chunk-3YOW5DEZ.mjs";
30
24
  import "../../../../chunk-WYJW5NNA.mjs";
31
25
  import "../../../../chunk-C3MURCMZ.mjs";
26
+ import "../../../../chunk-V2HNFTTX.mjs";
27
+ import "../../../../chunk-IAJ6G633.mjs";
32
28
  import "../../../../chunk-C4PCTOGM.mjs";
33
- import "../../../../chunk-N3QOXWJI.mjs";
34
- import "../../../../chunk-TUIN5YJW.mjs";
35
29
  export {
36
30
  RadioField
37
31
  };
@@ -36,150 +36,40 @@ __export(select_field_exports, {
36
36
  module.exports = __toCommonJS(select_field_exports);
37
37
  var import_react_hook_form = require("react-hook-form");
38
38
 
39
- // src/ui/inputs/clear-button.tsx
39
+ // src/ui/inputs/select/select.tsx
40
40
  var import_react = __toESM(require("react"));
41
- var import_button = require("@heroui/button");
42
- var import_lucide_react = require("lucide-react");
41
+ var import_select = require("@heroui/select");
43
42
  var import_jsx_runtime = require("react/jsx-runtime");
44
- var ClearButton = import_react.default.forwardRef(
45
- ({ onClear }, ref) => {
46
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
47
- import_button.Button,
48
- {
49
- ref,
50
- isIconOnly: true,
51
- "aria-label": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
52
- as: "span",
53
- className: "opacity-0 transition-opacity group-hover:opacity-100",
54
- color: "default",
55
- radius: "full",
56
- size: "sm",
57
- tabIndex: 0,
58
- variant: "light",
59
- onPress: onClear,
60
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.XIcon, { className: "size-4 text-default-500" })
61
- }
43
+ var Select = import_react.default.forwardRef(
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
62
  );
63
- }
64
- );
65
- ClearButton.displayName = "TeachInUI.ClearButton";
66
-
67
- // src/ui/inputs/select/select.tsx
68
- var import_react3 = __toESM(require("react"));
69
- var import_select = require("@heroui/select");
70
- var import_tailwind_variants = require("tailwind-variants");
71
-
72
- // src/ui/inputs/select/use-select.ts
73
- var import_react2 = require("react");
74
- function useSelect({
75
- value,
76
- onChange,
77
- onClear,
78
- selectionMode,
79
- isClearable = true
80
- }) {
81
- const isMultiple = selectionMode === "multiple";
82
- const [internalValue, setInternalValue] = (0, import_react2.useState)(
83
- isMultiple ? [] : null
84
- );
85
- const isControlled = value !== void 0;
86
- const currentValue = isControlled ? value : internalValue;
87
- const hasValue = currentValue != null && (Array.isArray(currentValue) ? currentValue.length > 0 : currentValue !== "");
88
- const handleChange = (0, import_react2.useCallback)(
89
- (newValue) => {
90
- if (!isControlled) {
91
- setInternalValue(newValue);
92
- }
93
- if (isMultiple) {
94
- onChange == null ? void 0 : onChange(newValue);
95
- } else {
96
- onChange == null ? void 0 : onChange(newValue);
97
- }
98
- },
99
- [isControlled, onChange, isMultiple]
100
- );
101
- const handleClear = (0, import_react2.useCallback)(() => {
102
- onClear == null ? void 0 : onClear();
103
- handleChange(isMultiple ? [] : null);
104
- }, [onClear, handleChange, isMultiple]);
105
- const selectedKeys = (0, import_react2.useMemo)(() => {
106
- if (currentValue == null) return /* @__PURE__ */ new Set();
107
- return new Set(Array.isArray(currentValue) ? currentValue : [currentValue]);
108
- }, [currentValue]);
109
- const handleSelectionChange = (0, import_react2.useCallback)(
110
- (keys) => {
111
- var _a;
112
- if (keys === "all") return;
113
- const selected = Array.from(keys).filter((key) => typeof key === "string");
114
- handleChange(isMultiple ? selected : (_a = selected[0]) != null ? _a : null);
115
- },
116
- [handleChange, isMultiple]
117
- );
118
- const showClearButton = hasValue && isClearable;
119
- return {
120
- currentValue,
121
- hasValue,
122
- selectedKeys,
123
- handleSelectionChange,
124
- handleClear,
125
- showClearButton
126
- };
127
- }
128
-
129
- // src/ui/inputs/select/select.tsx
130
- var import_jsx_runtime2 = require("react/jsx-runtime");
131
- var selectWrapperVariants = (0, import_tailwind_variants.tv)({
132
- variants: {
133
- variant: {
134
- flat: "",
135
- underlined: "",
136
- bordered: "border-1",
137
- faded: "border-1"
138
- }
139
- }
140
- });
141
- var Select = import_react3.default.forwardRef(
142
- ({
143
- value,
144
- defaultSelectedKeys,
145
- items,
146
- onChange,
147
- selectionMode,
148
- onClear,
149
- variant,
150
- classNames,
151
- endContent,
152
- isClearable,
153
- ...props
154
- }, ref) => {
155
- const { selectedKeys, handleSelectionChange, handleClear, showClearButton } = useSelect({
156
- value,
157
- onChange,
158
- onClear,
159
- selectionMode,
160
- isClearable
161
- });
162
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
163
64
  import_select.Select,
164
65
  {
165
66
  ref,
166
- classNames: {
167
- ...classNames,
168
- trigger: selectWrapperVariants({ variant }),
169
- innerWrapper: "group"
170
- },
171
- defaultSelectedKeys,
172
- endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex items-center gap-1", children: [
173
- endContent,
174
- showClearButton && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ClearButton, { onClear: handleClear })
175
- ] }),
176
67
  items,
177
68
  selectedKeys,
178
69
  selectionMode,
179
- variant,
180
70
  onSelectionChange: handleSelectionChange,
181
71
  ...props,
182
- children: (item) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_select.SelectItem, { children: item.label }, item.key)
72
+ children: (item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_select.SelectItem, { children: item.label }, item.key)
183
73
  }
184
74
  );
185
75
  }
@@ -187,15 +77,15 @@ var Select = import_react3.default.forwardRef(
187
77
  Select.displayName = "TeachInUI.Select";
188
78
 
189
79
  // src/ui/form/rhf/fields/select-field.tsx
190
- var import_jsx_runtime3 = require("react/jsx-runtime");
80
+ var import_jsx_runtime2 = require("react/jsx-runtime");
191
81
  function SelectField({ name, selectionMode, ...props }) {
192
82
  const { control } = (0, import_react_hook_form.useFormContext)();
193
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
83
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
194
84
  import_react_hook_form.Controller,
195
85
  {
196
86
  control,
197
87
  name,
198
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
88
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
199
89
  Select,
200
90
  {
201
91
  selectionMode,
@@ -1,37 +1,31 @@
1
1
  "use client";
2
2
  import {
3
3
  SelectField
4
- } from "../../../../chunk-CKJ5U5Q4.mjs";
5
- import "../../../../chunk-UQAG7TKJ.mjs";
6
- import "../../../../chunk-DUQFM3QS.mjs";
7
- import "../../../../chunk-KTWHCUYV.mjs";
4
+ } from "../../../../chunk-NLHQDWUK.mjs";
5
+ import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-5HK7HRTR.mjs";
7
+ import "../../../../chunk-HJUZTISD.mjs";
8
8
  import "../../../../chunk-LLP2PTPK.mjs";
9
9
  import "../../../../chunk-E5QSNLSR.mjs";
10
10
  import "../../../../chunk-N3EAW6UO.mjs";
11
- import "../../../../chunk-5HK7HRTR.mjs";
12
- import "../../../../chunk-HJUZTISD.mjs";
13
- import "../../../../chunk-V3KKDSQP.mjs";
14
- import "../../../../chunk-46SKVFMZ.mjs";
15
- import "../../../../chunk-AQ3ISJKU.mjs";
16
- import "../../../../chunk-VXYV37IM.mjs";
17
- import "../../../../chunk-2UHA3DYG.mjs";
18
- import "../../../../chunk-5RNCFTW5.mjs";
19
- import "../../../../chunk-SEJXJZSK.mjs";
20
- import "../../../../chunk-C2VWADF5.mjs";
21
- import "../../../../chunk-UUKS7JYX.mjs";
22
- import "../../../../chunk-V2HNFTTX.mjs";
23
- import "../../../../chunk-IAJ6G633.mjs";
24
11
  import "../../../../chunk-RRA7GWP2.mjs";
25
12
  import "../../../../chunk-NOXFF2KJ.mjs";
26
13
  import "../../../../chunk-2SNKT7I4.mjs";
14
+ import "../../../../chunk-DUQFM3QS.mjs";
15
+ import "../../../../chunk-KTUGFQWJ.mjs";
16
+ import "../../../../chunk-UUKS7JYX.mjs";
17
+ import "../../../../chunk-N3QOXWJI.mjs";
18
+ import "../../../../chunk-V3KKDSQP.mjs";
19
+ import "../../../../chunk-LJIVY6GU.mjs";
27
20
  import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-MCQGBAUS.mjs";
29
- import "../../../../chunk-NSU66J5E.mjs";
21
+ import "../../../../chunk-V2G5QHZZ.mjs";
22
+ import "../../../../chunk-AQ3ISJKU.mjs";
23
+ import "../../../../chunk-3YOW5DEZ.mjs";
30
24
  import "../../../../chunk-WYJW5NNA.mjs";
31
25
  import "../../../../chunk-C3MURCMZ.mjs";
26
+ import "../../../../chunk-V2HNFTTX.mjs";
27
+ import "../../../../chunk-IAJ6G633.mjs";
32
28
  import "../../../../chunk-C4PCTOGM.mjs";
33
- import "../../../../chunk-N3QOXWJI.mjs";
34
- import "../../../../chunk-TUIN5YJW.mjs";
35
29
  export {
36
30
  SelectField
37
31
  };
@@ -2,36 +2,30 @@
2
2
  import {
3
3
  SwitchField
4
4
  } from "../../../../chunk-EC3NSPHR.mjs";
5
- import "../../../../chunk-UQAG7TKJ.mjs";
6
- import "../../../../chunk-DUQFM3QS.mjs";
7
- import "../../../../chunk-KTWHCUYV.mjs";
5
+ import "../../../../chunk-CZEO3U25.mjs";
6
+ import "../../../../chunk-5HK7HRTR.mjs";
7
+ import "../../../../chunk-HJUZTISD.mjs";
8
8
  import "../../../../chunk-LLP2PTPK.mjs";
9
9
  import "../../../../chunk-E5QSNLSR.mjs";
10
10
  import "../../../../chunk-N3EAW6UO.mjs";
11
- import "../../../../chunk-5HK7HRTR.mjs";
12
- import "../../../../chunk-HJUZTISD.mjs";
13
- import "../../../../chunk-V3KKDSQP.mjs";
14
- import "../../../../chunk-46SKVFMZ.mjs";
15
- import "../../../../chunk-AQ3ISJKU.mjs";
16
- import "../../../../chunk-VXYV37IM.mjs";
17
- import "../../../../chunk-2UHA3DYG.mjs";
18
- import "../../../../chunk-5RNCFTW5.mjs";
19
- import "../../../../chunk-SEJXJZSK.mjs";
20
- import "../../../../chunk-C2VWADF5.mjs";
21
- import "../../../../chunk-UUKS7JYX.mjs";
22
- import "../../../../chunk-V2HNFTTX.mjs";
23
- import "../../../../chunk-IAJ6G633.mjs";
24
11
  import "../../../../chunk-RRA7GWP2.mjs";
25
12
  import "../../../../chunk-NOXFF2KJ.mjs";
26
13
  import "../../../../chunk-2SNKT7I4.mjs";
14
+ import "../../../../chunk-DUQFM3QS.mjs";
15
+ import "../../../../chunk-KTUGFQWJ.mjs";
16
+ import "../../../../chunk-UUKS7JYX.mjs";
17
+ import "../../../../chunk-N3QOXWJI.mjs";
18
+ import "../../../../chunk-V3KKDSQP.mjs";
19
+ import "../../../../chunk-LJIVY6GU.mjs";
27
20
  import "../../../../chunk-ZRHEFEFS.mjs";
28
- import "../../../../chunk-MCQGBAUS.mjs";
29
- import "../../../../chunk-NSU66J5E.mjs";
21
+ import "../../../../chunk-V2G5QHZZ.mjs";
22
+ import "../../../../chunk-AQ3ISJKU.mjs";
23
+ import "../../../../chunk-3YOW5DEZ.mjs";
30
24
  import "../../../../chunk-WYJW5NNA.mjs";
31
25
  import "../../../../chunk-C3MURCMZ.mjs";
26
+ import "../../../../chunk-V2HNFTTX.mjs";
27
+ import "../../../../chunk-IAJ6G633.mjs";
32
28
  import "../../../../chunk-C4PCTOGM.mjs";
33
- import "../../../../chunk-N3QOXWJI.mjs";
34
- import "../../../../chunk-TUIN5YJW.mjs";
35
29
  export {
36
30
  SwitchField
37
31
  };