@teach-in/react 0.3.0 → 0.4.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 (103) hide show
  1. package/dist/chunk-3YOW5DEZ.mjs +45 -0
  2. package/dist/chunk-4N3FFVKQ.mjs +14 -0
  3. package/dist/{chunk-QCLLPJMB.mjs → chunk-544SDU73.mjs} +2 -2
  4. package/dist/chunk-7BTEKEON.mjs +11 -0
  5. package/dist/{chunk-2CEZXLZR.mjs → chunk-AFVGHUW2.mjs} +1 -1
  6. package/dist/chunk-EEGPGLDC.mjs +26 -0
  7. package/dist/{chunk-GEJLG5RP.mjs → chunk-NLHQDWUK.mjs} +3 -2
  8. package/dist/chunk-PSK7I7V4.mjs +30 -0
  9. package/dist/chunk-Q2ILWL7L.mjs +1 -0
  10. package/dist/chunk-TSD6GU35.mjs +16 -0
  11. package/dist/chunk-UON5ACST.mjs +1 -0
  12. package/dist/chunk-UT5RUCAT.mjs +1 -0
  13. package/dist/{chunk-2ASQXBDD.mjs → chunk-WFNNN6WU.mjs} +1 -1
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.js +290 -234
  16. package/dist/index.mjs +148 -133
  17. package/dist/ui/data/image/image.d.ts +6 -0
  18. package/dist/ui/data/image/image.js +47 -0
  19. package/dist/ui/data/image/image.mjs +7 -0
  20. package/dist/ui/data/image/index.d.ts +1 -0
  21. package/dist/ui/data/image/index.js +49 -0
  22. package/dist/ui/data/image/index.mjs +8 -0
  23. package/dist/ui/data/index.d.ts +1 -0
  24. package/dist/ui/data/index.js +11 -0
  25. package/dist/ui/data/index.mjs +10 -5
  26. package/dist/ui/feedback/chip/chip.js +18 -1
  27. package/dist/ui/feedback/chip/chip.mjs +3 -1
  28. package/dist/ui/feedback/chip/index.js +18 -1
  29. package/dist/ui/feedback/chip/index.mjs +3 -1
  30. package/dist/ui/feedback/index.js +18 -1
  31. package/dist/ui/feedback/index.mjs +6 -4
  32. package/dist/ui/form/index.js +23 -10
  33. package/dist/ui/form/index.mjs +14 -14
  34. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +10 -10
  35. package/dist/ui/form/rhf/fields/checkbox-field.mjs +10 -10
  36. package/dist/ui/form/rhf/fields/date-picker-field.mjs +10 -10
  37. package/dist/ui/form/rhf/fields/email-field.mjs +10 -10
  38. package/dist/ui/form/rhf/fields/index.js +23 -10
  39. package/dist/ui/form/rhf/fields/index.mjs +11 -11
  40. package/dist/ui/form/rhf/fields/input-field.mjs +10 -10
  41. package/dist/ui/form/rhf/fields/radio-field.mjs +10 -10
  42. package/dist/ui/form/rhf/fields/select-field.d.ts +8 -3
  43. package/dist/ui/form/rhf/fields/select-field.js +23 -10
  44. package/dist/ui/form/rhf/fields/select-field.mjs +11 -11
  45. package/dist/ui/form/rhf/fields/switch-field.mjs +10 -10
  46. package/dist/ui/form/rhf/fields/text-field.mjs +10 -10
  47. package/dist/ui/form/rhf/fields/textarea-field.mjs +10 -10
  48. package/dist/ui/form/rhf/index.js +23 -10
  49. package/dist/ui/form/rhf/index.mjs +11 -11
  50. package/dist/ui/format/index.mjs +12 -12
  51. package/dist/ui/index.js +288 -234
  52. package/dist/ui/index.mjs +145 -133
  53. package/dist/ui/inputs/index.js +21 -9
  54. package/dist/ui/inputs/index.mjs +18 -18
  55. package/dist/ui/inputs/select/index.js +21 -9
  56. package/dist/ui/inputs/select/index.mjs +1 -1
  57. package/dist/ui/inputs/select/select.d.ts +18 -5
  58. package/dist/ui/inputs/select/select.js +21 -9
  59. package/dist/ui/inputs/select/select.mjs +1 -1
  60. package/dist/ui/layout/container/container.mjs +73 -67
  61. package/dist/ui/layout/container/index.mjs +73 -67
  62. package/dist/ui/layout/index.mjs +76 -70
  63. package/dist/ui/layout/page/index.mjs +4 -2
  64. package/dist/ui/layout/page/page-loading.mjs +4 -2
  65. package/dist/ui/layout/page/section-loading.mjs +4 -2
  66. package/dist/ui/navigation/breadcrumbs/breadcrumbs.d.ts +10 -6
  67. package/dist/ui/navigation/breadcrumbs/breadcrumbs.js +4 -24
  68. package/dist/ui/navigation/breadcrumbs/breadcrumbs.mjs +1 -1
  69. package/dist/ui/navigation/breadcrumbs/index.js +4 -24
  70. package/dist/ui/navigation/breadcrumbs/index.mjs +1 -1
  71. package/dist/ui/navigation/index.js +4 -14
  72. package/dist/ui/navigation/index.mjs +9 -9
  73. package/dist/ui/overlays/index.d.ts +1 -0
  74. package/dist/ui/overlays/index.js +25 -2
  75. package/dist/ui/overlays/index.mjs +11 -6
  76. package/dist/ui/overlays/popover/index.d.ts +1 -0
  77. package/dist/ui/overlays/popover/index.js +51 -0
  78. package/dist/ui/overlays/popover/index.mjs +8 -0
  79. package/dist/ui/overlays/popover/popover.d.ts +10 -0
  80. package/dist/ui/overlays/popover/popover.js +49 -0
  81. package/dist/ui/overlays/popover/popover.mjs +7 -0
  82. package/dist/ui/provider/index.mjs +4 -2
  83. package/dist/ui/provider/ui-provider.mjs +4 -2
  84. package/dist/ui/surface/index.mjs +4 -4
  85. package/dist/ui/theme/colors/common.mjs +3 -3
  86. package/dist/ui/theme/colors/index.mjs +5 -5
  87. package/dist/ui/theme/colors/semantic.mjs +4 -4
  88. package/dist/ui/theme/colors.mjs +5 -5
  89. package/dist/ui/theme/index.mjs +6 -6
  90. package/dist/ui/theme/theme.mjs +6 -6
  91. package/dist/utils/extend-variants.d.ts +41 -0
  92. package/dist/utils/extend-variants.js +34 -0
  93. package/dist/utils/extend-variants.mjs +7 -0
  94. package/dist/utils/index.d.ts +1 -0
  95. package/dist/utils/index.js +36 -0
  96. package/dist/utils/index.mjs +8 -0
  97. package/package.json +5 -3
  98. package/dist/chunk-4KPEPEPC.mjs +0 -26
  99. package/dist/chunk-GQ3LBZ2Q.mjs +0 -33
  100. package/dist/chunk-ONQIPN3G.mjs +0 -14
  101. package/dist/{chunk-CYSW4N3T.mjs → chunk-3C4DPNCD.mjs} +0 -0
  102. package/dist/{chunk-IXPMUODA.mjs → chunk-5WDV3PDI.mjs} +6 -6
  103. /package/dist/{chunk-NMMWGIQE.mjs → chunk-DRZAPJZH.mjs} +0 -0
