@teach-in/react 1.4.0 → 1.6.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 (109) hide show
  1. package/dist/{chunk-2UHA3DYG.mjs → chunk-6BWSC6ZH.mjs} +3 -10
  2. package/dist/chunk-7WIZONLU.mjs +81 -0
  3. package/dist/chunk-ALGSVEUS.mjs +1 -0
  4. package/dist/chunk-BHOCYKBI.mjs +81 -0
  5. package/dist/{chunk-VXYV37IM.mjs → chunk-C5FQB2UN.mjs} +16 -8
  6. package/dist/{chunk-CKJ5U5Q4.mjs → chunk-DEKPRZIQ.mjs} +1 -1
  7. package/dist/chunk-GEPCSZCU.mjs +71 -0
  8. package/dist/chunk-GTE5VEBV.mjs +68 -0
  9. package/dist/{chunk-UFYLYN5Z.mjs → chunk-QFWSQOF6.mjs} +20 -2
  10. package/dist/chunk-VDPROXMN.mjs +57 -0
  11. package/dist/{chunk-J3OZNLTZ.mjs → chunk-WG4IPOHE.mjs} +5 -5
  12. package/dist/{chunk-R46SWVWL.mjs → chunk-ZK6VZMUJ.mjs} +1 -1
  13. package/dist/index.js +536 -253
  14. package/dist/index.mjs +140 -132
  15. package/dist/ui/data/index.js +56 -7
  16. package/dist/ui/data/index.mjs +12 -10
  17. package/dist/ui/data/user/index.js +51 -2
  18. package/dist/ui/data/user/index.mjs +3 -1
  19. package/dist/ui/data/user/user.d.ts +24 -2
  20. package/dist/ui/data/user/user.js +52 -2
  21. package/dist/ui/data/user/user.mjs +4 -1
  22. package/dist/ui/feedback/index.mjs +7 -7
  23. package/dist/ui/form/index.js +76 -18
  24. package/dist/ui/form/index.mjs +25 -20
  25. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +20 -15
  26. package/dist/ui/form/rhf/fields/checkbox-field.mjs +20 -15
  27. package/dist/ui/form/rhf/fields/date-picker-field.mjs +20 -15
  28. package/dist/ui/form/rhf/fields/email-field.js +58 -3
  29. package/dist/ui/form/rhf/fields/email-field.mjs +21 -16
  30. package/dist/ui/form/rhf/fields/index.js +76 -18
  31. package/dist/ui/form/rhf/fields/index.mjs +22 -17
  32. package/dist/ui/form/rhf/fields/input-field.mjs +20 -15
  33. package/dist/ui/form/rhf/fields/radio-field.mjs +20 -15
  34. package/dist/ui/form/rhf/fields/search-field.mjs +20 -15
  35. package/dist/ui/form/rhf/fields/select-field.js +18 -15
  36. package/dist/ui/form/rhf/fields/select-field.mjs +21 -16
  37. package/dist/ui/form/rhf/fields/switch-field.mjs +20 -15
  38. package/dist/ui/form/rhf/fields/text-field.mjs +20 -15
  39. package/dist/ui/form/rhf/fields/textarea-field.mjs +20 -15
  40. package/dist/ui/form/rhf/index.js +76 -18
  41. package/dist/ui/form/rhf/index.mjs +22 -17
  42. package/dist/ui/format/index.mjs +12 -12
  43. package/dist/ui/index.js +536 -253
  44. package/dist/ui/index.mjs +140 -132
  45. package/dist/ui/inputs/checkbox/index.mjs +3 -3
  46. package/dist/ui/inputs/email/email.js +58 -3
  47. package/dist/ui/inputs/email/email.mjs +1 -1
  48. package/dist/ui/inputs/email/index.js +58 -3
  49. package/dist/ui/inputs/email/index.mjs +1 -1
  50. package/dist/ui/inputs/index.d.ts +1 -0
  51. package/dist/ui/inputs/index.js +305 -69
  52. package/dist/ui/inputs/index.mjs +35 -25
  53. package/dist/ui/inputs/number/index.d.ts +1 -0
  54. package/dist/ui/inputs/number/index.js +218 -0
  55. package/dist/ui/inputs/number/index.mjs +12 -0
  56. package/dist/ui/inputs/number/number.d.ts +12 -0
  57. package/dist/ui/inputs/number/number.js +219 -0
  58. package/dist/ui/inputs/number/number.mjs +13 -0
  59. package/dist/ui/inputs/number/use-number.d.ts +20 -0
  60. package/dist/ui/inputs/number/use-number.js +104 -0
  61. package/dist/ui/inputs/number/use-number.mjs +7 -0
  62. package/dist/ui/inputs/select/index.d.ts +1 -1
  63. package/dist/ui/inputs/select/index.js +23 -17
  64. package/dist/ui/inputs/select/index.mjs +8 -4
  65. package/dist/ui/inputs/select/select.d.ts +11 -22
  66. package/dist/ui/inputs/select/select.js +23 -17
  67. package/dist/ui/inputs/select/select.mjs +8 -4
  68. package/dist/ui/inputs/select/use-select.d.ts +0 -1
  69. package/dist/ui/inputs/select/use-select.js +2 -9
  70. package/dist/ui/inputs/select/use-select.mjs +1 -1
  71. package/dist/ui/inputs/switch/favorite-switch.d.ts +23 -2
  72. package/dist/ui/inputs/switch/favorite-switch.js +34 -4
  73. package/dist/ui/inputs/switch/favorite-switch.mjs +1 -1
  74. package/dist/ui/inputs/switch/index.js +34 -4
  75. package/dist/ui/inputs/switch/index.mjs +1 -1
  76. package/dist/ui/layout/container/container.mjs +67 -64
  77. package/dist/ui/layout/container/index.mjs +67 -64
  78. package/dist/ui/layout/index.js +7 -7
  79. package/dist/ui/layout/index.mjs +71 -68
  80. package/dist/ui/layout/page/index.mjs +4 -4
  81. package/dist/ui/layout/page/page-loading.mjs +4 -4
  82. package/dist/ui/layout/page/section-loading.mjs +4 -4
  83. package/dist/ui/navigation/index.mjs +5 -5
  84. package/dist/ui/overlays/index.mjs +4 -4
  85. package/dist/ui/provider/index.mjs +4 -4
  86. package/dist/ui/provider/ui-provider.mjs +4 -4
  87. package/dist/ui/surface/bento/bento.d.ts +2 -2
  88. package/dist/ui/surface/bento/bento.js +5 -5
  89. package/dist/ui/surface/bento/bento.mjs +1 -1
  90. package/dist/ui/surface/bento/index.js +5 -5
  91. package/dist/ui/surface/bento/index.mjs +1 -1
  92. package/dist/ui/surface/card/card.d.ts +2427 -5
  93. package/dist/ui/surface/card/card.js +29 -2
  94. package/dist/ui/surface/card/card.mjs +5 -1
  95. package/dist/ui/surface/card/index.js +29 -2
  96. package/dist/ui/surface/card/index.mjs +5 -1
  97. package/dist/ui/surface/index.js +34 -7
  98. package/dist/ui/surface/index.mjs +9 -5
  99. package/dist/ui/theme/colors/index.mjs +1 -1
  100. package/dist/ui/theme/colors.mjs +1 -1
  101. package/dist/ui/theme/index.mjs +1 -1
  102. package/dist/ui/theme/theme.d.ts +2 -1
  103. package/dist/ui/theme/theme.mjs +1 -1
  104. package/package.json +13 -9
  105. package/LICENSE +0 -21
  106. package/dist/chunk-46SKVFMZ.mjs +0 -16
  107. package/dist/chunk-E5QSNLSR.mjs +0 -38
  108. package/dist/chunk-XHCXM5MU.mjs +0 -14
  109. /package/dist/{chunk-UQAG7TKJ.mjs → chunk-37MCHF7U.mjs} +0 -0
