@teach-in/react 0.2.0 → 0.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 (214) hide show
  1. package/dist/{chunk-545OBZ4O.mjs → chunk-2ASQXBDD.mjs} +1 -1
  2. package/dist/{chunk-X7ER4IDJ.mjs → chunk-2CEZXLZR.mjs} +2 -2
  3. package/dist/chunk-2SNKT7I4.mjs +9 -0
  4. package/dist/chunk-4KPEPEPC.mjs +26 -0
  5. package/dist/chunk-C4PCTOGM.mjs +12 -0
  6. package/dist/chunk-CA2EAK5M.mjs +40 -0
  7. package/dist/chunk-E5QSNLSR.mjs +38 -0
  8. package/dist/chunk-FQUYFYMS.mjs +24 -0
  9. package/dist/chunk-ICRO6HS3.mjs +1 -0
  10. package/dist/chunk-J3GK2CGQ.mjs +1 -0
  11. package/dist/chunk-JTPBZJ4S.mjs +14 -0
  12. package/dist/chunk-L6XIUULU.mjs +14 -0
  13. package/dist/chunk-LLP2PTPK.mjs +1 -0
  14. package/dist/{chunk-6UIBJVXP.mjs → chunk-MCZBJUTN.mjs} +1 -1
  15. package/dist/chunk-MJTSZFLC.mjs +1 -0
  16. package/dist/{chunk-WTXPB253.mjs → chunk-N3QOXWJI.mjs} +1 -1
  17. package/dist/chunk-N7GOJBLM.mjs +1 -0
  18. package/dist/chunk-NMMWGIQE.mjs +1 -0
  19. package/dist/chunk-NOXFF2KJ.mjs +16 -0
  20. package/dist/chunk-NVLF7L4R.mjs +1 -0
  21. package/dist/chunk-OZSO3C5Q.mjs +14 -0
  22. package/dist/chunk-PKZZEODR.mjs +29 -0
  23. package/dist/chunk-Q6JSJOU4.mjs +1 -0
  24. package/dist/{chunk-PFLROV3C.mjs → chunk-QCLLPJMB.mjs} +2 -2
  25. package/dist/chunk-QUMDPADZ.mjs +14 -0
  26. package/dist/chunk-RRA7GWP2.mjs +1 -0
  27. package/dist/chunk-SAYYLTIE.mjs +52 -0
  28. package/dist/chunk-U4FAPNVK.mjs +1 -0
  29. package/dist/chunk-UFYLYN5Z.mjs +37 -0
  30. package/dist/chunk-UNBE67YJ.mjs +1 -0
  31. package/dist/chunk-UUKS7JYX.mjs +1 -0
  32. package/dist/chunk-VWGY6KWP.mjs +15 -0
  33. package/dist/chunk-W2A6C27Y.mjs +35 -0
  34. package/dist/chunk-XHCXM5MU.mjs +14 -0
  35. package/dist/chunk-YNCISHAU.mjs +27 -0
  36. package/dist/chunk-ZSYIKEXW.mjs +21 -0
  37. package/dist/index.js +539 -182
  38. package/dist/index.mjs +227 -93
  39. package/dist/ui/data/index.d.ts +2 -0
  40. package/dist/ui/data/index.js +37 -2
  41. package/dist/ui/data/index.mjs +24 -2
  42. package/dist/ui/data/table/index.d.ts +1 -0
  43. package/dist/ui/data/table/index.js +52 -0
  44. package/dist/ui/data/table/index.mjs +20 -0
  45. package/dist/ui/data/table/table.d.ts +23 -0
  46. package/dist/ui/data/table/table.js +50 -0
  47. package/dist/ui/data/table/table.mjs +19 -0
  48. package/dist/ui/data/user/index.d.ts +1 -0
  49. package/dist/ui/data/user/index.js +49 -0
  50. package/dist/ui/data/user/index.mjs +8 -0
  51. package/dist/ui/data/user/user.d.ts +6 -0
  52. package/dist/ui/data/user/user.js +47 -0
  53. package/dist/ui/data/user/user.mjs +7 -0
  54. package/dist/ui/feedback/index.d.ts +2 -0
  55. package/dist/ui/feedback/index.js +67 -10
  56. package/dist/ui/feedback/index.mjs +33 -6
  57. package/dist/ui/feedback/progress/circular-progress.d.ts +9 -0
  58. package/dist/ui/feedback/progress/circular-progress.js +47 -0
  59. package/dist/ui/feedback/progress/circular-progress.mjs +7 -0
  60. package/dist/ui/feedback/progress/index.d.ts +2 -0
  61. package/dist/ui/feedback/progress/index.js +60 -0
  62. package/dist/ui/feedback/progress/index.mjs +12 -0
  63. package/dist/ui/feedback/progress/progress.d.ts +9 -0
  64. package/dist/ui/feedback/progress/progress.js +47 -0
  65. package/dist/ui/feedback/progress/progress.mjs +7 -0
  66. package/dist/ui/feedback/toast/index.d.ts +1 -0
  67. package/dist/ui/feedback/toast/index.js +73 -0
  68. package/dist/ui/feedback/toast/index.mjs +21 -0
  69. package/dist/ui/feedback/toast/toast.d.ts +17 -0
  70. package/dist/ui/feedback/toast/toast.js +71 -0
  71. package/dist/ui/feedback/toast/toast.mjs +21 -0
  72. package/dist/ui/form/index.js +83 -43
  73. package/dist/ui/form/index.mjs +30 -21
  74. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +15 -10
  75. package/dist/ui/form/rhf/fields/checkbox-field.js +1 -1
  76. package/dist/ui/form/rhf/fields/checkbox-field.mjs +16 -11
  77. package/dist/ui/form/rhf/fields/date-picker-field.mjs +15 -10
  78. package/dist/ui/form/rhf/fields/email-field.mjs +15 -10
  79. package/dist/ui/form/rhf/fields/index.d.ts +1 -0
  80. package/dist/ui/form/rhf/fields/index.js +79 -39
  81. package/dist/ui/form/rhf/fields/index.mjs +30 -21
  82. package/dist/ui/form/rhf/fields/input-field.mjs +15 -10
  83. package/dist/ui/form/rhf/fields/radio-field.d.ts +10 -0
  84. package/dist/ui/form/rhf/fields/radio-field.js +78 -0
  85. package/dist/ui/form/rhf/fields/radio-field.mjs +31 -0
  86. package/dist/ui/form/rhf/fields/select-field.mjs +15 -10
  87. package/dist/ui/form/rhf/fields/switch-field.mjs +15 -10
  88. package/dist/ui/form/rhf/fields/text-field.mjs +15 -10
  89. package/dist/ui/form/rhf/fields/textarea-field.mjs +15 -10
  90. package/dist/ui/form/rhf/index.js +79 -39
  91. package/dist/ui/form/rhf/index.mjs +30 -21
  92. package/dist/ui/format/index.mjs +6 -6
  93. package/dist/ui/index.js +539 -182
  94. package/dist/ui/index.mjs +227 -93
  95. package/dist/ui/inputs/checkbox/checkbox-group.d.ts +9 -0
  96. package/dist/ui/inputs/checkbox/checkbox-group.js +45 -0
  97. package/dist/ui/inputs/checkbox/checkbox-group.mjs +7 -0
  98. package/dist/ui/inputs/checkbox/checkbox.js +1 -1
  99. package/dist/ui/inputs/checkbox/checkbox.mjs +1 -1
  100. package/dist/ui/inputs/checkbox/index.d.ts +1 -0
  101. package/dist/ui/inputs/checkbox/index.js +12 -3
  102. package/dist/ui/inputs/checkbox/index.mjs +7 -3
  103. package/dist/ui/inputs/index.d.ts +1 -0
  104. package/dist/ui/inputs/index.js +93 -30
  105. package/dist/ui/inputs/index.mjs +32 -15
  106. package/dist/ui/inputs/radio/index.d.ts +2 -0
  107. package/dist/ui/inputs/radio/index.js +57 -0
  108. package/dist/ui/inputs/radio/index.mjs +12 -0
  109. package/dist/ui/inputs/radio/radio-group.d.ts +9 -0
  110. package/dist/ui/inputs/radio/radio-group.js +49 -0
  111. package/dist/ui/inputs/radio/radio-group.mjs +7 -0
  112. package/dist/ui/inputs/radio/radio.d.ts +6 -0
  113. package/dist/ui/inputs/radio/radio.js +32 -0
  114. package/dist/ui/inputs/radio/radio.mjs +7 -0
  115. package/dist/ui/inputs/switch/favorite-switch.d.ts +6 -0
  116. package/dist/ui/inputs/switch/favorite-switch.js +62 -0
  117. package/dist/ui/inputs/switch/favorite-switch.mjs +8 -0
  118. package/dist/ui/inputs/switch/index.d.ts +1 -0
  119. package/dist/ui/inputs/switch/index.js +35 -0
  120. package/dist/ui/inputs/switch/index.mjs +5 -1
  121. package/dist/ui/layout/accordion/accordion.d.ts +10 -0
  122. package/dist/ui/layout/accordion/accordion.js +35 -0
  123. package/dist/ui/layout/accordion/accordion.mjs +9 -0
  124. package/dist/ui/layout/accordion/index.d.ts +1 -0
  125. package/dist/ui/layout/accordion/index.js +37 -0
  126. package/dist/ui/layout/accordion/index.mjs +10 -0
  127. package/dist/ui/layout/container/container.mjs +85 -55
  128. package/dist/ui/layout/container/index.mjs +85 -55
  129. package/dist/ui/layout/divider/divider.d.ts +6 -0
  130. package/dist/ui/layout/divider/divider.js +48 -0
  131. package/dist/ui/layout/divider/divider.mjs +7 -0
  132. package/dist/ui/layout/divider/index.d.ts +1 -0
  133. package/dist/ui/layout/divider/index.js +50 -0
  134. package/dist/ui/layout/divider/index.mjs +8 -0
  135. package/dist/ui/layout/index.d.ts +3 -0
  136. package/dist/ui/layout/index.js +32 -0
  137. package/dist/ui/layout/index.mjs +98 -57
  138. package/dist/ui/layout/page/index.mjs +10 -6
  139. package/dist/ui/layout/page/page-loading.mjs +7 -3
  140. package/dist/ui/layout/page/section-loading.mjs +7 -3
  141. package/dist/ui/layout/scroll-shadow/index.d.ts +1 -0
  142. package/dist/ui/layout/scroll-shadow/index.js +49 -0
  143. package/dist/ui/layout/scroll-shadow/index.mjs +8 -0
  144. package/dist/ui/layout/scroll-shadow/scroll-shadow.d.ts +9 -0
  145. package/dist/ui/layout/scroll-shadow/scroll-shadow.js +47 -0
  146. package/dist/ui/layout/scroll-shadow/scroll-shadow.mjs +7 -0
  147. package/dist/ui/navigation/breadcrumbs/breadcrumbs.d.ts +6 -0
  148. package/dist/ui/navigation/breadcrumbs/breadcrumbs.js +57 -0
  149. package/dist/ui/navigation/breadcrumbs/breadcrumbs.mjs +9 -0
  150. package/dist/ui/navigation/breadcrumbs/index.d.ts +1 -0
  151. package/dist/ui/navigation/breadcrumbs/index.js +59 -0
  152. package/dist/ui/navigation/breadcrumbs/index.mjs +10 -0
  153. package/dist/ui/navigation/index.d.ts +3 -0
  154. package/dist/ui/navigation/index.js +98 -2
  155. package/dist/ui/navigation/index.mjs +31 -2
  156. package/dist/ui/navigation/navbar/index.d.ts +1 -0
  157. package/dist/ui/navigation/navbar/index.js +85 -0
  158. package/dist/ui/navigation/navbar/index.mjs +20 -0
  159. package/dist/ui/navigation/navbar/navbar.d.ts +26 -0
  160. package/dist/ui/navigation/navbar/navbar.js +83 -0
  161. package/dist/ui/navigation/navbar/navbar.mjs +19 -0
  162. package/dist/ui/navigation/tabs/index.d.ts +1 -0
  163. package/dist/ui/navigation/tabs/index.js +56 -0
  164. package/dist/ui/navigation/tabs/index.mjs +8 -0
  165. package/dist/ui/navigation/tabs/tabs.d.ts +7 -0
  166. package/dist/ui/navigation/tabs/tabs.js +54 -0
  167. package/dist/ui/navigation/tabs/tabs.mjs +7 -0
  168. package/dist/ui/overlays/dropdown/dropdown.d.ts +28 -0
  169. package/dist/ui/overlays/dropdown/dropdown.js +48 -0
  170. package/dist/ui/overlays/dropdown/dropdown.mjs +15 -0
  171. package/dist/ui/overlays/dropdown/index.d.ts +1 -0
  172. package/dist/ui/overlays/dropdown/index.js +50 -0
  173. package/dist/ui/overlays/dropdown/index.mjs +16 -0
  174. package/dist/ui/overlays/index.d.ts +1 -0
  175. package/dist/ui/overlays/index.js +22 -0
  176. package/dist/ui/overlays/index.mjs +14 -1
  177. package/dist/ui/provider/index.js +31 -2
  178. package/dist/ui/provider/index.mjs +14 -1
  179. package/dist/ui/provider/ui-provider.d.ts +3 -1
  180. package/dist/ui/provider/ui-provider.js +31 -2
  181. package/dist/ui/provider/ui-provider.mjs +14 -1
  182. package/dist/ui/surface/card/card.d.ts +36 -0
  183. package/dist/ui/surface/card/card.js +65 -0
  184. package/dist/ui/surface/card/card.mjs +7 -0
  185. package/dist/ui/surface/card/index.d.ts +1 -0
  186. package/dist/ui/surface/card/index.js +67 -0
  187. package/dist/ui/surface/card/index.mjs +8 -0
  188. package/dist/ui/surface/index.d.ts +1 -0
  189. package/dist/ui/surface/index.js +39 -0
  190. package/dist/ui/surface/index.mjs +6 -1
  191. package/dist/ui/theme/colors/common.mjs +4 -4
  192. package/dist/ui/theme/colors/index.js +1 -1
  193. package/dist/ui/theme/colors/index.mjs +6 -6
  194. package/dist/ui/theme/colors/semantic.js +1 -1
  195. package/dist/ui/theme/colors/semantic.mjs +5 -5
  196. package/dist/ui/theme/colors.js +1 -1
  197. package/dist/ui/theme/colors.mjs +6 -6
  198. package/dist/ui/theme/index.js +1 -1
  199. package/dist/ui/theme/index.mjs +7 -7
  200. package/dist/ui/theme/theme.js +1 -1
  201. package/dist/ui/theme/theme.mjs +7 -7
  202. package/package.json +14 -1
  203. package/dist/chunk-6WK4W5LL.mjs +0 -17
  204. package/dist/{chunk-54ZSBA6H.mjs → chunk-54FA62HL.mjs} +0 -0
  205. package/dist/{chunk-5EWHMXCP.mjs → chunk-57JRJHSH.mjs} +0 -0
  206. package/dist/{chunk-IZ5KKF6P.mjs → chunk-773RYGHT.mjs} +0 -0
  207. package/dist/{chunk-5HUR2CNH.mjs → chunk-AR4IYKG5.mjs} +0 -0
  208. package/dist/{chunk-5YMUHF45.mjs → chunk-AT6DX4DN.mjs} +0 -0
  209. package/dist/{chunk-CAJWTQDB.mjs → chunk-BGNMWHME.mjs} +0 -0
  210. package/dist/{chunk-JJHHWDZT.mjs → chunk-CTKWGSNJ.mjs} +0 -0
  211. package/dist/{chunk-OEHJDT6R.mjs → chunk-CYSW4N3T.mjs} +0 -0
  212. package/dist/{chunk-UURZJWWV.mjs → chunk-CZEO3U25.mjs} +0 -0
  213. package/dist/{chunk-WJXIRSSW.mjs → chunk-FKHR6G3R.mjs} +0 -0
  214. package/dist/{chunk-NCM6KIQH.mjs → chunk-IXPMUODA.mjs} +9 -9