package/dist/index.js CHANGED
@@ -74,6 +74,7 @@ __export(index_exports, {
74
74
  FormatTime: () => Time,
75
75
  Grid: () => Grid,
76
76
  Header: () => Header2,
77
+ Image: () => Image,
77
78
  Input: () => Input,
78
79
  InputField: () => InputField,
79
80
  Link: () => Link,
@@ -88,6 +89,7 @@ __export(index_exports, {
88
89
  PageContent: () => PageContent,
89
90
  PageLoading: () => PageLoading,
90
91
  Pagination: () => Pagination,
92
+ Popover: () => Popover,
91
93
  Progress: () => Progress,
92
94
  Radio: () => Radio,
93
95
  RadioField: () => RadioField,
@@ -128,6 +130,7 @@ __export(index_exports, {
128
130
  closeAll: () => closeAll,
129
131
  closeToast: () => closeToast,
130
132
  cn: () => cn,
133
+ extendVariants: () => extendVariants2,
131
134
  getKeyValue: () => getKeyValue,
132
135
  getToastQueue: () => getToastQueue,
133
136
  isToastClosing: () => isToastClosing,
@@ -201,61 +204,87 @@ var User = import_react4.default.forwardRef((props, ref) => {
201
204
  });
202
205
  User.displayName = "TeachInUI.User";
203
206
 
204
- // src/ui/feedback/alert/alert.tsx
207
+ // src/ui/data/image/image.tsx
205
208
  var import_react5 = __toESM(require("react"));
206
- var import_alert = require("@heroui/alert");
209
+ var import_image = require("@heroui/image");
207
210
  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 });
211
+ var Image = import_react5.default.forwardRef(({ ...props }, ref) => {
212
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_image.Image, { ref, ...props });
213
+ });
214
+ Image.displayName = "TeachInUI.Image";
215
+
216
+ // src/ui/feedback/alert/alert.tsx
217
+ var import_react6 = __toESM(require("react"));
218
+ var import_alert = require("@heroui/alert");
219
+ var import_jsx_runtime6 = require("react/jsx-runtime");
220
+ var Alert = import_react6.default.forwardRef(({ children, ...props }, ref) => {
221
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_alert.Alert, { ref, title: children, ...props });
210
222
  });
211
223
  Alert.displayName = "TeachInUI.Alert";
212
224
 
213
225
  // src/ui/feedback/chip/chip.tsx
214
- var import_react6 = __toESM(require("react"));
226
+ var import_react7 = __toESM(require("react"));
215
227
  var import_chip = require("@heroui/chip");
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 });
228
+
229
+ // src/utils/extend-variants.ts
230
+ var import_system2 = require("@heroui/system");
231
+ var extendVariants2 = (component, config) => {
232
+ return (0, import_system2.extendVariants)(component, config);
233
+ };
234
+
235
+ // src/ui/feedback/chip/chip.tsx
236
+ var import_jsx_runtime7 = require("react/jsx-runtime");
237
+ var ChipCustom = extendVariants2(import_chip.Chip, {
238
+ variants: {
239
+ variant: {
240
+ bordered: { base: "border-1" },
241
+ faded: { base: "border-1" },
242
+ dot: { base: "border-1" }
243
+ }
244
+ }
245
+ });
246
+ var Chip = import_react7.default.forwardRef(({ variant = "flat", ...props }, ref) => {
247
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ChipCustom, { ref, variant, ...props });
219
248
  });
220
249
  Chip.displayName = "TeachInUI.Chip";
221
250
 
222
251
  // src/ui/feedback/progress/progress.tsx
223
- var import_react7 = __toESM(require("react"));
252
+ var import_react8 = __toESM(require("react"));
224
253
  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 });
254
+ var import_jsx_runtime8 = require("react/jsx-runtime");
255
+ var Progress = import_react8.default.forwardRef((props, ref) => {
256
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_progress.Progress, { ref, ...props });
228
257
  });
229
258
  Progress.displayName = "TeachInUI.Progress";
230
259
 
231
260
  // src/ui/feedback/progress/circular-progress.tsx
232
- var import_react8 = __toESM(require("react"));
261
+ var import_react9 = __toESM(require("react"));
233
262
  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 });
263
+ var import_jsx_runtime9 = require("react/jsx-runtime");
264
+ var CircularProgress = import_react9.default.forwardRef((props, ref) => {
265
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_progress2.CircularProgress, { ref, ...props });
237
266
  });
238
267
  CircularProgress.displayName = "TeachInUI.CircularProgress";
239
268
 
240
269
  // src/ui/feedback/spinner/spinner.tsx
241
- var import_react9 = __toESM(require("react"));
270
+ var import_react10 = __toESM(require("react"));
242
271
  var import_spinner = require("@heroui/spinner");
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 });
272
+ var import_jsx_runtime10 = require("react/jsx-runtime");
273
+ var Spinner = import_react10.default.forwardRef((props, ref) => {
274
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_spinner.Spinner, { ref, ...props });
246
275
  });
247
276
  Spinner.displayName = "TeachInUI.Spinner";
248
277
 
249
278
  // src/ui/feedback/toast/toast.tsx
250
- var import_react10 = __toESM(require("react"));
279
+ var import_react11 = __toESM(require("react"));
251
280
  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 });
281
+ var import_jsx_runtime11 = require("react/jsx-runtime");
282
+ var Toast = import_react11.default.forwardRef((props, ref) => {
283
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_toast.Toast, { ref, ...props });
255
284
  });
256
285
  Toast.displayName = "TeachInUI.Toast";
257
286
  var ToastProvider = (props) => {
258
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_toast.ToastProvider, { ...props });
287
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_toast.ToastProvider, { ...props });
259
288
  };
260
289
  ToastProvider.displayName = "TeachInUI.ToastProvider";
261
290
  var useToast = (...args) => (0, import_toast.useToast)(...args);
@@ -266,12 +295,12 @@ var getToastQueue = (...args) => (0, import_toast.getToastQueue)(...args);
266
295
  var isToastClosing = (...args) => (0, import_toast.isToastClosing)(...args);
267
296
 
268
297
  // src/ui/feedback/tooltip/tooltip.tsx
