@teach-in/react 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2UHA3DYG.mjs +62 -0
- package/dist/{chunk-LJIVY6GU.mjs → chunk-46SKVFMZ.mjs} +1 -1
- package/dist/{chunk-JDFRAN4S.mjs → chunk-5FFWQB7D.mjs} +12 -2
- package/dist/{chunk-544SDU73.mjs → chunk-BBUPZCY6.mjs} +1 -1
- package/dist/chunk-C2VWADF5.mjs +34 -0
- package/dist/{chunk-NLHQDWUK.mjs → chunk-CKJ5U5Q4.mjs} +1 -1
- package/dist/chunk-CUEG2BFV.mjs +34 -0
- package/dist/chunk-GTE5VEBV.mjs +68 -0
- package/dist/{chunk-CETCW7DS.mjs → chunk-IU2JYI7W.mjs} +1 -1
- package/dist/{chunk-KTUGFQWJ.mjs → chunk-KTWHCUYV.mjs} +1 -1
- package/dist/chunk-MCQGBAUS.mjs +73 -0
- package/dist/chunk-NSU66J5E.mjs +59 -0
- package/dist/{chunk-UFYLYN5Z.mjs → chunk-QFWSQOF6.mjs} +20 -2
- package/dist/{chunk-R7LDL5CU.mjs → chunk-R46SWVWL.mjs} +1 -1
- package/dist/{chunk-WFNNN6WU.mjs → chunk-RPIOTLYT.mjs} +1 -1
- package/dist/chunk-SEJXJZSK.mjs +64 -0
- package/dist/chunk-TUIN5YJW.mjs +33 -0
- package/dist/chunk-UQAG7TKJ.mjs +1 -0
- package/dist/chunk-VXYV37IM.mjs +74 -0
- package/dist/{chunk-J3OZNLTZ.mjs → chunk-WG4IPOHE.mjs} +5 -5
- package/dist/{chunk-AFVGHUW2.mjs → chunk-YZB4VBX7.mjs} +24 -2
- package/dist/index.js +658 -247
- package/dist/index.mjs +200 -184
- package/dist/ui/data/index.mjs +8 -8
- package/dist/ui/feedback/index.mjs +11 -11
- package/dist/ui/feedback/progress/index.mjs +3 -3
- package/dist/ui/form/index.js +447 -106
- package/dist/ui/form/index.mjs +30 -20
- package/dist/ui/form/rhf/fields/autocomplete-field.mjs +19 -13
- package/dist/ui/form/rhf/fields/checkbox-field.mjs +19 -13
- package/dist/ui/form/rhf/fields/date-picker-field.mjs +19 -13
- package/dist/ui/form/rhf/fields/email-field.js +147 -10
- package/dist/ui/form/rhf/fields/email-field.mjs +20 -14
- package/dist/ui/form/rhf/fields/index.d.ts +1 -0
- package/dist/ui/form/rhf/fields/index.js +443 -102
- package/dist/ui/form/rhf/fields/index.mjs +30 -20
- package/dist/ui/form/rhf/fields/input-field.js +153 -6
- package/dist/ui/form/rhf/fields/input-field.mjs +20 -14
- package/dist/ui/form/rhf/fields/radio-field.mjs +19 -13
- package/dist/ui/form/rhf/fields/search-field.d.ts +10 -0
- package/dist/ui/form/rhf/fields/search-field.js +296 -0
- package/dist/ui/form/rhf/fields/search-field.mjs +37 -0
- package/dist/ui/form/rhf/fields/select-field.js +136 -26
- package/dist/ui/form/rhf/fields/select-field.mjs +20 -14
- package/dist/ui/form/rhf/fields/switch-field.mjs +19 -13
- package/dist/ui/form/rhf/fields/text-field.js +147 -10
- package/dist/ui/form/rhf/fields/text-field.mjs +20 -14
- package/dist/ui/form/rhf/fields/textarea-field.mjs +19 -13
- package/dist/ui/form/rhf/index.js +443 -102
- package/dist/ui/form/rhf/index.mjs +30 -20
- package/dist/ui/format/index.mjs +6 -6
- package/dist/ui/index.js +658 -247
- package/dist/ui/index.mjs +199 -183
- package/dist/ui/inputs/clear-button.d.ts +5 -0
- package/dist/ui/inputs/clear-button.js +67 -0
- package/dist/ui/inputs/clear-button.mjs +8 -0
- package/dist/ui/inputs/email/email.js +144 -7
- package/dist/ui/inputs/email/email.mjs +4 -2
- package/dist/ui/inputs/email/index.js +144 -7
- package/dist/ui/inputs/email/index.mjs +4 -2
- package/dist/ui/inputs/index.d.ts +2 -0
- package/dist/ui/inputs/index.js +396 -59
- package/dist/ui/inputs/index.mjs +33 -21
- package/dist/ui/inputs/input/index.js +140 -3
- package/dist/ui/inputs/input/index.mjs +3 -1
- package/dist/ui/inputs/input/input.d.ts +1 -0
- package/dist/ui/inputs/input/input.js +140 -3
- package/dist/ui/inputs/input/input.mjs +3 -1
- package/dist/ui/inputs/input/use-input.d.ts +19 -0
- package/dist/ui/inputs/input/use-input.js +82 -0
- package/dist/ui/inputs/input/use-input.mjs +7 -0
- package/dist/ui/inputs/radio/index.mjs +3 -3
- package/dist/ui/inputs/search/index.d.ts +1 -0
- package/dist/ui/inputs/search/index.js +270 -0
- package/dist/ui/inputs/search/index.mjs +13 -0
- package/dist/ui/inputs/search/search.d.ts +7 -0
- package/dist/ui/inputs/search/search.js +268 -0
- package/dist/ui/inputs/search/search.mjs +12 -0
- package/dist/ui/inputs/search/use-search.d.ts +12 -0
- package/dist/ui/inputs/search/use-search.js +57 -0
- package/dist/ui/inputs/search/use-search.mjs +7 -0
- package/dist/ui/inputs/select/index.js +132 -22
- package/dist/ui/inputs/select/index.mjs +3 -1
- package/dist/ui/inputs/select/select.d.ts +4 -0
- package/dist/ui/inputs/select/select.js +132 -22
- package/dist/ui/inputs/select/select.mjs +3 -1
- package/dist/ui/inputs/select/use-select.d.ts +17 -0
- package/dist/ui/inputs/select/use-select.js +85 -0
- package/dist/ui/inputs/select/use-select.mjs +7 -0
- package/dist/ui/inputs/switch/favorite-switch.d.ts +23 -2
- package/dist/ui/inputs/switch/favorite-switch.js +34 -4
- package/dist/ui/inputs/switch/favorite-switch.mjs +1 -1
- package/dist/ui/inputs/switch/index.js +34 -4
- package/dist/ui/inputs/switch/index.mjs +3 -3
- package/dist/ui/inputs/text/index.js +144 -7
- package/dist/ui/inputs/text/index.mjs +4 -2
- package/dist/ui/inputs/text/text.js +144 -7
- package/dist/ui/inputs/text/text.mjs +4 -2
- package/dist/ui/layout/container/container.mjs +96 -89
- package/dist/ui/layout/container/index.mjs +96 -89
- package/dist/ui/layout/index.mjs +101 -94
- package/dist/ui/layout/page/index.mjs +7 -7
- package/dist/ui/layout/page/page-loading.mjs +6 -6
- package/dist/ui/layout/page/section-loading.mjs +6 -6
- package/dist/ui/navigation/index.mjs +9 -9
- package/dist/ui/overlays/index.mjs +8 -8
- package/dist/ui/provider/index.mjs +6 -6
- package/dist/ui/provider/ui-provider.mjs +6 -6
- package/dist/ui/surface/bento/bento.d.ts +2 -2
- package/dist/ui/surface/bento/bento.js +5 -5
- package/dist/ui/surface/bento/bento.mjs +1 -1
- package/dist/ui/surface/bento/index.js +5 -5
- package/dist/ui/surface/bento/index.mjs +1 -1
- package/dist/ui/surface/card/card.d.ts +2427 -5
- package/dist/ui/surface/card/card.js +29 -2
- package/dist/ui/surface/card/card.mjs +5 -1
- package/dist/ui/surface/card/index.js +29 -2
- package/dist/ui/surface/card/index.mjs +5 -1
- package/dist/ui/surface/index.js +34 -7
- package/dist/ui/surface/index.mjs +7 -3
- package/dist/ui/theme/colors/index.js +24 -2
- package/dist/ui/theme/colors/index.mjs +2 -2
- package/dist/ui/theme/colors/semantic.js +24 -2
- package/dist/ui/theme/colors/semantic.mjs +1 -1
- package/dist/ui/theme/colors/types.d.ts +2 -0
- package/dist/ui/theme/colors.js +24 -2
- package/dist/ui/theme/colors.mjs +2 -2
- package/dist/ui/theme/index.js +24 -2
- package/dist/ui/theme/index.mjs +3 -3
- package/dist/ui/theme/theme.js +24 -2
- package/dist/ui/theme/theme.mjs +3 -3
- package/package.json +1 -1
- package/dist/chunk-3YOW5DEZ.mjs +0 -45
- package/dist/chunk-E5QSNLSR.mjs +0 -38
- package/dist/chunk-V2G5QHZZ.mjs +0 -14
- /package/dist/{chunk-CZEO3U25.mjs → chunk-5RNCFTW5.mjs} +0 -0
- /package/dist/{chunk-Q6JSJOU4.mjs → chunk-PTCNYQVY.mjs} +0 -0
package/dist/ui/index.js
CHANGED
|
@@ -49,6 +49,7 @@ __export(ui_exports, {
|
|
|
49
49
|
CheckboxGroup: () => CheckboxGroup,
|
|
50
50
|
Chip: () => Chip,
|
|
51
51
|
CircularProgress: () => CircularProgress,
|
|
52
|
+
ClearButton: () => ClearButton,
|
|
52
53
|
Container: () => Container,
|
|
53
54
|
DatePicker: () => DatePicker,
|
|
54
55
|
DatePickerField: () => DatePickerField,
|
|
@@ -97,6 +98,8 @@ __export(ui_exports, {
|
|
|
97
98
|
RadioGroup: () => RadioGroup,
|
|
98
99
|
Root: () => Root2,
|
|
99
100
|
ScrollShadow: () => ScrollShadow,
|
|
101
|
+
Search: () => Search,
|
|
102
|
+
SearchField: () => SearchField,
|
|
100
103
|
Section: () => Section,
|
|
101
104
|
SectionActions: () => SectionActions,
|
|
102
105
|
SectionHeader: () => SectionHeader,
|
|
@@ -350,58 +353,361 @@ var DatePicker = import_react16.default.forwardRef(
|
|
|
350
353
|
DatePicker.displayName = "TeachInUI.DatePicker";
|
|
351
354
|
|
|
352
355
|
// src/ui/inputs/email/email.tsx
|
|
353
|
-
var
|
|
356
|
+
var import_react20 = __toESM(require("react"));
|
|
354
357
|
|
|
355
358
|
// src/ui/inputs/input/input.tsx
|
|
356
|
-
var
|
|
359
|
+
var import_react19 = __toESM(require("react"));
|
|
357
360
|
var import_input = require("@heroui/input");
|
|
361
|
+
var import_tailwind_variants = require("tailwind-variants");
|
|
362
|
+
|
|
363
|
+
// src/ui/inputs/clear-button.tsx
|
|
364
|
+
var import_react17 = __toESM(require("react"));
|
|
365
|
+
var import_button3 = require("@heroui/button");
|
|
366
|
+
var import_lucide_react = require("lucide-react");
|
|
358
367
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
359
|
-
var
|
|
360
|
-
|
|
368
|
+
var ClearButton = import_react17.default.forwardRef(
|
|
369
|
+
({ onClear }, ref) => {
|
|
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
|
+
}
|
|
361
456
|
});
|
|
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
|
+
);
|
|
362
502
|
Input.displayName = "TeachInUI.Input";
|
|
363
503
|
|
|
364
504
|
// src/ui/inputs/email/email.tsx
|
|
365
|
-
var
|
|
366
|
-
var Email =
|
|
367
|
-
return /* @__PURE__ */ (0,
|
|
505
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
506
|
+
var Email = import_react20.default.forwardRef(({ ...props }, ref) => {
|
|
507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
|
|
368
508
|
});
|
|
369
509
|
Email.displayName = "TeachInUI.Email";
|
|
370
510
|
|
|
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
|
+
|
|
371
595
|
// src/ui/inputs/select/select.tsx
|
|
372
|
-
var
|
|
596
|
+
var import_react24 = __toESM(require("react"));
|
|
373
597
|
var import_select = require("@heroui/select");
|
|
374
|
-
var
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
598
|
+
var import_tailwind_variants3 = require("tailwind-variants");
|
|
599
|
+
|
|
600
|
+
// src/ui/inputs/select/use-select.ts
|
|
601
|
+
var import_react23 = require("react");
|
|
602
|
+
function useSelect({
|
|
603
|
+
value,
|
|
604
|
+
onChange,
|
|
605
|
+
onClear,
|
|
606
|
+
selectionMode,
|
|
607
|
+
isClearable = true
|
|
608
|
+
}) {
|
|
609
|
+
const isMultiple = selectionMode === "multiple";
|
|
610
|
+
const [internalValue, setInternalValue] = (0, import_react23.useState)(
|
|
611
|
+
isMultiple ? [] : null
|
|
612
|
+
);
|
|
613
|
+
const isControlled = value !== void 0;
|
|
614
|
+
const currentValue = isControlled ? value : internalValue;
|
|
615
|
+
const hasValue = currentValue != null && (Array.isArray(currentValue) ? currentValue.length > 0 : currentValue !== "");
|
|
616
|
+
const handleChange = (0, import_react23.useCallback)(
|
|
617
|
+
(newValue) => {
|
|
618
|
+
if (!isControlled) {
|
|
619
|
+
setInternalValue(newValue);
|
|
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)(
|
|
396
691
|
import_select.Select,
|
|
397
692
|
{
|
|
398
693
|
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
|
+
] }),
|
|
399
704
|
items,
|
|
400
705
|
selectedKeys,
|
|
401
706
|
selectionMode,
|
|
707
|
+
variant,
|
|
402
708
|
onSelectionChange: handleSelectionChange,
|
|
403
709
|
...props,
|
|
404
|
-
children: (item) => /* @__PURE__ */ (0,
|
|
710
|
+
children: (item) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_select.SelectItem, { children: item.label }, item.key)
|
|
405
711
|
}
|
|
406
712
|
);
|
|
407
713
|
}
|
|
@@ -409,42 +715,72 @@ var Select = import_react19.default.forwardRef(
|
|
|
409
715
|
Select.displayName = "TeachInUI.Select";
|
|
410
716
|
|
|
411
717
|
// src/ui/inputs/switch/switch.tsx
|
|
412
|
-
var
|
|
718
|
+
var import_react25 = __toESM(require("react"));
|
|
413
719
|
var import_switch = require("@heroui/switch");
|
|
414
|
-
var
|
|
415
|
-
var Switch =
|
|
416
|
-
return /* @__PURE__ */ (0,
|
|
720
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
721
|
+
var Switch = import_react25.default.forwardRef(({ ...props }, ref) => {
|
|
722
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_switch.Switch, { ref, ...props });
|
|
417
723
|
});
|
|
418
724
|
Switch.displayName = "TeachInUI.Switch";
|
|
419
725
|
|
|
420
726
|
// src/ui/inputs/switch/favorite-switch.tsx
|
|
421
727
|
var import_switch2 = require("@heroui/switch");
|
|
422
|
-
var
|
|
423
|
-
var
|
|
424
|
-
var
|
|
425
|
-
var bookmarkVariants = (0,
|
|
426
|
-
base: "
|
|
728
|
+
var import_lucide_react3 = require("lucide-react");
|
|
729
|
+
var import_tailwind_variants4 = require("tailwind-variants");
|
|
730
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
731
|
+
var bookmarkVariants = (0, import_tailwind_variants4.tv)({
|
|
732
|
+
base: "stroke-default-400 group-hover:fill-primary-100 group-hover:stroke-default-400",
|
|
427
733
|
variants: {
|
|
734
|
+
size: {
|
|
735
|
+
sm: "size-6",
|
|
736
|
+
md: "size-8",
|
|
737
|
+
lg: "size-10"
|
|
738
|
+
},
|
|
428
739
|
isSelected: {
|
|
429
740
|
true: "stroke-primary fill-primary-100"
|
|
430
741
|
}
|
|
742
|
+
},
|
|
743
|
+
defaultVariants: {
|
|
744
|
+
size: "md"
|
|
745
|
+
}
|
|
746
|
+
});
|
|
747
|
+
var wrapperVariants = (0, import_tailwind_variants4.tv)({
|
|
748
|
+
base: "flex cursor-pointer items-center justify-center rounded-sm bg-transparent!",
|
|
749
|
+
variants: {
|
|
750
|
+
size: {
|
|
751
|
+
sm: "h-8 w-8",
|
|
752
|
+
md: "h-10 w-10",
|
|
753
|
+
lg: "h-12 w-12"
|
|
754
|
+
}
|
|
755
|
+
},
|
|
756
|
+
defaultVariants: {
|
|
757
|
+
size: "md"
|
|
431
758
|
}
|
|
432
759
|
});
|
|
433
|
-
function FavoriteSwitch({ isSelected, onValueChange }) {
|
|
760
|
+
function FavoriteSwitch({ isSelected, onValueChange, size }) {
|
|
434
761
|
const { Component, slots, getBaseProps, getInputProps, getWrapperProps } = (0, import_switch2.useSwitch)({
|
|
435
762
|
isSelected,
|
|
436
763
|
onValueChange
|
|
437
764
|
});
|
|
438
|
-
return /* @__PURE__ */ (0,
|
|
439
|
-
/* @__PURE__ */ (0,
|
|
440
|
-
/* @__PURE__ */ (0,
|
|
765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Component, { ...getBaseProps(), children: [
|
|
766
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "sr-only", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("input", { ...getInputProps() }) }),
|
|
767
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
441
768
|
"div",
|
|
442
769
|
{
|
|
443
770
|
...getWrapperProps(),
|
|
444
771
|
className: slots.wrapper({
|
|
445
|
-
class:
|
|
772
|
+
class: wrapperVariants({ size })
|
|
446
773
|
}),
|
|
447
|
-
children: /* @__PURE__ */ (0,
|
|
774
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
775
|
+
import_lucide_react3.BookmarkIcon,
|
|
776
|
+
{
|
|
777
|
+
absoluteStrokeWidth: true,
|
|
778
|
+
className: bookmarkVariants({ isSelected, size }),
|
|
779
|
+
strokeLinecap: "round",
|
|
780
|
+
strokeLinejoin: "round",
|
|
781
|
+
strokeWidth: 1.5
|
|
782
|
+
}
|
|
783
|
+
)
|
|
448
784
|
}
|
|
449
785
|
)
|
|
450
786
|
] });
|
|
@@ -455,45 +791,55 @@ var import_radio = require("@heroui/radio");
|
|
|
455
791
|
var Radio = Object.assign(import_radio.Radio, { displayName: "TeachInUI.Radio" });
|
|
456
792
|
|
|
457
793
|
// src/ui/inputs/radio/radio-group.tsx
|
|
458
|
-
var
|
|
794
|
+
var import_react26 = __toESM(require("react"));
|
|
459
795
|
var import_radio2 = require("@heroui/radio");
|
|
460
|
-
var
|
|
461
|
-
var RadioGroup =
|
|
796
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
797
|
+
var RadioGroup = import_react26.default.forwardRef(
|
|
462
798
|
(props, ref) => {
|
|
463
|
-
return /* @__PURE__ */ (0,
|
|
799
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radio2.RadioGroup, { ref, ...props });
|
|
464
800
|
}
|
|
465
801
|
);
|
|
466
802
|
RadioGroup.displayName = "TeachInUI.RadioGroup";
|
|
467
803
|
|
|
468
804
|
// src/ui/inputs/text/text.tsx
|
|
469
|
-
var
|
|
470
|
-
var
|
|
471
|
-
var Text =
|
|
472
|
-
return /* @__PURE__ */ (0,
|
|
805
|
+
var import_react27 = __toESM(require("react"));
|
|
806
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
807
|
+
var Text = import_react27.default.forwardRef(({ ...props }, ref) => {
|
|
808
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Input, { ref, type: "text", ...props });
|
|
473
809
|
});
|
|
474
810
|
Text.displayName = "TeachInUI.Text";
|
|
475
811
|
|
|
476
812
|
// src/ui/inputs/textarea/textarea.tsx
|
|
477
|
-
var
|
|
478
|
-
var
|
|
479
|
-
var
|
|
480
|
-
var Textarea =
|
|
813
|
+
var import_input6 = require("@heroui/input");
|
|
814
|
+
var import_react28 = __toESM(require("react"));
|
|
815
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
816
|
+
var Textarea = import_react28.default.forwardRef(
|
|
481
817
|
({ minRows = 4, ...props }, ref) => {
|
|
482
|
-
return /* @__PURE__ */ (0,
|
|
818
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_input6.Textarea, { ref, minRows, ...props });
|
|
483
819
|
}
|
|
484
820
|
);
|
|
485
821
|
Textarea.displayName = "TeachInUI.Textarea";
|
|
486
822
|
|
|
487
823
|
// src/ui/form/rhf/fields/input-field.tsx
|
|
488
|
-
var
|
|
824
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
489
825
|
function InputField({ name, ...props }) {
|
|
490
826
|
const { control } = (0, import_react_hook_form.useFormContext)();
|
|
491
|
-
return /* @__PURE__ */ (0,
|
|
827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
492
828
|
import_react_hook_form.Controller,
|
|
493
829
|
{
|
|
494
830
|
control,
|
|
495
831
|
name,
|
|
496
|
-
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
832
|
+
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
833
|
+
Input,
|
|
834
|
+
{
|
|
835
|
+
...props,
|
|
836
|
+
...field,
|
|
837
|
+
ref,
|
|
838
|
+
errorMessage: error == null ? void 0 : error.message,
|
|
839
|
+
isInvalid: !!error,
|
|
840
|
+
onValueChange: field.onChange
|
|
841
|
+
}
|
|
842
|
+
)
|
|
497
843
|
}
|
|
498
844
|
);
|
|
499
845
|
}
|
|
@@ -501,15 +847,15 @@ InputField.displayName = "TeachInUI.InputField";
|
|
|
501
847
|
|
|
502
848
|
// src/ui/form/rhf/fields/text-field.tsx
|
|
503
849
|
var import_react_hook_form2 = require("react-hook-form");
|
|
504
|
-
var
|
|
850
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
505
851
|
function TextField({ name, ...props }) {
|
|
506
852
|
const { control } = (0, import_react_hook_form2.useFormContext)();
|
|
507
|
-
return /* @__PURE__ */ (0,
|
|
853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
508
854
|
import_react_hook_form2.Controller,
|
|
509
855
|
{
|
|
510
856
|
control,
|
|
511
857
|
name,
|
|
512
|
-
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
858
|
+
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
|
|
513
859
|
}
|
|
514
860
|
);
|
|
515
861
|
}
|
|
@@ -517,31 +863,57 @@ TextField.displayName = "TeachInUI.TextField";
|
|
|
517
863
|
|
|
518
864
|
// src/ui/form/rhf/fields/email-field.tsx
|
|
519
865
|
var import_react_hook_form3 = require("react-hook-form");
|
|
520
|
-
var
|
|
866
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
521
867
|
function EmailField({ name, ...props }) {
|
|
522
868
|
const { control } = (0, import_react_hook_form3.useFormContext)();
|
|
523
|
-
return /* @__PURE__ */ (0,
|
|
869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
524
870
|
import_react_hook_form3.Controller,
|
|
525
871
|
{
|
|
526
872
|
control,
|
|
527
873
|
name,
|
|
528
|
-
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
874
|
+
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
|
|
529
875
|
}
|
|
530
876
|
);
|
|
531
877
|
}
|
|
532
878
|
EmailField.displayName = "TeachInUI.EmailField";
|
|
533
879
|
|
|
534
|
-
// src/ui/form/rhf/fields/
|
|
880
|
+
// src/ui/form/rhf/fields/search-field.tsx
|
|
535
881
|
var import_react_hook_form4 = require("react-hook-form");
|
|
536
|
-
var
|
|
537
|
-
function
|
|
882
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
883
|
+
function SearchField({ name, ...props }) {
|
|
538
884
|
const { control } = (0, import_react_hook_form4.useFormContext)();
|
|
539
|
-
return /* @__PURE__ */ (0,
|
|
885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
540
886
|
import_react_hook_form4.Controller,
|
|
541
887
|
{
|
|
542
888
|
control,
|
|
543
889
|
name,
|
|
544
|
-
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
890
|
+
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
891
|
+
Search,
|
|
892
|
+
{
|
|
893
|
+
...props,
|
|
894
|
+
...field,
|
|
895
|
+
ref,
|
|
896
|
+
errorMessage: error == null ? void 0 : error.message,
|
|
897
|
+
isInvalid: !!error,
|
|
898
|
+
onValueChange: field.onChange
|
|
899
|
+
}
|
|
900
|
+
)
|
|
901
|
+
}
|
|
902
|
+
);
|
|
903
|
+
}
|
|
904
|
+
SearchField.displayName = "TeachInUI.SearchField";
|
|
905
|
+
|
|
906
|
+
// src/ui/form/rhf/fields/textarea-field.tsx
|
|
907
|
+
var import_react_hook_form5 = require("react-hook-form");
|
|
908
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
909
|
+
function TextareaField({ name, ...props }) {
|
|
910
|
+
const { control } = (0, import_react_hook_form5.useFormContext)();
|
|
911
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
912
|
+
import_react_hook_form5.Controller,
|
|
913
|
+
{
|
|
914
|
+
control,
|
|
915
|
+
name,
|
|
916
|
+
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
545
917
|
Textarea,
|
|
546
918
|
{
|
|
547
919
|
...props,
|
|
@@ -557,16 +929,16 @@ function TextareaField({ name, ...props }) {
|
|
|
557
929
|
TextareaField.displayName = "TeachInUI.TextareaField";
|
|
558
930
|
|
|
559
931
|
// src/ui/form/rhf/fields/select-field.tsx
|
|
560
|
-
var
|
|
561
|
-
var
|
|
932
|
+
var import_react_hook_form6 = require("react-hook-form");
|
|
933
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
562
934
|
function SelectField({ name, selectionMode, ...props }) {
|
|
563
|
-
const { control } = (0,
|
|
564
|
-
return /* @__PURE__ */ (0,
|
|
565
|
-
|
|
935
|
+
const { control } = (0, import_react_hook_form6.useFormContext)();
|
|
936
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
937
|
+
import_react_hook_form6.Controller,
|
|
566
938
|
{
|
|
567
939
|
control,
|
|
568
940
|
name,
|
|
569
|
-
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
941
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
570
942
|
Select,
|
|
571
943
|
{
|
|
572
944
|
selectionMode,
|
|
@@ -583,16 +955,16 @@ function SelectField({ name, selectionMode, ...props }) {
|
|
|
583
955
|
SelectField.displayName = "TeachInUI.SelectField";
|
|
584
956
|
|
|
585
957
|
// src/ui/form/rhf/fields/autocomplete-field.tsx
|
|
586
|
-
var
|
|
587
|
-
var
|
|
958
|
+
var import_react_hook_form7 = require("react-hook-form");
|
|
959
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
588
960
|
function AutocompleteField({ name, ...props }) {
|
|
589
|
-
const { control } = (0,
|
|
590
|
-
return /* @__PURE__ */ (0,
|
|
591
|
-
|
|
961
|
+
const { control } = (0, import_react_hook_form7.useFormContext)();
|
|
962
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
963
|
+
import_react_hook_form7.Controller,
|
|
592
964
|
{
|
|
593
965
|
control,
|
|
594
966
|
name,
|
|
595
|
-
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
967
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
596
968
|
Autocomplete,
|
|
597
969
|
{
|
|
598
970
|
...props,
|
|
@@ -608,16 +980,16 @@ function AutocompleteField({ name, ...props }) {
|
|
|
608
980
|
AutocompleteField.displayName = "TeachInUI.AutocompleteField";
|
|
609
981
|
|
|
610
982
|
// src/ui/form/rhf/fields/date-picker-field.tsx
|
|
611
|
-
var
|
|
612
|
-
var
|
|
983
|
+
var import_react_hook_form8 = require("react-hook-form");
|
|
984
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
613
985
|
function DatePickerField({ name, ...props }) {
|
|
614
|
-
const { control } = (0,
|
|
615
|
-
return /* @__PURE__ */ (0,
|
|
616
|
-
|
|
986
|
+
const { control } = (0, import_react_hook_form8.useFormContext)();
|
|
987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
988
|
+
import_react_hook_form8.Controller,
|
|
617
989
|
{
|
|
618
990
|
control,
|
|
619
991
|
name,
|
|
620
|
-
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
992
|
+
render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
621
993
|
DatePicker,
|
|
622
994
|
{
|
|
623
995
|
...props,
|
|
@@ -633,18 +1005,18 @@ function DatePickerField({ name, ...props }) {
|
|
|
633
1005
|
DatePickerField.displayName = "TeachInUI.DatePickerField";
|
|
634
1006
|
|
|
635
1007
|
// src/ui/form/rhf/fields/checkbox-field.tsx
|
|
636
|
-
var
|
|
637
|
-
var
|
|
1008
|
+
var import_react_hook_form9 = require("react-hook-form");
|
|
1009
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
638
1010
|
function CheckboxField({ name, ...props }) {
|
|
639
|
-
const { control } = (0,
|
|
640
|
-
return /* @__PURE__ */ (0,
|
|
641
|
-
|
|
1011
|
+
const { control } = (0, import_react_hook_form9.useFormContext)();
|
|
1012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1013
|
+
import_react_hook_form9.Controller,
|
|
642
1014
|
{
|
|
643
1015
|
control,
|
|
644
1016
|
name,
|
|
645
|
-
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
646
|
-
/* @__PURE__ */ (0,
|
|
647
|
-
error && /* @__PURE__ */ (0,
|
|
1017
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { children: [
|
|
1018
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
|
|
1019
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-tiny text-danger", children: error.message })
|
|
648
1020
|
] })
|
|
649
1021
|
}
|
|
650
1022
|
);
|
|
@@ -652,18 +1024,18 @@ function CheckboxField({ name, ...props }) {
|
|
|
652
1024
|
CheckboxField.displayName = "TeachInUI.CheckboxField";
|
|
653
1025
|
|
|
654
1026
|
// src/ui/form/rhf/fields/switch-field.tsx
|
|
655
|
-
var
|
|
656
|
-
var
|
|
1027
|
+
var import_react_hook_form10 = require("react-hook-form");
|
|
1028
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
657
1029
|
function SwitchField({ name, ...props }) {
|
|
658
|
-
const { control } = (0,
|
|
659
|
-
return /* @__PURE__ */ (0,
|
|
660
|
-
|
|
1030
|
+
const { control } = (0, import_react_hook_form10.useFormContext)();
|
|
1031
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1032
|
+
import_react_hook_form10.Controller,
|
|
661
1033
|
{
|
|
662
1034
|
control,
|
|
663
1035
|
name,
|
|
664
|
-
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
665
|
-
/* @__PURE__ */ (0,
|
|
666
|
-
error && /* @__PURE__ */ (0,
|
|
1036
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
|
|
1037
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
|
|
1038
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-tiny text-danger", children: error.message })
|
|
667
1039
|
] })
|
|
668
1040
|
}
|
|
669
1041
|
);
|
|
@@ -671,16 +1043,16 @@ function SwitchField({ name, ...props }) {
|
|
|
671
1043
|
SwitchField.displayName = "TeachInUI.SwitchField";
|
|
672
1044
|
|
|
673
1045
|
// src/ui/form/rhf/fields/radio-field.tsx
|
|
674
|
-
var
|
|
675
|
-
var
|
|
1046
|
+
var import_react_hook_form11 = require("react-hook-form");
|
|
1047
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
676
1048
|
function RadioField({ name, ...props }) {
|
|
677
|
-
const { control } = (0,
|
|
678
|
-
return /* @__PURE__ */ (0,
|
|
679
|
-
|
|
1049
|
+
const { control } = (0, import_react_hook_form11.useFormContext)();
|
|
1050
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1051
|
+
import_react_hook_form11.Controller,
|
|
680
1052
|
{
|
|
681
1053
|
control,
|
|
682
1054
|
name,
|
|
683
|
-
render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0,
|
|
1055
|
+
render: ({ field: { ref, value, onChange, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
684
1056
|
RadioGroup,
|
|
685
1057
|
{
|
|
686
1058
|
...props,
|
|
@@ -699,15 +1071,15 @@ RadioField.displayName = "TeachInUI.RadioField";
|
|
|
699
1071
|
|
|
700
1072
|
// src/ui/form/form.tsx
|
|
701
1073
|
var import_form = require("@heroui/form");
|
|
702
|
-
var
|
|
703
|
-
var
|
|
704
|
-
var Form =
|
|
705
|
-
return /* @__PURE__ */ (0,
|
|
1074
|
+
var import_react29 = __toESM(require("react"));
|
|
1075
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1076
|
+
var Form = import_react29.default.forwardRef(({ ...props }, ref) => {
|
|
1077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_form.Form, { ref, ...props });
|
|
706
1078
|
});
|
|
707
1079
|
Form.displayName = "TeachInUI.Form";
|
|
708
1080
|
|
|
709
1081
|
// src/ui/format/datetime.tsx
|
|
710
|
-
var
|
|
1082
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
711
1083
|
var defaultFormat = {
|
|
712
1084
|
day: "numeric",
|
|
713
1085
|
month: "long",
|
|
@@ -723,15 +1095,15 @@ function Datetime({
|
|
|
723
1095
|
fallback = "\u2014"
|
|
724
1096
|
}) {
|
|
725
1097
|
const formatter = new Intl.DateTimeFormat(locale, format);
|
|
726
|
-
if (!value) return /* @__PURE__ */ (0,
|
|
1098
|
+
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: fallback });
|
|
727
1099
|
const date = value instanceof Date ? value : new Date(value);
|
|
728
|
-
if (isNaN(date.getTime())) return /* @__PURE__ */ (0,
|
|
729
|
-
return /* @__PURE__ */ (0,
|
|
1100
|
+
if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: fallback });
|
|
1101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: formatter.format(date) });
|
|
730
1102
|
}
|
|
731
1103
|
Datetime.displayName = "TeachInUI.FormatDatetime";
|
|
732
1104
|
|
|
733
1105
|
// src/ui/format/date.tsx
|
|
734
|
-
var
|
|
1106
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
735
1107
|
var defaultFormat2 = {
|
|
736
1108
|
day: "numeric",
|
|
737
1109
|
month: "long",
|
|
@@ -744,15 +1116,15 @@ function DateFormat({
|
|
|
744
1116
|
fallback = "\u2014"
|
|
745
1117
|
}) {
|
|
746
1118
|
const formatter = new Intl.DateTimeFormat(locale, format);
|
|
747
|
-
if (!value) return /* @__PURE__ */ (0,
|
|
1119
|
+
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
|
|
748
1120
|
const date = value instanceof Date ? value : new Date(value);
|
|
749
|
-
if (isNaN(date.getTime())) return /* @__PURE__ */ (0,
|
|
750
|
-
return /* @__PURE__ */ (0,
|
|
1121
|
+
if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: fallback });
|
|
1122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: formatter.format(date) });
|
|
751
1123
|
}
|
|
752
1124
|
DateFormat.displayName = "TeachInUI.FormatDate";
|
|
753
1125
|
|
|
754
1126
|
// src/ui/format/time.tsx
|
|
755
|
-
var
|
|
1127
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
756
1128
|
var defaultFormat3 = {
|
|
757
1129
|
hour: "2-digit",
|
|
758
1130
|
minute: "2-digit"
|
|
@@ -764,15 +1136,15 @@ function Time({
|
|
|
764
1136
|
fallback = "\u2014"
|
|
765
1137
|
}) {
|
|
766
1138
|
const formatter = new Intl.DateTimeFormat(locale, format);
|
|
767
|
-
if (!value) return /* @__PURE__ */ (0,
|
|
1139
|
+
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
|
|
768
1140
|
const date = value instanceof Date ? value : new Date(value);
|
|
769
|
-
if (isNaN(date.getTime())) return /* @__PURE__ */ (0,
|
|
770
|
-
return /* @__PURE__ */ (0,
|
|
1141
|
+
if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: fallback });
|
|
1142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: formatter.format(date) });
|
|
771
1143
|
}
|
|
772
1144
|
Time.displayName = "TeachInUI.FormatTime";
|
|
773
1145
|
|
|
774
1146
|
// src/ui/format/currency.tsx
|
|
775
|
-
var
|
|
1147
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
776
1148
|
function Currency({
|
|
777
1149
|
amount,
|
|
778
1150
|
currency = "RUB",
|
|
@@ -787,23 +1159,23 @@ function Currency({
|
|
|
787
1159
|
maximumFractionDigits: decimals
|
|
788
1160
|
}
|
|
789
1161
|
});
|
|
790
|
-
return /* @__PURE__ */ (0,
|
|
1162
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: formatter.format(amount) });
|
|
791
1163
|
}
|
|
792
1164
|
Currency.displayName = "TeachInUI.FormatCurrency";
|
|
793
1165
|
|
|
794
1166
|
// src/ui/format/number.tsx
|
|
795
|
-
var
|
|
1167
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
796
1168
|
function Number2({ value, decimals, locale = "ru-RU" }) {
|
|
797
1169
|
const formatter = new Intl.NumberFormat(locale, {
|
|
798
1170
|
minimumFractionDigits: decimals != null ? decimals : 0,
|
|
799
1171
|
maximumFractionDigits: decimals != null ? decimals : 2
|
|
800
1172
|
});
|
|
801
|
-
return /* @__PURE__ */ (0,
|
|
1173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: formatter.format(value) });
|
|
802
1174
|
}
|
|
803
1175
|
Number2.displayName = "TeachInUI.FormatNumber";
|
|
804
1176
|
|
|
805
1177
|
// src/ui/format/percent.tsx
|
|
806
|
-
var
|
|
1178
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
807
1179
|
function Percent({
|
|
808
1180
|
value,
|
|
809
1181
|
decimals = 1,
|
|
@@ -816,12 +1188,12 @@ function Percent({
|
|
|
816
1188
|
maximumFractionDigits: decimals
|
|
817
1189
|
});
|
|
818
1190
|
const normalizedValue = unit === "percent" ? value / 100 : value;
|
|
819
|
-
return /* @__PURE__ */ (0,
|
|
1191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: formatter.format(normalizedValue) });
|
|
820
1192
|
}
|
|
821
1193
|
Percent.displayName = "TeachInUI.FormatPercent";
|
|
822
1194
|
|
|
823
1195
|
// src/ui/format/plural.tsx
|
|
824
|
-
var
|
|
1196
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
825
1197
|
function Plural({
|
|
826
1198
|
count,
|
|
827
1199
|
one,
|
|
@@ -842,12 +1214,12 @@ function Plural({
|
|
|
842
1214
|
};
|
|
843
1215
|
const selectedForm = forms[rule];
|
|
844
1216
|
const result = showCount ? `${count} ${selectedForm}` : selectedForm;
|
|
845
|
-
return /* @__PURE__ */ (0,
|
|
1217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: result });
|
|
846
1218
|
}
|
|
847
1219
|
Plural.displayName = "TeachInUI.FormatPlural";
|
|
848
1220
|
|
|
849
1221
|
// src/ui/format/duration.tsx
|
|
850
|
-
var
|
|
1222
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
851
1223
|
function Duration({
|
|
852
1224
|
minutes = 0,
|
|
853
1225
|
hours = 0,
|
|
@@ -869,25 +1241,25 @@ function Duration({
|
|
|
869
1241
|
if (remainingMinutes > 0 || totalDays === 0 && totalHours === 0) {
|
|
870
1242
|
parts.push(compact ? `${remainingMinutes}\u043C` : `${remainingMinutes} \u043C\u0438\u043D`);
|
|
871
1243
|
}
|
|
872
|
-
return /* @__PURE__ */ (0,
|
|
1244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_jsx_runtime46.Fragment, { children: parts.join(" ") });
|
|
873
1245
|
}
|
|
874
1246
|
Duration.displayName = "TeachInUI.FormatDuration";
|
|
875
1247
|
|
|
876
1248
|
// src/ui/format/boolean.tsx
|
|
877
|
-
var
|
|
1249
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
878
1250
|
function Boolean({
|
|
879
1251
|
value,
|
|
880
1252
|
trueLabel = "\u0414\u0430",
|
|
881
1253
|
falseLabel = "\u041D\u0435\u0442",
|
|
882
1254
|
nullLabel = "\u2014"
|
|
883
1255
|
}) {
|
|
884
|
-
if (value === null || value === void 0) return /* @__PURE__ */ (0,
|
|
885
|
-
return /* @__PURE__ */ (0,
|
|
1256
|
+
if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: nullLabel });
|
|
1257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: value ? trueLabel : falseLabel });
|
|
886
1258
|
}
|
|
887
1259
|
Boolean.displayName = "TeachInUI.FormatBoolean";
|
|
888
1260
|
|
|
889
1261
|
// src/ui/format/uuid.tsx
|
|
890
|
-
var
|
|
1262
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
891
1263
|
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}$/;
|
|
892
1264
|
function normalizeUuid(value) {
|
|
893
1265
|
const trimmed = value.trim();
|
|
@@ -910,24 +1282,24 @@ function Uuid({
|
|
|
910
1282
|
showVersion = false,
|
|
911
1283
|
invalidFallback = "\u2014"
|
|
912
1284
|
}) {
|
|
913
|
-
if (!value) return /* @__PURE__ */ (0,
|
|
1285
|
+
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: invalidFallback });
|
|
914
1286
|
const normalized = normalizeUuid(value);
|
|
915
|
-
if (!normalized) return /* @__PURE__ */ (0,
|
|
1287
|
+
if (!normalized) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: invalidFallback });
|
|
916
1288
|
const formatted = letterCase === "upper" ? normalized.toUpperCase() : normalized;
|
|
917
|
-
if (!showVersion) return /* @__PURE__ */ (0,
|
|
1289
|
+
if (!showVersion) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: formatted });
|
|
918
1290
|
const version = detectUuidVersion(normalized);
|
|
919
|
-
return /* @__PURE__ */ (0,
|
|
1291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: version !== null ? `${formatted} (v${version})` : formatted });
|
|
920
1292
|
}
|
|
921
1293
|
Uuid.displayName = "TeachInUI.FormatUUID";
|
|
922
1294
|
|
|
923
1295
|
// src/ui/surface/bento/bento.tsx
|
|
924
|
-
var
|
|
925
|
-
var
|
|
926
|
-
var bento = (0,
|
|
927
|
-
base: "
|
|
1296
|
+
var import_tailwind_variants5 = require("tailwind-variants");
|
|
1297
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
1298
|
+
var bento = (0, import_tailwind_variants5.tv)({
|
|
1299
|
+
base: "p-8 transition-colors",
|
|
928
1300
|
variants: {
|
|
929
1301
|
color: {
|
|
930
|
-
default: "bg-
|
|
1302
|
+
default: "bg-content1 text-foreground",
|
|
931
1303
|
primary: "bg-primary-50 text-primary-700",
|
|
932
1304
|
secondary: "bg-secondary-50 text-secondary-700",
|
|
933
1305
|
success: "bg-success-50 text-success-700",
|
|
@@ -936,9 +1308,9 @@ var bento = (0, import_tailwind_variants2.tv)({
|
|
|
936
1308
|
},
|
|
937
1309
|
radius: {
|
|
938
1310
|
none: "rounded-none",
|
|
939
|
-
sm: "rounded-
|
|
940
|
-
md: "rounded-
|
|
941
|
-
lg: "rounded-
|
|
1311
|
+
sm: "rounded-lg",
|
|
1312
|
+
md: "rounded-2xl",
|
|
1313
|
+
lg: "rounded-3xl",
|
|
942
1314
|
full: "rounded-full"
|
|
943
1315
|
},
|
|
944
1316
|
shadow: {
|
|
@@ -960,28 +1332,49 @@ var bento = (0, import_tailwind_variants2.tv)({
|
|
|
960
1332
|
}
|
|
961
1333
|
});
|
|
962
1334
|
var Bento = ({ className, ...props }) => {
|
|
963
|
-
return /* @__PURE__ */ (0,
|
|
1335
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: bento({ ...props, className }), ...props });
|
|
964
1336
|
};
|
|
965
1337
|
Bento.displayName = "TeachInUI.Bento";
|
|
966
1338
|
|
|
967
1339
|
// src/ui/surface/card/card.tsx
|
|
968
|
-
var
|
|
1340
|
+
var import_react30 = __toESM(require("react"));
|
|
969
1341
|
var import_card = require("@heroui/card");
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
1342
|
+
|
|
1343
|
+
// src/ui/style/css.ts
|
|
1344
|
+
var import_clsx = require("clsx");
|
|
1345
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
1346
|
+
function cn(...inputs) {
|
|
1347
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
// src/ui/surface/card/card.tsx
|
|
1351
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
1352
|
+
var CardBase = extendVariants2(import_card.Card, {
|
|
1353
|
+
variants: {
|
|
1354
|
+
radius: {
|
|
1355
|
+
sm: { base: "rounded-lg" },
|
|
1356
|
+
md: { base: "rounded-2xl" },
|
|
1357
|
+
lg: { base: "rounded-3xl" }
|
|
1358
|
+
}
|
|
1359
|
+
},
|
|
1360
|
+
defaultVariants: {
|
|
1361
|
+
shadow: "none"
|
|
1362
|
+
}
|
|
1363
|
+
});
|
|
1364
|
+
var Root = import_react30.default.forwardRef(({ children, className, ...props }, ref) => {
|
|
1365
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(CardBase, { ref, className: cn("bg-default-100", className), ...props, children });
|
|
973
1366
|
});
|
|
974
1367
|
Root.displayName = "TeachInUI.Card.Root";
|
|
975
|
-
var Header =
|
|
976
|
-
return /* @__PURE__ */ (0,
|
|
1368
|
+
var Header = import_react30.default.forwardRef(({ children, ...props }, ref) => {
|
|
1369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardHeader, { ref, ...props, children });
|
|
977
1370
|
});
|
|
978
1371
|
Header.displayName = "TeachInUI.Card.Header";
|
|
979
|
-
var Body =
|
|
980
|
-
return /* @__PURE__ */ (0,
|
|
1372
|
+
var Body = import_react30.default.forwardRef(({ children, ...props }, ref) => {
|
|
1373
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardBody, { ref, ...props, children });
|
|
981
1374
|
});
|
|
982
1375
|
Body.displayName = "TeachInUI.Card.Body";
|
|
983
|
-
var Footer =
|
|
984
|
-
return /* @__PURE__ */ (0,
|
|
1376
|
+
var Footer = import_react30.default.forwardRef(({ children, ...props }, ref) => {
|
|
1377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_card.CardFooter, { ref, ...props, children });
|
|
985
1378
|
});
|
|
986
1379
|
Footer.displayName = "TeachInUI.Card.Footer";
|
|
987
1380
|
var Card = {
|
|
@@ -993,9 +1386,9 @@ var Card = {
|
|
|
993
1386
|
|
|
994
1387
|
// src/ui/layout/container/container.tsx
|
|
995
1388
|
var import_react_slot = require("@radix-ui/react-slot");
|
|
996
|
-
var
|
|
997
|
-
var
|
|
998
|
-
var variants = (0,
|
|
1389
|
+
var import_tailwind_variants6 = require("tailwind-variants");
|
|
1390
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
1391
|
+
var variants = (0, import_tailwind_variants6.tv)({
|
|
999
1392
|
base: "w-full mx-auto px-6",
|
|
1000
1393
|
variants: {
|
|
1001
1394
|
size: {
|
|
@@ -1014,58 +1407,58 @@ var variants = (0, import_tailwind_variants3.tv)({
|
|
|
1014
1407
|
});
|
|
1015
1408
|
var Container = ({ children, asChild = false, className, size, ...props }) => {
|
|
1016
1409
|
const Comp = asChild ? import_react_slot.Slot : "div";
|
|
1017
|
-
return /* @__PURE__ */ (0,
|
|
1410
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
|
|
1018
1411
|
};
|
|
1019
1412
|
Container.displayName = "TeachInUI.Container";
|
|
1020
1413
|
|
|
1021
1414
|
// src/ui/layout/page/breadcrumbs.tsx
|
|
1022
1415
|
var import_breadcrumbs = require("@heroui/breadcrumbs");
|
|
1023
|
-
var
|
|
1024
|
-
var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0,
|
|
1416
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
1417
|
+
var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
|
|
1025
1418
|
|
|
1026
1419
|
// src/ui/layout/page/page-content.tsx
|
|
1027
|
-
var
|
|
1420
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
1028
1421
|
var Root2 = ({
|
|
1029
1422
|
children,
|
|
1030
1423
|
breadcrumbs = []
|
|
1031
|
-
}) => /* @__PURE__ */ (0,
|
|
1032
|
-
breadcrumbs.length > 0 && /* @__PURE__ */ (0,
|
|
1424
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col gap-6", children: [
|
|
1425
|
+
breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Breadcrumbs, { items: breadcrumbs }),
|
|
1033
1426
|
children
|
|
1034
1427
|
] });
|
|
1035
1428
|
Root2.displayName = "TeachInUI.PageContent.Root";
|
|
1036
|
-
var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0,
|
|
1429
|
+
var Header2 = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
|
|
1037
1430
|
Header2.displayName = "TeachInUI.PageContent.Header";
|
|
1038
1431
|
var Title = ({
|
|
1039
1432
|
children,
|
|
1040
1433
|
...others
|
|
1041
|
-
}) => /* @__PURE__ */ (0,
|
|
1434
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
|
|
1042
1435
|
Title.displayName = "TeachInUI.PageContent.Title";
|
|
1043
1436
|
var Actions = ({
|
|
1044
1437
|
children,
|
|
1045
1438
|
...others
|
|
1046
|
-
}) => /* @__PURE__ */ (0,
|
|
1439
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
|
|
1047
1440
|
Actions.displayName = "TeachInUI.PageContent.Actions";
|
|
1048
|
-
var Body2 = ({ children }) => /* @__PURE__ */ (0,
|
|
1441
|
+
var Body2 = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex flex-col gap-6", children });
|
|
1049
1442
|
Body2.displayName = "TeachInUI.PageContent.Body";
|
|
1050
1443
|
var Section = ({
|
|
1051
1444
|
children,
|
|
1052
1445
|
...others
|
|
1053
|
-
}) => /* @__PURE__ */ (0,
|
|
1446
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
|
|
1054
1447
|
Section.displayName = "TeachInUI.PageContent.Section";
|
|
1055
1448
|
var SectionHeader = ({
|
|
1056
1449
|
children,
|
|
1057
1450
|
...others
|
|
1058
|
-
}) => /* @__PURE__ */ (0,
|
|
1451
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex items-center justify-between", ...others, children });
|
|
1059
1452
|
SectionHeader.displayName = "TeachInUI.PageContent.SectionHeader";
|
|
1060
1453
|
var SectionTitle = ({
|
|
1061
1454
|
children,
|
|
1062
1455
|
...others
|
|
1063
|
-
}) => /* @__PURE__ */ (0,
|
|
1456
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
|
|
1064
1457
|
SectionTitle.displayName = "TeachInUI.PageContent.SectionTitle";
|
|
1065
1458
|
var SectionActions = ({
|
|
1066
1459
|
children,
|
|
1067
1460
|
...others
|
|
1068
|
-
}) => /* @__PURE__ */ (0,
|
|
1461
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
|
|
1069
1462
|
SectionActions.displayName = "TeachInUI.PageContent.SectionActions";
|
|
1070
1463
|
var PageContent = {
|
|
1071
1464
|
Root: Root2,
|
|
@@ -1080,19 +1473,19 @@ var PageContent = {
|
|
|
1080
1473
|
};
|
|
1081
1474
|
|
|
1082
1475
|
// src/ui/layout/page/page-loading.tsx
|
|
1083
|
-
var
|
|
1084
|
-
var PageLoading = () => /* @__PURE__ */ (0,
|
|
1476
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
1477
|
+
var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Spinner, {}) });
|
|
1085
1478
|
PageLoading.displayName = "TeachInUI.PageLoading";
|
|
1086
1479
|
|
|
1087
1480
|
// src/ui/layout/page/section-loading.tsx
|
|
1088
|
-
var
|
|
1089
|
-
var SectionLoading = () => /* @__PURE__ */ (0,
|
|
1481
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
1482
|
+
var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Spinner, {}) });
|
|
1090
1483
|
SectionLoading.displayName = "TeachInUI.SectionLoading";
|
|
1091
1484
|
|
|
1092
1485
|
// src/ui/layout/flex/flex.tsx
|
|
1093
|
-
var
|
|
1094
|
-
var
|
|
1095
|
-
var variants2 = (0,
|
|
1486
|
+
var import_tailwind_variants7 = require("tailwind-variants");
|
|
1487
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
1488
|
+
var variants2 = (0, import_tailwind_variants7.tv)({
|
|
1096
1489
|
base: "flex",
|
|
1097
1490
|
variants: {
|
|
1098
1491
|
direction: {
|
|
@@ -1139,14 +1532,14 @@ var variants2 = (0, import_tailwind_variants4.tv)({
|
|
|
1139
1532
|
}
|
|
1140
1533
|
});
|
|
1141
1534
|
var Flex = ({ className, ...props }) => {
|
|
1142
|
-
return /* @__PURE__ */ (0,
|
|
1535
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: variants2({ ...props, className }), ...props });
|
|
1143
1536
|
};
|
|
1144
1537
|
Flex.displayName = "TeachInUI.Flex";
|
|
1145
1538
|
|
|
1146
1539
|
// src/ui/layout/grid/grid.tsx
|
|
1147
|
-
var
|
|
1148
|
-
var
|
|
1149
|
-
var variants3 = (0,
|
|
1540
|
+
var import_tailwind_variants8 = require("tailwind-variants");
|
|
1541
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
1542
|
+
var variants3 = (0, import_tailwind_variants8.tv)({
|
|
1150
1543
|
base: "grid",
|
|
1151
1544
|
variants: {
|
|
1152
1545
|
columns: {
|
|
@@ -1195,26 +1588,26 @@ var variants3 = (0, import_tailwind_variants5.tv)({
|
|
|
1195
1588
|
}
|
|
1196
1589
|
});
|
|
1197
1590
|
var Grid = ({ className, ...props }) => {
|
|
1198
|
-
return /* @__PURE__ */ (0,
|
|
1591
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: variants3({ ...props, className }), ...props });
|
|
1199
1592
|
};
|
|
1200
1593
|
Grid.displayName = "TeachInUI.Grid";
|
|
1201
1594
|
|
|
1202
1595
|
// src/ui/layout/divider/divider.tsx
|
|
1203
|
-
var
|
|
1596
|
+
var import_react31 = __toESM(require("react"));
|
|
1204
1597
|
var import_divider = require("@heroui/divider");
|
|
1205
|
-
var
|
|
1206
|
-
var Divider =
|
|
1598
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
1599
|
+
var Divider = import_react31.default.forwardRef((props, ref) => {
|
|
1207
1600
|
const { ...restProps } = props;
|
|
1208
|
-
return /* @__PURE__ */ (0,
|
|
1601
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_divider.Divider, { ref, ...restProps });
|
|
1209
1602
|
});
|
|
1210
1603
|
Divider.displayName = "TeachInUI.Divider";
|
|
1211
1604
|
|
|
1212
1605
|
// src/ui/layout/scroll-shadow/scroll-shadow.tsx
|
|
1213
|
-
var
|
|
1606
|
+
var import_react32 = __toESM(require("react"));
|
|
1214
1607
|
var import_scroll_shadow = require("@heroui/scroll-shadow");
|
|
1215
|
-
var
|
|
1216
|
-
var ScrollShadow =
|
|
1217
|
-
return /* @__PURE__ */ (0,
|
|
1608
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
1609
|
+
var ScrollShadow = import_react32.default.forwardRef((props, ref) => {
|
|
1610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_scroll_shadow.ScrollShadow, { ref, ...props });
|
|
1218
1611
|
});
|
|
1219
1612
|
ScrollShadow.displayName = "TeachInUI.ScrollShadow";
|
|
1220
1613
|
|
|
@@ -1225,18 +1618,18 @@ var AccordionItem = Object.assign(import_accordion.AccordionItem, { displayName:
|
|
|
1225
1618
|
|
|
1226
1619
|
// src/ui/navigation/link/link.tsx
|
|
1227
1620
|
var import_link = require("@heroui/link");
|
|
1228
|
-
var
|
|
1621
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
1229
1622
|
function Link({ children, ...props }) {
|
|
1230
|
-
return /* @__PURE__ */ (0,
|
|
1623
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_link.Link, { ...props, children });
|
|
1231
1624
|
}
|
|
1232
1625
|
Link.displayName = "TeachInUI.Link";
|
|
1233
1626
|
|
|
1234
1627
|
// src/ui/navigation/tabs/tabs.tsx
|
|
1235
|
-
var
|
|
1628
|
+
var import_react33 = __toESM(require("react"));
|
|
1236
1629
|
var import_tabs = require("@heroui/tabs");
|
|
1237
|
-
var
|
|
1238
|
-
var Root3 =
|
|
1239
|
-
return /* @__PURE__ */ (0,
|
|
1630
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
1631
|
+
var Root3 = import_react33.default.forwardRef(({ children, ...props }, ref) => {
|
|
1632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_tabs.Tabs, { ref, ...props, children });
|
|
1240
1633
|
});
|
|
1241
1634
|
Root3.displayName = "TeachInUI.Tabs.Root";
|
|
1242
1635
|
var Tab = Object.assign(import_tabs.Tab, {
|
|
@@ -1248,35 +1641,35 @@ var Tabs = {
|
|
|
1248
1641
|
};
|
|
1249
1642
|
|
|
1250
1643
|
// src/ui/navigation/navbar/navbar.tsx
|
|
1251
|
-
var
|
|
1644
|
+
var import_react34 = __toESM(require("react"));
|
|
1252
1645
|
var import_navbar = require("@heroui/navbar");
|
|
1253
|
-
var
|
|
1254
|
-
var Navbar =
|
|
1255
|
-
return /* @__PURE__ */ (0,
|
|
1646
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
1647
|
+
var Navbar = import_react34.default.forwardRef((props, ref) => {
|
|
1648
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.Navbar, { ref, ...props });
|
|
1256
1649
|
});
|
|
1257
1650
|
Navbar.displayName = "TeachInUI.Navbar";
|
|
1258
|
-
var NavbarBrand =
|
|
1259
|
-
return /* @__PURE__ */ (0,
|
|
1651
|
+
var NavbarBrand = import_react34.default.forwardRef((props, ref) => {
|
|
1652
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarBrand, { ref, ...props });
|
|
1260
1653
|
});
|
|
1261
1654
|
NavbarBrand.displayName = "TeachInUI.NavbarBrand";
|
|
1262
|
-
var NavbarContent =
|
|
1263
|
-
return /* @__PURE__ */ (0,
|
|
1655
|
+
var NavbarContent = import_react34.default.forwardRef((props, ref) => {
|
|
1656
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarContent, { ref, ...props });
|
|
1264
1657
|
});
|
|
1265
1658
|
NavbarContent.displayName = "TeachInUI.NavbarContent";
|
|
1266
|
-
var NavbarItem =
|
|
1267
|
-
return /* @__PURE__ */ (0,
|
|
1659
|
+
var NavbarItem = import_react34.default.forwardRef((props, ref) => {
|
|
1660
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarItem, { ref, ...props });
|
|
1268
1661
|
});
|
|
1269
1662
|
NavbarItem.displayName = "TeachInUI.NavbarItem";
|
|
1270
|
-
var NavbarMenu =
|
|
1271
|
-
return /* @__PURE__ */ (0,
|
|
1663
|
+
var NavbarMenu = import_react34.default.forwardRef((props, ref) => {
|
|
1664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenu, { ref, ...props });
|
|
1272
1665
|
});
|
|
1273
1666
|
NavbarMenu.displayName = "TeachInUI.NavbarMenu";
|
|
1274
|
-
var NavbarMenuItem =
|
|
1275
|
-
return /* @__PURE__ */ (0,
|
|
1667
|
+
var NavbarMenuItem = import_react34.default.forwardRef((props, ref) => {
|
|
1668
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenuItem, { ref, ...props });
|
|
1276
1669
|
});
|
|
1277
1670
|
NavbarMenuItem.displayName = "TeachInUI.NavbarMenuItem";
|
|
1278
|
-
var NavbarMenuToggle =
|
|
1279
|
-
return /* @__PURE__ */ (0,
|
|
1671
|
+
var NavbarMenuToggle = import_react34.default.forwardRef((props, ref) => {
|
|
1672
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_navbar.NavbarMenuToggle, { ref, ...props });
|
|
1280
1673
|
});
|
|
1281
1674
|
NavbarMenuToggle.displayName = "TeachInUI.NavbarMenuToggle";
|
|
1282
1675
|
|
|
@@ -1289,30 +1682,30 @@ var BreadcrumbItem2 = Object.assign(import_breadcrumbs3.BreadcrumbItem, {
|
|
|
1289
1682
|
|
|
1290
1683
|
// src/ui/overlays/modal/modal.tsx
|
|
1291
1684
|
var import_modal = require("@heroui/modal");
|
|
1292
|
-
var
|
|
1685
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
1293
1686
|
function Root4({
|
|
1294
1687
|
size = "md",
|
|
1295
1688
|
placement = "center",
|
|
1296
1689
|
children,
|
|
1297
1690
|
...props
|
|
1298
1691
|
}) {
|
|
1299
|
-
return /* @__PURE__ */ (0,
|
|
1692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.Modal, { placement, size, ...props, children });
|
|
1300
1693
|
}
|
|
1301
1694
|
Root4.displayName = "TeachInUI.Modal.Root";
|
|
1302
1695
|
function Content({ children, ...props }) {
|
|
1303
|
-
return /* @__PURE__ */ (0,
|
|
1696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
|
|
1304
1697
|
}
|
|
1305
1698
|
Content.displayName = "TeachInUI.Modal.Content";
|
|
1306
1699
|
function Header3({ children, ...props }) {
|
|
1307
|
-
return /* @__PURE__ */ (0,
|
|
1700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalHeader, { ...props, children });
|
|
1308
1701
|
}
|
|
1309
1702
|
Header3.displayName = "TeachInUI.Modal.Header";
|
|
1310
1703
|
function Body3({ children, ...props }) {
|
|
1311
|
-
return /* @__PURE__ */ (0,
|
|
1704
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalBody, { ...props, children });
|
|
1312
1705
|
}
|
|
1313
1706
|
Body3.displayName = "TeachInUI.Modal.Body";
|
|
1314
1707
|
function Footer2({ children, ...props }) {
|
|
1315
|
-
return /* @__PURE__ */ (0,
|
|
1708
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_modal.ModalFooter, { ...props, children });
|
|
1316
1709
|
}
|
|
1317
1710
|
Footer2.displayName = "TeachInUI.Modal.Footer";
|
|
1318
1711
|
var Modal = {
|
|
@@ -1337,17 +1730,17 @@ var DropdownSection = Object.assign(import_dropdown.DropdownSection, {
|
|
|
1337
1730
|
|
|
1338
1731
|
// src/ui/overlays/popover/popover.tsx
|
|
1339
1732
|
var import_popover = require("@heroui/popover");
|
|
1340
|
-
var
|
|
1733
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
1341
1734
|
var Root5 = ({ children, ...props }) => {
|
|
1342
|
-
return /* @__PURE__ */ (0,
|
|
1735
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.Popover, { ...props, children });
|
|
1343
1736
|
};
|
|
1344
1737
|
Root5.displayName = "TeachInUI.Popover.Root";
|
|
1345
1738
|
var Trigger = ({ children, ...props }) => {
|
|
1346
|
-
return /* @__PURE__ */ (0,
|
|
1739
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.PopoverTrigger, { ...props, children });
|
|
1347
1740
|
};
|
|
1348
1741
|
Trigger.displayName = "TeachInUI.Popover.Trigger";
|
|
1349
1742
|
var Content2 = ({ children, ...props }) => {
|
|
1350
|
-
return /* @__PURE__ */ (0,
|
|
1743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_popover.PopoverContent, { ...props, children });
|
|
1351
1744
|
};
|
|
1352
1745
|
Content2.displayName = "TeachInUI.Popover.Content";
|
|
1353
1746
|
var Popover = {
|
|
@@ -1358,7 +1751,7 @@ var Popover = {
|
|
|
1358
1751
|
|
|
1359
1752
|
// src/ui/provider/ui-provider.tsx
|
|
1360
1753
|
var import_system3 = require("@heroui/system");
|
|
1361
|
-
var
|
|
1754
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
1362
1755
|
function UIProvider({
|
|
1363
1756
|
children,
|
|
1364
1757
|
locale = "ru-RU",
|
|
@@ -1366,19 +1759,12 @@ function UIProvider({
|
|
|
1366
1759
|
navigate,
|
|
1367
1760
|
toastProviderProps
|
|
1368
1761
|
}) {
|
|
1369
|
-
return /* @__PURE__ */ (0,
|
|
1762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_system3.HeroUIProvider, { labelPlacement, locale, navigate, children: [
|
|
1370
1763
|
children,
|
|
1371
|
-
/* @__PURE__ */ (0,
|
|
1764
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ToastProvider, { ...toastProviderProps })
|
|
1372
1765
|
] });
|
|
1373
1766
|
}
|
|
1374
1767
|
|
|
1375
|
-
// src/ui/style/css.ts
|
|
1376
|
-
var import_clsx = require("clsx");
|
|
1377
|
-
var import_tailwind_merge = require("tailwind-merge");
|
|
1378
|
-
function cn(...inputs) {
|
|
1379
|
-
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
1768
|
// src/ui/theme/tokens/breakpoints.ts
|
|
1383
1769
|
var breakpoints = {
|
|
1384
1770
|
xs: 480,
|
|
@@ -1628,7 +2014,7 @@ var themeColorsLight = {
|
|
|
1628
2014
|
...commonColors.shipgray,
|
|
1629
2015
|
foreground: commonColors.black,
|
|
1630
2016
|
flat: commonColors.shipgray[300],
|
|
1631
|
-
DEFAULT: commonColors.shipgray[
|
|
2017
|
+
DEFAULT: commonColors.shipgray[200]
|
|
1632
2018
|
},
|
|
1633
2019
|
primary: {
|
|
1634
2020
|
...commonColors.blue,
|
|
@@ -1659,15 +2045,31 @@ var themeColorsLight = {
|
|
|
1659
2045
|
foreground: commonColors.white,
|
|
1660
2046
|
flat: commonColors.red[500],
|
|
1661
2047
|
DEFAULT: commonColors.red[400]
|
|
2048
|
+
},
|
|
2049
|
+
link: {
|
|
2050
|
+
DEFAULT: commonColors.blue[500]
|
|
2051
|
+
},
|
|
2052
|
+
brand: {
|
|
2053
|
+
DEFAULT: commonColors.blue[800]
|
|
1662
2054
|
}
|
|
1663
2055
|
};
|
|
1664
2056
|
var themeColorsDark = {
|
|
1665
2057
|
...base.dark,
|
|
1666
2058
|
default: {
|
|
1667
2059
|
...swapColorValues(commonColors.shipgray),
|
|
2060
|
+
50: commonColors.shipgray[800],
|
|
2061
|
+
100: commonColors.shipgray[700],
|
|
2062
|
+
200: commonColors.shipgray[600],
|
|
2063
|
+
300: commonColors.shipgray[500],
|
|
2064
|
+
400: commonColors.shipgray[400],
|
|
2065
|
+
500: commonColors.shipgray[300],
|
|
2066
|
+
600: commonColors.shipgray[200],
|
|
2067
|
+
700: commonColors.shipgray[100],
|
|
2068
|
+
800: commonColors.shipgray[50],
|
|
2069
|
+
900: commonColors.white,
|
|
1668
2070
|
foreground: commonColors.white,
|
|
1669
2071
|
flat: commonColors.shipgray[600],
|
|
1670
|
-
DEFAULT: commonColors.shipgray[
|
|
2072
|
+
DEFAULT: commonColors.shipgray[600]
|
|
1671
2073
|
},
|
|
1672
2074
|
primary: {
|
|
1673
2075
|
...swapColorValues(commonColors.blue),
|
|
@@ -1698,6 +2100,12 @@ var themeColorsDark = {
|
|
|
1698
2100
|
foreground: commonColors.white,
|
|
1699
2101
|
flat: commonColors.red[500],
|
|
1700
2102
|
DEFAULT: commonColors.red[500]
|
|
2103
|
+
},
|
|
2104
|
+
link: {
|
|
2105
|
+
DEFAULT: commonColors.blue[300]
|
|
2106
|
+
},
|
|
2107
|
+
brand: {
|
|
2108
|
+
DEFAULT: commonColors.white
|
|
1701
2109
|
}
|
|
1702
2110
|
};
|
|
1703
2111
|
var semanticColors = {
|
|
@@ -1768,6 +2176,7 @@ var theme = (0, import_theme.heroui)({
|
|
|
1768
2176
|
CheckboxGroup,
|
|
1769
2177
|
Chip,
|
|
1770
2178
|
CircularProgress,
|
|
2179
|
+
ClearButton,
|
|
1771
2180
|
Container,
|
|
1772
2181
|
DatePicker,
|
|
1773
2182
|
DatePickerField,
|
|
@@ -1816,6 +2225,8 @@ var theme = (0, import_theme.heroui)({
|
|
|
1816
2225
|
RadioGroup,
|
|
1817
2226
|
Root,
|
|
1818
2227
|
ScrollShadow,
|
|
2228
|
+
Search,
|
|
2229
|
+
SearchField,
|
|
1819
2230
|
Section,
|
|
1820
2231
|
SectionActions,
|
|
1821
2232
|
SectionHeader,
|