@teach-in/react 0.4.0 → 1.1.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 (58) hide show
  1. package/dist/{chunk-AFVGHUW2.mjs → chunk-3VAZY2QK.mjs} +1 -1
  2. package/dist/{chunk-TYMUQULA.mjs → chunk-4BGIUXAF.mjs} +1 -1
  3. package/dist/{chunk-WFNNN6WU.mjs → chunk-AMNORHD6.mjs} +1 -1
  4. package/dist/{chunk-544SDU73.mjs → chunk-CFG5V7VB.mjs} +2 -2
  5. package/dist/chunk-M5G6RR4Q.mjs +39 -0
  6. package/dist/index.js +99 -63
  7. package/dist/index.mjs +88 -84
  8. package/dist/ui/actions/button/button.js +1 -1
  9. package/dist/ui/actions/button/button.mjs +1 -1
  10. package/dist/ui/actions/button/index.js +1 -1
  11. package/dist/ui/actions/button/index.mjs +1 -1
  12. package/dist/ui/actions/index.js +1 -1
  13. package/dist/ui/actions/index.mjs +1 -1
  14. package/dist/ui/feedback/index.mjs +16 -16
  15. package/dist/ui/form/index.mjs +16 -16
  16. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +10 -10
  17. package/dist/ui/form/rhf/fields/checkbox-field.mjs +10 -10
  18. package/dist/ui/form/rhf/fields/date-picker-field.mjs +10 -10
  19. package/dist/ui/form/rhf/fields/email-field.mjs +10 -10
  20. package/dist/ui/form/rhf/fields/index.mjs +13 -13
  21. package/dist/ui/form/rhf/fields/input-field.mjs +10 -10
  22. package/dist/ui/form/rhf/fields/radio-field.mjs +10 -10
  23. package/dist/ui/form/rhf/fields/select-field.mjs +10 -10
  24. package/dist/ui/form/rhf/fields/switch-field.mjs +10 -10
  25. package/dist/ui/form/rhf/fields/text-field.mjs +10 -10
  26. package/dist/ui/form/rhf/fields/textarea-field.mjs +10 -10
  27. package/dist/ui/form/rhf/index.mjs +13 -13
  28. package/dist/ui/format/index.d.ts +1 -0
  29. package/dist/ui/format/index.js +41 -5
  30. package/dist/ui/format/index.mjs +6 -2
  31. package/dist/ui/format/uuid.d.ts +12 -0
  32. package/dist/ui/format/uuid.js +62 -0
  33. package/dist/ui/format/uuid.mjs +7 -0
  34. package/dist/ui/index.js +99 -63
  35. package/dist/ui/index.mjs +88 -84
  36. package/dist/ui/inputs/checkbox/index.mjs +3 -3
  37. package/dist/ui/inputs/index.mjs +19 -19
  38. package/dist/ui/inputs/radio/index.mjs +3 -3
  39. package/dist/ui/layout/container/container.mjs +44 -43
  40. package/dist/ui/layout/container/index.mjs +44 -43
  41. package/dist/ui/layout/index.mjs +50 -49
  42. package/dist/ui/layout/page/index.mjs +9 -9
  43. package/dist/ui/layout/page/page-loading.mjs +5 -5
  44. package/dist/ui/layout/page/section-loading.mjs +5 -5
  45. package/dist/ui/navigation/index.mjs +4 -4
  46. package/dist/ui/overlays/index.mjs +4 -4
  47. package/dist/ui/provider/index.mjs +5 -5
  48. package/dist/ui/provider/ui-provider.mjs +5 -5
  49. package/dist/ui/surface/index.mjs +1 -1
  50. package/dist/ui/theme/colors/common.mjs +3 -3
  51. package/dist/ui/theme/colors/index.mjs +5 -5
  52. package/dist/ui/theme/colors/semantic.mjs +4 -4
  53. package/dist/ui/theme/colors.mjs +5 -5
  54. package/dist/ui/theme/index.mjs +6 -6
  55. package/dist/ui/theme/theme.mjs +6 -6
  56. package/package.json +1 -1
  57. package/dist/{chunk-5IHVMMCK.mjs → chunk-5N3SIZHF.mjs} +0 -0
  58. package/dist/{chunk-5WDV3PDI.mjs → chunk-STVN4B47.mjs} +6 -6
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  commonColors
4
- } from "./chunk-5WDV3PDI.mjs";
4
+ } from "./chunk-STVN4B47.mjs";
5
5
  import {
6
6
  swapColorValues
7
7
  } from "./chunk-VIPLRFPR.mjs";
