@teach-in/react 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +9 -9
  3. package/dist/chunk-3YOW5DEZ.mjs +45 -0
  4. package/dist/{chunk-QCLLPJMB.mjs → chunk-544SDU73.mjs} +2 -2
  5. package/dist/{chunk-2CEZXLZR.mjs → chunk-AFVGHUW2.mjs} +1 -1
  6. package/dist/{chunk-IU2JYI7W.mjs → chunk-CETCW7DS.mjs} +1 -1
  7. package/dist/{chunk-5FFWQB7D.mjs → chunk-JDFRAN4S.mjs} +2 -12
  8. package/dist/{chunk-KTWHCUYV.mjs → chunk-KTUGFQWJ.mjs} +1 -1
  9. package/dist/{chunk-46SKVFMZ.mjs → chunk-LJIVY6GU.mjs} +1 -1
  10. package/dist/{chunk-CKJ5U5Q4.mjs → chunk-NLHQDWUK.mjs} +1 -1
  11. package/dist/{chunk-R46SWVWL.mjs → chunk-R7LDL5CU.mjs} +1 -1
  12. package/dist/chunk-V2G5QHZZ.mjs +14 -0
  13. package/dist/{chunk-2ASQXBDD.mjs → chunk-WFNNN6WU.mjs} +1 -1
  14. package/dist/index.js +230 -575
  15. package/dist/index.mjs +125 -141
  16. package/dist/ui/data/index.mjs +8 -8
  17. package/dist/ui/feedback/index.mjs +14 -14
  18. package/dist/ui/form/index.js +106 -447
  19. package/dist/ui/form/index.mjs +21 -31
  20. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +14 -20
  21. package/dist/ui/form/rhf/fields/checkbox-field.mjs +14 -20
  22. package/dist/ui/form/rhf/fields/date-picker-field.mjs +14 -20
  23. package/dist/ui/form/rhf/fields/email-field.js +10 -147
  24. package/dist/ui/form/rhf/fields/email-field.mjs +15 -21
  25. package/dist/ui/form/rhf/fields/index.d.ts +0 -1
  26. package/dist/ui/form/rhf/fields/index.js +102 -443
  27. package/dist/ui/form/rhf/fields/index.mjs +21 -31
  28. package/dist/ui/form/rhf/fields/input-field.js +6 -153
  29. package/dist/ui/form/rhf/fields/input-field.mjs +15 -21
  30. package/dist/ui/form/rhf/fields/radio-field.mjs +14 -20
  31. package/dist/ui/form/rhf/fields/select-field.js +26 -136
  32. package/dist/ui/form/rhf/fields/select-field.mjs +15 -21
  33. package/dist/ui/form/rhf/fields/switch-field.mjs +14 -20
  34. package/dist/ui/form/rhf/fields/text-field.js +10 -147
  35. package/dist/ui/form/rhf/fields/text-field.mjs +15 -21
  36. package/dist/ui/form/rhf/fields/textarea-field.mjs +14 -20
  37. package/dist/ui/form/rhf/index.js +102 -443
  38. package/dist/ui/form/rhf/index.mjs +21 -31
  39. package/dist/ui/format/index.mjs +3 -3
  40. package/dist/ui/index.js +230 -575
  41. package/dist/ui/index.mjs +125 -141
  42. package/dist/ui/inputs/checkbox/index.mjs +3 -3
  43. package/dist/ui/inputs/email/email.js +7 -144
  44. package/dist/ui/inputs/email/email.mjs +2 -4
  45. package/dist/ui/inputs/email/index.js +7 -144
  46. package/dist/ui/inputs/email/index.mjs +2 -4
  47. package/dist/ui/inputs/index.d.ts +0 -2
  48. package/dist/ui/inputs/index.js +56 -363
  49. package/dist/ui/inputs/index.mjs +25 -37
  50. package/dist/ui/inputs/input/index.js +3 -140
  51. package/dist/ui/inputs/input/index.mjs +1 -3
  52. package/dist/ui/inputs/input/input.d.ts +0 -1
  53. package/dist/ui/inputs/input/input.js +3 -140
  54. package/dist/ui/inputs/input/input.mjs +1 -3
  55. package/dist/ui/inputs/select/index.js +22 -132
  56. package/dist/ui/inputs/select/index.mjs +1 -3
  57. package/dist/ui/inputs/select/select.d.ts +0 -4
  58. package/dist/ui/inputs/select/select.js +22 -132
  59. package/dist/ui/inputs/select/select.mjs +1 -3
  60. package/dist/ui/inputs/text/index.js +7 -144
  61. package/dist/ui/inputs/text/index.mjs +2 -4
  62. package/dist/ui/inputs/text/text.js +7 -144
  63. package/dist/ui/inputs/text/text.mjs +2 -4
  64. package/dist/ui/layout/container/container.mjs +64 -71
  65. package/dist/ui/layout/container/index.mjs +64 -71
  66. package/dist/ui/layout/index.mjs +69 -76
  67. package/dist/ui/layout/page/index.mjs +3 -3
  68. package/dist/ui/layout/page/page-loading.mjs +3 -3
  69. package/dist/ui/layout/page/section-loading.mjs +3 -3
  70. package/dist/ui/navigation/index.mjs +5 -5
  71. package/dist/ui/overlays/index.mjs +4 -4
  72. package/dist/ui/provider/index.mjs +3 -3
  73. package/dist/ui/provider/ui-provider.mjs +3 -3
  74. package/dist/ui/theme/colors/common.mjs +3 -3
  75. package/dist/ui/theme/colors/index.mjs +6 -6
  76. package/dist/ui/theme/colors/semantic.mjs +4 -4
  77. package/dist/ui/theme/colors.mjs +6 -6
  78. package/dist/ui/theme/index.mjs +6 -6
  79. package/dist/ui/theme/theme.mjs +6 -6
  80. package/package.json +1 -1
  81. package/dist/chunk-2UHA3DYG.mjs +0 -62
  82. package/dist/chunk-C2VWADF5.mjs +0 -34
  83. package/dist/chunk-CUEG2BFV.mjs +0 -34
  84. package/dist/chunk-MCQGBAUS.mjs +0 -73
  85. package/dist/chunk-NSU66J5E.mjs +0 -59
  86. package/dist/chunk-SEJXJZSK.mjs +0 -64
  87. package/dist/chunk-TUIN5YJW.mjs +0 -33
  88. package/dist/chunk-UQAG7TKJ.mjs +0 -1
  89. package/dist/chunk-VXYV37IM.mjs +0 -74
  90. package/dist/ui/form/rhf/fields/search-field.d.ts +0 -10
  91. package/dist/ui/form/rhf/fields/search-field.js +0 -296
  92. package/dist/ui/form/rhf/fields/search-field.mjs +0 -37
  93. package/dist/ui/inputs/clear-button.d.ts +0 -5
  94. package/dist/ui/inputs/clear-button.js +0 -67
  95. package/dist/ui/inputs/clear-button.mjs +0 -8
  96. package/dist/ui/inputs/input/use-input.d.ts +0 -19
  97. package/dist/ui/inputs/input/use-input.js +0 -82
  98. package/dist/ui/inputs/input/use-input.mjs +0 -7
  99. package/dist/ui/inputs/search/index.d.ts +0 -1
  100. package/dist/ui/inputs/search/index.js +0 -270
  101. package/dist/ui/inputs/search/index.mjs +0 -13
  102. package/dist/ui/inputs/search/search.d.ts +0 -7
  103. package/dist/ui/inputs/search/search.js +0 -268
  104. package/dist/ui/inputs/search/search.mjs +0 -12
  105. package/dist/ui/inputs/search/use-search.d.ts +0 -12
  106. package/dist/ui/inputs/search/use-search.js +0 -57
  107. package/dist/ui/inputs/search/use-search.mjs +0 -7
  108. package/dist/ui/inputs/select/use-select.d.ts +0 -17
  109. package/dist/ui/inputs/select/use-select.js +0 -85
  110. package/dist/ui/inputs/select/use-select.mjs +0 -7
  111. package/dist/{chunk-IXPMUODA.mjs → chunk-5WDV3PDI.mjs} +6 -6
  112. /package/dist/{chunk-5RNCFTW5.mjs → chunk-CZEO3U25.mjs} +0 -0
  113. /package/dist/{chunk-PTCNYQVY.mjs → chunk-Q6JSJOU4.mjs} +0 -0
