@tipp/ui 1.6.21 → 1.6.22

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.
Files changed (63) hide show
  1. package/dist/app/index.cjs +8 -15
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +1 -1
  4. package/dist/app/platform/contents-card.cjs +592 -27
  5. package/dist/app/platform/contents-card.cjs.map +1 -1
  6. package/dist/app/platform/contents-card.js +52 -1
  7. package/dist/atoms/button.d.cts +1 -1
  8. package/dist/atoms/button.d.ts +1 -1
  9. package/dist/chunk-3K3WU7XM.js +145 -0
  10. package/dist/chunk-3K3WU7XM.js.map +1 -0
  11. package/dist/chunk-44STOGYA.js +164 -0
  12. package/dist/chunk-44STOGYA.js.map +1 -0
  13. package/dist/chunk-53ZJS5JI.js +111 -0
  14. package/dist/chunk-53ZJS5JI.js.map +1 -0
  15. package/dist/chunk-6LV4UGX5.js +165 -0
  16. package/dist/chunk-6LV4UGX5.js.map +1 -0
  17. package/dist/chunk-6RT2RUZ2.js +145 -0
  18. package/dist/chunk-6RT2RUZ2.js.map +1 -0
  19. package/dist/chunk-7CANQHBM.js +117 -0
  20. package/dist/chunk-7CANQHBM.js.map +1 -0
  21. package/dist/chunk-7WJGYLRQ.js +99 -0
  22. package/dist/chunk-7WJGYLRQ.js.map +1 -0
  23. package/dist/chunk-ABZVJJ4O.js +74 -0
  24. package/dist/chunk-ABZVJJ4O.js.map +1 -0
  25. package/dist/chunk-BBEZXZQH.js +284 -0
  26. package/dist/chunk-BBEZXZQH.js.map +1 -0
  27. package/dist/chunk-CUVAI5MJ.js +117 -0
  28. package/dist/chunk-CUVAI5MJ.js.map +1 -0
  29. package/dist/chunk-FBOJKLC6.js +64 -0
  30. package/dist/chunk-FBOJKLC6.js.map +1 -0
  31. package/dist/chunk-HXJYOUBE.js +30 -0
  32. package/dist/chunk-HXJYOUBE.js.map +1 -0
  33. package/dist/chunk-KCGIEABE.js +117 -0
  34. package/dist/chunk-KCGIEABE.js.map +1 -0
  35. package/dist/chunk-L5XYBDEW.js +116 -0
  36. package/dist/chunk-L5XYBDEW.js.map +1 -0
  37. package/dist/chunk-MWBEL3OY.js +111 -0
  38. package/dist/chunk-MWBEL3OY.js.map +1 -0
  39. package/dist/chunk-O5H5SQHB.js +110 -0
  40. package/dist/chunk-O5H5SQHB.js.map +1 -0
  41. package/dist/chunk-QGXLI3QC.js +111 -0
  42. package/dist/chunk-QGXLI3QC.js.map +1 -0
  43. package/dist/chunk-RPTU2HZS.js +111 -0
  44. package/dist/chunk-RPTU2HZS.js.map +1 -0
  45. package/dist/chunk-RVLCXUJU.js +113 -0
  46. package/dist/chunk-RVLCXUJU.js.map +1 -0
  47. package/dist/chunk-VKGTIYVH.js +63 -0
  48. package/dist/chunk-VKGTIYVH.js.map +1 -0
  49. package/dist/chunk-VR25ARRS.js +60 -0
  50. package/dist/chunk-VR25ARRS.js.map +1 -0
  51. package/dist/chunk-WEU6WLM4.js +39 -0
  52. package/dist/chunk-WEU6WLM4.js.map +1 -0
  53. package/dist/chunk-YC6CJEKF.js +102 -0
  54. package/dist/chunk-YC6CJEKF.js.map +1 -0
  55. package/dist/chunk-YMKOJKGY.js +145 -0
  56. package/dist/chunk-YMKOJKGY.js.map +1 -0
  57. package/dist/chunk-YTBR7GSV.js +111 -0
  58. package/dist/chunk-YTBR7GSV.js.map +1 -0
  59. package/dist/index.cjs +8 -15
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/package.json +1 -1
  63. package/src/app/platform/contents-card.tsx +22 -26