@@ -8,7 +8,7 @@ import { jsx } from "react/jsx-runtime";
8
8
  var BaseButton = extendVariants(HeroUIButton, {
9
9
  variants: {
10
10
  size: {
11
- lg: "px-6 min-w-20 h-14 text-base gap-2 rounded-large"
11
+ lg: "px-6 min-w-20 h-14 text-base gap-2"
12
12
  }
13
13
  },
14
14
  defaultVariants: {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  semanticColors
4
- } from "./chunk-AFVGHUW2.mjs";
4
+ } from "./chunk-3VAZY2QK.mjs";
5
5
 
6
6
  // src/ui/theme/theme.ts
7
7
  import { heroui } from "@heroui/theme";
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  semanticColors
4
- } from "./chunk-AFVGHUW2.mjs";
4
+ } from "./chunk-3VAZY2QK.mjs";
5
5
  import {
6
6
  commonColors
7
- } from "./chunk-5WDV3PDI.mjs";
7
+ } from "./chunk-STVN4B47.mjs";
8
8
 
9
9
  // src/ui/theme/colors/index.ts
10
10
  var colors = {
@@ -0,0 +1,39 @@
1
+ "use client";
2
+
3
+ // src/ui/format/uuid.tsx
4
+ import { Fragment, jsx } from "react/jsx-runtime";
5
+ 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}$/;
6
+ function normalizeUuid(value) {
7
+ const trimmed = value.trim();
8
+ if (trimmed.length === 0) return null;
9
+ const withoutPrefix = trimmed.toLowerCase().startsWith("urn:uuid:") ? trimmed.slice("urn:uuid:".length) : trimmed;
10
+ const withoutBraces = withoutPrefix.startsWith("{") && withoutPrefix.endsWith("}") ? withoutPrefix.slice(1, -1) : withoutPrefix;
11
+ if (uuidHyphenatedRegex.test(withoutBraces)) return withoutBraces.toLowerCase();
12
+ return null;
13
+ }
14
+ function detectUuidVersion(normalizedUuid) {
15
+ var _a;
16
+ const versionChar = (_a = normalizedUuid.split("-")[2]) == null ? void 0 : _a[0];
17
+ if (!versionChar) return null;
18
+ const parsed = Number.parseInt(versionChar, 16);
19
+ return Number.isNaN(parsed) ? null : parsed;
20
+ }
21
+ function Uuid({
22
+ value,
23
+ case: letterCase = "lower",
24
+ showVersion = false,
25
+ invalidFallback = "\u2014"
26
+ }) {
27
+ if (!value) return /* @__PURE__ */ jsx(Fragment, { children: invalidFallback });
28
+ const normalized = normalizeUuid(value);
29
+ if (!normalized) return /* @__PURE__ */ jsx(Fragment, { children: invalidFallback });
30
+ const formatted = letterCase === "upper" ? normalized.toUpperCase() : normalized;
31
+ if (!showVersion) return /* @__PURE__ */ jsx(Fragment, { children: formatted });
32
+ const version = detectUuidVersion(normalized);
33
+ return /* @__PURE__ */ jsx(Fragment, { children: version !== null ? `${formatted} (v${version})` : formatted });
34
+ }
35
+ Uuid.displayName = "TeachInUI.FormatUUID";
36
+
37
+ export {
38
+ Uuid
39
+ };
package/dist/index.js CHANGED
@@ -68,10 +68,11 @@ __export(index_exports, {
68
68
  FormatDate: () => DateFormat,
69
69
  FormatDatetime: () => Datetime,
70
70
  FormatDuration: () => Duration,
71
- FormatNumber: () => Number,
71
+ FormatNumber: () => Number2,
72
72
  FormatPercent: () => Percent,
73
73
  FormatPlural: () => Plural,
74
74
  FormatTime: () => Time,
75
+ FormatUUID: () => Uuid,
75
76
  Grid: () => Grid,
76
77
  Header: () => Header2,
77
78
  Image: () => Image,
@@ -147,7 +148,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
147
148
  var BaseButton = (0, import_system.extendVariants)(import_button.Button, {
148
149
  variants: {
149
150
  size: {
150
- lg: "px-6 min-w-20 h-14 text-base gap-2 rounded-large"
151
+ lg: "px-6 min-w-20 h-14 text-base gap-2"
151
152
  }
152
153
  },
153
154
  defaultVariants: {
@@ -793,14 +794,14 @@ Currency.displayName = "TeachInUI.FormatCurrency";
793
794
 
794
795
  // src/ui/format/number.tsx
795
796
  var import_jsx_runtime40 = require("react/jsx-runtime");
796
- function Number({ value, decimals, locale = "ru-RU" }) {
797
+ function Number2({ value, decimals, locale = "ru-RU" }) {
797
798
  const formatter = new Intl.NumberFormat(locale, {
798
799
  minimumFractionDigits: decimals != null ? decimals : 0,
799
800
  maximumFractionDigits: decimals != null ? decimals : 2
800
801
  });
801
802
  return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(value) });
802
803
  }
803
- Number.displayName = "TeachInUI.FormatNumber";
804
+ Number2.displayName = "TeachInUI.FormatNumber";
804
805
 
805
806
  // src/ui/format/percent.tsx
806
807
  var import_jsx_runtime41 = require("react/jsx-runtime");
@@ -886,9 +887,43 @@ function Boolean({
886
887
  }
887
888
  Boolean.displayName = "TeachInUI.FormatBoolean";
888
889
 
890
+ // src/ui/format/uuid.tsx
891
+ var import_jsx_runtime45 = require("react/jsx-runtime");
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}$/;
893
+ function normalizeUuid(value) {
894
+ const trimmed = value.trim();
895
+ if (trimmed.length === 0) return null;
896
+ const withoutPrefix = trimmed.toLowerCase().startsWith("urn:uuid:") ? trimmed.slice("urn:uuid:".length) : trimmed;
897
+ const withoutBraces = withoutPrefix.startsWith("{") && withoutPrefix.endsWith("}") ? withoutPrefix.slice(1, -1) : withoutPrefix;
898
+ if (uuidHyphenatedRegex.test(withoutBraces)) return withoutBraces.toLowerCase();
899
+ return null;
900
+ }
901
+ function detectUuidVersion(normalizedUuid) {
902
+ var _a;
903
+ const versionChar = (_a = normalizedUuid.split("-")[2]) == null ? void 0 : _a[0];
904
+ if (!versionChar) return null;
905
+ const parsed = Number.parseInt(versionChar, 16);
906
+ return Number.isNaN(parsed) ? null : parsed;
907
+ }
908
+ function Uuid({
909
+ value,
910
+ case: letterCase = "lower",
911
+ showVersion = false,
912
+ invalidFallback = "\u2014"
913
+ }) {
914
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: invalidFallback });
915
+ const normalized = normalizeUuid(value);
916
+ if (!normalized) return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: invalidFallback });
917
+ const formatted = letterCase === "upper" ? normalized.toUpperCase() : normalized;
918
+ if (!showVersion) return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: formatted });
919
+ const version = detectUuidVersion(normalized);
920
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: version !== null ? `${formatted} (v${version})` : formatted });
921
+ }
922
+ Uuid.displayName = "TeachInUI.FormatUUID";
923
+
889
924
  // src/ui/surface/bento/bento.tsx