package/dist/index.js CHANGED
@@ -49,7 +49,6 @@ __export(index_exports, {
49
49
  CheckboxGroup: () => CheckboxGroup,
50
50
  Chip: () => Chip,
51
51
  CircularProgress: () => CircularProgress,
52
- ClearButton: () => ClearButton,
53
52
  Container: () => Container,
54
53
  DatePicker: () => DatePicker,
55
54
  DatePickerField: () => DatePickerField,
@@ -98,8 +97,6 @@ __export(index_exports, {
98
97
  RadioGroup: () => RadioGroup,
99
98
  Root: () => Root2,
100
99
  ScrollShadow: () => ScrollShadow,
101
- Search: () => Search,
102
- SearchField: () => SearchField,
103
100
  Section: () => Section,
104
101
  SectionActions: () => SectionActions,
105
102
  SectionHeader: () => SectionHeader,
@@ -354,361 +351,58 @@ var DatePicker = import_react16.default.forwardRef(
354
351
  DatePicker.displayName = "TeachInUI.DatePicker";
355
352
 
356
353
  // src/ui/inputs/email/email.tsx
357
- var import_react20 = __toESM(require("react"));
354
+ var import_react18 = __toESM(require("react"));
358
355
 
359
356
  // src/ui/inputs/input/input.tsx
360
- var import_react19 = __toESM(require("react"));
361
- var import_input = require("@heroui/input");
362
- var import_tailwind_variants = require("tailwind-variants");
363
-
364
- // src/ui/inputs/clear-button.tsx
365
357
  var import_react17 = __toESM(require("react"));
366
- var import_button3 = require("@heroui/button");
367
- var import_lucide_react = require("lucide-react");
358
+ var import_input = require("@heroui/input");
368
359
  var import_jsx_runtime17 = require("react/jsx-runtime");
369
- var ClearButton = import_react17.default.forwardRef(
370
- ({ onClear }, ref) => {
371
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
372
- import_button3.Button,
373
- {
374
- ref,
375
- isIconOnly: true,
376
- "aria-label": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
377
- as: "span",
378
- className: "opacity-0 transition-opacity group-hover:opacity-100",
379
- color: "default",
380
- radius: "full",
381
- size: "sm",
382
- tabIndex: 0,
383
- variant: "light",
384
- onPress: onClear,
385
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react.XIcon, { className: "size-4 text-default-500" })
386
- }
387
- );
388
- }
389
- );
390
- ClearButton.displayName = "TeachInUI.ClearButton";
391
-
392
- // src/ui/inputs/input/use-input.ts
393
- var import_react18 = require("react");
394
- function useInput({
395
- value,
396
- defaultValue,
397
- onValueChange,
398
- onClear,
399
- isReadOnly,
400
- isClearable = true,
401
- ref
402
- }) {
403
- const inputRef = (0, import_react18.useRef)(null);
404
- const [internalValue, setInternalValue] = (0, import_react18.useState)(defaultValue != null ? defaultValue : "");
405
- const isControlled = value !== void 0;
406
- const currentValue = isControlled ? value : internalValue;
407
- const hasValue = String(currentValue).length > 0;
408
- const handleValueChange = (0, import_react18.useCallback)(
409
- (newValue) => {
410
- if (!isControlled) {
411
- setInternalValue(newValue);
412
- }
413
- onValueChange == null ? void 0 : onValueChange(newValue);
414
- },
415
- [isControlled, onValueChange]
416
- );
417
- const handleClear = (0, import_react18.useCallback)(() => {
418
- var _a;
419
- onClear == null ? void 0 : onClear();
420
- handleValueChange("");
421
- (_a = inputRef.current) == null ? void 0 : _a.focus();
422
- }, [onClear, handleValueChange]);
423
- const mergedRef = (0, import_react18.useCallback)(
424
- (node) => {
425
- inputRef.current = node;
426
- if (typeof ref === "function") {
427
- ref(node);
428
- } else if (ref) {
429
- ref.current = node;
430
- }
431
- },
432
- [ref]
433
- );
434
- const showClearButton = hasValue && !isReadOnly && isClearable;
435
- return {
436
- inputRef,
437
- currentValue,
438
- hasValue,
439
- handleValueChange,
440
- handleClear,
441
- mergedRef,
442
- showClearButton
443
- };
444
- }
445
-
446
- // src/ui/inputs/input/input.tsx
447
- var import_jsx_runtime18 = require("react/jsx-runtime");
448
- var inputWrapperVariants = (0, import_tailwind_variants.tv)({
449
- variants: {
450
- variant: {
451
- flat: "",
452
- underlined: "",
453
- bordered: "border-1",
454
- faded: "border-1"
455
- }
456
- }
360
+ var Input = import_react17.default.forwardRef(({ ...props }, ref) => {
361
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_input.Input, { ref, ...props });
457
362
  });
458
- var Input = import_react19.default.forwardRef(
459
- ({
460
- value,
461
- defaultValue,
462
- onClear,
463
- onValueChange,
464
- variant,
465
- classNames,
466
- endContent,
467
- isReadOnly,
468
- isClearable,
469
- ...props
470
- }, ref) => {
471
- const { currentValue, handleValueChange, handleClear, mergedRef, showClearButton } = useInput({
472
- value,
473
- defaultValue,
474
- onValueChange,
475
- onClear,
476
- isReadOnly,
477
- isClearable,
478
- ref
479
- });
480
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
481
- import_input.Input,
482
- {
483
- ref: mergedRef,
484
- classNames: {
485
- ...classNames,
486
- inputWrapper: inputWrapperVariants({ variant }),
487
- innerWrapper: "group"
488
- },
489
- defaultValue,
490
- endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-1", children: [
491
- endContent,
492
- showClearButton && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ClearButton, { onClear: handleClear })
493
- ] }),
494
- isReadOnly,
495
- value: currentValue,
496
- variant,
497
- onValueChange: handleValueChange,
498
- ...props
499
- }
500
- );
501
- }
502
- );
503
363
  Input.displayName = "TeachInUI.Input";
504
364
 
505
365
  // src/ui/inputs/email/email.tsx
506
- var import_jsx_runtime19 = require("react/jsx-runtime");
507
- var Email = import_react20.default.forwardRef(({ ...props }, ref) => {
508
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
366
+ var import_jsx_runtime18 = require("react/jsx-runtime");
367
+ var Email = import_react18.default.forwardRef(({ ...props }, ref) => {
368
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
509
369
  });
510
370
  Email.displayName = "TeachInUI.Email";
511
371
 
512
- // src/ui/inputs/search/search.tsx
513
- var import_react22 = __toESM(require("react"));
514
- var import_lucide_react2 = require("lucide-react");
515
- var import_button4 = require("@heroui/button");
516
- var import_tailwind_variants2 = require("tailwind-variants");
517
-
518
- // src/ui/inputs/search/use-search.ts
519
- var import_react21 = require("react");
520
- function useSearch({ value, onSearch, onCancel, onKeyDown }) {
521
- const handleKeyDown = (0, import_react21.useCallback)(
522
- (event) => {
523
- if (event.key === "Enter") {
524
- event.preventDefault();
525
- onSearch == null ? void 0 : onSearch(event.target.value);
526
- } else if (event.key === "Escape") {
527
- event.preventDefault();
528
- onCancel == null ? void 0 : onCancel();
529
- }
530
- onKeyDown == null ? void 0 : onKeyDown(event);
531
- },
532
- [onSearch, onCancel, onKeyDown]
533
- );
534
- const hasValue = value !== void 0 && String(value).length > 0;
535
- const handleSearchClick = (0, import_react21.useCallback)(() => {
536
- if (hasValue) {
537
- onSearch == null ? void 0 : onSearch(value);
538
- }
539
- }, [value, onSearch]);
540
- return {
541
- handleKeyDown,
542
- handleSearchClick,
543
- hasValue
544
- };
545
- }
546
-
547
- // src/ui/inputs/search/search.tsx
548
- var import_jsx_runtime20 = require("react/jsx-runtime");
549
- var searchIconVariants = (0, import_tailwind_variants2.tv)({
550
- base: "size-5 shrink-0",
551
- variants: {
552
- variant: {
553
- faded: "text-default-400",
554
- flat: "text-default-foreground",
555
- bordered: "text-default-400",
556
- underlined: "text-default-foreground"
557
- }
558
- }
559
- });
560
- var Search = import_react22.default.forwardRef(
561
- ({ variant = "bordered", radius = "full", value, onSearch, onCancel, onKeyDown, ...props }, ref) => {
562
- const { handleKeyDown, handleSearchClick, hasValue } = useSearch({
563
- value,
564
- onSearch,
565
- onCancel,
566
- onKeyDown
567
- });
568
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
569
- Input,
570
- {
571
- ref,
572
- radius,
573
- startContent: onSearch ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
574
- import_button4.Button,
575
- {
576
- isIconOnly: true,
577
- "aria-label": "\u041F\u043E\u0438\u0441\u043A",
578
- isDisabled: !hasValue,
579
- radius: "full",
580
- size: "sm",
581
- variant: "light",
582
- onPress: handleSearchClick,
583
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) })
584
- }
585
- ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) }),
586
- value,
587
- variant,
588
- onKeyDown: handleKeyDown,
589
- ...props
590
- }
591
- );
592
- }
593
- );
594
- Search.displayName = "TeachInUI.Search";
595
-
596
372
  // src/ui/inputs/select/select.tsx
