@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
@@ -38,7 +38,6 @@ __export(form_exports, {
38
38
  Form: () => Form,
39
39
  InputField: () => InputField,
40
40
  RadioField: () => RadioField,
41
- SearchField: () => SearchField,
42
41
  SelectField: () => SelectField,
43
42
  SwitchField: () => SwitchField,
44
43
  TextField: () => TextField,
@@ -84,361 +83,58 @@ var DatePicker = import_react3.default.forwardRef(
84
83
  DatePicker.displayName = "TeachInUI.DatePicker";
85
84
 
86
85
  // src/ui/inputs/email/email.tsx
87
- var import_react7 = __toESM(require("react"));
86
+ var import_react5 = __toESM(require("react"));
88
87
 
89
88
  // src/ui/inputs/input/input.tsx
90
- var import_react6 = __toESM(require("react"));
91
- var import_input = require("@heroui/input");
92
- var import_tailwind_variants = require("tailwind-variants");
93
-
94
- // src/ui/inputs/clear-button.tsx
95
89
  var import_react4 = __toESM(require("react"));
96
- var import_button = require("@heroui/button");
97
- var import_lucide_react = require("lucide-react");
90
+ var import_input = require("@heroui/input");
98
91
  var import_jsx_runtime4 = require("react/jsx-runtime");
99
- var ClearButton = import_react4.default.forwardRef(
100
- ({ onClear }, ref) => {
101
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
102
- import_button.Button,
103
- {
104
- ref,
105
- isIconOnly: true,
106
- "aria-label": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
107
- as: "span",
108
- className: "opacity-0 transition-opacity group-hover:opacity-100",
109
- color: "default",
110
- radius: "full",
111
- size: "sm",
112
- tabIndex: 0,
113
- variant: "light",
114
- onPress: onClear,
115
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.XIcon, { className: "size-4 text-default-500" })
116
- }
117
- );
118
- }
119
- );
120
- ClearButton.displayName = "TeachInUI.ClearButton";
121
-
122
- // src/ui/inputs/input/use-input.ts
123
- var import_react5 = require("react");
124
- function useInput({
125
- value,
126
- defaultValue,
127
- onValueChange,
128
- onClear,
129
- isReadOnly,
130
- isClearable = true,
131
- ref
132
- }) {
133
- const inputRef = (0, import_react5.useRef)(null);
134
- const [internalValue, setInternalValue] = (0, import_react5.useState)(defaultValue != null ? defaultValue : "");
135
- const isControlled = value !== void 0;
136
- const currentValue = isControlled ? value : internalValue;
137
- const hasValue = String(currentValue).length > 0;
138
- const handleValueChange = (0, import_react5.useCallback)(
139
- (newValue) => {
140
- if (!isControlled) {
141
- setInternalValue(newValue);
142
- }
143
- onValueChange == null ? void 0 : onValueChange(newValue);
144
- },
145
- [isControlled, onValueChange]
146
- );
147
- const handleClear = (0, import_react5.useCallback)(() => {
148
- var _a;
149
- onClear == null ? void 0 : onClear();
150
- handleValueChange("");
151
- (_a = inputRef.current) == null ? void 0 : _a.focus();
152
- }, [onClear, handleValueChange]);
153
- const mergedRef = (0, import_react5.useCallback)(
154
- (node) => {
155
- inputRef.current = node;
156
- if (typeof ref === "function") {
157
- ref(node);
158
- } else if (ref) {
159
- ref.current = node;
160
- }
161
- },
162
- [ref]
163
- );
164
- const showClearButton = hasValue && !isReadOnly && isClearable;
165
- return {
166
- inputRef,
167
- currentValue,
168
- hasValue,
169
- handleValueChange,
170
- handleClear,
171
- mergedRef,
172
- showClearButton
173
- };
174
- }
175
-
176
- // src/ui/inputs/input/input.tsx
177
- var import_jsx_runtime5 = require("react/jsx-runtime");
178
- var inputWrapperVariants = (0, import_tailwind_variants.tv)({
179
- variants: {
180
- variant: {
181
- flat: "",
182
- underlined: "",
183
- bordered: "border-1",
184
- faded: "border-1"
185
- }
186
- }
92
+ var Input = import_react4.default.forwardRef(({ ...props }, ref) => {
93
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_input.Input, { ref, ...props });
187
94
  });
188
- var Input = import_react6.default.forwardRef(
189
- ({
190
- value,
191
- defaultValue,
192
- onClear,
193
- onValueChange,
194
- variant,
195
- classNames,
196
- endContent,
197
- isReadOnly,
198
- isClearable,
199
- ...props
200
- }, ref) => {
201
- const { currentValue, handleValueChange, handleClear, mergedRef, showClearButton } = useInput({
202
- value,
203
- defaultValue,
204
- onValueChange,
205
- onClear,
206
- isReadOnly,
207
- isClearable,
208
- ref
209
- });
210
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
211
- import_input.Input,
212
- {
213
- ref: mergedRef,
214
- classNames: {
215
- ...classNames,
216
- inputWrapper: inputWrapperVariants({ variant }),
217
- innerWrapper: "group"
218
- },
219
- defaultValue,
220
- endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-1", children: [
221
- endContent,
222
- showClearButton && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ClearButton, { onClear: handleClear })
223
- ] }),
224
- isReadOnly,
225
- value: currentValue,
226
- variant,
227
- onValueChange: handleValueChange,
228
- ...props
229
- }
230
- );
231
- }
232
- );
233
95
  Input.displayName = "TeachInUI.Input";