package/dist/app/index.js CHANGED
@@ -35,7 +35,7 @@ import {
35
35
  } from "../chunk-I7VFM7I6.js";
36
36
  import {
37
37
  ContentsCard
38
- } from "../chunk-Z2UO6V3A.js";
38
+ } from "../chunk-L5XYBDEW.js";
39
39
  import {
40
40
  CurriculumCard
41
41
  } from "../chunk-4DB5HWFL.js";
@@ -62,7 +62,7 @@ __export(contents_card_exports, {
62
62
  ContentsCard: () => ContentsCard
63
63
  });
64
64
  module.exports = __toCommonJS(contents_card_exports);
65
- var import_react5 = require("react");
65
+ var import_react20 = require("react");
66
66
 
67
67
  // src/atoms/heading.tsx
68
68
  var import_themes = require("@radix-ui/themes");
@@ -487,9 +487,581 @@ var EndCallIcon = React9.forwardRef(
487
487
  );
488
488
  EndCallIcon.displayName = "EndCallIcon";
489
489
 
490
- // src/app/platform/contents-card.tsx
490
+ // src/atoms/alert-dialog.tsx
491
+ var import_themes10 = require("@radix-ui/themes");
492
+
493
+ // src/atoms/aspect-ratio.tsx
494
+ var import_themes11 = require("@radix-ui/themes");
495
+
496
+ // src/atoms/avatar.tsx
497
+ var import_themes12 = require("@radix-ui/themes");
498
+ var import_react5 = require("react");
491
499
  var import_jsx_runtime12 = require("react/jsx-runtime");