package/dist/ui/index.js CHANGED
@@ -31,22 +31,36 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  // src/ui/index.ts
32
32
  var ui_exports = {};
33
33
  __export(ui_exports, {
34
+ Accordion: () => Accordion,
35
+ AccordionItem: () => AccordionItem,
34
36
  Actions: () => Actions,
35
37
  Alert: () => Alert,
36
38
  Autocomplete: () => Autocomplete,
37
39
  AutocompleteField: () => AutocompleteField,
38
40
  Avatar: () => Avatar,
39
41
  Bento: () => Bento,
40
- Body: () => Body,
42
+ Body: () => Body2,
43
+ BreadcrumbItem: () => BreadcrumbItem2,
44
+ Breadcrumbs: () => Breadcrumbs2,
41
45
  Button: () => Button,
46
+ Card: () => Card,
42
47
  Checkbox: () => Checkbox,
43
48
  CheckboxField: () => CheckboxField,
49
+ CheckboxGroup: () => CheckboxGroup,
44
50
  Chip: () => Chip,
51
+ CircularProgress: () => CircularProgress,
45
52
  Container: () => Container,
46
53
  DatePicker: () => DatePicker,
47
54
  DatePickerField: () => DatePickerField,
55
+ Divider: () => Divider,
56
+ Dropdown: () => Dropdown,
57
+ DropdownItem: () => DropdownItem,
58
+ DropdownMenu: () => DropdownMenu,
59
+ DropdownSection: () => DropdownSection,
60
+ DropdownTrigger: () => DropdownTrigger,
48
61
  Email: () => Email,
49
62
  EmailField: () => EmailField,
63
+ FavoriteSwitch: () => FavoriteSwitch,
50
64
  Flex: () => Flex,
51
65
  Form: () => Form,
52
66
  FormatBoolean: () => Boolean,
@@ -59,15 +73,27 @@ __export(ui_exports, {
59
73
  FormatPlural: () => Plural,
60
74
  FormatTime: () => Time,
61
75
  Grid: () => Grid,
62
- Header: () => Header,
76
+ Header: () => Header2,
63
77
  Input: () => Input,
64
78
  InputField: () => InputField,
65
79
  Link: () => Link,
66
80
  Modal: () => Modal,
81
+ Navbar: () => Navbar,
82
+ NavbarBrand: () => NavbarBrand,
83
+ NavbarContent: () => NavbarContent,
84
+ NavbarItem: () => NavbarItem,
85
+ NavbarMenu: () => NavbarMenu,
86
+ NavbarMenuItem: () => NavbarMenuItem,
87
+ NavbarMenuToggle: () => NavbarMenuToggle,
67
88
  PageContent: () => PageContent,
68
89
  PageLoading: () => PageLoading,
69
90
  Pagination: () => Pagination,
70
- Root: () => Root,
91
+ Progress: () => Progress,
92
+ Radio: () => Radio,
93
+ RadioField: () => RadioField,
94
+ RadioGroup: () => RadioGroup,
95
+ Root: () => Root2,
96
+ ScrollShadow: () => ScrollShadow,
71
97
  Section: () => Section,
72
98
  SectionActions: () => SectionActions,
73
99
  SectionHeader: () => SectionHeader,
@@ -78,18 +104,35 @@ __export(ui_exports, {
78
104
  Spinner: () => Spinner,
79
105
  Switch: () => Switch,
80
106
  SwitchField: () => SwitchField,
107
+ Table: () => Table,
108
+ TableBody: () => TableBody,
109
+ TableCell: () => TableCell,
110
+ TableColumn: () => TableColumn,
111
+ TableHeader: () => TableHeader,
112
+ TableRow: () => TableRow,
113
+ Tabs: () => Tabs,
81
114
  TeachInUIProvider: () => UIProvider,
82
115
  Text: () => Text,
83
116
  TextField: () => TextField,
84
117
  Textarea: () => Textarea,
85
118
  TextareaField: () => TextareaField,
86
119
  Title: () => Title,
120
+ Toast: () => Toast,
121
+ ToastProvider: () => ToastProvider,
87
122
  Tooltip: () => Tooltip,
88
123
  UIProvider: () => UIProvider,
124
+ User: () => User,
125
+ addToast: () => addToast,
89
126
  bento: () => bento,
90
127
  breakpoints: () => breakpoints,
128
+ closeAll: () => closeAll,
129
+ closeToast: () => closeToast,
91
130
  cn: () => cn,
92
- theme: () => theme
131
+ getKeyValue: () => getKeyValue,
132
+ getToastQueue: () => getToastQueue,
133
+ isToastClosing: () => isToastClosing,
134
+ theme: () => theme,
135
+ useToast: () => useToast
93
136
  });
94
137
  module.exports = __toCommonJS(ui_exports);
95
138
 
@@ -139,40 +182,96 @@ var Pagination = import_react3.default.forwardRef(({ pages, ...props }, ref) =>
139
182
  });
140
183
  Pagination.displayName = "TeachInUI.Pagination";
141
184
 
142
- // src/ui/feedback/alert/alert.tsx
185
+ // src/ui/data/table/table.tsx
186
+ var import_table = require("@heroui/table");
187
+ var Table = Object.assign(import_table.Table, { displayName: "TeachInUI.Table" });
188
+ var TableHeader = Object.assign(import_table.TableHeader, { displayName: "TeachInUI.TableHeader" });
189
+ var TableColumn = Object.assign(import_table.TableColumn, { displayName: "TeachInUI.TableColumn" });
190
+ var TableBody = Object.assign(import_table.TableBody, { displayName: "TeachInUI.TableBody" });
191
+ var TableRow = Object.assign(import_table.TableRow, { displayName: "TeachInUI.TableRow" });
192
+ var TableCell = Object.assign(import_table.TableCell, { displayName: "TeachInUI.TableCell" });
193
+ var getKeyValue = import_table.getKeyValue;
194
+
195
+ // src/ui/data/user/user.tsx
143
196
  var import_react4 = __toESM(require("react"));
144
- var import_alert = require("@heroui/alert");
197
+ var import_user = require("@heroui/user");
145
198
  var import_jsx_runtime4 = require("react/jsx-runtime");
146
- var Alert = import_react4.default.forwardRef(({ children, ...props }, ref) => {
147
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_alert.Alert, { ref, title: children, ...props });
199
+ var User = import_react4.default.forwardRef((props, ref) => {
200
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_user.User, { ref, ...props });
201
+ });
202
+ User.displayName = "TeachInUI.User";
203
+
204
+ // src/ui/feedback/alert/alert.tsx
205
+ var import_react5 = __toESM(require("react"));
206
+ var import_alert = require("@heroui/alert");
207
+ var import_jsx_runtime5 = require("react/jsx-runtime");
208
+ var Alert = import_react5.default.forwardRef(({ children, ...props }, ref) => {
209
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_alert.Alert, { ref, title: children, ...props });
148
210
  });
149
211
  Alert.displayName = "TeachInUI.Alert";
150
212
 
151
213
  // src/ui/feedback/chip/chip.tsx
152
- var import_react5 = __toESM(require("react"));
214
+ var import_react6 = __toESM(require("react"));
153
215
  var import_chip = require("@heroui/chip");
154
- var import_jsx_runtime5 = require("react/jsx-runtime");
155
- var Chip = import_react5.default.forwardRef(({ variant = "flat", ...props }, ref) => {
156
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_chip.Chip, { ref, variant, ...props });
216
+ var import_jsx_runtime6 = require("react/jsx-runtime");
217
+ var Chip = import_react6.default.forwardRef(({ variant = "flat", ...props }, ref) => {
218
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_chip.Chip, { ref, variant, ...props });
157
219
  });
158
220
  Chip.displayName = "TeachInUI.Chip";
159
221
 
222
+ // src/ui/feedback/progress/progress.tsx
223
+ var import_react7 = __toESM(require("react"));
224
+ var import_progress = require("@heroui/progress");
225
+ var import_jsx_runtime7 = require("react/jsx-runtime");
226
+ var Progress = import_react7.default.forwardRef((props, ref) => {
227
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_progress.Progress, { ref, ...props });
228
+ });
229
+ Progress.displayName = "TeachInUI.Progress";
230
+
231
+ // src/ui/feedback/progress/circular-progress.tsx
232
+ var import_react8 = __toESM(require("react"));
233
+ var import_progress2 = require("@heroui/progress");
234
+ var import_jsx_runtime8 = require("react/jsx-runtime");
235
+ var CircularProgress = import_react8.default.forwardRef((props, ref) => {
236
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_progress2.CircularProgress, { ref, ...props });
237
+ });
238
+ CircularProgress.displayName = "TeachInUI.CircularProgress";
239
+
160
240
  // src/ui/feedback/spinner/spinner.tsx