890
925
  var import_tailwind_variants2 = require("tailwind-variants");
891
- var import_jsx_runtime45 = require("react/jsx-runtime");
926
+ var import_jsx_runtime46 = require("react/jsx-runtime");
892
927
  var bento = (0, import_tailwind_variants2.tv)({
893
928
  base: "rounded-xl p-6 transition-colors",
894
929
  variants: {
@@ -926,28 +961,28 @@ var bento = (0, import_tailwind_variants2.tv)({
926
961
  }
927
962
  });
928
963
  var Bento = ({ className, ...props }) => {
929
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: bento({ ...props, className }), ...props });
964
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: bento({ ...props, className }), ...props });
930
965
  };
931
966
  Bento.displayName = "TeachInUI.Bento";
932
967
 
933
968
  // src/ui/surface/card/card.tsx
934
969
  var import_react25 = __toESM(require("react"));
935
970
  var import_card = require("@heroui/card");
936
- var import_jsx_runtime46 = require("react/jsx-runtime");
971
+ var import_jsx_runtime47 = require("react/jsx-runtime");
937
972
  var Root = import_react25.default.forwardRef(({ children, ...props }, ref) => {
938
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.Card, { ref, ...props, children });
973
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.Card, { ref, ...props, children });
939
974
  });
940
975
  Root.displayName = "TeachInUI.Card.Root";