492
- var ContentsCard = (0, import_react5.forwardRef)(
500
+ var Avatar = (0, import_react5.forwardRef)(
501
+ (props, ref) => {
502
+ const _a = props, { children, size, variant = "soft" } = _a, rest = __objRest(_a, ["children", "size", "variant"]);
503
+ const getOriginalSize = (0, import_react5.useCallback)((value) => {
504
+ switch (value) {
505
+ case "small":
506
+ return "1";
507
+ case "medium":
508
+ return "2";
509
+ case "large":
510
+ return "3";
511
+ case "full":
512
+ return "4";
513
+ default:
514
+ return "3";
515
+ }
516
+ }, []);
517
+ const radixSize = (0, import_react5.useMemo)(() => {
518
+ if (typeof size === "string") {
519
+ return getOriginalSize(size);
520
+ }
521
+ if (typeof size === "object") {
522
+ const map = {};
523
+ let key;
524
+ for (key in size) {
525
+ map[key] = size[key] && getOriginalSize(size[key]);
526
+ }
527
+ return map;
528
+ }
529
+ }, [getOriginalSize, size]);
530
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes12.Avatar, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize, variant, children }));
531
+ }
532
+ );
533
+ Avatar.displayName = "Avatar";
534
+
535
+ // src/atoms/badge.tsx
536
+ var import_themes13 = require("@radix-ui/themes");
537
+ var import_react6 = require("react");
538
+ var import_jsx_runtime13 = require("react/jsx-runtime");
539
+ var Badge = (0, import_react6.forwardRef)(
540
+ (props, ref) => {
541
+ const _a = props, { size = "small", color = "accent" } = _a, rest = __objRest(_a, ["size", "color"]);
542
+ const radixSize = (0, import_react6.useMemo)(() => {
543
+ switch (size) {
544
+ case "small":
545
+ return "1";
546
+ case "medium":
547
+ return "2";
548
+ case "large":
549
+ return "3";
550
+ default:
551
+ return "1";
552
+ }
553
+ }, [size]);
554
+ const radixColor = (0, import_react6.useMemo)(() => {
555
+ switch (color) {
556
+ case "error":
557
+ return "red";
558
+ case "neutral":
559
+ return "gray";
560
+ case "success":
561
+ return "green";
562
+ case "accent":
563
+ default:
564
+ return void 0;
565
+ }
566
+ }, [color]);
567
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_themes13.Badge, __spreadProps(__spreadValues({}, rest), { color: radixColor, ref, size: radixSize }));
568
+ }
569
+ );
570
+ Badge.displayName = "Badge";
571
+
572
+ // src/atoms/blockquote.tsx
573
+ var import_themes14 = require("@radix-ui/themes");
574
+
575
+ // src/atoms/call-out.tsx
576
+ var import_themes15 = require("@radix-ui/themes");
577
+
578
+ // src/atoms/card.tsx
579
+ var import_react7 = require("react");
580
+ var import_themes16 = require("@radix-ui/themes");
581
+ var import_jsx_runtime14 = require("react/jsx-runtime");
582
+ var Card = (0, import_react7.forwardRef)(
583
+ (props, forwardedRef) => {
584
+ const _a = props, { borderDisable, borderRadius, error } = _a, rest = __objRest(_a, ["borderDisable", "borderRadius", "error"]);
585
+ const borderInsetClassName = (0, import_react7.useMemo)(() => {
586
+ if (!borderDisable)
587
+ return "";
588
+ const { left, right, top, bottom } = borderDisable;
589
+ return [
590
+ left && "disable-inset-left",
591
+ right && "disable-inset-right",
592
+ top && "disable-inset-top",
593
+ bottom && "disable-inset-bottom"
594
+ ].filter(Boolean).join(" ");
595
+ }, [borderDisable]);
596
+ const errorClsName = (0, import_react7.useMemo)(() => {
597
+ return error ? " error" : "";
598
+ }, [error]);
599
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
600
+ import_themes16.Card,
601
+ __spreadProps(__spreadValues({
602
+ variant: "surface"
603
+ }, rest), {
604
+ className: `${borderInsetClassName}${errorClsName} ${rest.className || ""}`,
605
+ "data-radius": borderRadius,
606
+ ref: forwardedRef
607
+ })
608
+ );
609
+ }
610
+ );
611
+ Card.displayName = "Card";
612
+
613
+ // src/atoms/check-box.tsx
614
+ var import_themes17 = require("@radix-ui/themes");
615
+ var import_react8 = require("react");
616
+ var import_jsx_runtime15 = require("react/jsx-runtime");
617
+ var Checkbox = (0, import_react8.forwardRef)(
618
+ (props, ref) => {
619
+ const _a = props, { size = "medium" } = _a, rest = __objRest(_a, ["size"]);
620
+ const radixSize = (0, import_react8.useMemo)(() => {
621
+ switch (size) {
622
+ case "small":
623
+ return "1";
624
+ case "medium":
625
+ return "2";
626
+ case "large":
627
+ return "3";
628
+ }
629
+ }, [size]);
630
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_themes17.Checkbox, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize }));
631
+ }
632
+ );
633
+ Checkbox.displayName = "Checkbox";
634
+
635
+ // src/atoms/check-box-card.tsx
636
+ var import_themes18 = require("@radix-ui/themes");
637
+
638
+ // src/atoms/check-box-group.tsx
639
+ var import_themes19 = require("@radix-ui/themes");
640
+ var import_react9 = require("react");
641
+ var import_jsx_runtime16 = require("react/jsx-runtime");
642
+ var Root = (0, import_react9.forwardRef)((props, ref) => {
643
+ const _a = props, { children, size = "medium" } = _a, rest = __objRest(_a, ["children", "size"]);
644
+ const groupSize = (0, import_react9.useMemo)(() => {
645
+ switch (size) {
646
+ case "small":
647
+ return "1";
648
+ case "large":
649
+ return "3";
650
+ case "medium":
651
+ default:
652
+ return "2";
653
+ }
654
+ }, [size]);
655
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes19.CheckboxGroup.Root, __spreadProps(__spreadValues({}, rest), { ref, size: groupSize, children }));
656
+ });
657
+ Root.displayName = "CheckboxGroup.Root";
658
+ var CheckboxGroup = {
659
+ Root,
660
+ Item: import_themes19.CheckboxGroup.Item
661
+ };
662
+
663
+ // src/atoms/code.tsx
664
+ var import_themes20 = require("@radix-ui/themes");
665
+
666
+ // src/atoms/container.tsx
667
+ var import_themes21 = require("@radix-ui/themes");
668
+
669
+ // src/atoms/data-list.tsx
670
+ var import_themes22 = require("@radix-ui/themes");
671
+
672
+ // src/atoms/dialog.tsx
673
+ var RadixDialog = __toESM(require("@radix-ui/react-dialog"), 1);
674
+ var import_react_icons3 = require("@radix-ui/react-icons");
675
+ var import_themes24 = require("@radix-ui/themes");
676
+
677
+ // src/atoms/toast.tsx
678
+ var import_react_icons2 = require("@radix-ui/react-icons");
679
+ var import_react_toastify = require("react-toastify");
680
+ var import_react_toastify2 = require("react-toastify");
681
+ var import_jsx_runtime17 = require("react/jsx-runtime");
682
+
683
+ // src/atoms/icon-button.tsx
684
+ var import_themes23 = require("@radix-ui/themes");
685
+
686
+ // src/atoms/dialog.tsx
687
+ var import_jsx_runtime18 = require("react/jsx-runtime");
688
+
689
+ // src/atoms/em.tsx
690
+ var import_themes25 = require("@radix-ui/themes");
691
+
692
+ // src/atoms/hover-card.tsx
693
+ var import_themes26 = require("@radix-ui/themes");
694
+
695
+ // src/atoms/inset.tsx
696
+ var import_themes27 = require("@radix-ui/themes");
697
+
698
+ // src/atoms/kbd.tsx
699
+ var import_themes28 = require("@radix-ui/themes");
700
+
701
+ // src/atoms/link.tsx
702
+ var import_themes29 = require("@radix-ui/themes");
703
+ var import_react10 = require("react");
704
+ var import_themes30 = require("@radix-ui/themes");
705
+ var import_jsx_runtime19 = require("react/jsx-runtime");
706
+
707
+ // src/atoms/popover.tsx
708
+ var import_themes31 = require("@radix-ui/themes");
709
+
710
+ // src/atoms/progress.tsx
711
+ var import_themes32 = require("@radix-ui/themes");
712
+
713
+ // src/atoms/quote.tsx
714
+ var import_themes33 = require("@radix-ui/themes");
715
+
716
+ // src/atoms/radio.tsx
717
+ var import_themes34 = require("@radix-ui/themes");
718
+
719
+ // src/atoms/radio-cards.tsx
720
+ var import_themes35 = require("@radix-ui/themes");
721
+
722
+ // src/atoms/radio-group.tsx
723
+ var import_themes36 = require("@radix-ui/themes");
724
+
725
+ // src/atoms/scroll-area.tsx
726
+ var import_themes37 = require("@radix-ui/themes");
727
+
728
+ // src/atoms/section.tsx
729
+ var import_themes38 = require("@radix-ui/themes");
730
+
731
+ // src/atoms/segmented-control.tsx
732
+ var import_themes39 = require("@radix-ui/themes");
733
+
734
+ // src/atoms/select.tsx
735
+ var import_themes40 = require("@radix-ui/themes");
736
+ var import_react11 = require("react");
737
+ var import_jsx_runtime20 = require("react/jsx-runtime");
738
+ var SelectContext = (0, import_react11.createContext)({
739
+ error: false
740
+ });
741
+ var Content3 = (0, import_react11.forwardRef)((props, ref) => {
742
+ const _a = props, { className, isNavigation } = _a, rest = __objRest(_a, ["className", "isNavigation"]);
743
+ const { error } = (0, import_react11.useContext)(SelectContext);
744
+ const cls = (0, import_react11.useMemo)(() => {
745
+ const etc = isNavigation ? "nav-select" : "";
746
+ const errorCls = error ? "tipp-error" : "";
747
+ return [etc, errorCls, className].join(" ");
748
+ }, [className, error, isNavigation]);
749
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
750
+ import_themes40.Select.Content,
751
+ __spreadProps(__spreadValues({
752
+ position: "popper"
753
+ }, rest), {
754
+ className: cls,
755
+ ref
756
+ })
757
+ );
758
+ });
759
+ Content3.displayName = "Select.Content";
760
+ var Trigger2 = (0, import_react11.forwardRef)(
761
+ (props, ref) => {
762
+ const _a = props, { className } = _a, rest = __objRest(_a, ["className"]);
763
+ const { error } = (0, import_react11.useContext)(SelectContext);
764
+ const cls = (0, import_react11.useMemo)(() => {
765
+ const errorCls = error ? "error" : "";
766
+ return [errorCls, className].join(" ");
767
+ }, [className, error]);
768
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes40.Select.Trigger, __spreadProps(__spreadValues({}, rest), { className: cls, ref }));
769
+ }
770
+ );
771
+ Trigger2.displayName = "Select.Trigger";
772
+ function Root3(props) {
773
+ const _a = props, { error } = _a, rest = __objRest(_a, ["error"]);
774
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SelectContext.Provider, { value: { error }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes40.Select.Root, __spreadValues({}, rest)) });
775
+ }
776
+ Root3.displayName = "Select.Root";
777
+ var Select = __spreadProps(__spreadValues({}, import_themes40.Select), {
778
+ Root: Root3,
779
+ Trigger: Trigger2,
780
+ Content: Content3
781
+ });
782
+
783
+ // src/atoms/separator.tsx
784
+ var import_themes41 = require("@radix-ui/themes");
785
+
786
+ // src/atoms/strong.tsx
787
+ var import_themes42 = require("@radix-ui/themes");
788
+
789
+ // src/atoms/switch.tsx
790
+ var import_themes43 = require("@radix-ui/themes");
791
+
792
+ // src/atoms/tab-nav.tsx
793
+ var import_themes44 = require("@radix-ui/themes");
794
+
795
+ // src/atoms/tabs.tsx
796
+ var import_themes45 = require("@radix-ui/themes");
797
+
798
+ // src/atoms/text-area.tsx
799
+ var import_themes46 = require("@radix-ui/themes");
800
+ var import_react12 = require("react");
801
+ var import_jsx_runtime21 = require("react/jsx-runtime");
802
+ var TextArea = (0, import_react12.forwardRef)(
803
+ (props, ref) => {
804
+ const _a = props, { error, style, className } = _a, rest = __objRest(_a, ["error", "style", "className"]);
805
+ const fieldStyle = (0, import_react12.useMemo)(() => {
806
+ if (!error)
807
+ return style;
808
+ const errorStyle = {
809
+ boxShadow: "inset 0 0 0 var(--text-area-border-width) var(--error-11)"
810
+ };
811
+ return __spreadValues(__spreadValues({}, style || {}), errorStyle);
812
+ }, [error, style]);
813
+ const classNameStr = error ? `error ${className}` : className;
814
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
815
+ import_themes46.TextArea,
816
+ __spreadProps(__spreadValues({}, rest), {
817
+ className: classNameStr,
818
+ ref,
819
+ style: fieldStyle
820
+ })
821
+ );
822
+ }
823
+ );
824
+ TextArea.displayName = "TextArea";
825
+
826
+ // src/atoms/text-field.tsx
827
+ var import_themes47 = require("@radix-ui/themes");
828
+ var import_react13 = require("react");
829
+ var import_jsx_runtime22 = require("react/jsx-runtime");
830
+ var Root4 = (0, import_react13.forwardRef)((props, ref) => {
831
+ const _a = props, { error, style, className } = _a, rest = __objRest(_a, ["error", "style", "className"]);
832
+ const fieldStyle = (0, import_react13.useMemo)(() => {
833
+ if (!error)
834
+ return style;
835
+ const errorStyle = {
836
+ boxShadow: "inset 0 0 0 var(--text-field-border-width) var(--error-11)"
837
+ };
838
+ return __spreadValues(__spreadValues({}, style || {}), errorStyle);
839
+ }, [error, style]);
840
+ const classNameStr = error ? `error ${className}` : className;
841
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
842
+ import_themes47.TextField.Root,
843
+ __spreadValues({
844
+ className: classNameStr,
845
+ ref,
846
+ style: fieldStyle
847
+ }, rest)
848
+ );
849
+ });
850
+ Root4.displayName = "TextField.Root";
851
+ var TextField = { Root: Root4, Slot: import_themes47.TextField.Slot };
852
+
853
+ // src/atoms/tooltip.tsx
854
+ var import_themes48 = require("@radix-ui/themes");
855
+
856
+ // src/atoms/collapse.tsx
857
+ var import_react14 = require("react");
858
+ var import_jsx_runtime23 = require("react/jsx-runtime");
859
+
860
+ // src/atoms/spinner.tsx
861
+ var import_themes49 = require("@radix-ui/themes");
862
+
863
+ // src/atoms/pagination.tsx
864
+ var import_react15 = require("react");
865
+ var import_jsx_runtime24 = require("react/jsx-runtime");
866
+
867
+ // src/atoms/field-error-wrapper.tsx
868
+ var import_jsx_runtime25 = require("react/jsx-runtime");
869
+
870
+ // src/atoms/ellipsis-tooltip.tsx
871
+ var import_react16 = require("react");
872
+ var import_jsx_runtime26 = require("react/jsx-runtime");
873
+
874
+ // src/atoms/drawer.tsx
875
+ var import_react17 = require("react");
876
+ var Dialog = __toESM(require("@radix-ui/react-dialog"), 1);
877
+ var import_themes50 = require("@radix-ui/themes");
878
+
879
+ // src/icons/close-panel-arrow.tsx
880
+ var React14 = __toESM(require("react"), 1);
881
+ var import_jsx_runtime27 = require("react/jsx-runtime");
882
+ var ClosePanelArrowIcon = React14.forwardRef(
883
+ (_a, forwardedRef) => {
884
+ var _b = _a, { color = "currentColor" } = _b, props = __objRest(_b, ["color"]);
885
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
886
+ "svg",
887
+ __spreadProps(__spreadValues({
888
+ fill: "none",
889
+ height: "16",
890
+ viewBox: "0 0 16 16",
891
+ width: "16",
892
+ xmlns: "http://www.w3.org/2000/svg"
893
+ }, props), {
894
+ ref: forwardedRef,
895
+ children: [
896
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
897
+ "path",
898
+ {
899
+ clipRule: "evenodd",
900
+ d: "M3.19315 2.16529C3.43937 1.93445 3.82611 1.94693 4.05695 2.19315L9.87499 7.15624C9.87499 7.15624 10.4479 7.72916 9.87499 8.30207L4.05695 12.8068C3.82611 13.0531 3.43937 13.0656 3.19315 12.8347C2.94693 12.6038 2.93445 12.2171 3.16529 11.9709L8.72916 7.72916L3.16529 3.02908C2.93445 2.78285 2.94693 2.39612 3.19315 2.16529Z",
901
+ fill: color,
902
+ fillRule: "evenodd"
903
+ }
904
+ ),
905
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
906
+ "path",
907
+ {
908
+ clipRule: "evenodd",
909
+ d: "M12.1733 2.58667C12.1733 2.26266 11.9107 2 11.5867 2C11.2627 2 11 2.26266 11 2.58667V12.7201C11 13.044 11.2627 13.3067 11.5867 13.3067C11.9107 13.3067 12.1733 13.044 12.1733 12.7201V2.58667Z",
910
+ fill: color,
911
+ fillRule: "evenodd"
912
+ }
913
+ )
914
+ ]
915
+ })
916
+ );
917
+ }
918
+ );
919
+ ClosePanelArrowIcon.displayName = "ArrowDownIcon";
920
+
921
+ // src/atoms/drawer.tsx
922
+ var import_jsx_runtime28 = require("react/jsx-runtime");
923
+
924
+ // src/molecules/form/form.tsx
925
+ var RadixForm = __toESM(require("@radix-ui/react-form"), 1);
926
+ var import_react18 = require("react");
927
+ var import_jsx_runtime29 = require("react/jsx-runtime");
928
+ var Root7 = (0, import_react18.forwardRef)(
929
+ (_a, ref) => {
930
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
931
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
932
+ RadixForm.Root,
933
+ __spreadProps(__spreadValues({}, rest), {
934
+ className: `FormRoot ${className || ""}`,
935
+ ref,
936
+ children
937
+ })
938
+ );
939
+ }
940
+ );
941
+ Root7.displayName = "FORM_ROOT";
942
+ var FieldContext = (0, import_react18.createContext)({
943
+ name: ""
944
+ });
945
+ var Field2 = (0, import_react18.forwardRef)(
946
+ (_a, ref) => {
947
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
948
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
949
+ RadixForm.Field,
950
+ __spreadProps(__spreadValues({}, rest), {
951
+ className: `FormField ${className || ""}`,
952
+ ref,
953
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(FieldContext.Provider, { value: rest, children })
954
+ })
955
+ );
956
+ }
957
+ );
958
+ Field2.displayName = "FORM_FIELD";
959
+ function HeadingLabel(props) {
960
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Heading2, __spreadProps(__spreadValues({ variant: "heading5" }, props), { children: props.children }));
961
+ }
962
+ function CaptionLabel(props) {
963
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Typo, __spreadProps(__spreadValues({ color: "gray", variant: "caption" }, props), { children: props.children }));
964
+ }
965
+ var Label2 = (0, import_react18.forwardRef)(
966
+ (_a, ref) => {
967
+ var _b = _a, { children, className, variant } = _b, rest = __objRest(_b, ["children", "className", "variant"]);
968
+ const Comp = (0, import_react18.useMemo)(() => {
969
+ switch (variant) {
970
+ case "title":
971
+ return HeadingLabel;
972
+ case "caption":
973
+ return CaptionLabel;
974
+ case "body":
975
+ default:
976
+ return Typo;
977
+ }
978
+ }, [variant]);
979
+ const fieldProps = (0, import_react18.useContext)(FieldContext);
980
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
981
+ RadixForm.Label,
982
+ __spreadProps(__spreadValues({}, rest), {
983
+ asChild: true,
984
+ className: `FormLabel ${className || ""}`,
985
+ ref,
986
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Comp, { children: [
987
+ children,
988
+ fieldProps.required ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Typo, { as: "span", color: "tomato", children: ` *` }) : null
989
+ ] })
990
+ })
991
+ );
992
+ }
993
+ );
994
+ Label2.displayName = "FORM_Label";
995
+ var Message2 = (0, import_react18.forwardRef)(
996
+ (_a, ref) => {
997
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
998
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
999
+ RadixForm.Message,
1000
+ __spreadProps(__spreadValues({}, rest), {
1001
+ asChild: true,
1002
+ className: `FormMessage ${className || ""}`,
1003
+ ref,
1004
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Typo, { color: "red", children })
1005
+ })
1006
+ );
1007
+ }
1008
+ );
1009
+ Message2.displayName = "FORM_Message";
1010
+ var Control2 = (0, import_react18.forwardRef)(
1011
+ (_a, ref) => {
1012
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
1013
+ const fieldProps = (0, import_react18.useContext)(FieldContext);
1014
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1015
+ RadixForm.Control,
1016
+ __spreadProps(__spreadValues({}, rest), {
1017
+ className: `FormControl ${className || ""}`,
1018
+ ref,
1019
+ required: fieldProps.required
1020
+ })
1021
+ );
1022
+ }
1023
+ );
1024
+ Control2.displayName = "FORM_Control";
1025
+
1026
+ // src/atoms/auto-sizing-input.tsx
1027
+ var import_react19 = require("react");
1028
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1029
+ var AutoSizingInput = (0, import_react19.forwardRef)(
1030
+ (_a, ref) => {
1031
+ var _b = _a, { value: _value, onChangeValue, onChange } = _b, rest = __objRest(_b, ["value", "onChangeValue", "onChange"]);
1032
+ const [value, setValue] = (0, import_react19.useState)(_value);
1033
+ const [width, setWidth] = (0, import_react19.useState)(0);
1034
+ const span = (0, import_react19.useRef)(null);
1035
+ (0, import_react19.useEffect)(() => {
1036
+ span.current && setWidth(span.current.offsetWidth);
1037
+ }, [value]);
1038
+ const changeHandler = (0, import_react19.useCallback)(
1039
+ (evt) => {
1040
+ onChange == null ? void 0 : onChange(evt);
1041
+ setValue(evt.target.value);
1042
+ },
1043
+ [onChange]
1044
+ );
1045
+ (0, import_react19.useEffect)(() => {
1046
+ setValue(_value || "");
1047
+ }, [_value]);
1048
+ (0, import_react19.useEffect)(() => {
1049
+ onChangeValue == null ? void 0 : onChangeValue(value || "");
1050
+ }, [value, onChangeValue]);
1051
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "auto-sizing-input wrapper", style: { width: width + 24 }, children: [
1052
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("input", __spreadValues({ onChange: changeHandler, ref, value }, rest)),
1053
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { "aria-hidden": "true", ref: span, children: value })
1054
+ ] });
1055
+ }
1056
+ );
1057
+ AutoSizingInput.displayName = "AutoSizingInput";
1058
+
1059
+ // src/atoms/bullet-text.tsx
1060
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1061
+
1062
+ // src/app/platform/contents-card.tsx
1063
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1064
+ var ContentsCard = (0, import_react20.forwardRef)(
493
1065
  ({
494
1066
  title,
495
1067
  description,
@@ -499,56 +1071,49 @@ var ContentsCard = (0, import_react5.forwardRef)(
499
1071
  onClickCard,
500
1072
  isLoading = false
501
1073
  }, ref) => {
502
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
503
- import_themes6.Flex,
1074
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1075
+ Card,
504
1076
  {
505
- className: "hover-shadow",
506
- direction: "column",
507
- height: "100%",
508
- m: "0",
509
1077
  onClick: onClickCard,
510
1078
  ref,
511
1079
  style: {
512
- backgroundColor: "var(--color-panel)",
513
- borderRadius: "var(--radius-5)",
514
- overflow: "hidden",
1080
+ height: "100%",
1081
+ width: "100%",
1082
+ display: "grid",
515
1083
  cursor: "pointer"
516
1084
  },
517
- width: "100%",
518
1085
  children: [
519
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1086
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes27.Inset, { clip: "padding-box", pb: "0", side: "top", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
520
1087
  import_themes5.Box,
521
1088
  {
522
1089
  height: "210px",
523
1090
  style: {
524
- borderTopLeftRadius: "var(--radius-4)",
525
- borderTopRightRadius: "var(--radius-4)",
526
1091
  backgroundImage: `url(${imageSrc})`,
527
1092
  backgroundSize: "cover",
528
1093
  backgroundPosition: "center"
529
1094
  },
530
1095
  width: "100%"
531
1096
  }
532
- ) }),
533
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_themes5.Box, { p: "5", children: [
534
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_themes5.Box, { children: [
535
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Heading2, { mb: "3", variant: "heading5", children: title }) }),
536
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Typo, { as: "p", variant: "caption", children: description }) })
1097
+ ) }) }),
1098
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_themes6.Flex, { direction: "column", p: "4", pb: "3", children: [
1099
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_themes5.Box, { children: [
1100
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Heading2, { mb: "3", variant: "heading5", children: title }) }),
1101
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typo, { as: "p", variant: "caption", children: description }) })
537
1102
  ] }),