161
- var import_react6 = __toESM(require("react"));
241
+ var import_react9 = __toESM(require("react"));
162
242
  var import_spinner = require("@heroui/spinner");
163
- var import_jsx_runtime6 = require("react/jsx-runtime");
164
- var Spinner = import_react6.default.forwardRef((props, ref) => {
165
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_spinner.Spinner, { ref, ...props });
243
+ var import_jsx_runtime9 = require("react/jsx-runtime");
244
+ var Spinner = import_react9.default.forwardRef((props, ref) => {
245
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_spinner.Spinner, { ref, ...props });
166
246
  });
167
247
  Spinner.displayName = "TeachInUI.Spinner";
168
248
 
249
+ // src/ui/feedback/toast/toast.tsx
250
+ var import_react10 = __toESM(require("react"));
251
+ var import_toast = require("@heroui/toast");
252
+ var import_jsx_runtime10 = require("react/jsx-runtime");
253
+ var Toast = import_react10.default.forwardRef((props, ref) => {
254
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_toast.Toast, { ref, ...props });
255
+ });
256
+ Toast.displayName = "TeachInUI.Toast";
257
+ var ToastProvider = (props) => {
258
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_toast.ToastProvider, { ...props });
259
+ };
260
+ ToastProvider.displayName = "TeachInUI.ToastProvider";
261
+ var useToast = (...args) => (0, import_toast.useToast)(...args);
262
+ var addToast = (...args) => (0, import_toast.addToast)(...args);
263
+ var closeToast = (...args) => (0, import_toast.closeToast)(...args);
264
+ var closeAll = (...args) => (0, import_toast.closeAll)(...args);
265
+ var getToastQueue = (...args) => (0, import_toast.getToastQueue)(...args);
266
+ var isToastClosing = (...args) => (0, import_toast.isToastClosing)(...args);
267
+
169
268
  // src/ui/feedback/tooltip/tooltip.tsx
170
- var import_react7 = __toESM(require("react"));
269
+ var import_react11 = __toESM(require("react"));
171
270
  var import_tooltip = require("@heroui/tooltip");
172
- var import_jsx_runtime7 = require("react/jsx-runtime");
173
- var Tooltip = import_react7.default.forwardRef(
271
+ var import_jsx_runtime11 = require("react/jsx-runtime");
272
+ var Tooltip = import_react11.default.forwardRef(
174
273
  ({ placement = "bottom", ...props }, ref) => {
175
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_tooltip.Tooltip, { ref, placement, ...props });
274
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_tooltip.Tooltip, { ref, placement, ...props });
176
275
  }
177
276
  );
178
277
  Tooltip.displayName = "TeachInUI.Tooltip";
@@ -181,66 +280,73 @@ Tooltip.displayName = "TeachInUI.Tooltip";
181
280
  var import_react_hook_form = require("react-hook-form");
182
281
 
183
282
  // src/ui/inputs/autocomplete/autocomplete.tsx
184
- var import_react8 = __toESM(require("react"));
283
+ var import_react12 = __toESM(require("react"));
185
284
  var import_autocomplete = require("@heroui/autocomplete");