597
- var import_react24 = __toESM(require("react"));
373
+ var import_react19 = __toESM(require("react"));
598
374
  var import_select = require("@heroui/select");
599
- var import_tailwind_variants3 = require("tailwind-variants");
600
-
601
- // src/ui/inputs/select/use-select.ts
602
- var import_react23 = require("react");
603
- function useSelect({
604
- value,
605
- onChange,
606
- onClear,
607
- selectionMode,
608
- isClearable = true
609
- }) {
610
- const isMultiple = selectionMode === "multiple";
611
- const [internalValue, setInternalValue] = (0, import_react23.useState)(
612
- isMultiple ? [] : null
613
- );
614
- const isControlled = value !== void 0;
615
- const currentValue = isControlled ? value : internalValue;
616
- const hasValue = currentValue != null && (Array.isArray(currentValue) ? currentValue.length > 0 : currentValue !== "");
617
- const handleChange = (0, import_react23.useCallback)(
618
- (newValue) => {
619
- if (!isControlled) {
620
- setInternalValue(newValue);
621
- }
622
- if (isMultiple) {
623
- onChange == null ? void 0 : onChange(newValue);
624
- } else {
625
- onChange == null ? void 0 : onChange(newValue);
626
- }
627
- },
628
- [isControlled, onChange, isMultiple]
629
- );
630
- const handleClear = (0, import_react23.useCallback)(() => {
631
- onClear == null ? void 0 : onClear();
632
- handleChange(isMultiple ? [] : null);
633
- }, [onClear, handleChange, isMultiple]);
634
- const selectedKeys = (0, import_react23.useMemo)(() => {
635
- if (currentValue == null) return /* @__PURE__ */ new Set();
636
- return new Set(Array.isArray(currentValue) ? currentValue : [currentValue]);
637
- }, [currentValue]);
638
- const handleSelectionChange = (0, import_react23.useCallback)(
639
- (keys) => {
640
- var _a;
641
- if (keys === "all") return;
642
- const selected = Array.from(keys).filter((key) => typeof key === "string");
643
- handleChange(isMultiple ? selected : (_a = selected[0]) != null ? _a : null);
644
- },
645
- [handleChange, isMultiple]
646
- );
647
- const showClearButton = hasValue && isClearable;
648
- return {
649
- currentValue,
650
- hasValue,
651
- selectedKeys,
652
- handleSelectionChange,
653
- handleClear,
654
- showClearButton
655
- };
656
- }
657
-
658
- // src/ui/inputs/select/select.tsx
659
- var import_jsx_runtime21 = require("react/jsx-runtime");
660
- var selectWrapperVariants = (0, import_tailwind_variants3.tv)({
661
- variants: {
662
- variant: {
663
- flat: "",
664
- underlined: "",
665
- bordered: "border-1",
666
- faded: "border-1"
667
- }
668
- }
669
- });
670
- var Select = import_react24.default.forwardRef(
671
- ({
672
- value,
673
- defaultSelectedKeys,
674
- items,
675
- onChange,
676
- selectionMode,
677
- onClear,
678
- variant,
679
- classNames,
680
- endContent,
681
- isClearable,
682
- ...props
683
- }, ref) => {
684
- const { selectedKeys, handleSelectionChange, handleClear, showClearButton } = useSelect({
685
- value,
686
- onChange,
687
- onClear,
688
- selectionMode,
689
- isClearable
690
- });
691
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
375
+ var import_jsx_runtime19 = require("react/jsx-runtime");
376
+ var Select = import_react19.default.forwardRef(
377
+ ({ value, items, onChange, selectionMode, ...props }, ref) => {
378
+ const isMultiple = selectionMode === "multiple";
379
+ const selectedKeys = import_react19.default.useMemo(() => {
380
+ if (value == null) return /* @__PURE__ */ new Set();
381
+ return new Set(Array.isArray(value) ? value : [value]);
382
+ }, [value]);
383
+ const handleSelectionChange = import_react19.default.useCallback(
384
+ (keys) => {
385
+ var _a;
386
+ if (keys === "all") return;
387
+ const selected = Array.from(keys).filter((key) => typeof key === "string");
388
+ if (isMultiple) {
389
+ onChange == null ? void 0 : onChange(selected);
390
+ } else {
391
+ onChange == null ? void 0 : onChange((_a = selected[0]) != null ? _a : null);
392
+ }
393
+ },
394
+ [onChange, isMultiple]
395
+ );
396
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
692
397
  import_select.Select,
693
398
  {
694
399
  ref,
695
- classNames: {
696
- ...classNames,
697
- trigger: selectWrapperVariants({ variant }),
698
- innerWrapper: "group"
699
- },
700
- defaultSelectedKeys,
701
- endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
702
- endContent,
703
- showClearButton && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ClearButton, { onClear: handleClear })
704
- ] }),
705
400
  items,
706
401
  selectedKeys,
707
402
  selectionMode,
708
- variant,
709
403
  onSelectionChange: handleSelectionChange,
710
404
  ...props,
711
- children: (item) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_select.SelectItem, { children: item.label }, item.key)
405
+ children: (item) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_select.SelectItem, { children: item.label }, item.key)
712
406
  }
713
407
  );
714
408
  }
@@ -716,20 +410,20 @@ var Select = import_react24.default.forwardRef(
716
410
  Select.displayName = "TeachInUI.Select";
717
411
 
718
412
  // src/ui/inputs/switch/switch.tsx
719
- var import_react25 = __toESM(require("react"));
413
+ var import_react20 = __toESM(require("react"));
720
414
  var import_switch = require("@heroui/switch");
721
- var import_jsx_runtime22 = require("react/jsx-runtime");
722
- var Switch = import_react25.default.forwardRef(({ ...props }, ref) => {
723
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_switch.Switch, { ref, ...props });
415
+ var import_jsx_runtime20 = require("react/jsx-runtime");
416
+ var Switch = import_react20.default.forwardRef(({ ...props }, ref) => {
417
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_switch.Switch, { ref, ...props });
724
418
  });
725
419
  Switch.displayName = "TeachInUI.Switch";
726
420
 
727
421
  // src/ui/inputs/switch/favorite-switch.tsx
728
422
  var import_switch2 = require("@heroui/switch");
729
- var import_lucide_react3 = require("lucide-react");
730
- var import_tailwind_variants4 = require("tailwind-variants");
731
- var import_jsx_runtime23 = require("react/jsx-runtime");
732
- var bookmarkVariants = (0, import_tailwind_variants4.tv)({
423
+ var import_lucide_react = require("lucide-react");
424
+ var import_tailwind_variants = require("tailwind-variants");
425
+ var import_jsx_runtime21 = require("react/jsx-runtime");
426
+ var bookmarkVariants = (0, import_tailwind_variants.tv)({
733
427
  base: "size-6 stroke-default-400 group-hover:fill-primary-100 group-hover:stroke-default-400",
734
428
  variants: {
735
429
  isSelected: {
@@ -742,16 +436,16 @@ function FavoriteSwitch({ isSelected, onValueChange }) {
742
436
  isSelected,
743
437
  onValueChange
744
438
  });
745
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Component, { ...getBaseProps(), children: [
746
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "sr-only", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("input", { ...getInputProps() }) }),
747
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
439
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Component, { ...getBaseProps(), children: [
440
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "sr-only", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("input", { ...getInputProps() }) }),
441
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
748
442
  "div",
749
443
  {
750
444
  ...getWrapperProps(),
751
445
  className: slots.wrapper({
752
446
  class: "flex h-8 w-8 cursor-pointer items-center justify-center rounded-sm !bg-transparent"
753
447
  }),
754
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react3.Bookmark, { className: bookmarkVariants({ isSelected }) })
448
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react.Bookmark, { className: bookmarkVariants({ isSelected }) })
755
449
  }
756
450
  )
757
451
  ] });