538
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1103
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
539
1104
  import_themes7.Grid,
540
1105
  {
541
1106
  align: "center",
542
1107
  columns: "1fr auto",
543
1108
  justify: "between",
544
- py: "2",
1109
+ pt: "2",
545
1110
  style: { marginTop: "auto" },
546
1111
  width: "100%",
547
1112
  children: [
548
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes6.Flex, { gap: "3", overflow: "hidden", children: footer }) }),
549
- Boolean(dropdownItems == null ? void 0 : dropdownItems.length) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenu.Root, { children: [
550
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenu.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Button, { size: "large", variant: "transparent", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_icons.DotsVerticalIcon, { color: "gray", height: "20px", width: "20px" }) }) }),
551
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenu.Content, { children: dropdownItems == null ? void 0 : dropdownItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1113
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes8.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes6.Flex, { gap: "3", overflow: "hidden", children: footer }) }),
1114
+ Boolean(dropdownItems == null ? void 0 : dropdownItems.length) && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(DropdownMenu.Root, { children: [
1115
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DropdownMenu.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Button, { size: "large", variant: "transparent", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_icons.DotsVerticalIcon, { color: "gray", height: "20px", width: "20px" }) }) }),
1116
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DropdownMenu.Content, { children: dropdownItems == null ? void 0 : dropdownItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
552
1117
  DropdownMenu.Item,
553
1118
  {
554
1119
  onClick: (e) => {