186
- var import_jsx_runtime8 = require("react/jsx-runtime");
187
- var Autocomplete = import_react8.default.forwardRef(
285
+ var import_jsx_runtime12 = require("react/jsx-runtime");
286
+ var Autocomplete = import_react12.default.forwardRef(
188
287
  ({ items, ...props }, ref) => {
189
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_autocomplete.Autocomplete, { ref, items, ...props, children: (item) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_autocomplete.AutocompleteItem, { children: item.label }, item.key) });
288
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_autocomplete.Autocomplete, { ref, items, ...props, children: (item) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_autocomplete.AutocompleteItem, { children: item.label }, item.key) });
190
289
  }
191
290
  );
192
291
  Autocomplete.displayName = "TeachInUI.Autocomplete";
193
292
 
194
293
  // src/ui/inputs/checkbox/checkbox.tsx
195
294
  var import_checkbox = require("@heroui/checkbox");
196
- var import_react9 = __toESM(require("react"));
197
- var import_jsx_runtime9 = require("react/jsx-runtime");
198
- var Checkbox = import_react9.default.forwardRef(
295
+ var import_react13 = __toESM(require("react"));
296
+ var import_jsx_runtime13 = require("react/jsx-runtime");
297
+ var Checkbox = import_react13.default.forwardRef(
199
298
  ({ label, ...props }, ref) => {
200
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_checkbox.Checkbox, { ref, label, ...props, children: label });
299
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_checkbox.Checkbox, { ref, ...props, children: label });
201
300
  }
202
301
  );
203
302
  Checkbox.displayName = "TeachInUI.Checkbox";
204
303
 
304
+ // src/ui/inputs/checkbox/checkbox-group.tsx
305
+ var import_react14 = __toESM(require("react"));
306
+ var import_checkbox2 = require("@heroui/checkbox");
307
+ var import_jsx_runtime14 = require("react/jsx-runtime");
308
+ var CheckboxGroup = import_react14.default.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_checkbox2.CheckboxGroup, { ref, ...props }));
309
+ CheckboxGroup.displayName = "TeachInUI.CheckboxGroup";
310
+
205
311
  // src/ui/inputs/date-picker/date-picker.tsx
206
- var import_react10 = __toESM(require("react"));
312
+ var import_react15 = __toESM(require("react"));
207
313
  var import_date_picker = require("@heroui/date-picker");
208
314
  var import_i18n = require("@react-aria/i18n");
209
- var import_jsx_runtime10 = require("react/jsx-runtime");
210
- var DatePicker = import_react10.default.forwardRef(
315
+ var import_jsx_runtime15 = require("react/jsx-runtime");
316
+ var DatePicker = import_react15.default.forwardRef(
211
317
  ({ locale, ...props }, ref) => {
212
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_i18n.I18nProvider, { locale, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_date_picker.DatePicker, { ref, ...props }) });
318
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_i18n.I18nProvider, { locale, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_date_picker.DatePicker, { ref, ...props }) });
213
319
  }
214
320
  );
215
321
  DatePicker.displayName = "TeachInUI.DatePicker";
216
322
 
217
323
  // src/ui/inputs/email/email.tsx
218
- var import_react12 = __toESM(require("react"));
324
+ var import_react17 = __toESM(require("react"));
219
325
 
220
326
  // src/ui/inputs/input/input.tsx
221
- var import_react11 = __toESM(require("react"));
327
+ var import_react16 = __toESM(require("react"));
222
328
  var import_input = require("@heroui/input");
223
- var import_jsx_runtime11 = require("react/jsx-runtime");
224
- var Input = import_react11.default.forwardRef(({ ...props }, ref) => {
225
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_input.Input, { ref, ...props });
329
+ var import_jsx_runtime16 = require("react/jsx-runtime");
330
+ var Input = import_react16.default.forwardRef(({ ...props }, ref) => {
331
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_input.Input, { ref, ...props });
226
332
  });
227
333
  Input.displayName = "TeachInUI.Input";
228
334
 
229
335
  // src/ui/inputs/email/email.tsx
230
- var import_jsx_runtime12 = require("react/jsx-runtime");
231
- var Email = import_react12.default.forwardRef(({ ...props }, ref) => {
232
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
336
+ var import_jsx_runtime17 = require("react/jsx-runtime");
337
+ var Email = import_react17.default.forwardRef(({ ...props }, ref) => {
338
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
233
339
  });
234
340
  Email.displayName = "TeachInUI.Email";
235
341
 
236
342
  // src/ui/inputs/select/select.tsx
237
- var import_react13 = __toESM(require("react"));
343
+ var import_react18 = __toESM(require("react"));
238
344
  var import_select = require("@heroui/select");
239
- var import_jsx_runtime13 = require("react/jsx-runtime");
240
- var Select = import_react13.default.forwardRef(
345
+ var import_jsx_runtime18 = require("react/jsx-runtime");
346
+ var Select = import_react18.default.forwardRef(
241
347
  ({ value, items, onChange, ...props }, ref) => {
242
348
  const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
243
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
349
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
244
350
  import_select.Select,
245
351
  {
246
352
  ref,
@@ -254,7 +360,7 @@ var Select = import_react13.default.forwardRef(
254
360
  }
255
361
  },
256
362
  ...props,
257
- children: (item) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_select.SelectItem, { children: item.label }, item.key)
363
+ children: (item) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_select.SelectItem, { children: item.label }, item.key)
258
364
  }
259
365
  );
260
366
  }
@@ -262,43 +368,91 @@ var Select = import_react13.default.forwardRef(
262
368
  Select.displayName = "TeachInUI.Select";
263
369
 
264
370
  // src/ui/inputs/switch/switch.tsx
265
- var import_react14 = __toESM(require("react"));
371
+ var import_react19 = __toESM(require("react"));
266
372
  var import_switch = require("@heroui/switch");
267
- var import_jsx_runtime14 = require("react/jsx-runtime");
268
- var Switch = import_react14.default.forwardRef(({ ...props }, ref) => {
269
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_switch.Switch, { ref, ...props });
373
+ var import_jsx_runtime19 = require("react/jsx-runtime");
374
+ var Switch = import_react19.default.forwardRef(({ ...props }, ref) => {
375
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_switch.Switch, { ref, ...props });
270
376
  });
271
377
  Switch.displayName = "TeachInUI.Switch";
272
378
 
379
+ // src/ui/inputs/switch/favorite-switch.tsx
380
+ var import_switch2 = require("@heroui/switch");
381
+ var import_lucide_react = require("lucide-react");
382
+ var import_tailwind_variants = require("tailwind-variants");
383
+ var import_jsx_runtime20 = require("react/jsx-runtime");
384
+ var bookmarkVariants = (0, import_tailwind_variants.tv)({
385
+ base: "size-6 stroke-default-400 group-hover:fill-primary-100 group-hover:stroke-default-400",
386
+ variants: {
387
+ isSelected: {
388
+ true: "stroke-primary fill-primary-100"
389
+ }
390
+ }
391
+ });
392
+ function FavoriteSwitch({ isSelected, onValueChange }) {
393
+ const { Component, slots, getBaseProps, getInputProps, getWrapperProps } = (0, import_switch2.useSwitch)({
394
+ isSelected,
395
+ onValueChange
396
+ });
397
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Component, { ...getBaseProps(), children: [
398
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "sr-only", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("input", { ...getInputProps() }) }),
399
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
400
+ "div",
401
+ {
402
+ ...getWrapperProps(),
403
+ className: slots.wrapper({
404
+ class: "flex h-8 w-8 cursor-pointer items-center justify-center rounded-sm !bg-transparent"
405
+ }),
406
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react.Bookmark, { className: bookmarkVariants({ isSelected }) })
407
+ }
408
+ )
409
+ ] });
410
+ }
411
+
412
+ // src/ui/inputs/radio/radio.tsx
413
+ var import_radio = require("@heroui/radio");
414
+ var Radio = Object.assign(import_radio.Radio, { displayName: "TeachInUI.Radio" });
415
+
416
+ // src/ui/inputs/radio/radio-group.tsx
417
+ var import_react20 = __toESM(require("react"));
418
+ var import_radio2 = require("@heroui/radio");
419
+ var import_jsx_runtime21 = require("react/jsx-runtime");
420
+ var RadioGroup = import_react20.default.forwardRef(
421
+ (props, ref) => {
422
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_radio2.RadioGroup, { ref, ...props });
423
+ }
424
+ );
425
+ RadioGroup.displayName = "TeachInUI.RadioGroup";
426
+
273
427
  // src/ui/inputs/text/text.tsx
274
- var import_react15 = __toESM(require("react"));
275
- var import_jsx_runtime15 = require("react/jsx-runtime");
276
- var Text = import_react15.default.forwardRef(({ ...props }, ref) => {
277
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Input, { ref, type: "text", ...props });
428
+ var import_react21 = __toESM(require("react"));
429
+ var import_jsx_runtime22 = require("react/jsx-runtime");
430
+ var Text = import_react21.default.forwardRef(({ ...props }, ref) => {
431
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Input, { ref, type: "text", ...props });
278
432
  });
279
433
  Text.displayName = "TeachInUI.Text";
280
434
 
281
435
  // src/ui/inputs/textarea/textarea.tsx
282
436
  var import_input5 = require("@heroui/input");