@@ -762,55 +456,45 @@ var import_radio = require("@heroui/radio");
762
456
  var Radio = Object.assign(import_radio.Radio, { displayName: "TeachInUI.Radio" });
763
457
 
764
458
  // src/ui/inputs/radio/radio-group.tsx
765
- var import_react26 = __toESM(require("react"));
459
+ var import_react21 = __toESM(require("react"));
766
460
  var import_radio2 = require("@heroui/radio");
767
- var import_jsx_runtime24 = require("react/jsx-runtime");
768
- var RadioGroup = import_react26.default.forwardRef(
461
+ var import_jsx_runtime22 = require("react/jsx-runtime");
462
+ var RadioGroup = import_react21.default.forwardRef(
769
463
  (props, ref) => {
770
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radio2.RadioGroup, { ref, ...props });
464
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_radio2.RadioGroup, { ref, ...props });
771
465
  }
772
466
  );
773
467
  RadioGroup.displayName = "TeachInUI.RadioGroup";
774
468
 
775
469
  // src/ui/inputs/text/text.tsx
776
- var import_react27 = __toESM(require("react"));
777
- var import_jsx_runtime25 = require("react/jsx-runtime");
778
- var Text = import_react27.default.forwardRef(({ ...props }, ref) => {
779
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Input, { ref, type: "text", ...props });
470
+ var import_react22 = __toESM(require("react"));
471
+ var import_jsx_runtime23 = require("react/jsx-runtime");
472
+ var Text = import_react22.default.forwardRef(({ ...props }, ref) => {
473
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Input, { ref, type: "text", ...props });
780
474
  });
781
475
  Text.displayName = "TeachInUI.Text";
782
476
 
783
477
  // src/ui/inputs/textarea/textarea.tsx
784
- var import_input6 = require("@heroui/input");
785
- var import_react28 = __toESM(require("react"));
786
- var import_jsx_runtime26 = require("react/jsx-runtime");
787
- var Textarea = import_react28.default.forwardRef(
478
+ var import_input5 = require("@heroui/input");
479
+ var import_react23 = __toESM(require("react"));
480
+ var import_jsx_runtime24 = require("react/jsx-runtime");
481
+ var Textarea = import_react23.default.forwardRef(
788
482
  ({ minRows = 4, ...props }, ref) => {
789
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_input6.Textarea, { ref, minRows, ...props });
483
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_input5.Textarea, { ref, minRows, ...props });
790
484
  }
791
485
  );
792
486
  Textarea.displayName = "TeachInUI.Textarea";
793
487
 
794
488
  // src/ui/form/rhf/fields/input-field.tsx
795
- var import_jsx_runtime27 = require("react/jsx-runtime");
489
+ var import_jsx_runtime25 = require("react/jsx-runtime");
796
490
  function InputField({ name, ...props }) {
797
491
  const { control } = (0, import_react_hook_form.useFormContext)();
798
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
492
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
799
493
  import_react_hook_form.Controller,
800
494
  {
801
495
  control,
802
496
  name,
803
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
804
- Input,
805
- {
806
- ...props,
807
- ...field,
808
- ref,
809
- errorMessage: error == null ? void 0 : error.message,
810
- isInvalid: !!error,
811
- onValueChange: field.onChange
812
- }
813
- )
497
+ 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 })
814
498
  }
815
499
  );
816
500
  }
@@ -818,15 +502,15 @@ InputField.displayName = "TeachInUI.InputField";
818
502
 
819
503
  // src/ui/form/rhf/fields/text-field.tsx
820
504
  var import_react_hook_form2 = require("react-hook-form");
821
- var import_jsx_runtime28 = require("react/jsx-runtime");
505
+ var import_jsx_runtime26 = require("react/jsx-runtime");
822
506
  function TextField({ name, ...props }) {
823
507
  const { control } = (0, import_react_hook_form2.useFormContext)();
824
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
508
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
825
509
  import_react_hook_form2.Controller,
826
510
  {
827
511
  control,
828
512
  name,
829
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
513
+ 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 })
830
514
  }
831
515
  );
832
516
  }
@@ -834,57 +518,31 @@ TextField.displayName = "TeachInUI.TextField";
834
518
 
835
519
  // src/ui/form/rhf/fields/email-field.tsx
836
520
  var import_react_hook_form3 = require("react-hook-form");
837
- var import_jsx_runtime29 = require("react/jsx-runtime");
521
+ var import_jsx_runtime27 = require("react/jsx-runtime");
838
522
  function EmailField({ name, ...props }) {
839
523
  const { control } = (0, import_react_hook_form3.useFormContext)();
840
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
524
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
841
525
  import_react_hook_form3.Controller,
842
526
  {
843
527
  control,
844
528
  name,
845
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
529
+ 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 })
846
530
  }
847
531
  );
848
532
  }
849
533
  EmailField.displayName = "TeachInUI.EmailField";
850
534
 
851
- // src/ui/form/rhf/fields/search-field.tsx
535
+ // src/ui/form/rhf/fields/textarea-field.tsx
852
536
  var import_react_hook_form4 = require("react-hook-form");