package/dist/ui/index.js CHANGED
@@ -64,19 +64,19 @@ __export(ui_exports, {
64
64
  FavoriteSwitch: () => FavoriteSwitch,
65
65
  Flex: () => Flex,
66
66
  Form: () => Form,
67
- FormatBoolean: () => Boolean,
67
+ FormatBoolean: () => Boolean2,
68
68
  FormatCurrency: () => Currency,
69
69
  FormatDate: () => DateFormat,
70
70
  FormatDatetime: () => Datetime,
71
71
  FormatDuration: () => Duration,
72
- FormatNumber: () => Number2,
72
+ FormatNumber: () => Number3,
73
73
  FormatPercent: () => Percent,
74
74
  FormatPlural: () => Plural,
75
75
  FormatTime: () => Time,
76
76
  FormatUUID: () => Uuid,
77
77
  Grid: () => Grid,
78
78
  Header: () => Header2,
79
- Image: () => Image,
79
+ Image: () => Image2,
80
80
  Input: () => Input,
81
81
  InputField: () => InputField,
82
82
  Link: () => Link,
@@ -88,6 +88,7 @@ __export(ui_exports, {
88
88
  NavbarMenu: () => NavbarMenu,
89
89
  NavbarMenuItem: () => NavbarMenuItem,
90
90
  NavbarMenuToggle: () => NavbarMenuToggle,
91
+ Number: () => Number2,
91
92
  PageContent: () => PageContent,
92
93
  PageLoading: () => PageLoading,
93
94
  Pagination: () => Pagination,
@@ -107,6 +108,7 @@ __export(ui_exports, {
107
108
  SectionTitle: () => SectionTitle,
108
109
  Select: () => Select,
109
110
  SelectField: () => SelectField,
111
+ SelectItem: () => SelectItem,
110
112
  Spinner: () => Spinner,
111
113
  Switch: () => Switch,
112
114
  SwitchField: () => SwitchField,
@@ -201,20 +203,69 @@ var getKeyValue = import_table.getKeyValue;
201
203
  // src/ui/data/user/user.tsx
202
204
  var import_react4 = __toESM(require("react"));
203
205
  var import_user = require("@heroui/user");
206
+ var import_image = require("@heroui/image");
207
+ var import_tailwind_variants = require("tailwind-variants");
208
+
209
+ // src/ui/style/css.ts
210
+ var import_clsx = require("clsx");
211
+ var import_tailwind_merge = require("tailwind-merge");
212
+ function cn(...inputs) {
213
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
214
+ }
215
+
216
+ // src/ui/data/user/user.tsx
204
217
  var import_jsx_runtime4 = require("react/jsx-runtime");
205
- var User = import_react4.default.forwardRef((props, ref) => {
206
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_user.User, { ref, ...props });
218
+ function getNameInitials(fullName) {
219
+ const normalizedFullName = fullName.trim();
220
+ const parts = normalizedFullName.split(" ").filter((part) => part.length > 0);
221
+ if (parts.length >= 2) {
222
+ return parts[0][0].toUpperCase() + parts[1][0].toUpperCase();
223
+ }
224
+ return normalizedFullName.slice(0, 2).toUpperCase();
225
+ }
226
+ var userVariants = (0, import_tailwind_variants.tv)({
227
+ base: "flex items-start gap-2 hyphens-auto",
228
+ variants: {
229
+ direction: {
230
+ row: "flex-row",
231
+ column: "flex-col items-center"
232
+ }
233
+ },
234
+ defaultVariants: {
235
+ direction: "row"
236
+ }
207
237
  });
238
+ var User = import_react4.default.forwardRef(
239
+ ({ name, avatarProps, className, direction = "row", ...props }, ref) => {
240
+ var _a, _b;
241
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
242
+ import_user.User,
243
+ {
244
+ ref,
245
+ avatarProps: {
246
+ ...avatarProps,
247
+ className: cn("shrink-0", avatarProps == null ? void 0 : avatarProps.className),
248
+ name: (_a = avatarProps == null ? void 0 : avatarProps.name) != null ? _a : getNameInitials(name),
249
+ ImgComponent: import_image.Image,
250
+ showFallback: (_b = avatarProps == null ? void 0 : avatarProps.showFallback) != null ? _b : true
251
+ },
252
+ className: userVariants({ direction, className }),
253
+ name,
254
+ ...props
255
+ }
256
+ );
257
+ }
258
+ );
208
259
  User.displayName = "TeachInUI.User";
209
260
 
210
261
  // src/ui/data/image/image.tsx
211
262
  var import_react5 = __toESM(require("react"));
212
- var import_image = require("@heroui/image");
263
+ var import_image2 = require("@heroui/image");
213
264
  var import_jsx_runtime5 = require("react/jsx-runtime");
214
- var Image = import_react5.default.forwardRef(({ ...props }, ref) => {
215
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_image.Image, { ref, ...props });
265
+ var Image2 = import_react5.default.forwardRef(({ ...props }, ref) => {
266
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_image2.Image, { ref, ...props });
216
267
  });
217
- Image.displayName = "TeachInUI.Image";
268
+ Image2.displayName = "TeachInUI.Image";
218
269
 
219
270
  // src/ui/feedback/alert/alert.tsx
220
271
  var import_react6 = __toESM(require("react"));
@@ -358,7 +409,7 @@ var import_react20 = __toESM(require("react"));
358
409
  // src/ui/inputs/input/input.tsx
359
410
  var import_react19 = __toESM(require("react"));
360
411
  var import_input = require("@heroui/input");
361
- var import_tailwind_variants = require("tailwind-variants");
412
+ var import_tailwind_variants2 = require("tailwind-variants");
362
413
 
363
414
  // src/ui/inputs/clear-button.tsx
364
415
  var import_react17 = __toESM(require("react"));
@@ -444,7 +495,7 @@ function useInput({
444
495
 
445
496
  // src/ui/inputs/input/input.tsx
446
497
  var import_jsx_runtime18 = require("react/jsx-runtime");
447
- var inputWrapperVariants = (0, import_tailwind_variants.tv)({
498
+ var inputWrapperVariants = (0, import_tailwind_variants2.tv)({
448
499
  variants: {
449
500
  variant: {
450
501
  flat: "",
@@ -503,21 +554,219 @@ Input.displayName = "TeachInUI.Input";
503
554
 
504
555
  // src/ui/inputs/email/email.tsx
505
556
  var import_jsx_runtime19 = require("react/jsx-runtime");
506
- var Email = import_react20.default.forwardRef(({ ...props }, ref) => {
507
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
508
- });
557
+ var EMAIL_REGEX = /^(?!\.)(?!.*\.\.)[A-Za-zА-Яа-яЁё0-9._+%-]+(?<!\.)@(?:(?:[A-Za-zА-Яа-яЁё0-9](?:[A-Za-zА-Яа-яЁё0-9-]*[A-Za-zА-Яа-яЁё0-9])?)\.)+[A-Za-zА-Яа-яЁё]{2,}$/u;
558
+ var DEFAULT_ERROR_MESSAGE = "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 email";
559
+ var defaultValidateEmail = (value) => {
560
+ if (!value) {
561
+ return;
562
+ }
563
+ return EMAIL_REGEX.test(value) ? true : DEFAULT_ERROR_MESSAGE;
564
+ };
565
+ function getValidationMessage(result) {
566
+ if (typeof result === "string") {
567
+ return result;
568
+ }
569
+ if (Array.isArray(result)) {
570
+ return result.join(" ");
571
+ }
572
+ return;
573
+ }
574
+ var Email = import_react20.default.forwardRef(
575
+ ({
576
+ defaultValue,
577
+ errorMessage,
578
+ isInvalid,
579
+ onValueChange,
580
+ validate = defaultValidateEmail,
581
+ value,
582
+ ...props
583
+ }, ref) => {
584
+ const [internalValue, setInternalValue] = import_react20.default.useState(defaultValue != null ? defaultValue : "");
585
+ const isControlled = value !== void 0;
586
+ const currentValue = isControlled ? value : internalValue;
587
+ const handleValueChange = import_react20.default.useCallback(
588
+ (nextValue) => {
589
+ if (!isControlled) {
590
+ setInternalValue(nextValue);
591
+ }
592
+ onValueChange == null ? void 0 : onValueChange(nextValue);
593
+ },
594
+ [isControlled, onValueChange]
595
+ );
596
+ const validationMessage = getValidationMessage(validate(currentValue != null ? currentValue : ""));
597
+ const resolvedErrorMessage = errorMessage != null ? errorMessage : validationMessage;
598
+ const resolvedIsInvalid = isInvalid != null ? isInvalid : Boolean(validationMessage);
599
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
600
+ Input,
601
+ {
602
+ ref,
603
+ autoComplete: "email",
604
+ errorMessage: resolvedErrorMessage,
605
+ isInvalid: resolvedIsInvalid,
606
+ type: "email",
607
+ validate,
608
+ value: currentValue,
609
+ onValueChange: handleValueChange,
610
+ ...props
611
+ }
612
+ );
613
+ }
614
+ );
509
615
  Email.displayName = "TeachInUI.Email";
510
616
 
511
- // src/ui/inputs/search/search.tsx
617
+ // src/ui/inputs/number/number.tsx
512
618
  var import_react22 = __toESM(require("react"));
619
+ var import_number_input = require("@heroui/number-input");
620
+ var import_tailwind_variants3 = require("tailwind-variants");
621
+
622
+ // src/ui/inputs/number/use-number.ts
623
+ var import_number = require("@internationalized/number");
624
+ var import_react21 = require("react");
625
+ function normalizeNumberValue(value) {
626
+ if (value == null || Number.isNaN(value)) {
627
+ return null;
628
+ }
629
+ return value;
630
+ }
631
+ function useNumber({
632
+ locale,
633
+ value,
634
+ onChange,
635
+ onValueChange,
636
+ onClear,
637
+ isReadOnly,
638
+ isClearable = true,
639
+ ref
640
+ }) {
641
+ const inputRef = (0, import_react21.useRef)(null);
642
+ const currentValue = normalizeNumberValue(value);
643
+ const hasValue = currentValue !== null;
644
+ const currentLocale = locale != null ? locale : Intl.NumberFormat().resolvedOptions().locale;
645
+ const numberParser = (0, import_react21.useMemo)(() => new import_number.NumberParser(currentLocale), [currentLocale]);
646
+ const emitValueChange = (0, import_react21.useCallback)(
647
+ (newValue) => {
648
+ onValueChange == null ? void 0 : onValueChange(newValue);
649
+ onChange == null ? void 0 : onChange(newValue);
650
+ },
651
+ [onChange, onValueChange]
652
+ );
653
+ const handleValueChange = (0, import_react21.useCallback)(
654
+ (incomingValue) => {
655
+ let newValue = null;
656
+ if (incomingValue === null) {
657
+ newValue = null;
658
+ } else if (typeof incomingValue === "number") {
659
+ newValue = Number.isNaN(incomingValue) ? null : incomingValue;
660
+ } else {
661
+ const rawValue = incomingValue.target.value;
662
+ newValue = rawValue === "" ? null : numberParser.parse(rawValue);
663
+ newValue = Number.isNaN(newValue) ? null : newValue;
664
+ }
665
+ emitValueChange(newValue);
666
+ },
667
+ [emitValueChange, numberParser]
668
+ );
669
+ const handleClear = (0, import_react21.useCallback)(() => {
670
+ var _a;
671
+ onClear == null ? void 0 : onClear();
672
+ emitValueChange(null);
673
+ (_a = inputRef.current) == null ? void 0 : _a.focus();
674
+ }, [emitValueChange, onClear]);
675
+ const mergedRef = (0, import_react21.useCallback)(
676
+ (node) => {
677
+ inputRef.current = node;
678
+ if (typeof ref === "function") {
679
+ ref(node);
680
+ } else if (ref) {
681
+ ref.current = node;
682
+ }
683
+ },
684
+ [ref]
685
+ );
686
+ const showClearButton = hasValue && !isReadOnly && isClearable;
687
+ return {
688
+ inputRef,
689
+ currentValue,
690
+ hasValue,
691
+ handleValueChange,
692
+ handleClear,
693
+ mergedRef,
694
+ showClearButton
695
+ };
696
+ }
697
+
698
+ // src/ui/inputs/number/number.tsx
699
+ var import_jsx_runtime20 = require("react/jsx-runtime");
700
+ var inputWrapperVariants2 = (0, import_tailwind_variants3.tv)({
701
+ variants: {
702
+ variant: {
703
+ flat: "",
704
+ underlined: "",
705
+ bordered: "border-1",
706
+ faded: "border-1"
707
+ }
708
+ }
709
+ });
710
+ var Number2 = import_react22.default.forwardRef(
711
+ ({
712
+ locale,
713
+ value,
714
+ onChange,
715
+ onValueChange,
716
+ onClear,
717
+ variant,
718
+ classNames,
719
+ endContent,
720
+ isReadOnly,
721
+ isClearable,
722
+ ...props
723
+ }, ref) => {
724
+ const { currentValue, handleValueChange, handleClear, mergedRef, showClearButton } = useNumber({
725
+ locale,
726
+ value,
727
+ onChange,
728
+ onValueChange,
729
+ onClear,
730
+ isReadOnly,
731
+ isClearable,
732
+ ref
733
+ });
734
+ const normalizedValue = currentValue === null ? globalThis.Number.NaN : currentValue;
735
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
736
+ import_number_input.NumberInput,
737
+ {
738
+ ref: mergedRef,
739
+ classNames: {
740
+ ...classNames,
741
+ inputWrapper: cn(inputWrapperVariants2({ variant }), classNames == null ? void 0 : classNames.inputWrapper),
742
+ innerWrapper: cn("group", classNames == null ? void 0 : classNames.innerWrapper)
743
+ },
744
+ endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-1", children: [
745
+ endContent,
746
+ showClearButton && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ClearButton, { onClear: handleClear })
747
+ ] }),
748
+ inputMode: "decimal",
749
+ isReadOnly,
750
+ value: normalizedValue,
751
+ variant,
752
+ onChange: handleValueChange,
753
+ ...props
754
+ }
755
+ );
756
+ }
757
+ );
758
+ Number2.displayName = "TeachInUI.Number";
759
+
760
+ // src/ui/inputs/search/search.tsx
761
+ var import_react24 = __toESM(require("react"));
513
762
  var import_lucide_react2 = require("lucide-react");
514
763
  var import_button4 = require("@heroui/button");
515
- var import_tailwind_variants2 = require("tailwind-variants");
764
+ var import_tailwind_variants4 = require("tailwind-variants");
516
765
 
517
766
  // src/ui/inputs/search/use-search.ts
518
- var import_react21 = require("react");
767
+ var import_react23 = require("react");
519
768
  function useSearch({ value, onSearch, onCancel, onKeyDown }) {
520
- const handleKeyDown = (0, import_react21.useCallback)(
769
+ const handleKeyDown = (0, import_react23.useCallback)(
521
770
  (event) => {
522
771
  if (event.key === "Enter") {
523
772
  event.preventDefault();
@@ -531,7 +780,7 @@ function useSearch({ value, onSearch, onCancel, onKeyDown }) {
531
780
  [onSearch, onCancel, onKeyDown]
532
781
  );
533
782
  const hasValue = value !== void 0 && String(value).length > 0;
534
- const handleSearchClick = (0, import_react21.useCallback)(() => {
783
+ const handleSearchClick = (0, import_react23.useCallback)(() => {
535
784
  if (hasValue) {
536
785
  onSearch == null ? void 0 : onSearch(value);
537
786
  }
@@ -544,8 +793,8 @@ function useSearch({ value, onSearch, onCancel, onKeyDown }) {
544
793
  }
545
794
 
546
795
  // src/ui/inputs/search/search.tsx
547
- var import_jsx_runtime20 = require("react/jsx-runtime");
548
- var searchIconVariants = (0, import_tailwind_variants2.tv)({
796
+ var import_jsx_runtime21 = require("react/jsx-runtime");
797
+ var searchIconVariants = (0, import_tailwind_variants4.tv)({
549
798
  base: "size-5 shrink-0",
550
799
  variants: {
551
800
  variant: {
@@ -556,7 +805,7 @@ var searchIconVariants = (0, import_tailwind_variants2.tv)({
556
805
  }
557
806
  }
558
807
  });
559
- var Search = import_react22.default.forwardRef(
808
+ var Search = import_react24.default.forwardRef(
560
809
  ({ variant = "bordered", radius = "full", value, onSearch, onCancel, onKeyDown, ...props }, ref) => {
561
810
  const { handleKeyDown, handleSearchClick, hasValue } = useSearch({
562
811
  value,
@@ -564,12 +813,12 @@ var Search = import_react22.default.forwardRef(
564
813
  onCancel,
565
814
  onKeyDown
566
815
  });
567
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
816
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
568
817
  Input,
569
818
  {
570
819
  ref,
571
820
  radius,
572
- startContent: onSearch ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
821
+ startContent: onSearch ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
573
822
  import_button4.Button,
574
823
  {
575
824
  isIconOnly: true,
@@ -579,9 +828,9 @@ var Search = import_react22.default.forwardRef(
579
828
  size: "sm",
580
829
  variant: "light",
581
830
  onPress: handleSearchClick,
582
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) })
831
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) })
583
832
  }
584
- ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) }),
833
+ ) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) }),
585
834
  value,
586
835
  variant,
587
836
  onKeyDown: handleKeyDown,
@@ -593,12 +842,12 @@ var Search = import_react22.default.forwardRef(
593
842
  Search.displayName = "TeachInUI.Search";
594
843
 
595
844
  // src/ui/inputs/select/select.tsx
596
- var import_react24 = __toESM(require("react"));
845
+ var import_react26 = __toESM(require("react"));
597
846
  var import_select = require("@heroui/select");
598
- var import_tailwind_variants3 = require("tailwind-variants");
847
+ var import_tailwind_variants5 = require("tailwind-variants");
599
848
 
600
849
  // src/ui/inputs/select/use-select.ts
601
- var import_react23 = require("react");
850
+ var import_react25 = require("react");
602
851
  function useSelect({
603
852
  value,
604
853
  onChange,
@@ -607,34 +856,27 @@ function useSelect({
607
856
  isClearable = true
608
857
  }) {
609
858
  const isMultiple = selectionMode === "multiple";
610
- const [internalValue, setInternalValue] = (0, import_react23.useState)(
611
- isMultiple ? [] : null
612
- );
613
- const isControlled = value !== void 0;
614
- const currentValue = isControlled ? value : internalValue;
859
+ const currentValue = value != null ? value : isMultiple ? [] : null;
615
860
  const hasValue = currentValue != null && (Array.isArray(currentValue) ? currentValue.length > 0 : currentValue !== "");
616
- const handleChange = (0, import_react23.useCallback)(
861
+ const handleChange = (0, import_react25.useCallback)(
617
862
  (newValue) => {
618
- if (!isControlled) {
619
- setInternalValue(newValue);
620
- }
621
863
  if (isMultiple) {
622
864
  onChange == null ? void 0 : onChange(newValue);
623
865
  } else {
624
866
  onChange == null ? void 0 : onChange(newValue);
625
867
  }
626
868
  },
627
- [isControlled, onChange, isMultiple]
869
+ [onChange, isMultiple]
628
870
  );
629
- const handleClear = (0, import_react23.useCallback)(() => {
871
+ const handleClear = (0, import_react25.useCallback)(() => {
630
872
  onClear == null ? void 0 : onClear();
631
873
  handleChange(isMultiple ? [] : null);
632
874
  }, [onClear, handleChange, isMultiple]);
633
- const selectedKeys = (0, import_react23.useMemo)(() => {
875
+ const selectedKeys = (0, import_react25.useMemo)(() => {
634
876
  if (currentValue == null) return /* @__PURE__ */ new Set();
635
877
  return new Set(Array.isArray(currentValue) ? currentValue : [currentValue]);
636
878
  }, [currentValue]);
637
- const handleSelectionChange = (0, import_react23.useCallback)(
879
+ const handleSelectionChange = (0, import_react25.useCallback)(
638
880
  (keys) => {
639
881
  var _a;
640
882
  if (keys === "all") return;
@@ -655,8 +897,8 @@ function useSelect({
655
897
  }
656
898
 
657
899
  // src/ui/inputs/select/select.tsx
658
- var import_jsx_runtime21 = require("react/jsx-runtime");
659
- var selectWrapperVariants = (0, import_tailwind_variants3.tv)({
900
+ var import_jsx_runtime22 = require("react/jsx-runtime");
901
+ var selectWrapperVariants = (0, import_tailwind_variants5.tv)({
660
902
  variants: {
661
903
  variant: {
662
904
  flat: "",
@@ -666,12 +908,14 @@ var selectWrapperVariants = (0, import_tailwind_variants3.tv)({
666
908
  }
667
909
  }
668
910
  });
669
- var Select = import_react24.default.forwardRef(
911
+ var Select = import_react26.default.forwardRef(
670
912
  ({
671
913
  value,
672
- defaultSelectedKeys,
673
914
  items,
915
+ children,
916
+ selectedKeys: selectedKeysProp,
674
917
  onChange,
918
+ onSelectionChange,
675
919
  selectionMode,
676
920
  onClear,
677
921
  variant,
@@ -680,6 +924,8 @@ var Select = import_react24.default.forwardRef(
680
924
  isClearable,
681
925
  ...props
682
926
  }, ref) => {
927
+ const usesExternalSelectionControl = selectedKeysProp !== void 0 || onSelectionChange !== void 0;
928
+ const selectChildren = children != null ? children : (item) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_select.SelectItem, { children: item.label }, item.key);
683
929
  const { selectedKeys, handleSelectionChange, handleClear, showClearButton } = useSelect({
684
930
  value,
685
931
  onChange,
@@ -687,70 +933,100 @@ var Select = import_react24.default.forwardRef(
687
933
  selectionMode,
688
934
  isClearable
689
935
  });
690
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
936
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
691
937
  import_select.Select,
692
938
  {
693
939
  ref,
694
940
  classNames: {
695
941
  ...classNames,
696
- trigger: selectWrapperVariants({ variant }),
942
+ trigger: cn(selectWrapperVariants({ variant }), classNames == null ? void 0 : classNames.trigger),
697
943
  innerWrapper: "group"
698
944
  },
699
- defaultSelectedKeys,
700
- endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
945
+ endContent: (endContent || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
701
946
  endContent,
702
- showClearButton && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ClearButton, { onClear: handleClear })
947
+ showClearButton && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ClearButton, { onClear: handleClear })
703
948
  ] }),
704
949
  items,
705
- selectedKeys,
950
+ selectedKeys: usesExternalSelectionControl ? selectedKeysProp : selectedKeys,
706
951
  selectionMode,
707
952
  variant,
708
- onSelectionChange: handleSelectionChange,
953
+ onSelectionChange: usesExternalSelectionControl ? onSelectionChange : handleSelectionChange,
709
954
  ...props,
710
- children: (item) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_select.SelectItem, { children: item.label }, item.key)
955
+ children: selectChildren
711
956
  }
712
957
  );
713
958
  }
714
959
  );
715
960
  Select.displayName = "TeachInUI.Select";
961
+ var SelectItem = import_select.SelectItem;
716
962
 
717
963
  // src/ui/inputs/switch/switch.tsx
718
- var import_react25 = __toESM(require("react"));
964
+ var import_react27 = __toESM(require("react"));
719
965
  var import_switch = require("@heroui/switch");
720
- var import_jsx_runtime22 = require("react/jsx-runtime");
721
- var Switch = import_react25.default.forwardRef(({ ...props }, ref) => {
722
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_switch.Switch, { ref, ...props });
966
+ var import_jsx_runtime23 = require("react/jsx-runtime");
967
+ var Switch = import_react27.default.forwardRef(({ ...props }, ref) => {
968
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_switch.Switch, { ref, ...props });
723
969
  });
724
970
  Switch.displayName = "TeachInUI.Switch";
725
971
 
726
972
  // src/ui/inputs/switch/favorite-switch.tsx
727
973
  var import_switch2 = require("@heroui/switch");
728
974
  var import_lucide_react3 = require("lucide-react");
729
- var import_tailwind_variants4 = require("tailwind-variants");
730
- var import_jsx_runtime23 = require("react/jsx-runtime");
731
- var bookmarkVariants = (0, import_tailwind_variants4.tv)({
732
- base: "size-6 stroke-default-400 group-hover:fill-primary-100 group-hover:stroke-default-400",
975
+ var import_tailwind_variants6 = require("tailwind-variants");
976
+ var import_jsx_runtime24 = require("react/jsx-runtime");
977
+ var bookmarkVariants = (0, import_tailwind_variants6.tv)({
978
+ base: "stroke-default-400 group-hover:fill-primary-100 group-hover:stroke-default-400",
733
979
  variants: {
980
+ size: {
981
+ sm: "size-6",
982
+ md: "size-8",
983
+ lg: "size-10"
984
+ },
734
985
  isSelected: {
735
986
  true: "stroke-primary fill-primary-100"
736
987
  }
988
+ },
989
+ defaultVariants: {
990
+ size: "md"
737
991
  }
738
992
  });
739
- function FavoriteSwitch({ isSelected, onValueChange }) {
993
+ var wrapperVariants = (0, import_tailwind_variants6.tv)({
994
+ base: "flex cursor-pointer items-center justify-center rounded-sm bg-transparent!",
995
+ variants: {
996
+ size: {
997
+ sm: "h-8 w-8",
998
+ md: "h-10 w-10",
999
+ lg: "h-12 w-12"
1000
+ }
1001
+ },
1002
+ defaultVariants: {
1003
+ size: "md"
1004
+ }
1005
+ });
1006
+ function FavoriteSwitch({ isSelected, onValueChange, size }) {
740
1007
  const { Component, slots, getBaseProps, getInputProps, getWrapperProps } = (0, import_switch2.useSwitch)({
741
1008
  isSelected,
742
1009
  onValueChange
743
1010
  });
744
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Component, { ...getBaseProps(), children: [
745
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "sr-only", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("input", { ...getInputProps() }) }),
746
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1011
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Component, { ...getBaseProps(), children: [
1012
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "sr-only", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("input", { ...getInputProps() }) }),
1013
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
747
1014
  "div",
748
1015
  {
749
1016
  ...getWrapperProps(),
750
1017
  className: slots.wrapper({
751
- class: "flex h-8 w-8 cursor-pointer items-center justify-center rounded-sm !bg-transparent"
1018
+ class: wrapperVariants({ size })
752
1019
  }),
753
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react3.Bookmark, { className: bookmarkVariants({ isSelected }) })
1020
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1021
+ import_lucide_react3.BookmarkIcon,
1022
+ {
1023
+ absoluteStrokeWidth: true,
1024
+ className: bookmarkVariants({ isSelected, size }),
1025
+ strokeLinecap: "round",
1026
+ strokeLinejoin: "round",
1027
+ strokeWidth: 1.5
1028
+ }
1029
+ )
754
1030
  }
755
1031
  )
756
1032
  ] });
@@ -761,45 +1037,45 @@ var import_radio = require("@heroui/radio");
761
1037
  var Radio = Object.assign(import_radio.Radio, { displayName: "TeachInUI.Radio" });
762
1038
 
763
1039
  // src/ui/inputs/radio/radio-group.tsx
764
- var import_react26 = __toESM(require("react"));
1040
+ var import_react28 = __toESM(require("react"));
765
1041
  var import_radio2 = require("@heroui/radio");
766
- var import_jsx_runtime24 = require("react/jsx-runtime");
767
- var RadioGroup = import_react26.default.forwardRef(
1042
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1043
+ var RadioGroup = import_react28.default.forwardRef(
768
1044
  (props, ref) => {
769
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radio2.RadioGroup, { ref, ...props });
1045
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radio2.RadioGroup, { ref, ...props });
770
1046
  }
771
1047
  );
772
1048
  RadioGroup.displayName = "TeachInUI.RadioGroup";
773
1049
 
774
1050
  // src/ui/inputs/text/text.tsx
775
- var import_react27 = __toESM(require("react"));
776
- var import_jsx_runtime25 = require("react/jsx-runtime");
777
- var Text = import_react27.default.forwardRef(({ ...props }, ref) => {
778
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Input, { ref, type: "text", ...props });
1051
+ var import_react29 = __toESM(require("react"));
1052
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1053
+ var Text = import_react29.default.forwardRef(({ ...props }, ref) => {
1054
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Input, { ref, type: "text", ...props });
779
1055
  });
780
1056
  Text.displayName = "TeachInUI.Text";
781
1057
 
782
1058
  // src/ui/inputs/textarea/textarea.tsx
783
1059
  var import_input6 = require("@heroui/input");
784
- var import_react28 = __toESM(require("react"));
785
- var import_jsx_runtime26 = require("react/jsx-runtime");
786
- var Textarea = import_react28.default.forwardRef(
1060
+ var import_react30 = __toESM(require("react"));
1061
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1062
+ var Textarea = import_react30.default.forwardRef(
787
1063
  ({ minRows = 4, ...props }, ref) => {
788
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_input6.Textarea, { ref, minRows, ...props });
1064
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_input6.Textarea, { ref, minRows, ...props });
789
1065
  }
790
1066
  );
791
1067
  Textarea.displayName = "TeachInUI.Textarea";
792
1068
 
793
1069
  // src/ui/form/rhf/fields/input-field.tsx
794
- var import_jsx_runtime27 = require("react/jsx-runtime");
1070
+ var import_jsx_runtime28 = require("react/jsx-runtime");
795
1071
  function InputField({ name, ...props }) {
796
1072
  const { control } = (0, import_react_hook_form.useFormContext)();
797
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1073
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
798
1074
  import_react_hook_form.Controller,
799
1075
  {
800
1076
  control,
801
1077
  name,
802
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1078
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
803
1079
  Input,
804
1080
  {
805
1081
  ...props,
@@ -817,15 +1093,15 @@ InputField.displayName = "TeachInUI.InputField";
817
1093
 
818
1094
  // src/ui/form/rhf/fields/text-field.tsx
819
1095
  var import_react_hook_form2 = require("react-hook-form");
820
- var import_jsx_runtime28 = require("react/jsx-runtime");
1096
+ var import_jsx_runtime29 = require("react/jsx-runtime");
821
1097
  function TextField({ name, ...props }) {
822
1098
  const { control } = (0, import_react_hook_form2.useFormContext)();
823
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1099
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
824
1100
  import_react_hook_form2.Controller,
825
1101
  {
826
1102
  control,
827
1103
  name,
828
- 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 })
1104
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
829
1105
  }
830
1106
  );
831
1107
  }
@@ -833,15 +1109,15 @@ TextField.displayName = "TeachInUI.TextField";
833
1109
 
834
1110
  // src/ui/form/rhf/fields/email-field.tsx
835
1111
  var import_react_hook_form3 = require("react-hook-form");
836
- var import_jsx_runtime29 = require("react/jsx-runtime");
1112
+ var import_jsx_runtime30 = require("react/jsx-runtime");
837
1113
  function EmailField({ name, ...props }) {
838
1114
  const { control } = (0, import_react_hook_form3.useFormContext)();
839
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1115
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
840
1116
  import_react_hook_form3.Controller,
841
1117
  {
842
1118
  control,
843
1119
  name,
844
- 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 })
1120
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
845
1121
  }
846
1122
  );
847
1123
  }
@@ -849,15 +1125,15 @@ EmailField.displayName = "TeachInUI.EmailField";
849
1125
 
850
1126
  // src/ui/form/rhf/fields/search-field.tsx
851
1127
  var import_react_hook_form4 = require("react-hook-form");
852
- var import_jsx_runtime30 = require("react/jsx-runtime");
1128
+ var import_jsx_runtime31 = require("react/jsx-runtime");
853
1129
  function SearchField({ name, ...props }) {
854
1130
  const { control } = (0, import_react_hook_form4.useFormContext)();
855
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1131
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
856
1132
  import_react_hook_form4.Controller,
857
1133
  {
858
1134
  control,
859
1135
  name,
860
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1136
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
861
1137
  Search,
862
1138
  {
863
1139
  ...props,
@@ -875,15 +1151,15 @@ SearchField.displayName = "TeachInUI.SearchField";
875
1151
 
876
1152
  // src/ui/form/rhf/fields/textarea-field.tsx
877
1153
  var import_react_hook_form5 = require("react-hook-form");
878
- var import_jsx_runtime31 = require("react/jsx-runtime");
1154
+ var import_jsx_runtime32 = require("react/jsx-runtime");
879
1155
  function TextareaField({ name, ...props }) {
880
1156
  const { control } = (0, import_react_hook_form5.useFormContext)();
881
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1157
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
882
1158
  import_react_hook_form5.Controller,
883
1159
  {
884
1160
  control,
885
1161
  name,
886
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1162
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
887
1163
  Textarea,
888
1164
  {
889
1165
  ...props,
@@ -900,15 +1176,15 @@ TextareaField.displayName = "TeachInUI.TextareaField";
900
1176
 
901
1177
  // src/ui/form/rhf/fields/select-field.tsx
902
1178
  var import_react_hook_form6 = require("react-hook-form");
903
- var import_jsx_runtime32 = require("react/jsx-runtime");
1179
+ var import_jsx_runtime33 = require("react/jsx-runtime");
904
1180
  function SelectField({ name, selectionMode, ...props }) {
905
1181
  const { control } = (0, import_react_hook_form6.useFormContext)();
906
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1182
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
907
1183
  import_react_hook_form6.Controller,
908
1184
  {
909
1185
  control,
910
1186
  name,
911
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1187
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
912
1188
  Select,
913
1189
  {
914
1190
  selectionMode,
@@ -926,15 +1202,15 @@ SelectField.displayName = "TeachInUI.SelectField";
926
1202
 
927
1203
  // src/ui/form/rhf/fields/autocomplete-field.tsx
928
1204
  var import_react_hook_form7 = require("react-hook-form");
929
- var import_jsx_runtime33 = require("react/jsx-runtime");
1205
+ var import_jsx_runtime34 = require("react/jsx-runtime");
930
1206
  function AutocompleteField({ name, ...props }) {
931
1207
  const { control } = (0, import_react_hook_form7.useFormContext)();
932
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1208
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
933
1209
  import_react_hook_form7.Controller,
934
1210
  {
935
1211
  control,
936
1212
  name,
937
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1213
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
938
1214
  Autocomplete,
939
1215
  {
940
1216
  ...props,
@@ -951,15 +1227,15 @@ AutocompleteField.displayName = "TeachInUI.AutocompleteField";
951
1227
 
952
1228
  // src/ui/form/rhf/fields/date-picker-field.tsx
953
1229
  var import_react_hook_form8 = require("react-hook-form");
954
- var import_jsx_runtime34 = require("react/jsx-runtime");
1230
+ var import_jsx_runtime35 = require("react/jsx-runtime");
955
1231
  function DatePickerField({ name, ...props }) {
956
1232
  const { control } = (0, import_react_hook_form8.useFormContext)();
957
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1233
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
958
1234
  import_react_hook_form8.Controller,
959
1235
  {
960
1236
  control,
961
1237
  name,
962
- render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1238
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
963
1239
  DatePicker,
964
1240
  {
965
1241
  ...props,
@@ -976,17 +1252,17 @@ DatePickerField.displayName = "TeachInUI.DatePickerField";
976
1252
 
977
1253
  // src/ui/form/rhf/fields/checkbox-field.tsx
978
1254
  var import_react_hook_form9 = require("react-hook-form");
979
- var import_jsx_runtime35 = require("react/jsx-runtime");
1255
+ var import_jsx_runtime36 = require("react/jsx-runtime");
980
1256
  function CheckboxField({ name, ...props }) {
981
1257
  const { control } = (0, import_react_hook_form9.useFormContext)();
982
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1258
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
983
1259
  import_react_hook_form9.Controller,
984
1260
  {
985
1261
  control,
986
1262
  name,
987
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { children: [
988
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
989
- error && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-tiny text-danger", children: error.message })
1263
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
1264
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
1265
+ error && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-tiny text-danger", children: error.message })
990
1266
  ] })
991
1267
  }
992
1268
  );
@@ -995,17 +1271,17 @@ CheckboxField.displayName = "TeachInUI.CheckboxField";
995
1271
 
996
1272
  // src/ui/form/rhf/fields/switch-field.tsx
997
1273
  var import_react_hook_form10 = require("react-hook-form");
998
- var import_jsx_runtime36 = require("react/jsx-runtime");
1274
+ var import_jsx_runtime37 = require("react/jsx-runtime");
999
1275
  function SwitchField({ name, ...props }) {
1000
1276
  const { control } = (0, import_react_hook_form10.useFormContext)();
1001
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1277
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1002
1278
  import_react_hook_form10.Controller,
1003
1279
  {
1004
1280
  control,
1005
1281
  name,
1006
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
1007
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
1008
- error && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-tiny text-danger", children: error.message })
1282
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
1283
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
1284
+ error && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-tiny text-danger", children: error.message })
1009
1285
  ] })
1010
1286
  }
1011
1287
  );
@@ -1014,15 +1290,15 @@ SwitchField.displayName = "TeachInUI.SwitchField";
1014
1290
 
1015
1291
  // src/ui/form/rhf/fields/radio-field.tsx
1016
1292
  var import_react_hook_form11 = require("react-hook-form");
1017
- var import_jsx_runtime37 = require("react/jsx-runtime");
1293
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1018
1294
  function RadioField({ name, ...props }) {
1019
1295
  const { control } = (0, import_react_hook_form11.useFormContext)();
1020
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1296
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1021
1297
  import_react_hook_form11.Controller,
1022
1298
  {
1023
1299
  control,
1024
1300
  name,
1025
- render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1301
+ render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1026
1302
  RadioGroup,
1027
1303
  {
1028
1304
  ...props,
@@ -1041,15 +1317,15 @@ RadioField.displayName = "TeachInUI.RadioField";
1041
1317
 
1042
1318
  // src/ui/form/form.tsx
1043
1319
  var import_form = require("@heroui/form");
1044
- var import_react29 = __toESM(require("react"));
1045
- var import_jsx_runtime38 = require("react/jsx-runtime");
1046
- var Form = import_react29.default.forwardRef(({ ...props }, ref) => {
1047
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_form.Form, { ref, ...props });
1320
+ var import_react31 = __toESM(require("react"));
1321
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1322
+ var Form = import_react31.default.forwardRef(({ ...props }, ref) => {
1323
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_form.Form, { ref, ...props });
1048
1324
  });
1049
1325
  Form.displayName = "TeachInUI.Form";
1050
1326
 
1051
1327
  // src/ui/format/datetime.tsx
1052
- var import_jsx_runtime39 = require("react/jsx-runtime");
1328
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1053
1329
  var defaultFormat = {
1054
1330
  day: "numeric",
1055
1331
  month: "long",
@@ -1065,15 +1341,15 @@ function Datetime({
1065
1341
  fallback = "\u2014"
1066
1342
  }) {
1067
1343
  const formatter = new Intl.DateTimeFormat(locale, format);
1068
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: fallback });
1344
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
1069
1345
  const date = value instanceof Date ? value : new Date(value);
1070
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: fallback });
1071
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: formatter.format(date) });
1346
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
1347
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(date) });
1072
1348
  }
1073
1349
  Datetime.displayName = "TeachInUI.FormatDatetime";
1074
1350
 
1075
1351
  // src/ui/format/date.tsx
1076
- var import_jsx_runtime40 = require("react/jsx-runtime");
1352
+ var import_jsx_runtime41 = require("react/jsx-runtime");
1077
1353
  var defaultFormat2 = {
1078
1354
  day: "numeric",
1079
1355
  month: "long",
@@ -1086,15 +1362,15 @@ function DateFormat({
1086
1362
  fallback = "\u2014"
1087
1363
  }) {
1088
1364
  const formatter = new Intl.DateTimeFormat(locale, format);
1089
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
1365
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
1090
1366
  const date = value instanceof Date ? value : new Date(value);
1091
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
1092
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(date) });
1367
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
1368
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: formatter.format(date) });
1093
1369
  }
1094
1370
  DateFormat.displayName = "TeachInUI.FormatDate";
1095
1371
 
1096
1372
  // src/ui/format/time.tsx
1097
- var import_jsx_runtime41 = require("react/jsx-runtime");
1373
+ var import_jsx_runtime42 = require("react/jsx-runtime");
1098
1374
  var defaultFormat3 = {
1099
1375
  hour: "2-digit",
1100
1376
  minute: "2-digit"
@@ -1106,15 +1382,15 @@ function Time({
1106
1382
  fallback = "\u2014"
1107
1383
  }) {
1108
1384
  const formatter = new Intl.DateTimeFormat(locale, format);
1109
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
1385
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: fallback });
1110
1386
  const date = value instanceof Date ? value : new Date(value);
1111
- if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
1112
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: formatter.format(date) });
1387
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: fallback });
1388
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: formatter.format(date) });
1113
1389
  }
1114
1390
  Time.displayName = "TeachInUI.FormatTime";
1115
1391
 
1116
1392
  // src/ui/format/currency.tsx
1117
- var import_jsx_runtime42 = require("react/jsx-runtime");
1393
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1118
1394
  function Currency({
1119
1395
  amount,
1120
1396
  currency = "RUB",
@@ -1129,23 +1405,23 @@ function Currency({
1129
1405
  maximumFractionDigits: decimals
1130
1406
  }
1131
1407
  });
1132
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: formatter.format(amount) });
1408
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: formatter.format(amount) });
1133
1409
  }
1134
1410
  Currency.displayName = "TeachInUI.FormatCurrency";
1135
1411
 
1136
1412
  // src/ui/format/number.tsx
1137
- var import_jsx_runtime43 = require("react/jsx-runtime");
1138
- function Number2({ value, decimals, locale = "ru-RU" }) {
1413
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1414
+ function Number3({ value, decimals, locale = "ru-RU" }) {
1139
1415
  const formatter = new Intl.NumberFormat(locale, {
1140
1416
  minimumFractionDigits: decimals != null ? decimals : 0,
1141
1417
  maximumFractionDigits: decimals != null ? decimals : 2
1142
1418
  });
1143
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: formatter.format(value) });
1419
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: formatter.format(value) });
1144
1420
  }
1145
- Number2.displayName = "TeachInUI.FormatNumber";
1421
+ Number3.displayName = "TeachInUI.FormatNumber";
1146
1422
 
1147
1423
  // src/ui/format/percent.tsx
1148
- var import_jsx_runtime44 = require("react/jsx-runtime");
1424
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1149
1425
  function Percent({
1150
1426
  value,
1151
1427
  decimals = 1,
@@ -1158,12 +1434,12 @@ function Percent({
1158
1434
  maximumFractionDigits: decimals
1159
1435
  });
1160
1436
  const normalizedValue = unit === "percent" ? value / 100 : value;
1161
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: formatter.format(normalizedValue) });
1437
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: formatter.format(normalizedValue) });
1162
1438
  }
1163
1439
  Percent.displayName = "TeachInUI.FormatPercent";
1164
1440
 
1165
1441
  // src/ui/format/plural.tsx
1166
- var import_jsx_runtime45 = require("react/jsx-runtime");
1442
+ var import_jsx_runtime46 = require("react/jsx-runtime");
1167
1443
  function Plural({
1168
1444
  count,
1169
1445
  one,
@@ -1184,12 +1460,12 @@ function Plural({
1184
1460
  };
1185
1461
  const selectedForm = forms[rule];
1186
1462
  const result = showCount ? `${count} ${selectedForm}` : selectedForm;
1187
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: result });
1463
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_jsx_runtime46.Fragment, { children: result });
1188
1464
  }
1189
1465
  Plural.displayName = "TeachInUI.FormatPlural";
1190
1466
 
1191
1467
  // src/ui/format/duration.tsx
1192
- var import_jsx_runtime46 = require("react/jsx-runtime");
1468
+ var import_jsx_runtime47 = require("react/jsx-runtime");
1193
1469
  function Duration({
1194
1470
  minutes = 0,
1195
1471
  hours = 0,
@@ -1211,25 +1487,25 @@ function Duration({
1211
1487
  if (remainingMinutes > 0 || totalDays === 0 && totalHours === 0) {
1212
1488
  parts.push(compact ? `${remainingMinutes}\u043C` : `${remainingMinutes} \u043C\u0438\u043D`);
1213
1489
  }
1214
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_jsx_runtime46.Fragment, { children: parts.join(" ") });
1490
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: parts.join(" ") });
1215
1491
  }
1216
1492
  Duration.displayName = "TeachInUI.FormatDuration";
1217
1493
 
1218
1494
  // src/ui/format/boolean.tsx
1219
- var import_jsx_runtime47 = require("react/jsx-runtime");
1220
- function Boolean({
1495
+ var import_jsx_runtime48 = require("react/jsx-runtime");
1496
+ function Boolean2({
1221
1497
  value,
1222
1498
  trueLabel = "\u0414\u0430",
1223
1499
  falseLabel = "\u041D\u0435\u0442",
1224
1500
  nullLabel = "\u2014"
1225
1501
  }) {
1226
- if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: nullLabel });
1227
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: value ? trueLabel : falseLabel });
1502
+ if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: nullLabel });
1503
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: value ? trueLabel : falseLabel });
1228
1504
  }