283
- var import_react16 = __toESM(require("react"));
284
- var import_jsx_runtime16 = require("react/jsx-runtime");
285
- var Textarea = import_react16.default.forwardRef(
437
+ var import_react22 = __toESM(require("react"));
438
+ var import_jsx_runtime23 = require("react/jsx-runtime");
439
+ var Textarea = import_react22.default.forwardRef(
286
440
  ({ minRows = 4, ...props }, ref) => {
287
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_input5.Textarea, { ref, minRows, ...props });
441
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_input5.Textarea, { ref, minRows, ...props });
288
442
  }
289
443
  );
290
444
  Textarea.displayName = "TeachInUI.Textarea";
291
445
 
292
446
  // src/ui/form/rhf/fields/input-field.tsx
293
- var import_jsx_runtime17 = require("react/jsx-runtime");
447
+ var import_jsx_runtime24 = require("react/jsx-runtime");
294
448
  function InputField({ name, ...props }) {
295
449
  const { control } = (0, import_react_hook_form.useFormContext)();
296
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
450
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
297
451
  import_react_hook_form.Controller,
298
452
  {
299
453
  control,
300
454
  name,
301
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Input, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
455
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Input, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
302
456
  }
303
457
  );
304
458
  }
@@ -306,15 +460,15 @@ InputField.displayName = "TeachInUI.InputField";
306
460
 
307
461
  // src/ui/form/rhf/fields/text-field.tsx
308
462
  var import_react_hook_form2 = require("react-hook-form");
309
- var import_jsx_runtime18 = require("react/jsx-runtime");
463
+ var import_jsx_runtime25 = require("react/jsx-runtime");
310
464
  function TextField({ name, ...props }) {
311
465
  const { control } = (0, import_react_hook_form2.useFormContext)();
312
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
466
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
313
467
  import_react_hook_form2.Controller,
314
468
  {
315
469
  control,
316
470
  name,
317
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
471
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
318
472
  }
319
473
  );
320
474
  }
@@ -322,15 +476,15 @@ TextField.displayName = "TeachInUI.TextField";
322
476
 
323
477
  // src/ui/form/rhf/fields/email-field.tsx
324
478
  var import_react_hook_form3 = require("react-hook-form");
325
- var import_jsx_runtime19 = require("react/jsx-runtime");
479
+ var import_jsx_runtime26 = require("react/jsx-runtime");
326
480
  function EmailField({ name, ...props }) {
327
481
  const { control } = (0, import_react_hook_form3.useFormContext)();
328
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
482
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
329
483
  import_react_hook_form3.Controller,
330
484
  {
331
485
  control,
332
486
  name,
333
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
487
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
334
488
  }
335
489
  );
336
490
  }
@@ -338,15 +492,15 @@ EmailField.displayName = "TeachInUI.EmailField";
338
492
 
339
493
  // src/ui/form/rhf/fields/textarea-field.tsx
340
494
  var import_react_hook_form4 = require("react-hook-form");
341
- var import_jsx_runtime20 = require("react/jsx-runtime");
495
+ var import_jsx_runtime27 = require("react/jsx-runtime");
342
496
  function TextareaField({ name, ...props }) {
343
497
  const { control } = (0, import_react_hook_form4.useFormContext)();
344
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
498
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
345
499
  import_react_hook_form4.Controller,
346
500
  {
347
501
  control,
348
502
  name,
349
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
503
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
350
504
  Textarea,
351
505
  {
352
506
  ...props,
@@ -363,15 +517,15 @@ TextareaField.displayName = "TeachInUI.TextareaField";
363
517
 
364
518
  // src/ui/form/rhf/fields/select-field.tsx
365
519
  var import_react_hook_form5 = require("react-hook-form");
366
- var import_jsx_runtime21 = require("react/jsx-runtime");
520
+ var import_jsx_runtime28 = require("react/jsx-runtime");
367
521
  function SelectField({ name, ...props }) {
368
522
  const { control } = (0, import_react_hook_form5.useFormContext)();
369
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
523
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
370
524
  import_react_hook_form5.Controller,
371
525
  {
372
526
  control,
373
527
  name,
374
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
528
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
375
529
  Select,
376
530
  {
377
531
  value: field.value,
@@ -388,15 +542,15 @@ SelectField.displayName = "TeachInUI.SelectField";
388
542
 
389
543
  // src/ui/form/rhf/fields/autocomplete-field.tsx
390
544
  var import_react_hook_form6 = require("react-hook-form");
391
- var import_jsx_runtime22 = require("react/jsx-runtime");
545
+ var import_jsx_runtime29 = require("react/jsx-runtime");
392
546
  function AutocompleteField({ name, ...props }) {
393
547
  const { control } = (0, import_react_hook_form6.useFormContext)();
394
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
548
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
395
549
  import_react_hook_form6.Controller,
396
550
  {
397
551
  control,
398
552
  name,
399
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
553
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
400
554
  Autocomplete,
401
555
  {
402
556
  ...props,
@@ -413,15 +567,15 @@ AutocompleteField.displayName = "TeachInUI.AutocompleteField";
413
567
 
414
568
  // src/ui/form/rhf/fields/date-picker-field.tsx
415
569
  var import_react_hook_form7 = require("react-hook-form");
416
- var import_jsx_runtime23 = require("react/jsx-runtime");
570
+ var import_jsx_runtime30 = require("react/jsx-runtime");
417
571
  function DatePickerField({ name, ...props }) {
418
572
  const { control } = (0, import_react_hook_form7.useFormContext)();
419
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
573
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
420
574
  import_react_hook_form7.Controller,
421
575
  {
422
576
  control,
423
577
  name,
424
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
578
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
425
579
  DatePicker,
426
580
  {
427
581
  ...props,
@@ -438,17 +592,17 @@ DatePickerField.displayName = "TeachInUI.DatePickerField";
438
592
 
439
593
  // src/ui/form/rhf/fields/checkbox-field.tsx
440
594
  var import_react_hook_form8 = require("react-hook-form");
441
- var import_jsx_runtime24 = require("react/jsx-runtime");
595
+ var import_jsx_runtime31 = require("react/jsx-runtime");
442
596
  function CheckboxField({ name, ...props }) {
443
597
  const { control } = (0, import_react_hook_form8.useFormContext)();
444
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
598
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
445
599
  import_react_hook_form8.Controller,
446
600
  {
447
601
  control,
448
602
  name,
449
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { children: [
450
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
451
- error && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-tiny text-danger", children: error.message })
603
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { children: [
604
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
605
+ error && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-tiny text-danger", children: error.message })
452
606
  ] })
453
607
  }
454
608
  );
@@ -457,34 +611,61 @@ CheckboxField.displayName = "TeachInUI.CheckboxField";
457
611
 
458
612
  // src/ui/form/rhf/fields/switch-field.tsx
459
613
  var import_react_hook_form9 = require("react-hook-form");
460
- var import_jsx_runtime25 = require("react/jsx-runtime");
614
+ var import_jsx_runtime32 = require("react/jsx-runtime");
461
615
  function SwitchField({ name, ...props }) {
462
616
  const { control } = (0, import_react_hook_form9.useFormContext)();
463
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
617
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
464
618
  import_react_hook_form9.Controller,
465
619
  {
466
620
  control,
467
621
  name,
468
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { children: [
469
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
470
- error && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-tiny text-danger", children: error.message })
622
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
623
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
624
+ error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-tiny text-danger", children: error.message })
471
625
  ] })
472
626
  }
473
627
  );
474
628
  }
475
629
  SwitchField.displayName = "TeachInUI.SwitchField";
476
630
 
631
+ // src/ui/form/rhf/fields/radio-field.tsx
632
+ var import_react_hook_form10 = require("react-hook-form");
633
+ var import_jsx_runtime33 = require("react/jsx-runtime");
634
+ function RadioField({ name, ...props }) {
635
+ const { control } = (0, import_react_hook_form10.useFormContext)();
636
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
637
+ import_react_hook_form10.Controller,
638
+ {
639
+ control,
640
+ name,
641
+ render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
642
+ RadioGroup,
643
+ {
644
+ ...props,
645
+ ...field,
646
+ ref,
647
+ errorMessage: error == null ? void 0 : error.message,
648
+ isInvalid: !!error,
649
+ value,
650
+ onValueChange: onChange
651
+ }
652
+ )
653
+ }
654
+ );
655
+ }
656
+ RadioField.displayName = "TeachInUI.RadioField";
657
+
477
658
  // src/ui/form/form.tsx
478
659
  var import_form = require("@heroui/form");
479
- var import_react17 = __toESM(require("react"));
480
- var import_jsx_runtime26 = require("react/jsx-runtime");
481
- var Form = import_react17.default.forwardRef(({ ...props }, ref) => {
482
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_form.Form, { ref, ...props });
660
+ var import_react23 = __toESM(require("react"));
661
+ var import_jsx_runtime34 = require("react/jsx-runtime");
662
+ var Form = import_react23.default.forwardRef(({ ...props }, ref) => {
663
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_form.Form, { ref, ...props });
483
664
  });
484
665
  Form.displayName = "TeachInUI.Form";
485
666
 
486
667
  // src/ui/format/datetime.tsx
487
- var import_jsx_runtime27 = require("react/jsx-runtime");
668
+ var import_jsx_runtime35 = require("react/jsx-runtime");
488
669
  var defaultFormat = {
489
670
  day: "numeric",
490
671
  month: "long",
@@ -500,15 +681,15 @@ function Datetime({
500
681
  fallback = "\u2014"
501
682
  }) {
502
683
  const formatter = new Intl.DateTimeFormat(locale, format);
503
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: fallback });
684
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: fallback });
504
685
  const date = value instanceof Date ? value : new Date(value);
505
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: fallback });
506
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: formatter.format(date) });
686
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: fallback });
687
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: formatter.format(date) });
507
688
  }