269
- var import_react11 = __toESM(require("react"));
298
+ var import_react12 = __toESM(require("react"));
270
299
  var import_tooltip = require("@heroui/tooltip");
271
- var import_jsx_runtime11 = require("react/jsx-runtime");
272
- var Tooltip = import_react11.default.forwardRef(
300
+ var import_jsx_runtime12 = require("react/jsx-runtime");
301
+ var Tooltip = import_react12.default.forwardRef(
273
302
  ({ placement = "bottom", ...props }, ref) => {
274
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_tooltip.Tooltip, { ref, placement, ...props });
303
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_tooltip.Tooltip, { ref, placement, ...props });
275
304
  }
276
305
  );
277
306
  Tooltip.displayName = "TeachInUI.Tooltip";
@@ -280,87 +309,99 @@ Tooltip.displayName = "TeachInUI.Tooltip";
280
309
  var import_react_hook_form = require("react-hook-form");
281
310
 
282
311
  // src/ui/inputs/autocomplete/autocomplete.tsx
283
- var import_react12 = __toESM(require("react"));
312
+ var import_react13 = __toESM(require("react"));
284
313
  var import_autocomplete = require("@heroui/autocomplete");
285
- var import_jsx_runtime12 = require("react/jsx-runtime");
286
- var Autocomplete = import_react12.default.forwardRef(
314
+ var import_jsx_runtime13 = require("react/jsx-runtime");
315
+ var Autocomplete = import_react13.default.forwardRef(
287
316
  ({ items, ...props }, ref) => {
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) });
317
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_autocomplete.Autocomplete, { ref, items, ...props, children: (item) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_autocomplete.AutocompleteItem, { children: item.label }, item.key) });
289
318
  }
290
319
  );
291
320
  Autocomplete.displayName = "TeachInUI.Autocomplete";
292
321
 
293
322
  // src/ui/inputs/checkbox/checkbox.tsx
294
323
  var import_checkbox = require("@heroui/checkbox");
295
- var import_react13 = __toESM(require("react"));
296
- var import_jsx_runtime13 = require("react/jsx-runtime");
297
- var Checkbox = import_react13.default.forwardRef(
324
+ var import_react14 = __toESM(require("react"));
325
+ var import_jsx_runtime14 = require("react/jsx-runtime");
326
+ var Checkbox = import_react14.default.forwardRef(
298
327
  ({ label, ...props }, ref) => {
299
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_checkbox.Checkbox, { ref, ...props, children: label });
328
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_checkbox.Checkbox, { ref, ...props, children: label });
300
329
  }
301
330
  );
302
331
  Checkbox.displayName = "TeachInUI.Checkbox";
303
332
 
304
333
  // src/ui/inputs/checkbox/checkbox-group.tsx
305
- var import_react14 = __toESM(require("react"));
334
+ var import_react15 = __toESM(require("react"));
306
335
  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 }));
336
+ var import_jsx_runtime15 = require("react/jsx-runtime");
337
+ var CheckboxGroup = import_react15.default.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_checkbox2.CheckboxGroup, { ref, ...props }));
309
338
  CheckboxGroup.displayName = "TeachInUI.CheckboxGroup";
310
339
 
311
340
  // src/ui/inputs/date-picker/date-picker.tsx
312
- var import_react15 = __toESM(require("react"));
341
+ var import_react16 = __toESM(require("react"));
313
342
  var import_date_picker = require("@heroui/date-picker");
314
343
  var import_i18n = require("@react-aria/i18n");
315
- var import_jsx_runtime15 = require("react/jsx-runtime");
316
- var DatePicker = import_react15.default.forwardRef(
344
+ var import_jsx_runtime16 = require("react/jsx-runtime");
345
+ var DatePicker = import_react16.default.forwardRef(
317
346
  ({ locale, ...props }, ref) => {
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 }) });
347
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_i18n.I18nProvider, { locale, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_date_picker.DatePicker, { ref, ...props }) });
319
348
  }
320
349
  );
321
350
  DatePicker.displayName = "TeachInUI.DatePicker";
322
351
 
323
352
  // src/ui/inputs/email/email.tsx
324
- var import_react17 = __toESM(require("react"));
353
+ var import_react18 = __toESM(require("react"));
325
354
 
326
355
  // src/ui/inputs/input/input.tsx
327
- var import_react16 = __toESM(require("react"));
356
+ var import_react17 = __toESM(require("react"));
328
357
  var import_input = require("@heroui/input");
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 });
358
+ var import_jsx_runtime17 = require("react/jsx-runtime");
359
+ var Input = import_react17.default.forwardRef(({ ...props }, ref) => {
360
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_input.Input, { ref, ...props });
332
361
  });
333
362
  Input.displayName = "TeachInUI.Input";
334
363
 
335
364
  // src/ui/inputs/email/email.tsx
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 });
365
+ var import_jsx_runtime18 = require("react/jsx-runtime");
366
+ var Email = import_react18.default.forwardRef(({ ...props }, ref) => {
367
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
339
368
  });
340
369
  Email.displayName = "TeachInUI.Email";
341
370
 
342
371
  // src/ui/inputs/select/select.tsx
343
- var import_react18 = __toESM(require("react"));
372
+ var import_react19 = __toESM(require("react"));
344
373
  var import_select = require("@heroui/select");
345
- var import_jsx_runtime18 = require("react/jsx-runtime");
346
- var Select = import_react18.default.forwardRef(
347
- ({ value, items, onChange, ...props }, ref) => {
348
- const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
349
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
374
+ var import_jsx_runtime19 = require("react/jsx-runtime");
375
+ var Select = import_react19.default.forwardRef(
376
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
377
+ const isMultiple = selectionMode === "multiple";
378
+ const selectedKeys = import_react19.default.useMemo(() => {
379
+ if (value == null) return /* @__PURE__ */ new Set();
380
+ return new Set(Array.isArray(value) ? value : [value]);
381
+ }, [value]);
382
+ const handleSelectionChange = import_react19.default.useCallback(
383
+ (keys) => {
384
+ var _a;
385
+ if (keys === "all") return;
386
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
387
+ if (isMultiple) {
388
+ onChange == null ? void 0 : onChange(selected);
389
+ } else {
390
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
391
+ }
392
+ },
393
+ [onChange, isMultiple]
394
+ );
395
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
350
396
  import_select.Select,
351
397
  {
352
398
  ref,
353
399
  items,
354
- placeholder: " ",
355
400
  selectedKeys,
356
- onSelectionChange: (keys) => {
357
- const selected = Array.from(keys)[0];
358
- if (typeof selected === "string") {
359
- onChange == null ? void 0 : onChange(selected);
360
- }
361
- },
401
+ selectionMode,
402
+ onSelectionChange: handleSelectionChange,
362
403
  ...props,
363
- children: (item) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_select.SelectItem, { children: item.label }, item.key)
404
+ children: (item) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_select.SelectItem, { children: item.label }, item.key)
364
405
  }
365
406
  );