941
976
  var Header = import_react25.default.forwardRef(({ children, ...props }, ref) => {
942
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.CardHeader, { ref, ...props, children });
977
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.CardHeader, { ref, ...props, children });
943
978
  });
944
979
  Header.displayName = "TeachInUI.Card.Header";
945
980
  var Body = import_react25.default.forwardRef(({ children, ...props }, ref) => {
946
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.CardBody, { ref, ...props, children });
981
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.CardBody, { ref, ...props, children });
947
982
  });
948
983
  Body.displayName = "TeachInUI.Card.Body";
949
984
  var Footer = import_react25.default.forwardRef(({ children, ...props }, ref) => {
950
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_card.CardFooter, { ref, ...props, children });
985
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_card.CardFooter, { ref, ...props, children });
951
986
  });
952
987
  Footer.displayName = "TeachInUI.Card.Footer";
953
988
  var Card = {
@@ -960,7 +995,7 @@ var Card = {
960
995
  // src/ui/layout/container/container.tsx
961
996
  var import_react_slot = require("@radix-ui/react-slot");
962
997
  var import_tailwind_variants3 = require("tailwind-variants");
963
- var import_jsx_runtime47 = require("react/jsx-runtime");
998
+ var import_jsx_runtime48 = require("react/jsx-runtime");
964
999
  var variants = (0, import_tailwind_variants3.tv)({
965
1000
  base: "w-full mx-auto px-6",
966
1001
  variants: {
@@ -980,58 +1015,58 @@ var variants = (0, import_tailwind_variants3.tv)({
980
1015
  });
981
1016
  var Container = ({ children, asChild = false, className, size, ...props }) => {
982
1017
  const Comp = asChild ? import_react_slot.Slot : "div";
983
- return /* @__PURE__ */ (0, import_jsx_runtime47.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 });
984
1019
  };
985
1020
  Container.displayName = "TeachInUI.Container";
986
1021
 
987
1022
  // src/ui/layout/page/breadcrumbs.tsx
988
1023
  var import_breadcrumbs = require("@heroui/breadcrumbs");
989
- var import_jsx_runtime48 = require("react/jsx-runtime");
990
- var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
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)) });
991
1026
 
992
1027
  // src/ui/layout/page/page-content.tsx
993
- var import_jsx_runtime49 = require("react/jsx-runtime");
1028
+ var import_jsx_runtime50 = require("react/jsx-runtime");
994
1029
  var Root2 = ({
995
1030
  children,
996
1031
  breadcrumbs = []
997
- }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-col gap-6", children: [
998
- breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Breadcrumbs, { items: breadcrumbs }),
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 }),
999
1034
  children
1000
1035
  ] });
1001
1036
  Root2.displayName = "TeachInUI.PageContent.Root";
1002
- var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1003
1038
  Header2.displayName = "TeachInUI.PageContent.Header";
