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