366
407
  }
@@ -368,11 +409,11 @@ var Select = import_react18.default.forwardRef(
368
409
  Select.displayName = "TeachInUI.Select";
369
410
 
370
411
  // src/ui/inputs/switch/switch.tsx
371
- var import_react19 = __toESM(require("react"));
412
+ var import_react20 = __toESM(require("react"));
372
413
  var import_switch = require("@heroui/switch");
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 });
414
+ var import_jsx_runtime20 = require("react/jsx-runtime");
415
+ var Switch = import_react20.default.forwardRef(({ ...props }, ref) => {
416
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_switch.Switch, { ref, ...props });
376
417
  });
377
418
  Switch.displayName = "TeachInUI.Switch";
378
419
 
@@ -380,7 +421,7 @@ Switch.displayName = "TeachInUI.Switch";
380
421
  var import_switch2 = require("@heroui/switch");
381
422
  var import_lucide_react = require("lucide-react");
382
423
  var import_tailwind_variants = require("tailwind-variants");
383
- var import_jsx_runtime20 = require("react/jsx-runtime");
424
+ var import_jsx_runtime21 = require("react/jsx-runtime");
384
425
  var bookmarkVariants = (0, import_tailwind_variants.tv)({
385
426
  base: "size-6 stroke-default-400 group-hover:fill-primary-100 group-hover:stroke-default-400",
386
427
  variants: {
@@ -394,16 +435,16 @@ function FavoriteSwitch({ isSelected, onValueChange }) {
394
435
  isSelected,
395
436
  onValueChange
396
437
  });
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)(
438
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Component, { ...getBaseProps(), children: [
439
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "sr-only", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("input", { ...getInputProps() }) }),
440
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
400
441
  "div",
401
442
  {
402
443
  ...getWrapperProps(),
403
444
  className: slots.wrapper({
404
445
  class: "flex h-8 w-8 cursor-pointer items-center justify-center rounded-sm !bg-transparent"
405
446
  }),
406
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react.Bookmark, { className: bookmarkVariants({ isSelected }) })
447
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react.Bookmark, { className: bookmarkVariants({ isSelected }) })
407
448
  }
408
449
  )
409
450
  ] });
@@ -414,45 +455,45 @@ var import_radio = require("@heroui/radio");
414
455
  var Radio = Object.assign(import_radio.Radio, { displayName: "TeachInUI.Radio" });
415
456
 
416
457
  // src/ui/inputs/radio/radio-group.tsx
417
- var import_react20 = __toESM(require("react"));
458
+ var import_react21 = __toESM(require("react"));
418
459
  var import_radio2 = require("@heroui/radio");
419
- var import_jsx_runtime21 = require("react/jsx-runtime");
420
- var RadioGroup = import_react20.default.forwardRef(
460
+ var import_jsx_runtime22 = require("react/jsx-runtime");
461
+ var RadioGroup = import_react21.default.forwardRef(
421
462
  (props, ref) => {
422
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_radio2.RadioGroup, { ref, ...props });
463
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_radio2.RadioGroup, { ref, ...props });
423
464
  }
424
465
  );
425
466
  RadioGroup.displayName = "TeachInUI.RadioGroup";
426
467
 
427
468
  // src/ui/inputs/text/text.tsx
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 });
469
+ var import_react22 = __toESM(require("react"));
470
+ var import_jsx_runtime23 = require("react/jsx-runtime");
471
+ var Text = import_react22.default.forwardRef(({ ...props }, ref) => {
472
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Input, { ref, type: "text", ...props });
432
473
  });
433
474
  Text.displayName = "TeachInUI.Text";
434
475
 
435
476
  // src/ui/inputs/textarea/textarea.tsx
436
477
  var import_input5 = require("@heroui/input");
437
- var import_react22 = __toESM(require("react"));
438
- var import_jsx_runtime23 = require("react/jsx-runtime");
439
- var Textarea = import_react22.default.forwardRef(
478
+ var import_react23 = __toESM(require("react"));
479
+ var import_jsx_runtime24 = require("react/jsx-runtime");
480
+ var Textarea = import_react23.default.forwardRef(
440
481
  ({ minRows = 4, ...props }, ref) => {
441
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_input5.Textarea, { ref, minRows, ...props });
482
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_input5.Textarea, { ref, minRows, ...props });
442
483
  }
443
484
  );
444
485
  Textarea.displayName = "TeachInUI.Textarea";
445
486
 
446
487
  // src/ui/form/rhf/fields/input-field.tsx
447
- var import_jsx_runtime24 = require("react/jsx-runtime");
488
+ var import_jsx_runtime25 = require("react/jsx-runtime");
448
489
  function InputField({ name, ...props }) {
449
490
  const { control } = (0, import_react_hook_form.useFormContext)();
450
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
491
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
451
492
  import_react_hook_form.Controller,
452
493
  {
453
494
  control,
454
495
  name,
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 })
496
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Input, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
456
497
  }
457
498
  );
458
499
  }
@@ -460,15 +501,15 @@ InputField.displayName = "TeachInUI.InputField";
460
501
 
461
502
  // src/ui/form/rhf/fields/text-field.tsx
462
503
  var import_react_hook_form2 = require("react-hook-form");
463
- var import_jsx_runtime25 = require("react/jsx-runtime");
504
+ var import_jsx_runtime26 = require("react/jsx-runtime");
464
505
  function TextField({ name, ...props }) {
465
506
  const { control } = (0, import_react_hook_form2.useFormContext)();
466
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
507
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
467
508
  import_react_hook_form2.Controller,
468
509
  {
469
510
  control,
470
511
  name,
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 })
512
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
472
513
  }
473
514
  );
474
515
  }
@@ -476,15 +517,15 @@ TextField.displayName = "TeachInUI.TextField";
476
517
 
477
518
  // src/ui/form/rhf/fields/email-field.tsx
478
519
  var import_react_hook_form3 = require("react-hook-form");
479
- var import_jsx_runtime26 = require("react/jsx-runtime");
520
+ var import_jsx_runtime27 = require("react/jsx-runtime");
480
521
  function EmailField({ name, ...props }) {
481
522
  const { control } = (0, import_react_hook_form3.useFormContext)();
482
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
523
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
483
524
  import_react_hook_form3.Controller,
484
525
  {
485
526
  control,
486
527
  name,
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 })
528
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
488
529
  }
489
530
  );
490
531
  }
@@ -492,15 +533,15 @@ EmailField.displayName = "TeachInUI.EmailField";
492
533
 
493
534
  // src/ui/form/rhf/fields/textarea-field.tsx
494
535
  var import_react_hook_form4 = require("react-hook-form");