1004
1039
  var Title = ({
1005
1040
  children,
1006
1041
  ...others
1007
- }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1008
1043
  Title.displayName = "TeachInUI.PageContent.Title";
1009
1044
  var Actions = ({
1010
1045
  children,
1011
1046
  ...others
1012
- }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1013
1048
  Actions.displayName = "TeachInUI.PageContent.Actions";
1014
- var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1015
1050
  Body2.displayName = "TeachInUI.PageContent.Body";
1016
1051
  var Section = ({
1017
1052
  children,
1018
1053
  ...others
1019
- }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1020
1055
  Section.displayName = "TeachInUI.PageContent.Section";
1021
1056
  var SectionHeader = ({
1022
1057
  children,
1023
1058
  ...others
1024
- }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1025
1060
  SectionHeader.displayName = "TeachInUI.PageContent.SectionHeader";
1026
1061
  var SectionTitle = ({
1027
1062
  children,
1028
1063
  ...others
1029
- }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1030
1065
  SectionTitle.displayName = "TeachInUI.PageContent.SectionTitle";
1031
1066
  var SectionActions = ({
1032
1067
  children,
1033
1068
  ...others
1034
- }) => /* @__PURE__ */ (0, import_jsx_runtime49.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 });
1035
1070
  SectionActions.displayName = "TeachInUI.PageContent.SectionActions";
1036
1071
  var PageContent = {
1037
1072
  Root: Root2,
@@ -1046,18 +1081,18 @@ var PageContent = {
1046
1081
  };
1047
1082
 
1048
1083
  // src/ui/layout/page/page-loading.tsx
1049
- var import_jsx_runtime50 = require("react/jsx-runtime");
1050
- var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Spinner, {}) });
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, {}) });
1051
1086
  PageLoading.displayName = "TeachInUI.PageLoading";
1052
1087
 
1053
1088
  // src/ui/layout/page/section-loading.tsx
1054
- var import_jsx_runtime51 = require("react/jsx-runtime");
1055
- var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Spinner, {}) });
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, {}) });
1056
1091
  SectionLoading.displayName = "TeachInUI.SectionLoading";
1057
1092
 
1058
1093
  // src/ui/layout/flex/flex.tsx
1059
1094
  var import_tailwind_variants4 = require("tailwind-variants");
1060
- var import_jsx_runtime52 = require("react/jsx-runtime");
1095
+ var import_jsx_runtime53 = require("react/jsx-runtime");
1061
1096
  var variants2 = (0, import_tailwind_variants4.tv)({
1062
1097
  base: "flex",
1063
1098
  variants: {
@@ -1105,13 +1140,13 @@ var variants2 = (0, import_tailwind_variants4.tv)({
1105
1140
  }
1106
1141
  });
1107
1142
  var Flex = ({ className, ...props }) => {
1108
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: variants2({ ...props, className }), ...props });
1143
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: variants2({ ...props, className }), ...props });
1109
1144
  };
1110
1145
  Flex.displayName = "TeachInUI.Flex";
1111
1146
 
1112
1147
  // src/ui/layout/grid/grid.tsx
1113
1148
  var import_tailwind_variants5 = require("tailwind-variants");
1114
- var import_jsx_runtime53 = require("react/jsx-runtime");
1149
+ var import_jsx_runtime54 = require("react/jsx-runtime");
1115
1150
  var variants3 = (0, import_tailwind_variants5.tv)({
1116
1151
  base: "grid",
1117
1152
  variants: {
@@ -1161,26 +1196,26 @@ var variants3 = (0, import_tailwind_variants5.tv)({
1161
1196
  }
1162
1197
  });
1163
1198
  var Grid = ({ className, ...props }) => {
1164
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: variants3({ ...props, className }), ...props });
1199
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: variants3({ ...props, className }), ...props });
1165
1200
  };
1166
1201
  Grid.displayName = "TeachInUI.Grid";
1167
1202
 
1168
1203
  // src/ui/layout/divider/divider.tsx
1169
1204
  var import_react26 = __toESM(require("react"));
1170
1205
  var import_divider = require("@heroui/divider");
1171
- var import_jsx_runtime54 = require("react/jsx-runtime");
1206
+ var import_jsx_runtime55 = require("react/jsx-runtime");
1172
1207
  var Divider = import_react26.default.forwardRef((props, ref) => {
1173
1208
  const { ...restProps } = props;
1174
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_divider.Divider, { ref, ...restProps });
1209
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_divider.Divider, { ref, ...restProps });
1175
1210
  });
1176
1211
  Divider.displayName = "TeachInUI.Divider";
1177
1212
 
1178
1213
  // src/ui/layout/scroll-shadow/scroll-shadow.tsx
1179
1214
  var import_react27 = __toESM(require("react"));
1180
1215
  var import_scroll_shadow = require("@heroui/scroll-shadow");