1229
- Boolean.displayName = "TeachInUI.FormatBoolean";
1505
+ Boolean2.displayName = "TeachInUI.FormatBoolean";
1230
1506
 
1231
1507
  // src/ui/format/uuid.tsx
1232
- var import_jsx_runtime48 = require("react/jsx-runtime");
1508
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1233
1509
  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}$/;
1234
1510
  function normalizeUuid(value) {
1235
1511
  const trimmed = value.trim();
@@ -1252,24 +1528,24 @@ function Uuid({
1252
1528
  showVersion = false,
1253
1529
  invalidFallback = "\u2014"
1254
1530
  }) {
1255
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: invalidFallback });
1531
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx_runtime49.Fragment, { children: invalidFallback });
1256
1532
  const normalized = normalizeUuid(value);
1257
- if (!normalized) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: invalidFallback });
1533
+ if (!normalized) return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx_runtime49.Fragment, { children: invalidFallback });
1258
1534
  const formatted = letterCase === "upper" ? normalized.toUpperCase() : normalized;
1259
- if (!showVersion) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: formatted });
1535
+ if (!showVersion) return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx_runtime49.Fragment, { children: formatted });
1260
1536
  const version = detectUuidVersion(normalized);
1261
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: version !== null ? `${formatted} (v${version})` : formatted });
1537
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx_runtime49.Fragment, { children: version !== null ? `${formatted} (v${version})` : formatted });
1262
1538
  }