508
689
  Datetime.displayName = "TeachInUI.FormatDatetime";
509
690
 
510
691
  // src/ui/format/date.tsx
511
- var import_jsx_runtime28 = require("react/jsx-runtime");
692
+ var import_jsx_runtime36 = require("react/jsx-runtime");
512
693
  var defaultFormat2 = {
513
694
  day: "numeric",
514
695
  month: "long",
@@ -521,15 +702,15 @@ function DateFormat({
521
702
  fallback = "\u2014"
522
703
  }) {
523
704
  const formatter = new Intl.DateTimeFormat(locale, format);
524
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children: fallback });
705
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: fallback });
525
706
  const date = value instanceof Date ? value : new Date(value);
526
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children: fallback });
527
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children: formatter.format(date) });
707
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: fallback });
708
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: formatter.format(date) });
528
709
  }
529
710
  DateFormat.displayName = "TeachInUI.FormatDate";
530
711
 
531
712
  // src/ui/format/time.tsx
532
- var import_jsx_runtime29 = require("react/jsx-runtime");
713
+ var import_jsx_runtime37 = require("react/jsx-runtime");
533
714
  var defaultFormat3 = {
534
715
  hour: "2-digit",
535
716
  minute: "2-digit"
@@ -541,15 +722,15 @@ function Time({
541
722
  fallback = "\u2014"
542
723
  }) {
543
724
  const formatter = new Intl.DateTimeFormat(locale, format);
544
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: fallback });
725
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: fallback });
545
726
  const date = value instanceof Date ? value : new Date(value);
546
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: fallback });
547
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: formatter.format(date) });
727
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: fallback });
728
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: formatter.format(date) });
548
729
  }
549
730
  Time.displayName = "TeachInUI.FormatTime";
550
731
 
551
732
  // src/ui/format/currency.tsx
552
- var import_jsx_runtime30 = require("react/jsx-runtime");
733
+ var import_jsx_runtime38 = require("react/jsx-runtime");
553
734
  function Currency({
554
735
  amount,
555
736
  currency = "RUB",
@@ -564,23 +745,23 @@ function Currency({
564
745
  maximumFractionDigits: decimals
565
746
  }
566
747
  });
567
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children: formatter.format(amount) });
748
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: formatter.format(amount) });
568
749
  }
569
750
  Currency.displayName = "TeachInUI.FormatCurrency";
570
751
 
571
752
  // src/ui/format/number.tsx
572
- var import_jsx_runtime31 = require("react/jsx-runtime");
753
+ var import_jsx_runtime39 = require("react/jsx-runtime");
573
754
  function Number({ value, decimals, locale = "ru-RU" }) {
574
755
  const formatter = new Intl.NumberFormat(locale, {
575
756
  minimumFractionDigits: decimals != null ? decimals : 0,
576
757
  maximumFractionDigits: decimals != null ? decimals : 2
577
758
  });
578
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children: formatter.format(value) });
759
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: formatter.format(value) });
579
760
  }
580
761
  Number.displayName = "TeachInUI.FormatNumber";
581
762
 
582
763
  // src/ui/format/percent.tsx
583
- var import_jsx_runtime32 = require("react/jsx-runtime");
764
+ var import_jsx_runtime40 = require("react/jsx-runtime");
584
765
  function Percent({
585
766
  value,
586
767
  decimals = 1,
@@ -593,12 +774,12 @@ function Percent({
593
774
  maximumFractionDigits: decimals
594
775
  });
595
776
  const normalizedValue = unit === "percent" ? value / 100 : value;
596
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_jsx_runtime32.Fragment, { children: formatter.format(normalizedValue) });
777
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(normalizedValue) });
597
778
  }
598
779
  Percent.displayName = "TeachInUI.FormatPercent";
599
780
 
600
781
  // src/ui/format/plural.tsx
601
- var import_jsx_runtime33 = require("react/jsx-runtime");
782
+ var import_jsx_runtime41 = require("react/jsx-runtime");
602
783
  function Plural({
603
784
  count,
604
785
  one,
@@ -619,12 +800,12 @@ function Plural({
619
800
  };
620
801
  const selectedForm = forms[rule];
621
802
  const result = showCount ? `${count} ${selectedForm}` : selectedForm;
622
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: result });
803
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: result });
623
804
  }
624
805
  Plural.displayName = "TeachInUI.FormatPlural";
625
806
 
626
807
  // src/ui/format/duration.tsx
627
- var import_jsx_runtime34 = require("react/jsx-runtime");
808
+ var import_jsx_runtime42 = require("react/jsx-runtime");
628
809
  function Duration({
629
810
  minutes = 0,
630
811
  hours = 0,
@@ -646,27 +827,27 @@ function Duration({
646
827
  if (remainingMinutes > 0 || totalDays === 0 && totalHours === 0) {
647
828
  parts.push(compact ? `${remainingMinutes}\u043C` : `${remainingMinutes} \u043C\u0438\u043D`);
648
829
  }
649
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: parts.join(" ") });
830
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: parts.join(" ") });
650
831
  }
651
832
  Duration.displayName = "TeachInUI.FormatDuration";
652
833
 
653
834
  // src/ui/format/boolean.tsx
654
- var import_jsx_runtime35 = require("react/jsx-runtime");
835
+ var import_jsx_runtime43 = require("react/jsx-runtime");
655
836
  function Boolean({
656
837
  value,
657
838
  trueLabel = "\u0414\u0430",
658
839
  falseLabel = "\u041D\u0435\u0442",
659
840
  nullLabel = "\u2014"
660
841
  }) {
661
- if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: nullLabel });
662
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: value ? trueLabel : falseLabel });
842
+ if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: nullLabel });
843
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: value ? trueLabel : falseLabel });
663
844
  }
664
845
  Boolean.displayName = "TeachInUI.FormatBoolean";
665
846
 
666
847
  // src/ui/surface/bento/bento.tsx
667
- var import_tailwind_variants = require("tailwind-variants");
668
- var import_jsx_runtime36 = require("react/jsx-runtime");
669
- var bento = (0, import_tailwind_variants.tv)({
848
+ var import_tailwind_variants2 = require("tailwind-variants");
849
+ var import_jsx_runtime44 = require("react/jsx-runtime");
850
+ var bento = (0, import_tailwind_variants2.tv)({
670
851
  base: "rounded-xl p-6 transition-colors",
671
852
  variants: {
672
853
  color: {
@@ -703,15 +884,42 @@ var bento = (0, import_tailwind_variants.tv)({
703
884
  }
704
885
  });
705
886
  var Bento = ({ className, ...props }) => {
706
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: bento({ ...props, className }), ...props });
887
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: bento({ ...props, className }), ...props });
707
888
  };
708
889
  Bento.displayName = "TeachInUI.Bento";
709
890
 
891
+ // src/ui/surface/card/card.tsx
892
+ var import_react24 = __toESM(require("react"));
893
+ var import_card = require("@heroui/card");
894
+ var import_jsx_runtime45 = require("react/jsx-runtime");
895
+ var Root = import_react24.default.forwardRef(({ children, ...props }, ref) => {
896
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_card.Card, { ref, ...props, children });
897
+ });
898
+ Root.displayName = "TeachInUI.Card.Root";
899
+ var Header = import_react24.default.forwardRef(({ children, ...props }, ref) => {
900
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_card.CardHeader, { ref, ...props, children });
901
+ });
902
+ Header.displayName = "TeachInUI.Card.Header";
903
+ var Body = import_react24.default.forwardRef(({ children, ...props }, ref) => {
904
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_card.CardBody, { ref, ...props, children });
905
+ });
906
+ Body.displayName = "TeachInUI.Card.Body";
907
+ var Footer = import_react24.default.forwardRef(({ children, ...props }, ref) => {
908
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_card.CardFooter, { ref, ...props, children });
909
+ });
910
+ Footer.displayName = "TeachInUI.Card.Footer";
911
+ var Card = {
912
+ Root,
913
+ Header,
914
+ Body,
915
+ Footer
916
+ };
917
+
710
918
  // src/ui/layout/container/container.tsx
711
919
  var import_react_slot = require("@radix-ui/react-slot");