1181
- var import_jsx_runtime55 = require("react/jsx-runtime");
1216
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1182
1217
  var ScrollShadow = import_react27.default.forwardRef((props, ref) => {
1183
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1218
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
1184
1219
  });
1185
1220
  ScrollShadow.displayName = "TeachInUI.ScrollShadow";
1186
1221
 
@@ -1191,18 +1226,18 @@ var AccordionItem = Object.assign(import_accordion.AccordionItem, { displayName:
1191
1226
 
1192
1227
  // src/ui/navigation/link/link.tsx
1193
1228
  var import_link = require("@heroui/link");
1194
- var import_jsx_runtime56 = require("react/jsx-runtime");
1229
+ var import_jsx_runtime57 = require("react/jsx-runtime");
1195
1230
  function Link({ children, ...props }) {
1196
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_link.Link, { ...props, children });
1231
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_link.Link, { ...props, children });
1197
1232
  }
1198
1233
  Link.displayName = "TeachInUI.Link";
1199
1234
 
1200
1235
  // src/ui/navigation/tabs/tabs.tsx
1201
1236
  var import_react28 = __toESM(require("react"));
1202
1237
  var import_tabs = require("@heroui/tabs");
1203
- var import_jsx_runtime57 = require("react/jsx-runtime");
1238
+ var import_jsx_runtime58 = require("react/jsx-runtime");
1204
1239
  var Root3 = import_react28.default.forwardRef(({ children, ...props }, ref) => {
1205
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_tabs.Tabs, { ref, ...props, children });
1240
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_tabs.Tabs, { ref, ...props, children });
1206
1241
  });
1207
1242
  Root3.displayName = "TeachInUI.Tabs.Root";
1208
1243
  var Tab = Object.assign(import_tabs.Tab, {
@@ -1216,33 +1251,33 @@ var Tabs = {
1216
1251
  // src/ui/navigation/navbar/navbar.tsx
1217
1252
  var import_react29 = __toESM(require("react"));
1218
1253
  var import_navbar = require("@heroui/navbar");
1219
- var import_jsx_runtime58 = require("react/jsx-runtime");
1254
+ var import_jsx_runtime59 = require("react/jsx-runtime");
1220
1255
  var Navbar = import_react29.default.forwardRef((props, ref) => {
1221
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.Navbar, { ref, ...props });
1256
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.Navbar, { ref, ...props });
1222
1257
  });
1223
1258
  Navbar.displayName = "TeachInUI.Navbar";
1224
1259
  var NavbarBrand = import_react29.default.forwardRef((props, ref) => {
1225
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1260
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarBrand, { ref, ...props });
1226
1261
  });
1227
1262
  NavbarBrand.displayName = "TeachInUI.NavbarBrand";
1228
1263
  var NavbarContent = import_react29.default.forwardRef((props, ref) => {
1229
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarContent, { ref, ...props });
1264
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarContent, { ref, ...props });
1230
1265
  });
1231
1266
  NavbarContent.displayName = "TeachInUI.NavbarContent";
1232
1267
  var NavbarItem = import_react29.default.forwardRef((props, ref) => {
1233
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarItem, { ref, ...props });
1268
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarItem, { ref, ...props });
1234
1269
  });
1235
1270
  NavbarItem.displayName = "TeachInUI.NavbarItem";
1236
1271
  var NavbarMenu = import_react29.default.forwardRef((props, ref) => {
1237
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1272
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarMenu, { ref, ...props });
1238
1273
  });
1239
1274
  NavbarMenu.displayName = "TeachInUI.NavbarMenu";
1240
1275
  var NavbarMenuItem = import_react29.default.forwardRef((props, ref) => {
1241
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1276
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
1242
1277
  });
1243
1278
  NavbarMenuItem.displayName = "TeachInUI.NavbarMenuItem";
1244
1279
  var NavbarMenuToggle = import_react29.default.forwardRef((props, ref) => {
1245
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1280
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
1246
1281
  });
1247
1282
  NavbarMenuToggle.displayName = "TeachInUI.NavbarMenuToggle";
1248
1283
 