853
- var import_jsx_runtime30 = require("react/jsx-runtime");
854
- function SearchField({ name, ...props }) {
537
+ var import_jsx_runtime28 = require("react/jsx-runtime");
538
+ function TextareaField({ name, ...props }) {
855
539
  const { control } = (0, import_react_hook_form4.useFormContext)();
856
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
540
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
857
541
  import_react_hook_form4.Controller,
858
542
  {
859
543
  control,
860
544
  name,
861
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
862
- Search,
863
- {
864
- ...props,
865
- ...field,
866
- ref,
867
- errorMessage: error == null ? void 0 : error.message,
868
- isInvalid: !!error,
869
- onValueChange: field.onChange
870
- }
871
- )
872
- }
873
- );
874
- }
875
- SearchField.displayName = "TeachInUI.SearchField";
876
-
877
- // src/ui/form/rhf/fields/textarea-field.tsx
878
- var import_react_hook_form5 = require("react-hook-form");
879
- var import_jsx_runtime31 = require("react/jsx-runtime");
880
- function TextareaField({ name, ...props }) {
881
- const { control } = (0, import_react_hook_form5.useFormContext)();
882
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
883
- import_react_hook_form5.Controller,
884
- {
885
- control,
886
- name,
887
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
545
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
888
546
  Textarea,
889
547
  {
890
548
  ...props,
@@ -900,16 +558,16 @@ function TextareaField({ name, ...props }) {
900
558
  TextareaField.displayName = "TeachInUI.TextareaField";
901
559
 
902
560
  // src/ui/form/rhf/fields/select-field.tsx
903
- var import_react_hook_form6 = require("react-hook-form");
904
- var import_jsx_runtime32 = require("react/jsx-runtime");
561
+ var import_react_hook_form5 = require("react-hook-form");
562
+ var import_jsx_runtime29 = require("react/jsx-runtime");
905
563
  function SelectField({ name, selectionMode, ...props }) {
906
- const { control } = (0, import_react_hook_form6.useFormContext)();
907
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
908
- import_react_hook_form6.Controller,
564
+ const { control } = (0, import_react_hook_form5.useFormContext)();
565
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
566
+ import_react_hook_form5.Controller,
909
567
  {
910
568
  control,
911
569
  name,
912
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
570
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
913
571
  Select,
914
572
  {
915
573
  selectionMode,
@@ -926,16 +584,16 @@ function SelectField({ name, selectionMode, ...props }) {
926
584
  SelectField.displayName = "TeachInUI.SelectField";
927
585
 
928
586
  // src/ui/form/rhf/fields/autocomplete-field.tsx
929
- var import_react_hook_form7 = require("react-hook-form");
930
- var import_jsx_runtime33 = require("react/jsx-runtime");
587
+ var import_react_hook_form6 = require("react-hook-form");
588
+ var import_jsx_runtime30 = require("react/jsx-runtime");
931
589
  function AutocompleteField({ name, ...props }) {
932
- const { control } = (0, import_react_hook_form7.useFormContext)();
933
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
934
- import_react_hook_form7.Controller,
590
+ const { control } = (0, import_react_hook_form6.useFormContext)();
591
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
592
+ import_react_hook_form6.Controller,
935
593
  {
936
594
  control,
937
595
  name,
938
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
596
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
939
597
  Autocomplete,
940
598
  {
941
599
  ...props,
@@ -951,16 +609,16 @@ function AutocompleteField({ name, ...props }) {
951
609
  AutocompleteField.displayName = "TeachInUI.AutocompleteField";
952
610
 
953
611
  // src/ui/form/rhf/fields/date-picker-field.tsx
954
- var import_react_hook_form8 = require("react-hook-form");
955
- var import_jsx_runtime34 = require("react/jsx-runtime");
612
+ var import_react_hook_form7 = require("react-hook-form");
613
+ var import_jsx_runtime31 = require("react/jsx-runtime");
956
614
  function DatePickerField({ name, ...props }) {
957
- const { control } = (0, import_react_hook_form8.useFormContext)();
958
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
959
- import_react_hook_form8.Controller,
615
+ const { control } = (0, import_react_hook_form7.useFormContext)();
616
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
617
+ import_react_hook_form7.Controller,
960
618
  {
961
619
  control,
962
620
  name,
963
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
621
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
964
622
  DatePicker,
965
623
  {
966
624
  ...props,
@@ -976,18 +634,18 @@ function DatePickerField({ name, ...props }) {
976
634
  DatePickerField.displayName = "TeachInUI.DatePickerField";
977
635
 
978
636
  // src/ui/form/rhf/fields/checkbox-field.tsx
979
- var import_react_hook_form9 = require("react-hook-form");
980
- var import_jsx_runtime35 = require("react/jsx-runtime");
637
+ var import_react_hook_form8 = require("react-hook-form");
638
+ var import_jsx_runtime32 = require("react/jsx-runtime");
981
639
  function CheckboxField({ name, ...props }) {
982
- const { control } = (0, import_react_hook_form9.useFormContext)();
983
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
984
- import_react_hook_form9.Controller,
640
+ const { control } = (0, import_react_hook_form8.useFormContext)();
641
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
642
+ import_react_hook_form8.Controller,
985
643
  {
986
644
  control,
987
645
  name,
988
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { children: [
989
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
990
- error && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-tiny text-danger", children: error.message })
646
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
647
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
648
+ error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-tiny text-danger", children: error.message })
991
649
  ] })
992
650
  }
993
651
  );
@@ -995,18 +653,18 @@ function CheckboxField({ name, ...props }) {
995
653
  CheckboxField.displayName = "TeachInUI.CheckboxField";
996
654
 
997
655
  // src/ui/form/rhf/fields/switch-field.tsx
998
- var import_react_hook_form10 = require("react-hook-form");
999
- var import_jsx_runtime36 = require("react/jsx-runtime");
656
+ var import_react_hook_form9 = require("react-hook-form");
657
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1000
658
  function SwitchField({ name, ...props }) {
1001
- const { control } = (0, import_react_hook_form10.useFormContext)();
1002
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1003
- import_react_hook_form10.Controller,
659
+ const { control } = (0, import_react_hook_form9.useFormContext)();
660
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
661
+ import_react_hook_form9.Controller,
1004
662
  {
1005
663
  control,
1006
664
  name,
1007
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
1008
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
1009
- error && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-tiny text-danger", children: error.message })
665
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
666
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
667
+ error && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-tiny text-danger", children: error.message })
1010
668
  ] })
1011
669
  }
1012
670
  );
@@ -1014,16 +672,16 @@ function SwitchField({ name, ...props }) {
1014
672
  SwitchField.displayName = "TeachInUI.SwitchField";
1015
673
 
1016
674
  // src/ui/form/rhf/fields/radio-field.tsx
1017
- var import_react_hook_form11 = require("react-hook-form");
1018
- var import_jsx_runtime37 = require("react/jsx-runtime");
675
+ var import_react_hook_form10 = require("react-hook-form");
676
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1019
677
  function RadioField({ name, ...props }) {
1020
- const { control } = (0, import_react_hook_form11.useFormContext)();
1021
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1022
- import_react_hook_form11.Controller,
678
+ const { control } = (0, import_react_hook_form10.useFormContext)();
679
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
680
+ import_react_hook_form10.Controller,
1023
681
  {
1024
682
  control,
1025
683
  name,
1026
- render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
684
+ render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1027
685
  RadioGroup,
1028
686
  {
1029
687
  ...props,
@@ -1042,15 +700,15 @@ RadioField.displayName = "TeachInUI.RadioField";
1042
700
 
1043
701
  // src/ui/form/form.tsx
1044
702
  var import_form = require("@heroui/form");
1045
- var import_react29 = __toESM(require("react"));
1046
- var import_jsx_runtime38 = require("react/jsx-runtime");
1047
- var Form = import_react29.default.forwardRef(({ ...props }, ref) => {
1048
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_form.Form, { ref, ...props });
703
+ var import_react24 = __toESM(require("react"));
704
+ var import_jsx_runtime35 = require("react/jsx-runtime");
705
+ var Form = import_react24.default.forwardRef(({ ...props }, ref) => {
706
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_form.Form, { ref, ...props });
1049
707
  });
1050
708
  Form.displayName = "TeachInUI.Form";
1051
709
 
1052
710
  // src/ui/format/datetime.tsx
1053
- var import_jsx_runtime39 = require("react/jsx-runtime");
711
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1054
712
  var defaultFormat = {
1055
713
  day: "numeric",
1056
714
  month: "long",
@@ -1066,15 +724,15 @@ function Datetime({
1066
724
  fallback = "\u2014"
1067
725
  }) {
1068
726
  const formatter = new Intl.DateTimeFormat(locale, format);
1069
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: fallback });
727
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: fallback });
1070
728
  const date = value instanceof Date ? value : new Date(value);
1071
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: fallback });
1072
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: formatter.format(date) });
729
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: fallback });
730
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: formatter.format(date) });
1073
731
  }
1074
732
  Datetime.displayName = "TeachInUI.FormatDatetime";
1075
733
 
1076
734
  // src/ui/format/date.tsx
1077
- var import_jsx_runtime40 = require("react/jsx-runtime");
735
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1078
736
  var defaultFormat2 = {
1079
737
  day: "numeric",
1080
738
  month: "long",
@@ -1087,15 +745,15 @@ function DateFormat({
1087
745
  fallback = "\u2014"
1088
746
  }) {
1089
747
  const formatter = new Intl.DateTimeFormat(locale, format);
1090
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
748
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: fallback });
1091
749
  const date = value instanceof Date ? value : new Date(value);
1092
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
1093
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(date) });
750
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: fallback });
751
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: formatter.format(date) });
1094
752
  }
1095
753
  DateFormat.displayName = "TeachInUI.FormatDate";
1096
754
 
1097
755
  // src/ui/format/time.tsx
1098
- var import_jsx_runtime41 = require("react/jsx-runtime");
756
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1099
757
  var defaultFormat3 = {
1100
758
  hour: "2-digit",
1101
759
  minute: "2-digit"
@@ -1107,15 +765,15 @@ function Time({
1107
765
  fallback = "\u2014"
1108
766
  }) {
1109
767
  const formatter = new Intl.DateTimeFormat(locale, format);
1110
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
768
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: fallback });
1111
769
  const date = value instanceof Date ? value : new Date(value);
1112
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
1113
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: formatter.format(date) });
770
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: fallback });
771
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: formatter.format(date) });
1114
772
  }
1115
773
  Time.displayName = "TeachInUI.FormatTime";
1116
774
 