712
- var import_tailwind_variants2 = require("tailwind-variants");
713
- var import_jsx_runtime37 = require("react/jsx-runtime");
714
- var variants = (0, import_tailwind_variants2.tv)({
920
+ var import_tailwind_variants3 = require("tailwind-variants");
921
+ var import_jsx_runtime46 = require("react/jsx-runtime");
922
+ var variants = (0, import_tailwind_variants3.tv)({
715
923
  base: "w-full mx-auto px-6",
716
924
  variants: {
717
925
  size: {
@@ -730,65 +938,65 @@ var variants = (0, import_tailwind_variants2.tv)({
730
938
  });
731
939
  var Container = ({ children, asChild = false, className, size, ...props }) => {
732
940
  const Comp = asChild ? import_react_slot.Slot : "div";
733
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
941
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
734
942
  };
735
943
  Container.displayName = "TeachInUI.Container";
736
944
 
737
945
  // src/ui/layout/page/breadcrumbs.tsx
738
946
  var import_breadcrumbs = require("@heroui/breadcrumbs");
739
- var import_jsx_runtime38 = require("react/jsx-runtime");
740
- var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
947
+ var import_jsx_runtime47 = require("react/jsx-runtime");
948
+ var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
741
949
 
742
950
  // src/ui/layout/page/page-content.tsx
743
- var import_jsx_runtime39 = require("react/jsx-runtime");
744
- var Root = ({
951
+ var import_jsx_runtime48 = require("react/jsx-runtime");
952
+ var Root2 = ({
745
953
  children,
746
954
  breadcrumbs = []
747
- }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col gap-6", children: [
748
- breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Breadcrumbs, { items: breadcrumbs }),
955
+ }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex flex-col gap-6", children: [
956
+ breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Breadcrumbs, { items: breadcrumbs }),
749
957
  children
750
958
  ] });
751
- Root.displayName = "TeachInUI.PageContent.Root";
752
- var Header = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
753
- Header.displayName = "TeachInUI.PageContent.Header";
959
+ Root2.displayName = "TeachInUI.PageContent.Root";
960
+ var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
961
+ Header2.displayName = "TeachInUI.PageContent.Header";
754
962
  var Title = ({
755
963
  children,
756
964
  ...others
757
- }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
965
+ }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
758
966
  Title.displayName = "TeachInUI.PageContent.Title";
759
967
  var Actions = ({
760
968
  children,
761
969
  ...others
762
- }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
970
+ }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
763
971
  Actions.displayName = "TeachInUI.PageContent.Actions";
764
- var Body = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col gap-6", children });
765
- Body.displayName = "TeachInUI.PageContent.Body";
972
+ var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex flex-col gap-6", children });
973
+ Body2.displayName = "TeachInUI.PageContent.Body";
766
974
  var Section = ({
767
975
  children,
768
976
  ...others
769
- }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
977
+ }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
770
978
  Section.displayName = "TeachInUI.PageContent.Section";
771
979
  var SectionHeader = ({
772
980
  children,
773
981
  ...others
774
- }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex items-center justify-between", ...others, children });
982
+ }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex items-center justify-between", ...others, children });
775
983
  SectionHeader.displayName = "TeachInUI.PageContent.SectionHeader";
776
984
  var SectionTitle = ({
777
985
  children,
778
986
  ...others
779
- }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
987
+ }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
780
988
  SectionTitle.displayName = "TeachInUI.PageContent.SectionTitle";
781
989
  var SectionActions = ({
782
990
  children,
783
991
  ...others
784
- }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
992
+ }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
785
993
  SectionActions.displayName = "TeachInUI.PageContent.SectionActions";
786
994
  var PageContent = {
787
- Root,
788
- Header,
995
+ Root: Root2,
996
+ Header: Header2,
789
997
  Title,
790
998
  Actions,
791
- Body,
999
+ Body: Body2,
792
1000
  Section,
793
1001
  SectionHeader,
794
1002
  SectionTitle,
@@ -796,19 +1004,19 @@ var PageContent = {
796
1004
  };
797
1005
 
798
1006
  // src/ui/layout/page/page-loading.tsx
799
- var import_jsx_runtime40 = require("react/jsx-runtime");
800
- var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Spinner, {}) });
1007
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1008
+ var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Spinner, {}) });
801
1009
  PageLoading.displayName = "TeachInUI.PageLoading";
802
1010
 
803
1011
  // src/ui/layout/page/section-loading.tsx
804
- var import_jsx_runtime41 = require("react/jsx-runtime");
805
- var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Spinner, {}) });
1012
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1013
+ var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Spinner, {}) });
806
1014
  SectionLoading.displayName = "TeachInUI.SectionLoading";
807
1015
 
808
1016
  // src/ui/layout/flex/flex.tsx
809
- var import_tailwind_variants3 = require("tailwind-variants");
810
- var import_jsx_runtime42 = require("react/jsx-runtime");
811
- var variants2 = (0, import_tailwind_variants3.tv)({
1017
+ var import_tailwind_variants4 = require("tailwind-variants");
1018
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1019
+ var variants2 = (0, import_tailwind_variants4.tv)({
812
1020
  base: "flex",
813
1021
  variants: {
814
1022
  direction: {
@@ -855,14 +1063,14 @@ var variants2 = (0, import_tailwind_variants3.tv)({
855
1063
  }
856
1064
  });
857
1065
  var Flex = ({ className, ...props }) => {
858
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: variants2({ ...props, className }), ...props });
1066
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: variants2({ ...props, className }), ...props });
859
1067
  };
860
1068
  Flex.displayName = "TeachInUI.Flex";
861
1069
 
862
1070
  // src/ui/layout/grid/grid.tsx
863
- var import_tailwind_variants4 = require("tailwind-variants");
864
- var import_jsx_runtime43 = require("react/jsx-runtime");
865
- var variants3 = (0, import_tailwind_variants4.tv)({
1071
+ var import_tailwind_variants5 = require("tailwind-variants");
1072
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1073
+ var variants3 = (0, import_tailwind_variants5.tv)({
866
1074
  base: "grid",
867
1075
  variants: {
868
1076
  columns: {
@@ -911,64 +1119,170 @@ var variants3 = (0, import_tailwind_variants4.tv)({
911
1119
  }
912
1120
  });
913
1121
  var Grid = ({ className, ...props }) => {
914
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: variants3({ ...props, className }), ...props });
1122
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: variants3({ ...props, className }), ...props });
915
1123
  };
916
1124
  Grid.displayName = "TeachInUI.Grid";
917
1125
 
1126
+ // src/ui/layout/divider/divider.tsx
1127
+ var import_react25 = __toESM(require("react"));
1128
+ var import_divider = require("@heroui/divider");
1129
+ var import_jsx_runtime53 = require("react/jsx-runtime");
1130
+ var Divider = import_react25.default.forwardRef((props, ref) => {
1131
+ const { ...restProps } = props;
1132
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_divider.Divider, { ref, ...restProps });
1133
+ });
1134
+ Divider.displayName = "TeachInUI.Divider";
1135
+
1136
+ // src/ui/layout/scroll-shadow/scroll-shadow.tsx
1137
+ var import_react26 = __toESM(require("react"));
1138
+ var import_scroll_shadow = require("@heroui/scroll-shadow");
1139
+ var import_jsx_runtime54 = require("react/jsx-runtime");
1140
+ var ScrollShadow = import_react26.default.forwardRef((props, ref) => {
1141
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1142
+ });
1143
+ ScrollShadow.displayName = "TeachInUI.ScrollShadow";
1144
+
1145
+ // src/ui/layout/accordion/accordion.tsx
1146
+ var import_accordion = require("@heroui/accordion");
1147
+ var Accordion = Object.assign(import_accordion.Accordion, { displayName: "TeachInUI.Accordion" });
1148
+ var AccordionItem = Object.assign(import_accordion.AccordionItem, { displayName: "TeachInUI.AccordionItem" });
1149
+
918
1150
  // src/ui/navigation/link/link.tsx
919
1151
  var import_link = require("@heroui/link");
920
- var import_jsx_runtime44 = require("react/jsx-runtime");
1152
+ var import_jsx_runtime55 = require("react/jsx-runtime");
921
1153
  function Link({ children, ...props }) {
922
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_link.Link, { ...props, children });
1154
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_link.Link, { ...props, children });
923
1155
  }
924
1156
  Link.displayName = "TeachInUI.Link";
925
1157
 