234
96
 
235
97
  // src/ui/inputs/email/email.tsx
236
- var import_jsx_runtime6 = require("react/jsx-runtime");
237
- var Email = import_react7.default.forwardRef(({ ...props }, ref) => {
238
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
98
+ var import_jsx_runtime5 = require("react/jsx-runtime");
99
+ var Email = import_react5.default.forwardRef(({ ...props }, ref) => {
100
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
239
101
  });
240
102
  Email.displayName = "TeachInUI.Email";
241
103
 
242
- // src/ui/inputs/search/search.tsx
243
- var import_react9 = __toESM(require("react"));
244
- var import_lucide_react2 = require("lucide-react");
245
- var import_button2 = require("@heroui/button");
246
- var import_tailwind_variants2 = require("tailwind-variants");
247
-
248
- // src/ui/inputs/search/use-search.ts
249
- var import_react8 = require("react");
250
- function useSearch({ value, onSearch, onCancel, onKeyDown }) {
251
- const handleKeyDown = (0, import_react8.useCallback)(
252
- (event) => {
253
- if (event.key === "Enter") {
254
- event.preventDefault();
255
- onSearch == null ? void 0 : onSearch(event.target.value);
256
- } else if (event.key === "Escape") {
257
- event.preventDefault();
258
- onCancel == null ? void 0 : onCancel();
259
- }
260
- onKeyDown == null ? void 0 : onKeyDown(event);
261
- },
262
- [onSearch, onCancel, onKeyDown]
263
- );
264
- const hasValue = value !== void 0 && String(value).length > 0;
265
- const handleSearchClick = (0, import_react8.useCallback)(() => {
266
- if (hasValue) {
267
- onSearch == null ? void 0 : onSearch(value);
268
- }
269
- }, [value, onSearch]);
270
- return {
271
- handleKeyDown,
272
- handleSearchClick,
273
- hasValue
274
- };
275
- }
276
-
277
- // src/ui/inputs/search/search.tsx
278
- var import_jsx_runtime7 = require("react/jsx-runtime");
279
- var searchIconVariants = (0, import_tailwind_variants2.tv)({
280
- base: "size-5 shrink-0",
281
- variants: {
282
- variant: {
283
- faded: "text-default-400",
284
- flat: "text-default-foreground",
285
- bordered: "text-default-400",
286
- underlined: "text-default-foreground"
287
- }
288
- }
289
- });
290
- var Search = import_react9.default.forwardRef(
291
- ({ variant = "bordered", radius = "full", value, onSearch, onCancel, onKeyDown, ...props }, ref) => {
292
- const { handleKeyDown, handleSearchClick, hasValue } = useSearch({
293
- value,
294
- onSearch,
295
- onCancel,
296
- onKeyDown
297
- });
298
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
299
- Input,
300
- {
301
- ref,
302
- radius,
303
- startContent: onSearch ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
304
- import_button2.Button,
305
- {
306
- isIconOnly: true,
307
- "aria-label": "\u041F\u043E\u0438\u0441\u043A",
308
- isDisabled: !hasValue,
309
- radius: "full",
310
- size: "sm",
311
- variant: "light",
312
- onPress: handleSearchClick,
313
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) })
314
- }
315
- ) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) }),
316
- value,
317
- variant,
318
- onKeyDown: handleKeyDown,
319
- ...props
320
- }
321
- );
322
- }
323
- );
324
- Search.displayName = "TeachInUI.Search";
325
-
326
104
  // src/ui/inputs/select/select.tsx
