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