495
- var import_jsx_runtime27 = require("react/jsx-runtime");
536
+ var import_jsx_runtime28 = require("react/jsx-runtime");
496
537
  function TextareaField({ name, ...props }) {
497
538
  const { control } = (0, import_react_hook_form4.useFormContext)();
498
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
539
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
499
540
  import_react_hook_form4.Controller,
500
541
  {
501
542
  control,
502
543
  name,
503
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
544
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
504
545
  Textarea,
505
546
  {
506
547
  ...props,
@@ -517,17 +558,18 @@ TextareaField.displayName = "TeachInUI.TextareaField";
517
558
 
518
559
  // src/ui/form/rhf/fields/select-field.tsx
519
560
  var import_react_hook_form5 = require("react-hook-form");
520
- var import_jsx_runtime28 = require("react/jsx-runtime");
521
- function SelectField({ name, ...props }) {
561
+ var import_jsx_runtime29 = require("react/jsx-runtime");
562
+ function SelectField({ name, selectionMode, ...props }) {
522
563
  const { control } = (0, import_react_hook_form5.useFormContext)();
523
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
564
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
524
565
  import_react_hook_form5.Controller,
525
566
  {
526
567
  control,
527
568
  name,
528
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
569
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
529
570
  Select,
530
571
  {
572
+ selectionMode,
531
573
  value: field.value,
532
574
  onChange: (value) => field.onChange(value),
533
575
  ...props,
@@ -542,15 +584,15 @@ SelectField.displayName = "TeachInUI.SelectField";
542
584
 
543
585
  // src/ui/form/rhf/fields/autocomplete-field.tsx
544
586
  var import_react_hook_form6 = require("react-hook-form");
545
- var import_jsx_runtime29 = require("react/jsx-runtime");
587
+ var import_jsx_runtime30 = require("react/jsx-runtime");
546
588
  function AutocompleteField({ name, ...props }) {
547
589
  const { control } = (0, import_react_hook_form6.useFormContext)();
548
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
590
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
549
591
  import_react_hook_form6.Controller,
550
592
  {
551
593
  control,
552
594
  name,
553
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
595
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
554
596
  Autocomplete,
555
597
  {
556
598
  ...props,
@@ -567,15 +609,15 @@ AutocompleteField.displayName = "TeachInUI.AutocompleteField";
567
609
 
568
610
  // src/ui/form/rhf/fields/date-picker-field.tsx
569
611
  var import_react_hook_form7 = require("react-hook-form");
570
- var import_jsx_runtime30 = require("react/jsx-runtime");
612
+ var import_jsx_runtime31 = require("react/jsx-runtime");
571
613
  function DatePickerField({ name, ...props }) {
572
614
  const { control } = (0, import_react_hook_form7.useFormContext)();
573
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
615
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
574
616
  import_react_hook_form7.Controller,
575
617
  {
576
618
  control,
577
619
  name,
578
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
620
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
579
621
  DatePicker,
580
622
  {
581
623
  ...props,
@@ -592,17 +634,17 @@ DatePickerField.displayName = "TeachInUI.DatePickerField";
592
634
 
593
635
  // src/ui/form/rhf/fields/checkbox-field.tsx
594
636
  var import_react_hook_form8 = require("react-hook-form");
595
- var import_jsx_runtime31 = require("react/jsx-runtime");
637
+ var import_jsx_runtime32 = require("react/jsx-runtime");
596
638
  function CheckboxField({ name, ...props }) {
597
639
  const { control } = (0, import_react_hook_form8.useFormContext)();
598
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
640
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
599
641
  import_react_hook_form8.Controller,
600
642
  {
601
643
  control,
602
644
  name,
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 })
645
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
646
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
647
+ error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-tiny text-danger", children: error.message })
606
648
  ] })
607
649
  }
608
650
  );
@@ -611,17 +653,17 @@ CheckboxField.displayName = "TeachInUI.CheckboxField";
611
653
 
612
654
  // src/ui/form/rhf/fields/switch-field.tsx
613
655
  var import_react_hook_form9 = require("react-hook-form");
614
- var import_jsx_runtime32 = require("react/jsx-runtime");
656
+ var import_jsx_runtime33 = require("react/jsx-runtime");
615
657
  function SwitchField({ name, ...props }) {
616
658
  const { control } = (0, import_react_hook_form9.useFormContext)();
617
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
659
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
618
660
  import_react_hook_form9.Controller,
619
661
  {
620
662
  control,
621
663
  name,
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 })
664
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
665
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
666
+ error && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-tiny text-danger", children: error.message })
625
667
  ] })
626
668
  }
627
669
  );
@@ -630,15 +672,15 @@ SwitchField.displayName = "TeachInUI.SwitchField";
630
672
 
631
673
  // src/ui/form/rhf/fields/radio-field.tsx
632
674
  var import_react_hook_form10 = require("react-hook-form");
633
- var import_jsx_runtime33 = require("react/jsx-runtime");
675
+ var import_jsx_runtime34 = require("react/jsx-runtime");
634
676
  function RadioField({ name, ...props }) {
635
677
  const { control } = (0, import_react_hook_form10.useFormContext)();
636
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
678
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
637
679
  import_react_hook_form10.Controller,
638
680
  {
639
681
  control,
640
682
  name,
641
- render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
683
+ render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
642
684
  RadioGroup,
643
685
  {
644
686
  ...props,
@@ -657,15 +699,15 @@ RadioField.displayName = "TeachInUI.RadioField";
657
699
 
658
700
  // src/ui/form/form.tsx
659
701
  var import_form = require("@heroui/form");
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 });
702
+ var import_react24 = __toESM(require("react"));
703
+ var import_jsx_runtime35 = require("react/jsx-runtime");
704
+ var Form = import_react24.default.forwardRef(({ ...props }, ref) => {
705
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_form.Form, { ref, ...props });
664
706
  });
665
707
  Form.displayName = "TeachInUI.Form";
666
708
 
667
709
  // src/ui/format/datetime.tsx
668
- var import_jsx_runtime35 = require("react/jsx-runtime");
710
+ var import_jsx_runtime36 = require("react/jsx-runtime");
669
711
  var defaultFormat = {
670
712
  day: "numeric",
671
713
  month: "long",
@@ -681,15 +723,15 @@ function Datetime({
681
723
  fallback = "\u2014"
682
724
  }) {
683
725
  const formatter = new Intl.DateTimeFormat(locale, format);
684
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: fallback });
726
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: fallback });
685
727
  const date = value instanceof Date ? value : new Date(value);
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) });
728
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: fallback });
729
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: formatter.format(date) });
688
730
  }
689
731
  Datetime.displayName = "TeachInUI.FormatDatetime";
690
732
 
691
733
  // src/ui/format/date.tsx