327
- var import_react11 = __toESM(require("react"));
105
+ var import_react6 = __toESM(require("react"));
328
106
  var import_select = require("@heroui/select");
329
- var import_tailwind_variants3 = require("tailwind-variants");
330
-
331
- // src/ui/inputs/select/use-select.ts
332
- var import_react10 = require("react");
333
- function useSelect({
334
- value,
335
- onChange,
336
- onClear,
337
- selectionMode,
338
- isClearable = true
339
- }) {
340
- const isMultiple = selectionMode === "multiple";
341
- const [internalValue, setInternalValue] = (0, import_react10.useState)(
342
- isMultiple ? [] : null
343
- );
344
- const isControlled = value !== void 0;
345
- const currentValue = isControlled ? value : internalValue;
346
- const hasValue = currentValue != null && (Array.isArray(currentValue) ? currentValue.length > 0 : currentValue !== "");
347
- const handleChange = (0, import_react10.useCallback)(
348
- (newValue) => {
349
- if (!isControlled) {
350
- setInternalValue(newValue);
351
- }
352
- if (isMultiple) {
353
- onChange == null ? void 0 : onChange(newValue);
354
- } else {
355
- onChange == null ? void 0 : onChange(newValue);
356
- }
357
- },
358
- [isControlled, onChange, isMultiple]
359
- );
360
- const handleClear = (0, import_react10.useCallback)(() => {
361
- onClear == null ? void 0 : onClear();
362
- handleChange(isMultiple ? [] : null);
363
- }, [onClear, handleChange, isMultiple]);
364
- const selectedKeys = (0, import_react10.useMemo)(() => {
365
- if (currentValue == null) return /* @__PURE__ */ new Set();
366
- return new Set(Array.isArray(currentValue) ? currentValue : [currentValue]);
367
- }, [currentValue]);
368
- const handleSelectionChange = (0, import_react10.useCallback)(
369
- (keys) => {
370
- var _a;
371
- if (keys === "all") return;
372
- const selected = Array.from(keys).filter((key) => typeof key === "string");
373
- handleChange(isMultiple ? selected : (_a = selected[0]) != null ? _a : null);
374
- },
375
- [handleChange, isMultiple]
376
- );
377
- const showClearButton = hasValue && isClearable;
378
- return {
379
- currentValue,
380
- hasValue,
381
- selectedKeys,
382
- handleSelectionChange,
383
- handleClear,
384
- showClearButton
385
- };
386
- }
387
-
388
- // src/ui/inputs/select/select.tsx
389
- var import_jsx_runtime8 = require("react/jsx-runtime");
390
- var selectWrapperVariants = (0, import_tailwind_variants3.tv)({
391
- variants: {
392
- variant: {
393
- flat: "",
394
- underlined: "",
395
- bordered: "border-1",
396
- faded: "border-1"
397
- }
398
- }
399
- });
400
- var Select = import_react11.default.forwardRef(
401
- ({
402
- value,
403
- defaultSelectedKeys,
404
- items,
405
- onChange,
406
- selectionMode,
407
- onClear,
408
- variant,
409
- classNames,
410
- endContent,
411
- isClearable,
412
- ...props
413
- }, ref) => {
414
- const { selectedKeys, handleSelectionChange, handleClear, showClearButton } = useSelect({
415
- value,
416
- onChange,
417
- onClear,
418
- selectionMode,
419
- isClearable
420
- });
421
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
107
+ var import_jsx_runtime6 = require("react/jsx-runtime");
108
+ var Select = import_react6.default.forwardRef(
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
+ );
128
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
422
129
  import_select.Select,
423
130
  {
424
131
  ref,
425
- classNames: {
426
- ...classNames,
427
- trigger: selectWrapperVariants({ variant }),
428
- innerWrapper: "group"
429
- },
430
- defaultSelectedKeys,
431
- endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center gap-1", children: [
432
- endContent,
433
- showClearButton && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ClearButton, { onClear: handleClear })
434
- ] }),
435
132
  items,