1263
1539
  Uuid.displayName = "TeachInUI.FormatUUID";
1264
1540
 
1265
1541
  // src/ui/surface/bento/bento.tsx
1266
- var import_tailwind_variants5 = require("tailwind-variants");
1267
- var import_jsx_runtime49 = require("react/jsx-runtime");
1268
- var bento = (0, import_tailwind_variants5.tv)({
1269
- base: "rounded-xl p-6 transition-colors",
1542
+ var import_tailwind_variants7 = require("tailwind-variants");
1543
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1544
+ var bento = (0, import_tailwind_variants7.tv)({
1545
+ base: "p-8 transition-colors",
1270
1546
  variants: {
1271
1547
  color: {
1272
- default: "bg-default-50 text-default-700",
1548
+ default: "bg-content1 text-foreground",
1273
1549
  primary: "bg-primary-50 text-primary-700",
1274
1550
  secondary: "bg-secondary-50 text-secondary-700",
1275
1551
  success: "bg-success-50 text-success-700",
@@ -1278,9 +1554,9 @@ var bento = (0, import_tailwind_variants5.tv)({
1278
1554
  },
1279
1555
  radius: {
1280
1556
  none: "rounded-none",
1281
- sm: "rounded-md",
1282
- md: "rounded-lg",
1283
- lg: "rounded-xl",
1557
+ sm: "rounded-lg",
1558
+ md: "rounded-2xl",
1559
+ lg: "rounded-3xl",
1284
1560
  full: "rounded-full"
1285
1561
  },
1286
1562
  shadow: {
@@ -1302,28 +1578,40 @@ var bento = (0, import_tailwind_variants5.tv)({
1302
1578
  }
1303
1579
  });
1304
1580
  var Bento = ({ className, ...props }) => {
1305
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: bento({ ...props, className }), ...props });
1581
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: bento({ ...props, className }), ...props });
1306
1582
  };
1307
1583
  Bento.displayName = "TeachInUI.Bento";
1308
1584
 
1309
1585
  // src/ui/surface/card/card.tsx
1310
- var import_react30 = __toESM(require("react"));
1586
+ var import_react32 = __toESM(require("react"));
1311
1587
  var import_card = require("@heroui/card");
1312
- var import_jsx_runtime50 = require("react/jsx-runtime");
1313
- var Root = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1314
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.Card, { ref, ...props, children });
1588
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1589
+ var CardBase = extendVariants2(import_card.Card, {
1590
+ variants: {
1591
+ radius: {
1592
+ sm: { base: "rounded-lg" },
1593
+ md: { base: "rounded-2xl" },
1594
+ lg: { base: "rounded-3xl" }
1595
+ }
1596
+ },
1597
+ defaultVariants: {
1598
+ shadow: "none"
1599
+ }
1600
+ });
1601
+ var Root = import_react32.default.forwardRef(({ children, className, ...props }, ref) => {
1602
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CardBase, { ref, className: cn("bg-default-100", className), ...props, children });
1315
1603
  });
1316
1604
  Root.displayName = "TeachInUI.Card.Root";
1317
- var Header = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1318
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardHeader, { ref, ...props, children });
1605
+ var Header = import_react32.default.forwardRef(({ children, ...props }, ref) => {
1606
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_card.CardHeader, { ref, ...props, children });
1319
1607
  });