1117
775
  // src/ui/format/currency.tsx
1118
- var import_jsx_runtime42 = require("react/jsx-runtime");
776
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1119
777
  function Currency({
1120
778
  amount,
1121
779
  currency = "RUB",
@@ -1130,23 +788,23 @@ function Currency({
1130
788
  maximumFractionDigits: decimals
1131
789
  }
1132
790
  });
1133
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: formatter.format(amount) });
791
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: formatter.format(amount) });
1134
792
  }
1135
793
  Currency.displayName = "TeachInUI.FormatCurrency";
1136
794
 
1137
795
  // src/ui/format/number.tsx
1138
- var import_jsx_runtime43 = require("react/jsx-runtime");
796
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1139
797
  function Number2({ value, decimals, locale = "ru-RU" }) {
1140
798
  const formatter = new Intl.NumberFormat(locale, {
1141
799
  minimumFractionDigits: decimals != null ? decimals : 0,
1142
800
  maximumFractionDigits: decimals != null ? decimals : 2
1143
801
  });
1144
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: formatter.format(value) });
802
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(value) });
1145
803
  }
1146
804
  Number2.displayName = "TeachInUI.FormatNumber";
1147
805
 
1148
806
  // src/ui/format/percent.tsx
1149
- var import_jsx_runtime44 = require("react/jsx-runtime");
807
+ var import_jsx_runtime41 = require("react/jsx-runtime");
1150
808
  function Percent({
1151
809
  value,
1152
810
  decimals = 1,
@@ -1159,12 +817,12 @@ function Percent({
1159
817
  maximumFractionDigits: decimals
1160
818
  });
1161
819
  const normalizedValue = unit === "percent" ? value / 100 : value;
1162
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: formatter.format(normalizedValue) });
820
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: formatter.format(normalizedValue) });
1163
821
  }
1164
822
  Percent.displayName = "TeachInUI.FormatPercent";
1165
823
 
1166
824
  // src/ui/format/plural.tsx
1167
- var import_jsx_runtime45 = require("react/jsx-runtime");
825
+ var import_jsx_runtime42 = require("react/jsx-runtime");
1168
826
  function Plural({
1169
827
  count,
1170
828
  one,
@@ -1185,12 +843,12 @@ function Plural({
1185
843
  };
1186
844
  const selectedForm = forms[rule];
1187
845
  const result = showCount ? `${count} ${selectedForm}` : selectedForm;
1188
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: result });
846
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: result });
1189
847
  }
1190
848
  Plural.displayName = "TeachInUI.FormatPlural";
1191
849
 
1192
850
  // src/ui/format/duration.tsx
1193
- var import_jsx_runtime46 = require("react/jsx-runtime");
851
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1194
852
  function Duration({
1195
853
  minutes = 0,
1196
854
  hours = 0,
@@ -1212,25 +870,25 @@ function Duration({
1212
870
  if (remainingMinutes > 0 || totalDays === 0 && totalHours === 0) {
1213
871
  parts.push(compact ? `${remainingMinutes}\u043C` : `${remainingMinutes} \u043C\u0438\u043D`);
1214
872
  }
1215
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_jsx_runtime46.Fragment, { children: parts.join(" ") });
873
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: parts.join(" ") });
1216
874
  }
1217
875
  Duration.displayName = "TeachInUI.FormatDuration";
1218
876
 
1219
877
  // src/ui/format/boolean.tsx
1220
- var import_jsx_runtime47 = require("react/jsx-runtime");
878
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1221
879
  function Boolean({
1222
880
  value,
1223
881
  trueLabel = "\u0414\u0430",
1224
882
  falseLabel = "\u041D\u0435\u0442",
1225
883
  nullLabel = "\u2014"
1226
884
  }) {
1227
- if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: nullLabel });
1228
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: value ? trueLabel : falseLabel });
885
+ if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: nullLabel });
886
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: value ? trueLabel : falseLabel });
1229
887
  }
1230
888
  Boolean.displayName = "TeachInUI.FormatBoolean";
1231
889
 
1232
890
  // src/ui/format/uuid.tsx
1233
- var import_jsx_runtime48 = require("react/jsx-runtime");
891
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1234
892
  var uuidHyphenatedRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
1235
893
  function normalizeUuid(value) {
1236
894
  const trimmed = value.trim();
@@ -1253,20 +911,20 @@ function Uuid({
1253
911
  showVersion = false,
1254
912
  invalidFallback = "\u2014"
1255
913
  }) {
1256
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: invalidFallback });
914
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: invalidFallback });
1257
915
  const normalized = normalizeUuid(value);
1258
- if (!normalized) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: invalidFallback });
916
+ if (!normalized) return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: invalidFallback });
1259
917
  const formatted = letterCase === "upper" ? normalized.toUpperCase() : normalized;
1260
- if (!showVersion) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: formatted });
918
+ if (!showVersion) return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: formatted });
1261
919
  const version = detectUuidVersion(normalized);
1262
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: version !== null ? `${formatted} (v${version})` : formatted });
920
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: version !== null ? `${formatted} (v${version})` : formatted });
1263
921
  }
1264
922
  Uuid.displayName = "TeachInUI.FormatUUID";
1265
923
 
1266
924
  // src/ui/surface/bento/bento.tsx
1267
- var import_tailwind_variants5 = require("tailwind-variants");
1268
- var import_jsx_runtime49 = require("react/jsx-runtime");
1269
- var bento = (0, import_tailwind_variants5.tv)({
925
+ var import_tailwind_variants2 = require("tailwind-variants");
926
+ var import_jsx_runtime46 = require("react/jsx-runtime");
927
+ var bento = (0, import_tailwind_variants2.tv)({
1270
928
  base: "rounded-xl p-6 transition-colors",
1271
929
  variants: {
1272
930
  color: {
@@ -1303,28 +961,28 @@ var bento = (0, import_tailwind_variants5.tv)({
1303
961
  }
1304
962
  });
1305
963
  var Bento = ({ className, ...props }) => {
1306
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: bento({ ...props, className }), ...props });
964
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: bento({ ...props, className }), ...props });
1307
965
  };
1308
966
  Bento.displayName = "TeachInUI.Bento";
1309
967
 
1310
968
  // src/ui/surface/card/card.tsx
1311
- var import_react30 = __toESM(require("react"));
969
+ var import_react25 = __toESM(require("react"));
1312
970
  var import_card = require("@heroui/card");
1313
- var import_jsx_runtime50 = require("react/jsx-runtime");
1314
- var Root = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1315
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.Card, { ref, ...props, children });
971
+ var import_jsx_runtime47 = require("react/jsx-runtime");
972
+ var Root = import_react25.default.forwardRef(({ children, ...props }, ref) => {
973
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.Card, { ref, ...props, children });
1316
974
  });
1317
975
  Root.displayName = "TeachInUI.Card.Root";
1318
- var Header = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1319
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardHeader, { ref, ...props, children });
976
+ var Header = import_react25.default.forwardRef(({ children, ...props }, ref) => {
977
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.CardHeader, { ref, ...props, children });
1320
978
  });
1321
979
  Header.displayName = "TeachInUI.Card.Header";
1322
- var Body = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1323
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardBody, { ref, ...props, children });
980
+ var Body = import_react25.default.forwardRef(({ children, ...props }, ref) => {
981
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.CardBody, { ref, ...props, children });
1324
982
  });
1325
983
  Body.displayName = "TeachInUI.Card.Body";
1326
- var Footer = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1327
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardFooter, { ref, ...props, children });
984
+ var Footer = import_react25.default.forwardRef(({ children, ...props }, ref) => {
985
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.CardFooter, { ref, ...props, children });
1328
986
  });
1329
987
  Footer.displayName = "TeachInUI.Card.Footer";