436
133
  selectedKeys,
437
134
  selectionMode,
438
- variant,
439
135
  onSelectionChange: handleSelectionChange,
440
136
  ...props,
441
- children: (item) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_select.SelectItem, { children: item.label }, item.key)
137
+ children: (item) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_select.SelectItem, { children: item.label }, item.key)
442
138
  }
443
139
  );
444
140
  }
@@ -446,64 +142,54 @@ var Select = import_react11.default.forwardRef(
446
142
  Select.displayName = "TeachInUI.Select";
447
143
 
448
144
  // src/ui/inputs/switch/switch.tsx
449
- var import_react12 = __toESM(require("react"));
145
+ var import_react7 = __toESM(require("react"));
450
146
  var import_switch = require("@heroui/switch");
451
- var import_jsx_runtime9 = require("react/jsx-runtime");
452
- var Switch = import_react12.default.forwardRef(({ ...props }, ref) => {
453
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_switch.Switch, { ref, ...props });
147
+ var import_jsx_runtime7 = require("react/jsx-runtime");
148
+ var Switch = import_react7.default.forwardRef(({ ...props }, ref) => {
149
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_switch.Switch, { ref, ...props });
454
150
  });
455
151
  Switch.displayName = "TeachInUI.Switch";
456
152
 
457
153
  // src/ui/inputs/radio/radio-group.tsx
458
- var import_react13 = __toESM(require("react"));
154
+ var import_react8 = __toESM(require("react"));
459
155
  var import_radio = require("@heroui/radio");
460
- var import_jsx_runtime10 = require("react/jsx-runtime");
461
- var RadioGroup = import_react13.default.forwardRef(
156
+ var import_jsx_runtime8 = require("react/jsx-runtime");
157
+ var RadioGroup = import_react8.default.forwardRef(
462
158
  (props, ref) => {
463
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_radio.RadioGroup, { ref, ...props });
159
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_radio.RadioGroup, { ref, ...props });
464
160
  }
465
161
  );
466
162
  RadioGroup.displayName = "TeachInUI.RadioGroup";
467
163
 
468
164
  // src/ui/inputs/text/text.tsx
469
- var import_react14 = __toESM(require("react"));
470
- var import_jsx_runtime11 = require("react/jsx-runtime");
471
- var Text = import_react14.default.forwardRef(({ ...props }, ref) => {
472
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Input, { ref, type: "text", ...props });
165
+ var import_react9 = __toESM(require("react"));
166
+ var import_jsx_runtime9 = require("react/jsx-runtime");
167
+ var Text = import_react9.default.forwardRef(({ ...props }, ref) => {
168
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Input, { ref, type: "text", ...props });
473
169
  });
474
170
  Text.displayName = "TeachInUI.Text";
475
171
 
476
172
  // src/ui/inputs/textarea/textarea.tsx