1320
1608
  Header.displayName = "TeachInUI.Card.Header";
1321
- var Body = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1322
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardBody, { ref, ...props, children });
1609
+ var Body = import_react32.default.forwardRef(({ children, ...props }, ref) => {
1610
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_card.CardBody, { ref, ...props, children });
1323
1611
  });
1324
1612
  Body.displayName = "TeachInUI.Card.Body";
1325
- var Footer = import_react30.default.forwardRef(({ children, ...props }, ref) => {
1326
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardFooter, { ref, ...props, children });
1613
+ var Footer = import_react32.default.forwardRef(({ children, ...props }, ref) => {
1614
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_card.CardFooter, { ref, ...props, children });
1327
1615
  });
1328
1616
  Footer.displayName = "TeachInUI.Card.Footer";
1329
1617
  var Card = {
@@ -1335,9 +1623,9 @@ var Card = {
1335
1623
 
1336
1624
  // src/ui/layout/container/container.tsx
1337
1625
  var import_react_slot = require("@radix-ui/react-slot");
1338
- var import_tailwind_variants6 = require("tailwind-variants");
1339
- var import_jsx_runtime51 = require("react/jsx-runtime");
1340
- var variants = (0, import_tailwind_variants6.tv)({
1626
+ var import_tailwind_variants8 = require("tailwind-variants");
1627
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1628
+ var variants = (0, import_tailwind_variants8.tv)({
1341
1629
  base: "w-full mx-auto px-6",
1342
1630
  variants: {
1343
1631
  size: {
@@ -1356,58 +1644,58 @@ var variants = (0, import_tailwind_variants6.tv)({
1356
1644
  });
1357
1645
  var Container = ({ children, asChild = false, className, size, ...props }) => {
1358
1646
  const Comp = asChild ? import_react_slot.Slot : "div";
1359
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
1647
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
1360
1648
  };
1361
1649
  Container.displayName = "TeachInUI.Container";
1362
1650
 
1363
1651
  // src/ui/layout/page/breadcrumbs.tsx
1364
1652
  var import_breadcrumbs = require("@heroui/breadcrumbs");
1365
- var import_jsx_runtime52 = require("react/jsx-runtime");
1366
- 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)) });
1653
+ var import_jsx_runtime53 = require("react/jsx-runtime");
1654
+ var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
1367
1655
 
1368
1656
  // src/ui/layout/page/page-content.tsx
1369
- var import_jsx_runtime53 = require("react/jsx-runtime");
1657
+ var import_jsx_runtime54 = require("react/jsx-runtime");
1370
1658
  var Root2 = ({
1371
1659
  children,
1372
1660
  breadcrumbs = []
1373
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col gap-6", children: [
1374
- breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Breadcrumbs, { items: breadcrumbs }),
1661
+ }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-col gap-6", children: [
1662
+ breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Breadcrumbs, { items: breadcrumbs }),
1375
1663
  children
1376
1664
  ] });