1330
988
  var Card = {
@@ -1336,9 +994,9 @@ var Card = {
1336
994
 
1337
995
  // src/ui/layout/container/container.tsx
1338
996
  var import_react_slot = require("@radix-ui/react-slot");
1339
- var import_tailwind_variants6 = require("tailwind-variants");
1340
- var import_jsx_runtime51 = require("react/jsx-runtime");
1341
- var variants = (0, import_tailwind_variants6.tv)({
997
+ var import_tailwind_variants3 = require("tailwind-variants");
998
+ var import_jsx_runtime48 = require("react/jsx-runtime");
999
+ var variants = (0, import_tailwind_variants3.tv)({
1342
1000
  base: "w-full mx-auto px-6",
1343
1001
  variants: {
1344
1002
  size: {
@@ -1357,58 +1015,58 @@ var variants = (0, import_tailwind_variants6.tv)({
1357
1015
  });
1358
1016
  var Container = ({ children, asChild = false, className, size, ...props }) => {
1359
1017
  const Comp = asChild ? import_react_slot.Slot : "div";
1360
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
1018
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
1361
1019
  };
1362
1020
  Container.displayName = "TeachInUI.Container";
1363
1021
 
1364
1022
  // src/ui/layout/page/breadcrumbs.tsx
1365
1023
  var import_breadcrumbs = require("@heroui/breadcrumbs");
1366
- var import_jsx_runtime52 = require("react/jsx-runtime");
1367
- var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
1024
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1025
+ var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
1368
1026
 
1369
1027
  // src/ui/layout/page/page-content.tsx
1370
- var import_jsx_runtime53 = require("react/jsx-runtime");
1028
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1371
1029
  var Root2 = ({
1372
1030
  children,
1373
1031
  breadcrumbs = []
1374
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col gap-6", children: [
1375
- breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Breadcrumbs, { items: breadcrumbs }),
1032
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-col gap-6", children: [
1033
+ breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Breadcrumbs, { items: breadcrumbs }),
1376
1034
  children
1377
1035
  ] });
1378
1036
  Root2.displayName = "TeachInUI.PageContent.Root";
1379
- var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
1037
+ var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
1380
1038
  Header2.displayName = "TeachInUI.PageContent.Header";
1381
1039
  var Title = ({
1382
1040
  children,
1383
1041
  ...others
1384
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
1042
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
1385
1043
  Title.displayName = "TeachInUI.PageContent.Title";
1386
1044
  var Actions = ({
1387
1045
  children,
1388
1046
  ...others
1389
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1047
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1390
1048
  Actions.displayName = "TeachInUI.PageContent.Actions";
1391
- var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex flex-col gap-6", children });
1049
+ var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex flex-col gap-6", children });
1392
1050
  Body2.displayName = "TeachInUI.PageContent.Body";
1393
1051
  var Section = ({
1394
1052
  children,
1395
1053
  ...others
1396
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
1054
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
1397
1055
  Section.displayName = "TeachInUI.PageContent.Section";
1398
1056
  var SectionHeader = ({
1399
1057
  children,
1400
1058
  ...others
1401
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex items-center justify-between", ...others, children });
1059
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex items-center justify-between", ...others, children });
1402
1060
  SectionHeader.displayName = "TeachInUI.PageContent.SectionHeader";
1403
1061
  var SectionTitle = ({
1404
1062
  children,
1405
1063
  ...others
1406
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
1064
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
1407
1065
  SectionTitle.displayName = "TeachInUI.PageContent.SectionTitle";
1408
1066
  var SectionActions = ({
1409
1067
  children,
1410
1068
  ...others
1411
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1069
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1412
1070
  SectionActions.displayName = "TeachInUI.PageContent.SectionActions";
1413
1071
  var PageContent = {
1414
1072
  Root: Root2,
@@ -1423,19 +1081,19 @@ var PageContent = {
1423
1081
  };
1424
1082
 
1425
1083
  // src/ui/layout/page/page-loading.tsx
1426
- var import_jsx_runtime54 = require("react/jsx-runtime");
1427
- var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Spinner, {}) });
1084
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1085
+ var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Spinner, {}) });
1428
1086
  PageLoading.displayName = "TeachInUI.PageLoading";
1429
1087
 
1430
1088
  // src/ui/layout/page/section-loading.tsx
1431
- var import_jsx_runtime55 = require("react/jsx-runtime");
1432
- var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Spinner, {}) });
1089
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1090
+ var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Spinner, {}) });
1433
1091
  SectionLoading.displayName = "TeachInUI.SectionLoading";
1434
1092
 
1435
1093
  // src/ui/layout/flex/flex.tsx
1436
- var import_tailwind_variants7 = require("tailwind-variants");
1437
- var import_jsx_runtime56 = require("react/jsx-runtime");
1438
- var variants2 = (0, import_tailwind_variants7.tv)({
1094
+ var import_tailwind_variants4 = require("tailwind-variants");
1095
+ var import_jsx_runtime53 = require("react/jsx-runtime");
1096
+ var variants2 = (0, import_tailwind_variants4.tv)({
1439
1097
  base: "flex",
1440
1098
  variants: {
1441
1099
  direction: {
@@ -1482,14 +1140,14 @@ var variants2 = (0, import_tailwind_variants7.tv)({
1482
1140
  }
1483
1141
  });
1484
1142
  var Flex = ({ className, ...props }) => {
1485
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: variants2({ ...props, className }), ...props });
1143
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: variants2({ ...props, className }), ...props });
1486
1144
  };
1487
1145
  Flex.displayName = "TeachInUI.Flex";
1488
1146
 
1489
1147
  // src/ui/layout/grid/grid.tsx
1490
- var import_tailwind_variants8 = require("tailwind-variants");
1491
- var import_jsx_runtime57 = require("react/jsx-runtime");
1492
- var variants3 = (0, import_tailwind_variants8.tv)({
1148
+ var import_tailwind_variants5 = require("tailwind-variants");
1149
+ var import_jsx_runtime54 = require("react/jsx-runtime");
1150
+ var variants3 = (0, import_tailwind_variants5.tv)({
1493
1151
  base: "grid",
1494
1152
  variants: {
1495
1153
  columns: {
@@ -1538,26 +1196,26 @@ var variants3 = (0, import_tailwind_variants8.tv)({
1538
1196
  }
1539
1197
  });
1540
1198
  var Grid = ({ className, ...props }) => {
1541
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: variants3({ ...props, className }), ...props });
1199
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: variants3({ ...props, className }), ...props });
1542
1200
  };
1543
1201
  Grid.displayName = "TeachInUI.Grid";
1544
1202
 
1545
1203
  // src/ui/layout/divider/divider.tsx
1546
- var import_react31 = __toESM(require("react"));
1204
+ var import_react26 = __toESM(require("react"));
1547
1205
  var import_divider = require("@heroui/divider");
1548
- var import_jsx_runtime58 = require("react/jsx-runtime");
1549
- var Divider = import_react31.default.forwardRef((props, ref) => {
1206
+ var import_jsx_runtime55 = require("react/jsx-runtime");
1207
+ var Divider = import_react26.default.forwardRef((props, ref) => {
1550
1208
  const { ...restProps } = props;
1551
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_divider.Divider, { ref, ...restProps });
1209
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_divider.Divider, { ref, ...restProps });
1552
1210
  });
1553
1211
  Divider.displayName = "TeachInUI.Divider";
1554
1212
 
1555
1213
  // src/ui/layout/scroll-shadow/scroll-shadow.tsx
1556
- var import_react32 = __toESM(require("react"));
1214
+ var import_react27 = __toESM(require("react"));
1557
1215
  var import_scroll_shadow = require("@heroui/scroll-shadow");
1558
- var import_jsx_runtime59 = require("react/jsx-runtime");
1559
- var ScrollShadow = import_react32.default.forwardRef((props, ref) => {
1560
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1216
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1217
+ var ScrollShadow = import_react27.default.forwardRef((props, ref) => {
1218
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1561
1219
  });
1562
1220
  ScrollShadow.displayName = "TeachInUI.ScrollShadow";
1563
1221
 
@@ -1568,18 +1226,18 @@ var AccordionItem = Object.assign(import_accordion.AccordionItem, { displayName:
1568
1226
 
1569
1227
  // src/ui/navigation/link/link.tsx
1570
1228
  var import_link = require("@heroui/link");
1571
- var import_jsx_runtime60 = require("react/jsx-runtime");
1229
+ var import_jsx_runtime57 = require("react/jsx-runtime");
1572
1230
  function Link({ children, ...props }) {
1573
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_link.Link, { ...props, children });
1231
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_link.Link, { ...props, children });
1574
1232
  }
1575
1233
  Link.displayName = "TeachInUI.Link";
1576
1234
 
1577
1235
  // src/ui/navigation/tabs/tabs.tsx
1578
- var import_react33 = __toESM(require("react"));
1236
+ var import_react28 = __toESM(require("react"));
1579
1237
  var import_tabs = require("@heroui/tabs");
1580
- var import_jsx_runtime61 = require("react/jsx-runtime");
1581
- var Root3 = import_react33.default.forwardRef(({ children, ...props }, ref) => {
1582
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_tabs.Tabs, { ref, ...props, children });
1238
+ var import_jsx_runtime58 = require("react/jsx-runtime");
1239
+ var Root3 = import_react28.default.forwardRef(({ children, ...props }, ref) => {
1240
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_tabs.Tabs, { ref, ...props, children });
1583
1241
  });
1584
1242
  Root3.displayName = "TeachInUI.Tabs.Root";
1585
1243
  var Tab = Object.assign(import_tabs.Tab, {
@@ -1591,35 +1249,35 @@ var Tabs = {
1591
1249
  };
1592
1250
 
1593
1251
  // src/ui/navigation/navbar/navbar.tsx
1594
- var import_react34 = __toESM(require("react"));
1252
+ var import_react29 = __toESM(require("react"));
1595
1253
  var import_navbar = require("@heroui/navbar");
1596
- var import_jsx_runtime62 = require("react/jsx-runtime");
1597
- var Navbar = import_react34.default.forwardRef((props, ref) => {
1598
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.Navbar, { ref, ...props });
1254
+ var import_jsx_runtime59 = require("react/jsx-runtime");
1255
+ var Navbar = import_react29.default.forwardRef((props, ref) => {
1256
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.Navbar, { ref, ...props });
1599
1257
  });
1600
1258
  Navbar.displayName = "TeachInUI.Navbar";
1601
- var NavbarBrand = import_react34.default.forwardRef((props, ref) => {
1602
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1259
+ var NavbarBrand = import_react29.default.forwardRef((props, ref) => {
1260
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1603
1261
  });
1604
1262
  NavbarBrand.displayName = "TeachInUI.NavbarBrand";
1605
- var NavbarContent = import_react34.default.forwardRef((props, ref) => {
1606
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarContent, { ref, ...props });
1263
+ var NavbarContent = import_react29.default.forwardRef((props, ref) => {
1264
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarContent, { ref, ...props });
1607
1265
  });
1608
1266
  NavbarContent.displayName = "TeachInUI.NavbarContent";
1609
- var NavbarItem = import_react34.default.forwardRef((props, ref) => {
1610
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarItem, { ref, ...props });
1267
+ var NavbarItem = import_react29.default.forwardRef((props, ref) => {
1268
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarItem, { ref, ...props });
1611
1269
  });
1612
1270
  NavbarItem.displayName = "TeachInUI.NavbarItem";
1613
- var NavbarMenu = import_react34.default.forwardRef((props, ref) => {
1614
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1271
+ var NavbarMenu = import_react29.default.forwardRef((props, ref) => {
1272
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1615
1273
  });
1616
1274
  NavbarMenu.displayName = "TeachInUI.NavbarMenu";
1617
- var NavbarMenuItem = import_react34.default.forwardRef((props, ref) => {
1618
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1275
+ var NavbarMenuItem = import_react29.default.forwardRef((props, ref) => {
1276
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1619
1277
  });
1620
1278
  NavbarMenuItem.displayName = "TeachInUI.NavbarMenuItem";
1621
- var NavbarMenuToggle = import_react34.default.forwardRef((props, ref) => {
1622
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1279
+ var NavbarMenuToggle = import_react29.default.forwardRef((props, ref) => {
1280
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1623
1281
  });
1624
1282
  NavbarMenuToggle.displayName = "TeachInUI.NavbarMenuToggle";
1625
1283
 
@@ -1632,30 +1290,30 @@ var BreadcrumbItem2 = Object.assign(import_breadcrumbs3.BreadcrumbItem, {
1632
1290
 
1633
1291
  // src/ui/overlays/modal/modal.tsx
1634
1292
  var import_modal = require("@heroui/modal");
1635
- var import_jsx_runtime63 = require("react/jsx-runtime");
1293
+ var import_jsx_runtime60 = require("react/jsx-runtime");
1636
1294
  function Root4({
1637
1295
  size = "md",
1638
1296
  placement = "center",
1639
1297
  children,
1640
1298
  ...props
1641
1299
  }) {
1642
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.Modal, { placement, size, ...props, children });
1300
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.Modal, { placement, size, ...props, children });
1643
1301
  }
1644
1302
  Root4.displayName = "TeachInUI.Modal.Root";
1645
1303
  function Content({ children, ...props }) {
1646
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
1304
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
1647
1305
  }
1648
1306
  Content.displayName = "TeachInUI.Modal.Content";
1649
1307
  function Header3({ children, ...props }) {
1650
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalHeader, { ...props, children });
1308
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.ModalHeader, { ...props, children });
1651
1309
  }
1652
1310
  Header3.displayName = "TeachInUI.Modal.Header";
1653
1311
  function Body3({ children, ...props }) {
1654
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalBody, { ...props, children });
1312
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.ModalBody, { ...props, children });
1655
1313
  }
1656
1314
  Body3.displayName = "TeachInUI.Modal.Body";
1657
1315
  function Footer2({ children, ...props }) {
1658
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalFooter, { ...props, children });
1316
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.ModalFooter, { ...props, children });
1659
1317
  }
1660
1318
  Footer2.displayName = "TeachInUI.Modal.Footer";
1661
1319
  var Modal = {
@@ -1680,17 +1338,17 @@ var DropdownSection = Object.assign(import_dropdown.DropdownSection, {
1680
1338
 
1681
1339
  // src/ui/overlays/popover/popover.tsx
1682
1340
  var import_popover = require("@heroui/popover");
1683
- var import_jsx_runtime64 = require("react/jsx-runtime");
1341
+ var import_jsx_runtime61 = require("react/jsx-runtime");
1684
1342
  var Root5 = ({ children, ...props }) => {
1685
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.Popover, { ...props, children });
1343
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_popover.Popover, { ...props, children });
1686
1344
  };
1687
1345
  Root5.displayName = "TeachInUI.Popover.Root";
1688
1346
  var Trigger = ({ children, ...props }) => {
1689
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.PopoverTrigger, { ...props, children });
1347
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_popover.PopoverTrigger, { ...props, children });
1690
1348
  };
1691
1349
  Trigger.displayName = "TeachInUI.Popover.Trigger";
1692
1350
  var Content2 = ({ children, ...props }) => {
1693
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.PopoverContent, { ...props, children });
1351
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_popover.PopoverContent, { ...props, children });
1694
1352
  };
1695
1353
  Content2.displayName = "TeachInUI.Popover.Content";
1696
1354
  var Popover = {
@@ -1701,7 +1359,7 @@ var Popover = {
1701
1359
 
1702
1360
  // src/ui/provider/ui-provider.tsx
1703
1361
  var import_system3 = require("@heroui/system");
1704
- var import_jsx_runtime65 = require("react/jsx-runtime");
1362
+ var import_jsx_runtime62 = require("react/jsx-runtime");
1705
1363
  function UIProvider({
1706
1364
  children,
1707
1365
  locale = "ru-RU",
@@ -1709,9 +1367,9 @@ function UIProvider({
1709
1367
  navigate,
1710
1368
  toastProviderProps
1711
1369
  }) {
1712
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1370
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1713
1371
  children,
1714
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ToastProvider, { ...toastProviderProps })
1372
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ToastProvider, { ...toastProviderProps })
1715
1373
  ] });
1716
1374
  }
1717
1375
 
@@ -2111,7 +1769,6 @@ var theme = (0, import_theme.heroui)({
2111
1769
  CheckboxGroup,
2112
1770
  Chip,
2113
1771
  CircularProgress,
2114
- ClearButton,
2115
1772
  Container,
2116
1773
  DatePicker,
2117
1774
  DatePickerField,
@@ -2160,8 +1817,6 @@ var theme = (0, import_theme.heroui)({
2160
1817
  RadioGroup,
2161
1818
  Root,
2162
1819
  ScrollShadow,
2163
- Search,
2164
- SearchField,
2165
1820
  Section,
2166
1821
  SectionActions,
2167
1822
  SectionHeader,