@@ -1255,30 +1290,30 @@ var BreadcrumbItem2 = Object.assign(import_breadcrumbs3.BreadcrumbItem, {
1255
1290
 
1256
1291
  // src/ui/overlays/modal/modal.tsx
1257
1292
  var import_modal = require("@heroui/modal");
1258
- var import_jsx_runtime59 = require("react/jsx-runtime");
1293
+ var import_jsx_runtime60 = require("react/jsx-runtime");
1259
1294
  function Root4({
1260
1295
  size = "md",
1261
1296
  placement = "center",
1262
1297
  children,
1263
1298
  ...props
1264
1299
  }) {
1265
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.Modal, { placement, size, ...props, children });
1300
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.Modal, { placement, size, ...props, children });
1266
1301
  }
1267
1302
  Root4.displayName = "TeachInUI.Modal.Root";
1268
1303
  function Content({ children, ...props }) {
1269
- return /* @__PURE__ */ (0, import_jsx_runtime59.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 });
1270
1305
  }
1271
1306
  Content.displayName = "TeachInUI.Modal.Content";
1272
1307
  function Header3({ children, ...props }) {
1273
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.ModalHeader, { ...props, children });
1308
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.ModalHeader, { ...props, children });
1274
1309
  }
1275
1310
  Header3.displayName = "TeachInUI.Modal.Header";
1276
1311
  function Body3({ children, ...props }) {
1277
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.ModalBody, { ...props, children });
1312
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.ModalBody, { ...props, children });
1278
1313
  }
1279
1314
  Body3.displayName = "TeachInUI.Modal.Body";
1280
1315
  function Footer2({ children, ...props }) {
1281
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_modal.ModalFooter, { ...props, children });
1316
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_modal.ModalFooter, { ...props, children });
1282
1317
  }
1283
1318
  Footer2.displayName = "TeachInUI.Modal.Footer";
1284
1319
  var Modal = {
@@ -1303,17 +1338,17 @@ var DropdownSection = Object.assign(import_dropdown.DropdownSection, {
1303
1338
 
1304
1339
  // src/ui/overlays/popover/popover.tsx
1305
1340
  var import_popover = require("@heroui/popover");
1306
- var import_jsx_runtime60 = require("react/jsx-runtime");
1341
+ var import_jsx_runtime61 = require("react/jsx-runtime");
1307
1342
  var Root5 = ({ children, ...props }) => {
1308
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_popover.Popover, { ...props, children });
1343
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_popover.Popover, { ...props, children });
1309
1344
  };
1310
1345
  Root5.displayName = "TeachInUI.Popover.Root";
1311
1346
  var Trigger = ({ children, ...props }) => {
1312
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_popover.PopoverTrigger, { ...props, children });
1347
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_popover.PopoverTrigger, { ...props, children });
1313
1348
  };
1314
1349
  Trigger.displayName = "TeachInUI.Popover.Trigger";
1315
1350
  var Content2 = ({ children, ...props }) => {
1316
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_popover.PopoverContent, { ...props, children });
1351
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_popover.PopoverContent, { ...props, children });
1317
1352
  };
1318
1353
  Content2.displayName = "TeachInUI.Popover.Content";
1319
1354
  var Popover = {
@@ -1324,7 +1359,7 @@ var Popover = {
1324
1359
 
1325
1360
  // src/ui/provider/ui-provider.tsx
1326
1361
  var import_system3 = require("@heroui/system");
1327
- var import_jsx_runtime61 = require("react/jsx-runtime");
1362
+ var import_jsx_runtime62 = require("react/jsx-runtime");
1328
1363
  function UIProvider({
1329
1364
  children,
1330
1365
  locale = "ru-RU",
@@ -1332,9 +1367,9 @@ function UIProvider({
1332
1367
  navigate,
1333
1368
  toastProviderProps
1334
1369
  }) {
1335
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1370
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
1336
1371
  children,
1337
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToastProvider, { ...toastProviderProps })
1372
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ToastProvider, { ...toastProviderProps })
1338
1373
  ] });
1339
1374
  }
1340
1375
 
@@ -1757,6 +1792,7 @@ var theme = (0, import_theme.heroui)({
1757
1792
  FormatPercent,
1758
1793
  FormatPlural,
1759
1794
  FormatTime,
1795
+ FormatUUID,
1760
1796
  Grid,
1761
1797
  Header,
1762
1798
  Image,