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