1158
+ // src/ui/navigation/tabs/tabs.tsx
1159
+ var import_react27 = __toESM(require("react"));
1160
+ var import_tabs = require("@heroui/tabs");
1161
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1162
+ var Root3 = import_react27.default.forwardRef(({ children, ...props }, ref) => {
1163
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_tabs.Tabs, { ref, ...props, children });
1164
+ });
1165
+ Root3.displayName = "TeachInUI.Tabs.Root";
1166
+ var Tab = Object.assign(import_tabs.Tab, {
1167
+ displayName: "TeachInUI.Tabs.Tab"
1168
+ });
1169
+ var Tabs = {
1170
+ Root: Root3,
1171
+ Tab
1172
+ };
1173
+
1174
+ // src/ui/navigation/navbar/navbar.tsx
1175
+ var import_react28 = __toESM(require("react"));
1176
+ var import_navbar = require("@heroui/navbar");
1177
+ var import_jsx_runtime57 = require("react/jsx-runtime");
1178
+ var Navbar = import_react28.default.forwardRef((props, ref) => {
1179
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_navbar.Navbar, { ref, ...props });
1180
+ });
1181
+ Navbar.displayName = "TeachInUI.Navbar";
1182
+ var NavbarBrand = import_react28.default.forwardRef((props, ref) => {
1183
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1184
+ });
1185
+ NavbarBrand.displayName = "TeachInUI.NavbarBrand";
1186
+ var NavbarContent = import_react28.default.forwardRef((props, ref) => {
1187
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_navbar.NavbarContent, { ref, ...props });
1188
+ });
1189
+ NavbarContent.displayName = "TeachInUI.NavbarContent";
1190
+ var NavbarItem = import_react28.default.forwardRef((props, ref) => {
1191
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_navbar.NavbarItem, { ref, ...props });
1192
+ });
1193
+ NavbarItem.displayName = "TeachInUI.NavbarItem";
1194
+ var NavbarMenu = import_react28.default.forwardRef((props, ref) => {
1195
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1196
+ });
1197
+ NavbarMenu.displayName = "TeachInUI.NavbarMenu";
1198
+ var NavbarMenuItem = import_react28.default.forwardRef((props, ref) => {
1199
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1200
+ });
1201
+ NavbarMenuItem.displayName = "TeachInUI.NavbarMenuItem";
1202
+ var NavbarMenuToggle = import_react28.default.forwardRef((props, ref) => {
1203
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1204
+ });
1205
+ NavbarMenuToggle.displayName = "TeachInUI.NavbarMenuToggle";
1206
+
1207
+ // src/ui/navigation/breadcrumbs/breadcrumbs.tsx
1208
+ var import_react29 = __toESM(require("react"));
1209
+ var import_breadcrumbs3 = require("@heroui/breadcrumbs");
1210
+ var import_jsx_runtime58 = require("react/jsx-runtime");
1211
+ var Breadcrumbs2 = import_react29.default.forwardRef(
1212
+ (props, ref) => {
1213
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_breadcrumbs3.Breadcrumbs, { ref, ...props });
1214
+ }
1215
+ );
1216
+ Breadcrumbs2.displayName = "TeachInUI.Breadcrumbs";
1217
+ var BreadcrumbItem2 = import_react29.default.forwardRef(
1218
+ ({ children, ...props }, ref) => {
1219
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_breadcrumbs3.BreadcrumbItem, { ref, ...props, children });
1220
+ }
1221
+ );
1222
+ BreadcrumbItem2.displayName = "TeachInUI.BreadcrumbItem";
1223
+
926
1224
  // src/ui/overlays/modal/modal.tsx
927
1225
  var import_modal = require("@heroui/modal");
928
- var import_jsx_runtime45 = require("react/jsx-runtime");
929
- function Root2({
1226
+ var import_jsx_runtime59 = require("react/jsx-runtime");
1227
+ function Root4({
930
1228
  size = "md",
931
1229
  placement = "center",
932
1230
  children,
933
1231
  ...props
934
1232
  }) {
935
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_modal.Modal, { placement, size, ...props, children });
1233
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.Modal, { placement, size, ...props, children });
936
1234
  }
937
- Root2.displayName = "TeachInUI.Modal.Root";
1235
+ Root4.displayName = "TeachInUI.Modal.Root";
938
1236
  function Content({ children, ...props }) {
939
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
1237
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
940
1238
  }
941
1239
  Content.displayName = "TeachInUI.Modal.Content";
942
- function Header2({ children, ...props }) {
943
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_modal.ModalHeader, { ...props, children });
1240
+ function Header3({ children, ...props }) {
1241
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.ModalHeader, { ...props, children });
944
1242
  }
945
- Header2.displayName = "TeachInUI.Modal.Header";
946
- function Body2({ children, ...props }) {
947
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_modal.ModalBody, { ...props, children });
1243
+ Header3.displayName = "TeachInUI.Modal.Header";
1244
+ function Body3({ children, ...props }) {
1245
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.ModalBody, { ...props, children });
948
1246
  }
949
- Body2.displayName = "TeachInUI.Modal.Body";
950
- function Footer({ children, ...props }) {
951
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_modal.ModalFooter, { ...props, children });
1247
+ Body3.displayName = "TeachInUI.Modal.Body";
1248
+ function Footer2({ children, ...props }) {
1249
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.ModalFooter, { ...props, children });
952
1250
  }
953
- Footer.displayName = "TeachInUI.Modal.Footer";
1251
+ Footer2.displayName = "TeachInUI.Modal.Footer";
954
1252
  var Modal = {
955
- Root: Root2,
1253
+ Root: Root4,
956
1254
  Content,
957
- Header: Header2,
958
- Body: Body2,
959
- Footer
1255
+ Header: Header3,
1256
+ Body: Body3,
1257
+ Footer: Footer2
960
1258
  };
961
1259
 
1260
+ // src/ui/overlays/dropdown/dropdown.tsx
1261
+ var import_dropdown = require("@heroui/dropdown");
1262
+ var Dropdown = Object.assign(import_dropdown.Dropdown, { displayName: "TeachInUI.Dropdown" });
1263
+ var DropdownTrigger = Object.assign(import_dropdown.DropdownTrigger, {
1264
+ displayName: "TeachInUI.DropdownTrigger"
1265
+ });
1266
+ var DropdownMenu = Object.assign(import_dropdown.DropdownMenu, { displayName: "TeachInUI.DropdownMenu" });
1267
+ var DropdownItem = Object.assign(import_dropdown.DropdownItem, { displayName: "TeachInUI.DropdownItem" });
1268
+ var DropdownSection = Object.assign(import_dropdown.DropdownSection, {
1269
+ displayName: "TeachInUI.DropdownSection"
1270
+ });
1271
+
962
1272
  // src/ui/provider/ui-provider.tsx
963
1273
  var import_system2 = require("@heroui/system");
964
- var import_jsx_runtime46 = require("react/jsx-runtime");
1274
+ var import_jsx_runtime60 = require("react/jsx-runtime");
965
1275
  function UIProvider({
966
1276
  children,
967
1277
  locale = "ru-RU",
968
1278
  labelPlacement = "outside",
969
- navigate
1279
+ navigate,
1280
+ toastProviderProps
970
1281
  }) {
971
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_system2.HeroUIProvider, { labelPlacement, locale, navigate, children });
1282
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_system2.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1283
+ children,
1284
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ToastProvider, { ...toastProviderProps })
1285
+ ] });
972
1286
  }
973
1287
 
974
1288
  // src/ui/style/css.ts
@@ -1270,7 +1584,7 @@ var themeColorsDark = {
1270
1584
  },
1271
1585
  primary: {
1272
1586
  ...swapColorValues(commonColors.blue),
1273
- foreground: commonColors.blue[500],
1587
+ foreground: commonColors.white,
1274
1588
  flat: commonColors.blue[500],
1275
1589
  DEFAULT: commonColors.blue[500]
1276
1590
  },
@@ -1349,6 +1663,8 @@ var theme = (0, import_theme.heroui)({
1349
1663
  });
1350
1664
  // Annotate the CommonJS export names for ESM import in node:
1351
1665
  0 && (module.exports = {
1666
+ Accordion,
1667
+ AccordionItem,
1352
1668
  Actions,
1353
1669
  Alert,
1354
1670
  Autocomplete,
@@ -1356,15 +1672,27 @@ var theme = (0, import_theme.heroui)({
1356
1672
  Avatar,
1357
1673
  Bento,
1358
1674
  Body,
1675
+ BreadcrumbItem,
1676
+ Breadcrumbs,
1359
1677
  Button,
1678
+ Card,
1360
1679
  Checkbox,
1361
1680
  CheckboxField,
1681
+ CheckboxGroup,
1362
1682
  Chip,
1683
+ CircularProgress,
1363
1684
  Container,
1364
1685
  DatePicker,
1365
1686
  DatePickerField,
1687
+ Divider,
1688
+ Dropdown,
1689
+ DropdownItem,
1690
+ DropdownMenu,
1691
+ DropdownSection,
1692
+ DropdownTrigger,
1366
1693
  Email,
1367
1694
  EmailField,
1695
+ FavoriteSwitch,
1368
1696
  Flex,
1369
1697
  Form,
1370
1698
  FormatBoolean,
@@ -1382,10 +1710,22 @@ var theme = (0, import_theme.heroui)({
1382
1710
  InputField,
1383
1711
  Link,
1384
1712
  Modal,
1713
+ Navbar,
1714
+ NavbarBrand,
1715
+ NavbarContent,
1716
+ NavbarItem,
1717
+ NavbarMenu,
1718
+ NavbarMenuItem,
1719
+ NavbarMenuToggle,
1385
1720
  PageContent,
1386
1721
  PageLoading,
1387
1722
  Pagination,
1723
+ Progress,
1724
+ Radio,
1725
+ RadioField,
1726
+ RadioGroup,
1388
1727
  Root,
1728
+ ScrollShadow,
1389
1729
  Section,
1390
1730
  SectionActions,
1391
1731
  SectionHeader,
@@ -1396,16 +1736,33 @@ var theme = (0, import_theme.heroui)({
1396
1736
  Spinner,
1397
1737
  Switch,
1398
1738
  SwitchField,
1739
+ Table,
1740
+ TableBody,
1741
+ TableCell,
1742
+ TableColumn,
1743
+ TableHeader,
1744
+ TableRow,
1745
+ Tabs,
1399
1746
  TeachInUIProvider,
1400
1747
  Text,
1401
1748
  TextField,
1402
1749
  Textarea,
1403
1750
  TextareaField,
1404
1751
  Title,
1752
+ Toast,
1753
+ ToastProvider,
1405
1754
  Tooltip,
1406
1755
  UIProvider,
1756
+ User,
1757
+ addToast,
1407
1758
  bento,
1408
1759
  breakpoints,
1760
+ closeAll,
1761
+ closeToast,
1409
1762
  cn,
1410
- theme
1763
+ getKeyValue,
1764
+ getToastQueue,
1765
+ isToastClosing,
1766
+ theme,
1767
+ useToast
1411
1768
  });