1377
1665
  Root2.displayName = "TeachInUI.PageContent.Root";
1378
- var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
1666
+ var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
1379
1667
  Header2.displayName = "TeachInUI.PageContent.Header";
1380
1668
  var Title = ({
1381
1669
  children,
1382
1670
  ...others
1383
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
1671
+ }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
1384
1672
  Title.displayName = "TeachInUI.PageContent.Title";
1385
1673
  var Actions = ({
1386
1674
  children,
1387
1675
  ...others
1388
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1676
+ }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1389
1677
  Actions.displayName = "TeachInUI.PageContent.Actions";
1390
- var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex flex-col gap-6", children });
1678
+ var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex flex-col gap-6", children });
1391
1679
  Body2.displayName = "TeachInUI.PageContent.Body";
1392
1680
  var Section = ({
1393
1681
  children,
1394
1682
  ...others
1395
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
1683
+ }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
1396
1684
  Section.displayName = "TeachInUI.PageContent.Section";
1397
1685
  var SectionHeader = ({
1398
1686
  children,
1399
1687
  ...others
1400
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex items-center justify-between", ...others, children });
1688
+ }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex items-center justify-between", ...others, children });
1401
1689
  SectionHeader.displayName = "TeachInUI.PageContent.SectionHeader";
1402
1690
  var SectionTitle = ({
1403
1691
  children,
1404
1692
  ...others
1405
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
1693
+ }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
1406
1694
  SectionTitle.displayName = "TeachInUI.PageContent.SectionTitle";
1407
1695
  var SectionActions = ({
1408
1696
  children,
1409
1697
  ...others
1410
- }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1698
+ }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
1411
1699
  SectionActions.displayName = "TeachInUI.PageContent.SectionActions";
1412
1700
  var PageContent = {
1413
1701
  Root: Root2,
@@ -1422,19 +1710,19 @@ var PageContent = {
1422
1710
  };
1423
1711
 
1424
1712
  // src/ui/layout/page/page-loading.tsx
1425
- var import_jsx_runtime54 = require("react/jsx-runtime");
1426
- 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, {}) });
1713
+ var import_jsx_runtime55 = require("react/jsx-runtime");
1714
+ var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Spinner, {}) });
1427
1715
  PageLoading.displayName = "TeachInUI.PageLoading";