477
- var import_input6 = require("@heroui/input");
478
- var import_react15 = __toESM(require("react"));
479
- var import_jsx_runtime12 = require("react/jsx-runtime");
480
- var Textarea = import_react15.default.forwardRef(
173
+ var import_input5 = require("@heroui/input");
174
+ var import_react10 = __toESM(require("react"));
175
+ var import_jsx_runtime10 = require("react/jsx-runtime");
176
+ var Textarea = import_react10.default.forwardRef(
481
177
  ({ minRows = 4, ...props }, ref) => {
482
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_input6.Textarea, { ref, minRows, ...props });
178
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_input5.Textarea, { ref, minRows, ...props });
483
179
  }
484
180
  );
485
181
  Textarea.displayName = "TeachInUI.Textarea";
486
182
 
487
183
  // src/ui/form/rhf/fields/input-field.tsx
488
- var import_jsx_runtime13 = require("react/jsx-runtime");
184
+ var import_jsx_runtime11 = require("react/jsx-runtime");
489
185
  function InputField({ name, ...props }) {
490
186
  const { control } = (0, import_react_hook_form.useFormContext)();
491
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
187
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
492
188
  import_react_hook_form.Controller,
493
189
  {
494
190
  control,
495
191
  name,
496
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
497
- Input,
498
- {
499
- ...props,
500
- ...field,
501
- ref,
502
- errorMessage: error == null ? void 0 : error.message,
503
- isInvalid: !!error,
504
- onValueChange: field.onChange
505
- }
506
- )
192
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Input, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
507
193
  }
508
194
  );
509
195
  }
@@ -511,15 +197,15 @@ InputField.displayName = "TeachInUI.InputField";
511
197
 
512
198
  // src/ui/form/rhf/fields/text-field.tsx
513
199
  var import_react_hook_form2 = require("react-hook-form");
514
- var import_jsx_runtime14 = require("react/jsx-runtime");
200
+ var import_jsx_runtime12 = require("react/jsx-runtime");
515
201
  function TextField({ name, ...props }) {
516
202
  const { control } = (0, import_react_hook_form2.useFormContext)();
517
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
203
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
518
204
  import_react_hook_form2.Controller,
519
205
  {
520
206
  control,
521
207
  name,
522
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
208
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
523
209
  }
524
210
  );
525
211
  }
@@ -527,57 +213,31 @@ TextField.displayName = "TeachInUI.TextField";
527
213
 
528
214
  // src/ui/form/rhf/fields/email-field.tsx
529
215
  var import_react_hook_form3 = require("react-hook-form");
530
- var import_jsx_runtime15 = require("react/jsx-runtime");
216
+ var import_jsx_runtime13 = require("react/jsx-runtime");
531
217
  function EmailField({ name, ...props }) {
532
218
  const { control } = (0, import_react_hook_form3.useFormContext)();
533
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
219
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
534
220
  import_react_hook_form3.Controller,
535
221
  {
536
222
  control,
537
223
  name,
538
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
224
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
539
225
  }
540
226
  );
541
227
  }
542
228
  EmailField.displayName = "TeachInUI.EmailField";
543
229
 
544
- // src/ui/form/rhf/fields/search-field.tsx
230
+ // src/ui/form/rhf/fields/textarea-field.tsx
545
231
  var import_react_hook_form4 = require("react-hook-form");