692
- var import_jsx_runtime36 = require("react/jsx-runtime");
734
+ var import_jsx_runtime37 = require("react/jsx-runtime");
693
735
  var defaultFormat2 = {
694
736
  day: "numeric",
695
737
  month: "long",
@@ -702,15 +744,15 @@ function DateFormat({
702
744
  fallback = "\u2014"
703
745
  }) {
704
746
  const formatter = new Intl.DateTimeFormat(locale, format);
705
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: fallback });
747
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: fallback });
706
748
  const date = value instanceof Date ? value : new Date(value);
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) });
749
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: fallback });
750
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: formatter.format(date) });
709
751
  }
710
752
  DateFormat.displayName = "TeachInUI.FormatDate";
711
753
 
712
754
  // src/ui/format/time.tsx
713
- var import_jsx_runtime37 = require("react/jsx-runtime");
755
+ var import_jsx_runtime38 = require("react/jsx-runtime");
714
756
  var defaultFormat3 = {
715
757
  hour: "2-digit",
716
758
  minute: "2-digit"
@@ -722,15 +764,15 @@ function Time({
722
764
  fallback = "\u2014"
723
765
  }) {
724
766
  const formatter = new Intl.DateTimeFormat(locale, format);
725
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: fallback });
767
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: fallback });
726
768
  const date = value instanceof Date ? value : new Date(value);
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) });
769
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: fallback });
770
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: formatter.format(date) });
729
771
  }
730
772
  Time.displayName = "TeachInUI.FormatTime";
731
773
 
732
774
  // src/ui/format/currency.tsx
733
- var import_jsx_runtime38 = require("react/jsx-runtime");
775
+ var import_jsx_runtime39 = require("react/jsx-runtime");
734
776
  function Currency({
735
777
  amount,
736
778
  currency = "RUB",
@@ -745,23 +787,23 @@ function Currency({
745
787
  maximumFractionDigits: decimals
746
788
  }
747
789
  });
748
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: formatter.format(amount) });
790
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: formatter.format(amount) });
749
791
  }
750
792
  Currency.displayName = "TeachInUI.FormatCurrency";
751
793
 
752
794
  // src/ui/format/number.tsx
753
- var import_jsx_runtime39 = require("react/jsx-runtime");
795
+ var import_jsx_runtime40 = require("react/jsx-runtime");
754
796
  function Number({ value, decimals, locale = "ru-RU" }) {
755
797
  const formatter = new Intl.NumberFormat(locale, {
756
798
  minimumFractionDigits: decimals != null ? decimals : 0,
757
799
  maximumFractionDigits: decimals != null ? decimals : 2
758
800
  });
759
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: formatter.format(value) });
801
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(value) });
760
802
  }
761
803
  Number.displayName = "TeachInUI.FormatNumber";
762
804
 
763
805
  // src/ui/format/percent.tsx
764
- var import_jsx_runtime40 = require("react/jsx-runtime");
806
+ var import_jsx_runtime41 = require("react/jsx-runtime");
765
807
  function Percent({
766
808
  value,
767
809
  decimals = 1,
@@ -774,12 +816,12 @@ function Percent({
774
816
  maximumFractionDigits: decimals
775
817
  });
776
818
  const normalizedValue = unit === "percent" ? value / 100 : value;
777
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(normalizedValue) });
819
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: formatter.format(normalizedValue) });
778
820
  }
779
821
  Percent.displayName = "TeachInUI.FormatPercent";
780
822
 
781
823
  // src/ui/format/plural.tsx
782
- var import_jsx_runtime41 = require("react/jsx-runtime");
824
+ var import_jsx_runtime42 = require("react/jsx-runtime");
783
825
  function Plural({
784
826
  count,
785
827
  one,
@@ -800,12 +842,12 @@ function Plural({
800
842
  };
801
843
  const selectedForm = forms[rule];
802
844
  const result = showCount ? `${count} ${selectedForm}` : selectedForm;
803
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: result });
845
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: result });
804
846
  }
805
847
  Plural.displayName = "TeachInUI.FormatPlural";
806
848
 
807
849
  // src/ui/format/duration.tsx
808
- var import_jsx_runtime42 = require("react/jsx-runtime");
850
+ var import_jsx_runtime43 = require("react/jsx-runtime");
809
851
  function Duration({
810
852
  minutes = 0,
811
853
  hours = 0,
@@ -827,26 +869,26 @@ function Duration({
827
869
  if (remainingMinutes > 0 || totalDays === 0 && totalHours === 0) {
828
870
  parts.push(compact ? `${remainingMinutes}\u043C` : `${remainingMinutes} \u043C\u0438\u043D`);
829
871
  }
830
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: parts.join(" ") });
872
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: parts.join(" ") });
831
873
  }
832
874
  Duration.displayName = "TeachInUI.FormatDuration";
833
875
 
834
876
  // src/ui/format/boolean.tsx
835
- var import_jsx_runtime43 = require("react/jsx-runtime");
877
+ var import_jsx_runtime44 = require("react/jsx-runtime");
836
878
  function Boolean({
837
879
  value,
838
880
  trueLabel = "\u0414\u0430",
839
881
  falseLabel = "\u041D\u0435\u0442",
840
882
  nullLabel = "\u2014"
841
883
  }) {
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 });
884
+ if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: nullLabel });
885
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: value ? trueLabel : falseLabel });
844
886
  }
845
887
  Boolean.displayName = "TeachInUI.FormatBoolean";
846
888
 
847
889
  // src/ui/surface/bento/bento.tsx
848
890
  var import_tailwind_variants2 = require("tailwind-variants");
849
- var import_jsx_runtime44 = require("react/jsx-runtime");
891
+ var import_jsx_runtime45 = require("react/jsx-runtime");
850
892
  var bento = (0, import_tailwind_variants2.tv)({
851
893
  base: "rounded-xl p-6 transition-colors",
852
894
  variants: {
@@ -884,28 +926,28 @@ var bento = (0, import_tailwind_variants2.tv)({
884
926
  }
885
927
  });
886
928
  var Bento = ({ className, ...props }) => {
887
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: bento({ ...props, className }), ...props });
929
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: bento({ ...props, className }), ...props });
888
930
  };
889
931
  Bento.displayName = "TeachInUI.Bento";
890
932
 
891
933
  // src/ui/surface/card/card.tsx
892
- var import_react24 = __toESM(require("react"));
934
+ var import_react25 = __toESM(require("react"));
893
935
  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 });
936
+ var import_jsx_runtime46 = require("react/jsx-runtime");
937
+ var Root = import_react25.default.forwardRef(({ children, ...props }, ref) => {
938
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.Card, { ref, ...props, children });
897
939
  });
898
940
  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 });
941
+ var Header = import_react25.default.forwardRef(({ children, ...props }, ref) => {
942
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.CardHeader, { ref, ...props, children });
901
943
  });
902
944
  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 });
945
+ var Body = import_react25.default.forwardRef(({ children, ...props }, ref) => {
946
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.CardBody, { ref, ...props, children });
905
947
  });
