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