546
- var import_jsx_runtime16 = require("react/jsx-runtime");
547
- function SearchField({ name, ...props }) {
232
+ var import_jsx_runtime14 = require("react/jsx-runtime");
233
+ function TextareaField({ name, ...props }) {
548
234
  const { control } = (0, import_react_hook_form4.useFormContext)();
549
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
235
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
550
236
  import_react_hook_form4.Controller,
551
237
  {
552
238
  control,
553
239
  name,
554
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
555
- Search,
556
- {
557
- ...props,
558
- ...field,
559
- ref,
560
- errorMessage: error == null ? void 0 : error.message,
561
- isInvalid: !!error,
562
- onValueChange: field.onChange
563
- }
564
- )
565
- }
566
- );
567
- }
568
- SearchField.displayName = "TeachInUI.SearchField";
569
-
570
- // src/ui/form/rhf/fields/textarea-field.tsx
571
- var import_react_hook_form5 = require("react-hook-form");
572
- var import_jsx_runtime17 = require("react/jsx-runtime");
573
- function TextareaField({ name, ...props }) {
574
- const { control } = (0, import_react_hook_form5.useFormContext)();
575
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
576
- import_react_hook_form5.Controller,
577
- {
578
- control,
579
- name,
580
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
240
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
581
241
  Textarea,
582
242
  {
583
243
  ...props,
@@ -593,16 +253,16 @@ function TextareaField({ name, ...props }) {
593
253
  TextareaField.displayName = "TeachInUI.TextareaField";
594
254
 
595
255
  // src/ui/form/rhf/fields/select-field.tsx
596
- var import_react_hook_form6 = require("react-hook-form");
597
- var import_jsx_runtime18 = require("react/jsx-runtime");
256
+ var import_react_hook_form5 = require("react-hook-form");
257
+ var import_jsx_runtime15 = require("react/jsx-runtime");
598
258
  function SelectField({ name, selectionMode, ...props }) {
599
- const { control } = (0, import_react_hook_form6.useFormContext)();
600
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
601
- import_react_hook_form6.Controller,
259
+ const { control } = (0, import_react_hook_form5.useFormContext)();
260
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
261
+ import_react_hook_form5.Controller,
602
262
  {
603
263
  control,
604
264
  name,
605
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
265
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
606
266
  Select,
607
267
  {
608
268
  selectionMode,
@@ -619,16 +279,16 @@ function SelectField({ name, selectionMode, ...props }) {
619
279
  SelectField.displayName = "TeachInUI.SelectField";
620
280
 
621
281
  // src/ui/form/rhf/fields/autocomplete-field.tsx
622
- var import_react_hook_form7 = require("react-hook-form");
623
- var import_jsx_runtime19 = require("react/jsx-runtime");
282
+ var import_react_hook_form6 = require("react-hook-form");
283
+ var import_jsx_runtime16 = require("react/jsx-runtime");
624
284
  function AutocompleteField({ name, ...props }) {
625
- const { control } = (0, import_react_hook_form7.useFormContext)();
626
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
627
- import_react_hook_form7.Controller,
285
+ const { control } = (0, import_react_hook_form6.useFormContext)();
286
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
287
+ import_react_hook_form6.Controller,
628
288
  {
629
289
  control,
630
290
  name,
631
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
291
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
632
292
  Autocomplete,
633
293
  {
634
294
  ...props,
@@ -644,16 +304,16 @@ function AutocompleteField({ name, ...props }) {
644
304
  AutocompleteField.displayName = "TeachInUI.AutocompleteField";
645
305
 
646
306
  // src/ui/form/rhf/fields/date-picker-field.tsx
647
- var import_react_hook_form8 = require("react-hook-form");
648
- var import_jsx_runtime20 = require("react/jsx-runtime");
307
+ var import_react_hook_form7 = require("react-hook-form");
308
+ var import_jsx_runtime17 = require("react/jsx-runtime");
649
309
  function DatePickerField({ name, ...props }) {
650
- const { control } = (0, import_react_hook_form8.useFormContext)();
651
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
652
- import_react_hook_form8.Controller,
310
+ const { control } = (0, import_react_hook_form7.useFormContext)();
311
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
312
+ import_react_hook_form7.Controller,
653
313
  {
654
314
  control,
655
315
  name,
656
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
316
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
657
317
  DatePicker,
658
318
  {
659
319
  ...props,
@@ -669,18 +329,18 @@ function DatePickerField({ name, ...props }) {
669
329
  DatePickerField.displayName = "TeachInUI.DatePickerField";
670
330
 
671
331
  // src/ui/form/rhf/fields/checkbox-field.tsx
672
- var import_react_hook_form9 = require("react-hook-form");
673
- var import_jsx_runtime21 = require("react/jsx-runtime");
332
+ var import_react_hook_form8 = require("react-hook-form");
333
+ var import_jsx_runtime18 = require("react/jsx-runtime");
674
334
  function CheckboxField({ name, ...props }) {
675
- const { control } = (0, import_react_hook_form9.useFormContext)();
676
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
677
- import_react_hook_form9.Controller,
335
+ const { control } = (0, import_react_hook_form8.useFormContext)();
336
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
337
+ import_react_hook_form8.Controller,
678
338
  {
679
339
  control,
680
340
  name,
681
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
682
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
683
- error && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-tiny text-danger", children: error.message })
341
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
342
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
343
+ error && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-tiny text-danger", children: error.message })
684
344
  ] })
685
345
  }
686
346
  );
@@ -688,18 +348,18 @@ function CheckboxField({ name, ...props }) {
688
348
  CheckboxField.displayName = "TeachInUI.CheckboxField";
689
349
 
690
350
  // src/ui/form/rhf/fields/switch-field.tsx
691
- var import_react_hook_form10 = require("react-hook-form");
692
- var import_jsx_runtime22 = require("react/jsx-runtime");
351
+ var import_react_hook_form9 = require("react-hook-form");
352
+ var import_jsx_runtime19 = require("react/jsx-runtime");
693
353
  function SwitchField({ name, ...props }) {
694
- const { control } = (0, import_react_hook_form10.useFormContext)();
695
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
696
- import_react_hook_form10.Controller,
354
+ const { control } = (0, import_react_hook_form9.useFormContext)();
355
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
356
+ import_react_hook_form9.Controller,
697
357
  {
698
358
  control,
699
359
  name,
700
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
701
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
702
- error && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-tiny text-danger", children: error.message })
360
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { children: [
361
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
362
+ error && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-tiny text-danger", children: error.message })
703
363
  ] })
704
364
  }
705
365
  );
@@ -707,16 +367,16 @@ function SwitchField({ name, ...props }) {
707
367
  SwitchField.displayName = "TeachInUI.SwitchField";
708
368
 
709
369
  // src/ui/form/rhf/fields/radio-field.tsx
710
- var import_react_hook_form11 = require("react-hook-form");
711
- var import_jsx_runtime23 = require("react/jsx-runtime");
370
+ var import_react_hook_form10 = require("react-hook-form");
371
+ var import_jsx_runtime20 = require("react/jsx-runtime");
712
372
  function RadioField({ name, ...props }) {
713
- const { control } = (0, import_react_hook_form11.useFormContext)();
714
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
715
- import_react_hook_form11.Controller,
373
+ const { control } = (0, import_react_hook_form10.useFormContext)();
374
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
375
+ import_react_hook_form10.Controller,
716
376
  {
717
377
  control,
718
378
  name,
719
- render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
379
+ render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
720
380
  RadioGroup,
721
381
  {
722
382
  ...props,
@@ -735,10 +395,10 @@ RadioField.displayName = "TeachInUI.RadioField";
735
395
 
736
396
  // src/ui/form/form.tsx
737
397
  var import_form = require("@heroui/form");
738
- var import_react16 = __toESM(require("react"));
739
- var import_jsx_runtime24 = require("react/jsx-runtime");
740
- var Form = import_react16.default.forwardRef(({ ...props }, ref) => {
741
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_form.Form, { ref, ...props });
398
+ var import_react11 = __toESM(require("react"));
399
+ var import_jsx_runtime21 = require("react/jsx-runtime");
400
+ var Form = import_react11.default.forwardRef(({ ...props }, ref) => {
401
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_form.Form, { ref, ...props });
742
402
  });
743
403
  Form.displayName = "TeachInUI.Form";
744
404
  // Annotate the CommonJS export names for ESM import in node:
@@ -750,7 +410,6 @@ Form.displayName = "TeachInUI.Form";
750
410
  Form,
751
411
  InputField,
752
412
  RadioField,
753
- SearchField,
754
413
  SelectField,
755
414
  SwitchField,
756
415
  TextField,