906
948
  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 });
949
+ var Footer = import_react25.default.forwardRef(({ children, ...props }, ref) => {
950
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.CardFooter, { ref, ...props, children });
909
951
  });
910
952
  Footer.displayName = "TeachInUI.Card.Footer";
911
953
  var Card = {
@@ -918,7 +960,7 @@ var Card = {
918
960
  // src/ui/layout/container/container.tsx
919
961
  var import_react_slot = require("@radix-ui/react-slot");
920
962
  var import_tailwind_variants3 = require("tailwind-variants");
921
- var import_jsx_runtime46 = require("react/jsx-runtime");
963
+ var import_jsx_runtime47 = require("react/jsx-runtime");
922
964
  var variants = (0, import_tailwind_variants3.tv)({
923
965
  base: "w-full mx-auto px-6",
924
966
  variants: {
@@ -938,58 +980,58 @@ var variants = (0, import_tailwind_variants3.tv)({
938
980
  });
939
981
  var Container = ({ children, asChild = false, className, size, ...props }) => {
940
982
  const Comp = asChild ? import_react_slot.Slot : "div";
941
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
983
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
942
984
  };
943
985
  Container.displayName = "TeachInUI.Container";
944
986
 
945
987
  // src/ui/layout/page/breadcrumbs.tsx
946
988
  var import_breadcrumbs = require("@heroui/breadcrumbs");
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)) });
989
+ var import_jsx_runtime48 = require("react/jsx-runtime");
990
+ var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
949
991
 
950
992
  // src/ui/layout/page/page-content.tsx
951
- var import_jsx_runtime48 = require("react/jsx-runtime");
993
+ var import_jsx_runtime49 = require("react/jsx-runtime");
952
994
  var Root2 = ({
953
995
  children,
954
996
  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 }),
997
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-col gap-6", children: [
998
+ breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Breadcrumbs, { items: breadcrumbs }),
957
999
  children
958
1000
  ] });
959
1001
  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 });
1002
+ var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
961
1003
  Header2.displayName = "TeachInUI.PageContent.Header";
962
1004
  var Title = ({
963
1005
  children,
964
1006
  ...others
965
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
1007
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
966
1008
  Title.displayName = "TeachInUI.PageContent.Title";
967
1009
  var Actions = ({
968
1010
  children,
969
1011
  ...others
970
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1012
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
971
1013
  Actions.displayName = "TeachInUI.PageContent.Actions";
972
- var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex flex-col gap-6", children });
1014
+ var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex flex-col gap-6", children });
973
1015
  Body2.displayName = "TeachInUI.PageContent.Body";
974
1016
  var Section = ({
975
1017
  children,
976
1018
  ...others
977
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
1019
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
978
1020
  Section.displayName = "TeachInUI.PageContent.Section";
979
1021
  var SectionHeader = ({
980
1022
  children,
981
1023
  ...others
982
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex items-center justify-between", ...others, children });
1024
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex items-center justify-between", ...others, children });
983
1025
  SectionHeader.displayName = "TeachInUI.PageContent.SectionHeader";
984
1026
  var SectionTitle = ({
985
1027
  children,
986
1028
  ...others
987
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
1029
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
988
1030
  SectionTitle.displayName = "TeachInUI.PageContent.SectionTitle";
989
1031
  var SectionActions = ({
990
1032
  children,
991
1033
  ...others
992
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1034
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
993
1035
  SectionActions.displayName = "TeachInUI.PageContent.SectionActions";
994
1036
  var PageContent = {
995
1037
  Root: Root2,
@@ -1004,18 +1046,18 @@ var PageContent = {
1004
1046
  };
1005
1047
 
1006
1048
  // src/ui/layout/page/page-loading.tsx
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, {}) });
1049
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1050
+ var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Spinner, {}) });
1009
1051
  PageLoading.displayName = "TeachInUI.PageLoading";
1010
1052
 
1011
1053
  // src/ui/layout/page/section-loading.tsx
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, {}) });
1054
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1055
+ var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Spinner, {}) });
1014
1056
  SectionLoading.displayName = "TeachInUI.SectionLoading";
1015
1057
 
1016
1058
  // src/ui/layout/flex/flex.tsx
1017
1059
  var import_tailwind_variants4 = require("tailwind-variants");
1018
- var import_jsx_runtime51 = require("react/jsx-runtime");
1060
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1019
1061
  var variants2 = (0, import_tailwind_variants4.tv)({
1020
1062
  base: "flex",
1021
1063
  variants: {
@@ -1063,13 +1105,13 @@ var variants2 = (0, import_tailwind_variants4.tv)({
1063
1105
  }
1064
1106
  });
1065
1107
  var Flex = ({ className, ...props }) => {
1066
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: variants2({ ...props, className }), ...props });
1108
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: variants2({ ...props, className }), ...props });
1067
1109
  };
1068
1110
  Flex.displayName = "TeachInUI.Flex";
1069
1111
 
1070
1112
  // src/ui/layout/grid/grid.tsx
1071
1113
  var import_tailwind_variants5 = require("tailwind-variants");
1072
- var import_jsx_runtime52 = require("react/jsx-runtime");
1114
+ var import_jsx_runtime53 = require("react/jsx-runtime");
1073
1115
  var variants3 = (0, import_tailwind_variants5.tv)({
1074
1116
  base: "grid",
1075
1117
  variants: {
@@ -1119,26 +1161,26 @@ var variants3 = (0, import_tailwind_variants5.tv)({
1119
1161
  }
1120
1162
  });
1121
1163
  var Grid = ({ className, ...props }) => {
1122
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: variants3({ ...props, className }), ...props });
1164
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: variants3({ ...props, className }), ...props });
1123
1165
  };
1124
1166
  Grid.displayName = "TeachInUI.Grid";
1125
1167
 
1126
1168
  // src/ui/layout/divider/divider.tsx
1127
- var import_react25 = __toESM(require("react"));
1169
+ var import_react26 = __toESM(require("react"));
1128
1170
  var import_divider = require("@heroui/divider");
1129
- var import_jsx_runtime53 = require("react/jsx-runtime");
1130
- var Divider = import_react25.default.forwardRef((props, ref) => {
1171
+ var import_jsx_runtime54 = require("react/jsx-runtime");
1172
+ var Divider = import_react26.default.forwardRef((props, ref) => {
1131
1173
  const { ...restProps } = props;
1132
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_divider.Divider, { ref, ...restProps });
1174
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_divider.Divider, { ref, ...restProps });
1133
1175
  });
1134
1176
  Divider.displayName = "TeachInUI.Divider";
1135
1177
 
1136
1178
  // src/ui/layout/scroll-shadow/scroll-shadow.tsx
1137
- var import_react26 = __toESM(require("react"));
1179
+ var import_react27 = __toESM(require("react"));
1138
1180
  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 });
