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