@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.
- package/dist/{chunk-2UHA3DYG.mjs → chunk-6BWSC6ZH.mjs} +3 -10
- package/dist/chunk-7WIZONLU.mjs +81 -0
- package/dist/chunk-ALGSVEUS.mjs +1 -0
- package/dist/chunk-BHOCYKBI.mjs +81 -0
- package/dist/{chunk-VXYV37IM.mjs → chunk-C5FQB2UN.mjs} +16 -8
- package/dist/{chunk-CKJ5U5Q4.mjs → chunk-DEKPRZIQ.mjs} +1 -1
- package/dist/chunk-GEPCSZCU.mjs +71 -0
- package/dist/chunk-GTE5VEBV.mjs +68 -0
- package/dist/{chunk-UFYLYN5Z.mjs → chunk-QFWSQOF6.mjs} +20 -2
- package/dist/chunk-VDPROXMN.mjs +57 -0
- package/dist/{chunk-J3OZNLTZ.mjs → chunk-WG4IPOHE.mjs} +5 -5
- package/dist/{chunk-R46SWVWL.mjs → chunk-ZK6VZMUJ.mjs} +1 -1
- package/dist/index.js +536 -253
- package/dist/index.mjs +140 -132
- package/dist/ui/data/index.js +56 -7
- package/dist/ui/data/index.mjs +12 -10
- package/dist/ui/data/user/index.js +51 -2
- package/dist/ui/data/user/index.mjs +3 -1
- package/dist/ui/data/user/user.d.ts +24 -2
- package/dist/ui/data/user/user.js +52 -2
- package/dist/ui/data/user/user.mjs +4 -1
- package/dist/ui/feedback/index.mjs +7 -7
- package/dist/ui/form/index.js +76 -18
- package/dist/ui/form/index.mjs +25 -20
- package/dist/ui/form/rhf/fields/autocomplete-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/checkbox-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/date-picker-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/email-field.js +58 -3
- package/dist/ui/form/rhf/fields/email-field.mjs +21 -16
- package/dist/ui/form/rhf/fields/index.js +76 -18
- package/dist/ui/form/rhf/fields/index.mjs +22 -17
- package/dist/ui/form/rhf/fields/input-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/radio-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/search-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/select-field.js +18 -15
- package/dist/ui/form/rhf/fields/select-field.mjs +21 -16
- package/dist/ui/form/rhf/fields/switch-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/text-field.mjs +20 -15
- package/dist/ui/form/rhf/fields/textarea-field.mjs +20 -15
- package/dist/ui/form/rhf/index.js +76 -18
- package/dist/ui/form/rhf/index.mjs +22 -17
- package/dist/ui/format/index.mjs +12 -12
- package/dist/ui/index.js +536 -253
- package/dist/ui/index.mjs +140 -132
- package/dist/ui/inputs/checkbox/index.mjs +3 -3
- package/dist/ui/inputs/email/email.js +58 -3
- package/dist/ui/inputs/email/email.mjs +1 -1
- package/dist/ui/inputs/email/index.js +58 -3
- package/dist/ui/inputs/email/index.mjs +1 -1
- package/dist/ui/inputs/index.d.ts +1 -0
- package/dist/ui/inputs/index.js +305 -69
- package/dist/ui/inputs/index.mjs +35 -25
- package/dist/ui/inputs/number/index.d.ts +1 -0
- package/dist/ui/inputs/number/index.js +218 -0
- package/dist/ui/inputs/number/index.mjs +12 -0
- package/dist/ui/inputs/number/number.d.ts +12 -0
- package/dist/ui/inputs/number/number.js +219 -0
- package/dist/ui/inputs/number/number.mjs +13 -0
- package/dist/ui/inputs/number/use-number.d.ts +20 -0
- package/dist/ui/inputs/number/use-number.js +104 -0
- package/dist/ui/inputs/number/use-number.mjs +7 -0
- package/dist/ui/inputs/select/index.d.ts +1 -1
- package/dist/ui/inputs/select/index.js +23 -17
- package/dist/ui/inputs/select/index.mjs +8 -4
- package/dist/ui/inputs/select/select.d.ts +11 -22
- package/dist/ui/inputs/select/select.js +23 -17
- package/dist/ui/inputs/select/select.mjs +8 -4
- package/dist/ui/inputs/select/use-select.d.ts +0 -1
- package/dist/ui/inputs/select/use-select.js +2 -9
- package/dist/ui/inputs/select/use-select.mjs +1 -1
- package/dist/ui/inputs/switch/favorite-switch.d.ts +23 -2
- package/dist/ui/inputs/switch/favorite-switch.js +34 -4
- package/dist/ui/inputs/switch/favorite-switch.mjs +1 -1
- package/dist/ui/inputs/switch/index.js +34 -4
- package/dist/ui/inputs/switch/index.mjs +1 -1
- package/dist/ui/layout/container/container.mjs +67 -64
- package/dist/ui/layout/container/index.mjs +67 -64
- package/dist/ui/layout/index.js +7 -7
- package/dist/ui/layout/index.mjs +71 -68
- package/dist/ui/layout/page/index.mjs +4 -4
- package/dist/ui/layout/page/page-loading.mjs +4 -4
- package/dist/ui/layout/page/section-loading.mjs +4 -4
- package/dist/ui/navigation/index.mjs +5 -5
- package/dist/ui/overlays/index.mjs +4 -4
- package/dist/ui/provider/index.mjs +4 -4
- package/dist/ui/provider/ui-provider.mjs +4 -4
- package/dist/ui/surface/bento/bento.d.ts +2 -2
- package/dist/ui/surface/bento/bento.js +5 -5
- package/dist/ui/surface/bento/bento.mjs +1 -1
- package/dist/ui/surface/bento/index.js +5 -5
- package/dist/ui/surface/bento/index.mjs +1 -1
- package/dist/ui/surface/card/card.d.ts +2427 -5
- package/dist/ui/surface/card/card.js +29 -2
- package/dist/ui/surface/card/card.mjs +5 -1
- package/dist/ui/surface/card/index.js +29 -2
- package/dist/ui/surface/card/index.mjs +5 -1
- package/dist/ui/surface/index.js +34 -7
- package/dist/ui/surface/index.mjs +9 -5
- package/dist/ui/theme/colors/index.mjs +1 -1
- package/dist/ui/theme/colors.mjs +1 -1
- package/dist/ui/theme/index.mjs +1 -1
- package/dist/ui/theme/theme.d.ts +2 -1
- package/dist/ui/theme/theme.mjs +1 -1
- package/package.json +13 -9
- package/LICENSE +0 -21
- package/dist/chunk-46SKVFMZ.mjs +0 -16
- package/dist/chunk-E5QSNLSR.mjs +0 -38
- package/dist/chunk-XHCXM5MU.mjs +0 -14
- /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: () =>
|
|
67
|
+
FormatBoolean: () => Boolean2,
|
|
68
68
|
FormatCurrency: () => Currency,
|
|
69
69
|
FormatDate: () => DateFormat,
|
|
70
70
|
FormatDatetime: () => Datetime,
|
|
71
71
|
FormatDuration: () => Duration,
|
|
72
|
-
FormatNumber: () =>
|
|
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: () =>
|
|
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
|
-
|
|
206
|
-
|
|
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
|
|
263
|
+
var import_image2 = require("@heroui/image");
|
|
213
264
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
214
|
-
var
|
|
215
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
|
507
|
-
|
|
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/
|
|
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
|
|
764
|
+
var import_tailwind_variants4 = require("tailwind-variants");
|
|
516
765
|
|
|
517
766
|
// src/ui/inputs/search/use-search.ts
|
|
518
|
-
var
|
|
767
|
+
var import_react23 = require("react");
|
|
519
768
|
function useSearch({ value, onSearch, onCancel, onKeyDown }) {
|
|
520
|
-
const handleKeyDown = (0,
|
|
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,
|
|
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
|
|
548
|
-
var searchIconVariants = (0,
|
|
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 =
|
|
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,
|
|
816
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
568
817
|
Input,
|
|
569
818
|
{
|
|
570
819
|
ref,
|
|
571
820
|
radius,
|
|
572
|
-
startContent: onSearch ? /* @__PURE__ */ (0,
|
|
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,
|
|
831
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react2.SearchIcon, { className: searchIconVariants({ variant }) })
|
|
583
832
|
}
|
|
584
|
-
) : /* @__PURE__ */ (0,
|
|
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
|
|
845
|
+
var import_react26 = __toESM(require("react"));
|
|
597
846
|
var import_select = require("@heroui/select");
|
|
598
|
-
var
|
|
847
|
+
var import_tailwind_variants5 = require("tailwind-variants");
|
|
599
848
|
|
|
600
849
|
// src/ui/inputs/select/use-select.ts
|
|
601
|
-
var
|
|
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 [
|
|
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,
|
|
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
|
-
[
|
|
869
|
+
[onChange, isMultiple]
|
|
628
870
|
);
|
|
629
|
-
const handleClear = (0,
|
|
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,
|
|
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,
|
|
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
|
|
659
|
-
var selectWrapperVariants = (0,
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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:
|
|
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
|
|
964
|
+
var import_react27 = __toESM(require("react"));
|
|
719
965
|
var import_switch = require("@heroui/switch");
|
|
720
|
-
var
|
|
721
|
-
var Switch =
|
|
722
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
730
|
-
var
|
|
731
|
-
var bookmarkVariants = (0,
|
|
732
|
-
base: "
|
|
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
|
-
|
|
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,
|
|
745
|
-
/* @__PURE__ */ (0,
|
|
746
|
-
/* @__PURE__ */ (0,
|
|
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:
|
|
1018
|
+
class: wrapperVariants({ size })
|
|
752
1019
|
}),
|
|
753
|
-
children: /* @__PURE__ */ (0,
|
|
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
|
|
1040
|
+
var import_react28 = __toESM(require("react"));
|
|
765
1041
|
var import_radio2 = require("@heroui/radio");
|
|
766
|
-
var
|
|
767
|
-
var RadioGroup =
|
|
1042
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1043
|
+
var RadioGroup = import_react28.default.forwardRef(
|
|
768
1044
|
(props, ref) => {
|
|
769
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
776
|
-
var
|
|
777
|
-
var Text =
|
|
778
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
785
|
-
var
|
|
786
|
-
var Textarea =
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
988
|
-
/* @__PURE__ */ (0,
|
|
989
|
-
error && /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
1007
|
-
/* @__PURE__ */ (0,
|
|
1008
|
-
error && /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
1045
|
-
var
|
|
1046
|
-
var Form =
|
|
1047
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
1071
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
1092
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
1112
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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
|
|
1138
|
-
function
|
|
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,
|
|
1419
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: formatter.format(value) });
|
|
1144
1420
|
}
|
|
1145
|
-
|
|
1421
|
+
Number3.displayName = "TeachInUI.FormatNumber";
|
|
1146
1422
|
|
|
1147
1423
|
// src/ui/format/percent.tsx
|
|
1148
|
-
var
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
1220
|
-
function
|
|
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,
|
|
1227
|
-
return /* @__PURE__ */ (0,
|
|
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
|
-
|
|
1505
|
+
Boolean2.displayName = "TeachInUI.FormatBoolean";
|
|
1230
1506
|
|
|
1231
1507
|
// src/ui/format/uuid.tsx
|
|
1232
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
1267
|
-
var
|
|
1268
|
-
var bento = (0,
|
|
1269
|
-
base: "
|
|
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-
|
|
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-
|
|
1282
|
-
md: "rounded-
|
|
1283
|
-
lg: "rounded-
|
|
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,
|
|
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
|
|
1586
|
+
var import_react32 = __toESM(require("react"));
|
|
1311
1587
|
var import_card = require("@heroui/card");
|
|
1312
|
-
var
|
|
1313
|
-
var
|
|
1314
|
-
|
|
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 =
|
|
1318
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1322
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1326
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
1339
|
-
var
|
|
1340
|
-
var variants = (0,
|
|
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,
|
|
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
|
|
1366
|
-
var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0,
|
|
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
|
|
1657
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
1370
1658
|
var Root2 = ({
|
|
1371
1659
|
children,
|
|
1372
1660
|
breadcrumbs = []
|
|
1373
|
-
}) => /* @__PURE__ */ (0,
|
|
1374
|
-
breadcrumbs.length > 0 && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
1426
|
-
var PageLoading = () => /* @__PURE__ */ (0,
|
|
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
|
|
1431
|
-
var SectionLoading = () => /* @__PURE__ */ (0,
|
|
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
|
|
1436
|
-
var
|
|
1437
|
-
var variants2 = (0,
|
|
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,
|
|
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
|
|
1490
|
-
var
|
|
1491
|
-
var variants3 = (0,
|
|
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,
|
|
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
|
|
1833
|
+
var import_react33 = __toESM(require("react"));
|
|
1546
1834
|
var import_divider = require("@heroui/divider");
|
|
1547
|
-
var
|
|
1548
|
-
var Divider =
|
|
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,
|
|
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
|
|
1843
|
+
var import_react34 = __toESM(require("react"));
|
|
1556
1844
|
var import_scroll_shadow = require("@heroui/scroll-shadow");
|
|
1557
|
-
var
|
|
1558
|
-
var ScrollShadow =
|
|
1559
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
1858
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
1571
1859
|
function Link({ children, ...props }) {
|
|
1572
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
1865
|
+
var import_react35 = __toESM(require("react"));
|
|
1578
1866
|
var import_tabs = require("@heroui/tabs");
|
|
1579
|
-
var
|
|
1580
|
-
var Root3 =
|
|
1581
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
1881
|
+
var import_react36 = __toESM(require("react"));
|
|
1594
1882
|
var import_navbar = require("@heroui/navbar");
|
|
1595
|
-
var
|
|
1596
|
-
var Navbar =
|
|
1597
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1601
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1605
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1609
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1613
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1617
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
1621
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
1970
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
1683
1971
|
var Root5 = ({ children, ...props }) => {
|
|
1684
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
1999
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
|
|
1712
2000
|
children,
|
|
1713
|
-
/* @__PURE__ */ (0,
|
|
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,
|