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