1428
1716
 
1429
1717
  // src/ui/layout/page/section-loading.tsx
1430
- var import_jsx_runtime55 = require("react/jsx-runtime");
1431
- 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, {}) });
1718
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1719
+ var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Spinner, {}) });
1432
1720
  SectionLoading.displayName = "TeachInUI.SectionLoading";
1433
1721
 
1434
1722
  // src/ui/layout/flex/flex.tsx
1435
- var import_tailwind_variants7 = require("tailwind-variants");
1436
- var import_jsx_runtime56 = require("react/jsx-runtime");
1437
- var variants2 = (0, import_tailwind_variants7.tv)({
1723
+ var import_tailwind_variants9 = require("tailwind-variants");
1724
+ var import_jsx_runtime57 = require("react/jsx-runtime");
1725
+ var variants2 = (0, import_tailwind_variants9.tv)({
1438
1726
  base: "flex",
1439
1727
  variants: {
1440
1728
  direction: {
@@ -1481,14 +1769,14 @@ var variants2 = (0, import_tailwind_variants7.tv)({
1481
1769
  }
1482
1770
  });
1483
1771
  var Flex = ({ className, ...props }) => {
1484
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: variants2({ ...props, className }), ...props });
1772
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: variants2({ ...props, className }), ...props });
1485
1773
  };
1486
1774
  Flex.displayName = "TeachInUI.Flex";
1487
1775
 
1488
1776
  // src/ui/layout/grid/grid.tsx
1489
- var import_tailwind_variants8 = require("tailwind-variants");
1490
- var import_jsx_runtime57 = require("react/jsx-runtime");
1491
- var variants3 = (0, import_tailwind_variants8.tv)({
1777
+ var import_tailwind_variants10 = require("tailwind-variants");
1778
+ var import_jsx_runtime58 = require("react/jsx-runtime");
1779
+ var variants3 = (0, import_tailwind_variants10.tv)({
1492
1780
  base: "grid",
1493
1781
  variants: {
1494
1782
  columns: {
@@ -1537,26 +1825,26 @@ var variants3 = (0, import_tailwind_variants8.tv)({
1537
1825
  }
1538
1826
  });
1539
1827
  var Grid = ({ className, ...props }) => {
1540
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: variants3({ ...props, className }), ...props });
1828
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: variants3({ ...props, className }), ...props });
1541
1829
  };
1542
1830
  Grid.displayName = "TeachInUI.Grid";
1543
1831
 
1544
1832
  // src/ui/layout/divider/divider.tsx
1545
- var import_react31 = __toESM(require("react"));
1833
+ var import_react33 = __toESM(require("react"));
1546
1834
  var import_divider = require("@heroui/divider");
1547
- var import_jsx_runtime58 = require("react/jsx-runtime");
1548
- var Divider = import_react31.default.forwardRef((props, ref) => {
1835
+ var import_jsx_runtime59 = require("react/jsx-runtime");
1836
+ var Divider = import_react33.default.forwardRef((props, ref) => {
1549
1837
  const { ...restProps } = props;
1550
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_divider.Divider, { ref, ...restProps });
1838
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_divider.Divider, { ref, ...restProps });
1551
1839
  });
1552
1840
  Divider.displayName = "TeachInUI.Divider";
1553
1841
 
1554
1842
  // src/ui/layout/scroll-shadow/scroll-shadow.tsx
1555
- var import_react32 = __toESM(require("react"));
1843
+ var import_react34 = __toESM(require("react"));
1556
1844
  var import_scroll_shadow = require("@heroui/scroll-shadow");
1557
- var import_jsx_runtime59 = require("react/jsx-runtime");
1558
- var ScrollShadow = import_react32.default.forwardRef((props, ref) => {
1559
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1845
+ var import_jsx_runtime60 = require("react/jsx-runtime");
1846
+ var ScrollShadow = import_react34.default.forwardRef((props, ref) => {
1847
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1560
1848
  });
1561
1849
  ScrollShadow.displayName = "TeachInUI.ScrollShadow";
1562
1850
 
@@ -1567,18 +1855,18 @@ var AccordionItem = Object.assign(import_accordion.AccordionItem, { displayName:
1567
1855
 
1568
1856
  // src/ui/navigation/link/link.tsx
1569
1857
  var import_link = require("@heroui/link");
1570
- var import_jsx_runtime60 = require("react/jsx-runtime");
1858
+ var import_jsx_runtime61 = require("react/jsx-runtime");
1571
1859
  function Link({ children, ...props }) {
1572
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_link.Link, { ...props, children });
1860
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_link.Link, { ...props, children });
1573
1861
  }
1574
1862
  Link.displayName = "TeachInUI.Link";
1575
1863
 
1576
1864
  // src/ui/navigation/tabs/tabs.tsx
1577
- var import_react33 = __toESM(require("react"));
1865
+ var import_react35 = __toESM(require("react"));
1578
1866
  var import_tabs = require("@heroui/tabs");
1579
- var import_jsx_runtime61 = require("react/jsx-runtime");
1580
- var Root3 = import_react33.default.forwardRef(({ children, ...props }, ref) => {
1581
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_tabs.Tabs, { ref, ...props, children });
1867
+ var import_jsx_runtime62 = require("react/jsx-runtime");
1868
+ var Root3 = import_react35.default.forwardRef(({ children, ...props }, ref) => {
1869
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_tabs.Tabs, { ref, ...props, children });
1582
1870
  });
1583
1871
  Root3.displayName = "TeachInUI.Tabs.Root";
1584
1872
  var Tab = Object.assign(import_tabs.Tab, {
@@ -1590,35 +1878,35 @@ var Tabs = {
1590
1878
  };
1591
1879
 
1592
1880
  // src/ui/navigation/navbar/navbar.tsx
1593
- var import_react34 = __toESM(require("react"));
1881
+ var import_react36 = __toESM(require("react"));
1594
1882
  var import_navbar = require("@heroui/navbar");
1595
- var import_jsx_runtime62 = require("react/jsx-runtime");
1596
- var Navbar = import_react34.default.forwardRef((props, ref) => {
1597
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.Navbar, { ref, ...props });
1883
+ var import_jsx_runtime63 = require("react/jsx-runtime");
1884
+ var Navbar = import_react36.default.forwardRef((props, ref) => {
1885
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_navbar.Navbar, { ref, ...props });
1598
1886
  });
1599
1887
  Navbar.displayName = "TeachInUI.Navbar";
1600
- var NavbarBrand = import_react34.default.forwardRef((props, ref) => {
1601
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1888
+ var NavbarBrand = import_react36.default.forwardRef((props, ref) => {
1889
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1602
1890
  });
1603
1891
  NavbarBrand.displayName = "TeachInUI.NavbarBrand";
1604
- var NavbarContent = import_react34.default.forwardRef((props, ref) => {
1605
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarContent, { ref, ...props });
1892
+ var NavbarContent = import_react36.default.forwardRef((props, ref) => {
1893
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_navbar.NavbarContent, { ref, ...props });
1606
1894
  });
1607
1895
  NavbarContent.displayName = "TeachInUI.NavbarContent";
1608
- var NavbarItem = import_react34.default.forwardRef((props, ref) => {
1609
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarItem, { ref, ...props });
1896
+ var NavbarItem = import_react36.default.forwardRef((props, ref) => {
1897
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_navbar.NavbarItem, { ref, ...props });
1610
1898
  });
1611
1899
  NavbarItem.displayName = "TeachInUI.NavbarItem";
1612
- var NavbarMenu = import_react34.default.forwardRef((props, ref) => {
1613
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1900
+ var NavbarMenu = import_react36.default.forwardRef((props, ref) => {
1901
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1614
1902
  });
1615
1903
  NavbarMenu.displayName = "TeachInUI.NavbarMenu";
1616
- var NavbarMenuItem = import_react34.default.forwardRef((props, ref) => {
1617
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1904
+ var NavbarMenuItem = import_react36.default.forwardRef((props, ref) => {
1905
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1618
1906
  });
1619
1907
  NavbarMenuItem.displayName = "TeachInUI.NavbarMenuItem";
1620
- var NavbarMenuToggle = import_react34.default.forwardRef((props, ref) => {
1621
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1908
+ var NavbarMenuToggle = import_react36.default.forwardRef((props, ref) => {
1909
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1622
1910
  });
1623
1911
  NavbarMenuToggle.displayName = "TeachInUI.NavbarMenuToggle";
1624
1912
 
@@ -1631,30 +1919,30 @@ var BreadcrumbItem2 = Object.assign(import_breadcrumbs3.BreadcrumbItem, {
1631
1919
 
1632
1920
  // src/ui/overlays/modal/modal.tsx
1633
1921
  var import_modal = require("@heroui/modal");
1634
- var import_jsx_runtime63 = require("react/jsx-runtime");
1922
+ var import_jsx_runtime64 = require("react/jsx-runtime");
1635
1923
  function Root4({
1636
1924
  size = "md",
1637
1925
  placement = "center",
1638
1926
  children,
1639
1927
  ...props
1640
1928
  }) {
1641
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.Modal, { placement, size, ...props, children });
1929
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_modal.Modal, { placement, size, ...props, children });
1642
1930
  }
1643
1931
  Root4.displayName = "TeachInUI.Modal.Root";
1644
1932
  function Content({ children, ...props }) {
1645
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
1933
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
1646
1934
  }
1647
1935
  Content.displayName = "TeachInUI.Modal.Content";
1648
1936
  function Header3({ children, ...props }) {
1649
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalHeader, { ...props, children });
1937
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_modal.ModalHeader, { ...props, children });
1650
1938
  }
1651
1939
  Header3.displayName = "TeachInUI.Modal.Header";
1652
1940
  function Body3({ children, ...props }) {
1653
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalBody, { ...props, children });
1941
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_modal.ModalBody, { ...props, children });
1654
1942
  }
1655
1943
  Body3.displayName = "TeachInUI.Modal.Body";
1656
1944
  function Footer2({ children, ...props }) {
1657
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalFooter, { ...props, children });
1945
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_modal.ModalFooter, { ...props, children });
1658
1946
  }
1659
1947
  Footer2.displayName = "TeachInUI.Modal.Footer";
1660
1948
  var Modal = {
@@ -1679,17 +1967,17 @@ var DropdownSection = Object.assign(import_dropdown.DropdownSection, {
1679
1967
 
1680
1968
  // src/ui/overlays/popover/popover.tsx
1681
1969
  var import_popover = require("@heroui/popover");
1682
- var import_jsx_runtime64 = require("react/jsx-runtime");
1970
+ var import_jsx_runtime65 = require("react/jsx-runtime");
1683
1971
  var Root5 = ({ children, ...props }) => {
1684
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.Popover, { ...props, children });
1972
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_popover.Popover, { ...props, children });
1685
1973
  };
1686
1974
  Root5.displayName = "TeachInUI.Popover.Root";
1687
1975
  var Trigger = ({ children, ...props }) => {
1688
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.PopoverTrigger, { ...props, children });
1976
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_popover.PopoverTrigger, { ...props, children });
1689
1977
  };
1690
1978
  Trigger.displayName = "TeachInUI.Popover.Trigger";
1691
1979
  var Content2 = ({ children, ...props }) => {
1692
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.PopoverContent, { ...props, children });
1980
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_popover.PopoverContent, { ...props, children });
1693
1981
  };
1694
1982
  Content2.displayName = "TeachInUI.Popover.Content";
1695
1983
  var Popover = {
@@ -1700,7 +1988,7 @@ var Popover = {
1700
1988
 
1701
1989
  // src/ui/provider/ui-provider.tsx
1702
1990
  var import_system3 = require("@heroui/system");
1703
- var import_jsx_runtime65 = require("react/jsx-runtime");
1991
+ var import_jsx_runtime66 = require("react/jsx-runtime");
1704
1992
  function UIProvider({
1705
1993
  children,
1706
1994
  locale = "ru-RU",
@@ -1708,19 +1996,12 @@ function UIProvider({
1708
1996
  navigate,
1709
1997
  toastProviderProps
1710
1998
  }) {
1711
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1999
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1712
2000
  children,
1713
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ToastProvider, { ...toastProviderProps })
2001
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToastProvider, { ...toastProviderProps })
1714
2002
  ] });
1715
2003
  }
1716
2004
 
1717
- // src/ui/style/css.ts
1718
- var import_clsx = require("clsx");
1719
- var import_tailwind_merge = require("tailwind-merge");
1720
- function cn(...inputs) {
1721
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
1722
- }
1723
-
1724
2005
  // src/ui/theme/tokens/breakpoints.ts
1725
2006
  var breakpoints = {
1726
2007
  xs: 480,
@@ -2171,6 +2452,7 @@ var theme = (0, import_theme.heroui)({
2171
2452
  NavbarMenu,
2172
2453
  NavbarMenuItem,
2173
2454
  NavbarMenuToggle,
2455
+ Number,
2174
2456
  PageContent,
2175
2457
  PageLoading,
2176
2458
  Pagination,
@@ -2190,6 +2472,7 @@ var theme = (0, import_theme.heroui)({
2190
2472
  SectionTitle,
2191
2473
  Select,
2192
2474
  SelectField,
2475
+ SelectItem,
2193
2476
  Spinner,
2194
2477
  Switch,
2195
2478
  SwitchField,