1181
+ var import_jsx_runtime55 = require("react/jsx-runtime");
1182
+ var ScrollShadow = import_react27.default.forwardRef((props, ref) => {
1183
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1142
1184
  });
1143
1185
  ScrollShadow.displayName = "TeachInUI.ScrollShadow";
1144
1186
 
@@ -1149,18 +1191,18 @@ var AccordionItem = Object.assign(import_accordion.AccordionItem, { displayName:
1149
1191
 
1150
1192
  // src/ui/navigation/link/link.tsx
1151
1193
  var import_link = require("@heroui/link");
1152
- var import_jsx_runtime55 = require("react/jsx-runtime");
1194
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1153
1195
  function Link({ children, ...props }) {
1154
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_link.Link, { ...props, children });
1196
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_link.Link, { ...props, children });
1155
1197
  }
1156
1198
  Link.displayName = "TeachInUI.Link";
1157
1199
 
1158
1200
  // src/ui/navigation/tabs/tabs.tsx
1159
- var import_react27 = __toESM(require("react"));
1201
+ var import_react28 = __toESM(require("react"));
1160
1202
  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 });
1203
+ var import_jsx_runtime57 = require("react/jsx-runtime");
1204
+ var Root3 = import_react28.default.forwardRef(({ children, ...props }, ref) => {
1205
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_tabs.Tabs, { ref, ...props, children });
1164
1206
  });
1165
1207
  Root3.displayName = "TeachInUI.Tabs.Root";
1166
1208
  var Tab = Object.assign(import_tabs.Tab, {
@@ -1172,54 +1214,44 @@ var Tabs = {
1172
1214
  };
1173
1215
 
1174
1216
  // src/ui/navigation/navbar/navbar.tsx
1175
- var import_react28 = __toESM(require("react"));
1217
+ var import_react29 = __toESM(require("react"));
1176
1218
  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 });
1219
+ var import_jsx_runtime58 = require("react/jsx-runtime");
1220
+ var Navbar = import_react29.default.forwardRef((props, ref) => {
1221
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.Navbar, { ref, ...props });
1180
1222
  });
1181
1223
  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 });
1224
+ var NavbarBrand = import_react29.default.forwardRef((props, ref) => {
1225
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1184
1226
  });
1185
1227
  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 });
1228
+ var NavbarContent = import_react29.default.forwardRef((props, ref) => {
1229
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarContent, { ref, ...props });
1188
1230
  });
1189
1231
  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 });
1232
+ var NavbarItem = import_react29.default.forwardRef((props, ref) => {
1233
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarItem, { ref, ...props });
1192
1234
  });
1193
1235
  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 });
1236
+ var NavbarMenu = import_react29.default.forwardRef((props, ref) => {
1237
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1196
1238
  });
1197
1239
  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 });
1240
+ var NavbarMenuItem = import_react29.default.forwardRef((props, ref) => {
1241
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1200
1242
  });
1201
1243
  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 });
1244
+ var NavbarMenuToggle = import_react29.default.forwardRef((props, ref) => {
1245
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1204
1246
  });
1205
1247
  NavbarMenuToggle.displayName = "TeachInUI.NavbarMenuToggle";
1206
1248
 
1207
1249
  // src/ui/navigation/breadcrumbs/breadcrumbs.tsx
1208
- var import_react29 = __toESM(require("react"));
1209
1250
  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";
1251
+ var Breadcrumbs2 = Object.assign(import_breadcrumbs3.Breadcrumbs, { displayName: "TeachInUI.Breadcrumbs" });
1252
+ var BreadcrumbItem2 = Object.assign(import_breadcrumbs3.BreadcrumbItem, {
1253
+ displayName: "TeachInUI.BreadcrumbItem"
1254
+ });
1223
1255
 
1224
1256
  // src/ui/overlays/modal/modal.tsx
1225
1257
  var import_modal = require("@heroui/modal");
@@ -1269,9 +1301,30 @@ var DropdownSection = Object.assign(import_dropdown.DropdownSection, {
1269
1301
  displayName: "TeachInUI.DropdownSection"
1270
1302
  });
1271
1303
 
1272
- // src/ui/provider/ui-provider.tsx
1273
- var import_system2 = require("@heroui/system");
1304
+ // src/ui/overlays/popover/popover.tsx
1305
+ var import_popover = require("@heroui/popover");
1274
1306
  var import_jsx_runtime60 = require("react/jsx-runtime");
1307
+ var Root5 = ({ children, ...props }) => {
1308
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_popover.Popover, { ...props, children });
1309
+ };
1310
+ Root5.displayName = "TeachInUI.Popover.Root";
1311
+ var Trigger = ({ children, ...props }) => {
1312
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_popover.PopoverTrigger, { ...props, children });
1313
+ };
1314
+ Trigger.displayName = "TeachInUI.Popover.Trigger";
1315
+ var Content2 = ({ children, ...props }) => {
1316
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_popover.PopoverContent, { ...props, children });
1317
+ };
1318
+ Content2.displayName = "TeachInUI.Popover.Content";
1319
+ var Popover = {
1320
+ Root: Root5,
1321
+ Trigger,
1322
+ Content: Content2
1323
+ };
1324
+
1325
+ // src/ui/provider/ui-provider.tsx
1326
+ var import_system3 = require("@heroui/system");
1327
+ var import_jsx_runtime61 = require("react/jsx-runtime");
1275
1328
  function UIProvider({
1276
1329
  children,
1277
1330
  locale = "ru-RU",
@@ -1279,9 +1332,9 @@ function UIProvider({
1279
1332
  navigate,
1280
1333
  toastProviderProps
1281
1334
  }) {
1282
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_system2.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1335
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1283
1336
  children,
1284
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ToastProvider, { ...toastProviderProps })
1337
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToastProvider, { ...toastProviderProps })
1285
1338
  ] });
1286
1339
  }
1287
1340
 
@@ -1706,6 +1759,7 @@ var theme = (0, import_theme.heroui)({
1706
1759
  FormatTime,
1707
1760
  Grid,
1708
1761
  Header,
1762
+ Image,
1709
1763
  Input,
1710
1764
  InputField,
1711
1765
  Link,
@@ -1720,6 +1774,7 @@ var theme = (0, import_theme.heroui)({
1720
1774
  PageContent,
1721
1775
  PageLoading,
1722
1776
  Pagination,
1777
+ Popover,
1723
1778
  Progress,
1724
1779
  Radio,
1725
1780
  RadioField,
@@ -1760,6 +1815,7 @@ var theme = (0, import_theme.heroui)({
1760
1815
  closeAll,
1761
1816
  closeToast,
1762
1817
  cn,
1818
+ extendVariants,
1763
1819
  getKeyValue,
1764
1820
  getToastQueue,
1765
1821
  isToastClosing,