@tipp/ui 1.0.25 → 1.0.27

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 (71) hide show
  1. package/dist/atoms/form.cjs +136 -0
  2. package/dist/atoms/form.cjs.map +1 -0
  3. package/dist/atoms/form.d.cts +13 -0
  4. package/dist/atoms/form.d.ts +13 -0
  5. package/dist/atoms/form.js +8 -0
  6. package/dist/atoms/form.js.map +1 -0
  7. package/dist/atoms/index.cjs +71 -0
  8. package/dist/atoms/index.cjs.map +1 -1
  9. package/dist/atoms/index.d.cts +2 -0
  10. package/dist/atoms/index.d.ts +2 -0
  11. package/dist/atoms/index.js +13 -9
  12. package/dist/charts/index.js +1 -0
  13. package/dist/chunk-2ANGYYEV.js +1 -0
  14. package/dist/chunk-2ANGYYEV.js.map +1 -0
  15. package/dist/chunk-2CVXGGI5.js +79 -0
  16. package/dist/chunk-2CVXGGI5.js.map +1 -0
  17. package/dist/chunk-2HO6TD5Z.js +77 -0
  18. package/dist/chunk-2HO6TD5Z.js.map +1 -0
  19. package/dist/chunk-3R2IB6WJ.js +104 -0
  20. package/dist/chunk-3R2IB6WJ.js.map +1 -0
  21. package/dist/chunk-4K4S5TXK.js +7 -0
  22. package/dist/chunk-4K4S5TXK.js.map +1 -0
  23. package/dist/chunk-CHHLIPDN.js +23 -0
  24. package/dist/chunk-CHHLIPDN.js.map +1 -0
  25. package/dist/chunk-FH5ZSMU2.js +104 -0
  26. package/dist/chunk-FH5ZSMU2.js.map +1 -0
  27. package/dist/chunk-KO2GTLZU.js +119 -0
  28. package/dist/chunk-KO2GTLZU.js.map +1 -0
  29. package/dist/chunk-LBO3JR5R.js +79 -0
  30. package/dist/chunk-LBO3JR5R.js.map +1 -0
  31. package/dist/chunk-MQDLXULL.js +119 -0
  32. package/dist/chunk-MQDLXULL.js.map +1 -0
  33. package/dist/chunk-OCDOKW5S.js +119 -0
  34. package/dist/chunk-OCDOKW5S.js.map +1 -0
  35. package/dist/chunk-OUSFDJNS.js +119 -0
  36. package/dist/chunk-OUSFDJNS.js.map +1 -0
  37. package/dist/chunk-P6F4CTYO.js +79 -0
  38. package/dist/chunk-P6F4CTYO.js.map +1 -0
  39. package/dist/chunk-PSINRHYW.js +1 -0
  40. package/dist/chunk-PSINRHYW.js.map +1 -0
  41. package/dist/chunk-QANLBULQ.js +79 -0
  42. package/dist/chunk-QANLBULQ.js.map +1 -0
  43. package/dist/chunk-QOY42XM2.js +59 -0
  44. package/dist/chunk-QOY42XM2.js.map +1 -0
  45. package/dist/chunk-XG4N7OQF.js +104 -0
  46. package/dist/chunk-XG4N7OQF.js.map +1 -0
  47. package/dist/chunk-YL5VWNBV.js +91 -0
  48. package/dist/chunk-YL5VWNBV.js.map +1 -0
  49. package/dist/index.cjs +318 -47
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.css +8 -0
  52. package/dist/index.css.map +1 -1
  53. package/dist/index.d.cts +3 -5
  54. package/dist/index.d.ts +3 -5
  55. package/dist/index.js +28 -13
  56. package/dist/molecules/expand-table/index.cjs +46 -336
  57. package/dist/molecules/expand-table/index.cjs.map +1 -1
  58. package/dist/molecules/expand-table/index.js +5 -4
  59. package/dist/molecules/expand-table/row.cjs +15 -372
  60. package/dist/molecules/expand-table/row.cjs.map +1 -1
  61. package/dist/molecules/expand-table/row.js +5 -4
  62. package/dist/molecules/index.cjs +80 -334
  63. package/dist/molecules/index.cjs.map +1 -1
  64. package/dist/molecules/index.js +10 -9
  65. package/dist/molecules/navigation.cjs +18 -298
  66. package/dist/molecules/navigation.cjs.map +1 -1
  67. package/dist/molecules/navigation.js +5 -4
  68. package/package.json +3 -31
  69. package/src/atoms/form.tsx +72 -0
  70. package/src/atoms/index.ts +2 -0
  71. package/src/index.ts +1 -0
package/dist/index.cjs CHANGED
@@ -71,6 +71,7 @@ __export(src_exports, {
71
71
  Button: () => Button,
72
72
  Callout: () => import_themes8.Callout,
73
73
  Card: () => import_themes9.Card,
74
+ Chart: () => Chart,
74
75
  ChatBubbleIcon: () => import_react_icons.ChatBubbleIcon,
75
76
  Checkbox: () => Checkbox,
76
77
  CheckboxCards: () => import_themes11.CheckboxCards,
@@ -100,9 +101,11 @@ __export(src_exports, {
100
101
  FieldErrorWrapper: () => FieldErrorWrapper,
101
102
  FileIcon: () => import_react_icons.FileIcon,
102
103
  Flex: () => import_themes19.Flex,
104
+ Form: () => Form,
103
105
  GearIcon: () => import_react_icons.GearIcon,
104
106
  Grid: () => import_themes20.Grid,
105
107
  Heading: () => Heading2,
108
+ HorizontalBarChart: () => HorizontalBarChart,
106
109
  HoverCard: () => import_themes23.HoverCard,
107
110
  IconButton: () => import_themes24.IconButton,
108
111
  InfoCircledIcon: () => import_react_icons.InfoCircledIcon,
@@ -143,6 +146,7 @@ __export(src_exports, {
143
146
  TrashIcon: () => import_react_icons.TrashIcon,
144
147
  Trigger: () => Trigger2,
145
148
  Typo: () => Typo,
149
+ chartTheme: () => chart_theme_default,
146
150
  createColumnHelper: () => import_react_table2.createColumnHelper,
147
151
  toast: () => import_react_toastify2.toast,
148
152
  uiProps: () => uiProps,
@@ -699,17 +703,86 @@ var Drawer = {
699
703
  Description: Dialog2.Description
700
704
  };
701
705
 
706
+ // src/atoms/form.tsx
707
+ var RadixForm = __toESM(require("@radix-ui/react-form"), 1);
708
+ var import_react12 = require("react");
709
+ var import_jsx_runtime16 = require("react/jsx-runtime");
710
+ var Root5 = (0, import_react12.forwardRef)(
711
+ (_a, ref) => {
712
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
713
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
714
+ RadixForm.Root,
715
+ __spreadProps(__spreadValues({}, rest), {
716
+ className: `FormRoot ${className || ""}`,
717
+ ref,
718
+ children
719
+ })
720
+ );
721
+ }
722
+ );
723
+ Root5.displayName = "FORM_ROOT";
724
+ var Field2 = (0, import_react12.forwardRef)(
725
+ (_a, ref) => {
726
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
727
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
728
+ RadixForm.Field,
729
+ __spreadProps(__spreadValues({}, rest), {
730
+ className: `FormField ${className || ""}`,
731
+ ref,
732
+ children
733
+ })
734
+ );
735
+ }
736
+ );
737
+ Field2.displayName = "FORM_FIELD";
738
+ var Label2 = (0, import_react12.forwardRef)(
739
+ (_a, ref) => {
740
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
741
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
742
+ RadixForm.Label,
743
+ __spreadProps(__spreadValues({}, rest), {
744
+ className: `FormLabel ${className || ""}`,
745
+ ref,
746
+ children
747
+ })
748
+ );
749
+ }
750
+ );
751
+ Label2.displayName = "FORM_Label";
752
+ var Message2 = (0, import_react12.forwardRef)(
753
+ (_a, ref) => {
754
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
755
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
756
+ RadixForm.Message,
757
+ __spreadProps(__spreadValues({}, rest), {
758
+ className: `FormMessage ${className || ""}`,
759
+ ref,
760
+ children
761
+ })
762
+ );
763
+ }
764
+ );
765
+ Message2.displayName = "FORM_Message";
766
+ var Form = {
767
+ Root: Root5,
768
+ Field: Field2,
769
+ Label: Label2,
770
+ Message: Message2,
771
+ Control: RadixForm.Control,
772
+ Submit: RadixForm.Submit
773
+ };
774
+
702
775
  // src/molecules/expand-table/index.tsx
703
776
  var import_react_table2 = require("@tanstack/react-table");
704
- var import_react13 = require("react");
777
+ var import_react14 = require("react");
705
778
 
706
779
  // src/icons/down.tsx
707
780
  var React7 = __toESM(require("react"), 1);
708
- var import_jsx_runtime16 = require("react/jsx-runtime");
781
+ var import_jsx_runtime17 = require("react/jsx-runtime");
709
782
  var TriangleArrowDownIcon = React7.forwardRef(
710
783
  (_a, forwardedRef) => {
711
784
  var _b = _a, { color = "currentColor" } = _b, props = __objRest(_b, ["color"]);
712
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
785
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
713
786
  "svg",
714
787
  __spreadProps(__spreadValues({
715
788
  fill: "none",
@@ -719,7 +792,7 @@ var TriangleArrowDownIcon = React7.forwardRef(
719
792
  xmlns: "http://www.w3.org/2000/svg"
720
793
  }, props), {
721
794
  ref: forwardedRef,
722
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
795
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
723
796
  "path",
724
797
  {
725
798
  d: "M7.10844 0.8125H0.891554C0.197392 0.8125 -0.177096 1.62672 0.274659 2.15377L3.3831 5.78029C3.70737 6.1586 4.29263 6.1586 4.6169 5.78029L7.72534 2.15377C8.1771 1.62672 7.80261 0.8125 7.10844 0.8125Z",
@@ -734,11 +807,11 @@ TriangleArrowDownIcon.displayName = "ArrowDownIcon";
734
807
 
735
808
  // src/icons/up.tsx
736
809
  var React8 = __toESM(require("react"), 1);
737
- var import_jsx_runtime17 = require("react/jsx-runtime");
810
+ var import_jsx_runtime18 = require("react/jsx-runtime");
738
811
  var TriangleArrowUpIcon = React8.forwardRef(
739
812
  (_a, forwardedRef) => {
740
813
  var _b = _a, { color = "currentColor" } = _b, props = __objRest(_b, ["color"]);
741
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
814
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
742
815
  "svg",
743
816
  __spreadProps(__spreadValues({
744
817
  fill: "none",
@@ -748,7 +821,7 @@ var TriangleArrowUpIcon = React8.forwardRef(
748
821
  xmlns: "http://www.w3.org/2000/svg"
749
822
  }, props), {
750
823
  ref: forwardedRef,
751
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
824
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
752
825
  "path",
753
826
  {
754
827
  d: "M0.891555 6.1875L7.10845 6.1875C7.80261 6.1875 8.1771 5.37328 7.72534 4.84623L4.6169 1.21971C4.29263 0.841403 3.70737 0.841403 3.3831 1.21971L0.274659 4.84623C-0.177095 5.37328 0.197393 6.1875 0.891555 6.1875Z",
@@ -763,22 +836,22 @@ TriangleArrowUpIcon.displayName = "ArrowUpIcon";
763
836
 
764
837
  // src/molecules/expand-table/row.tsx
765
838
  var import_react_table = require("@tanstack/react-table");
766
- var import_react12 = require("react");
767
- var import_jsx_runtime18 = require("react/jsx-runtime");
839
+ var import_react13 = require("react");
840
+ var import_jsx_runtime19 = require("react/jsx-runtime");
768
841
  function Row(props) {
769
842
  const { row, ExpandComp, gridColTemp } = props;
770
- const [open, setOpen] = (0, import_react12.useState)(false);
771
- const onClickRow = (0, import_react12.useCallback)(() => {
843
+ const [open, setOpen] = (0, import_react13.useState)(false);
844
+ const onClickRow = (0, import_react13.useCallback)(() => {
772
845
  var _a;
773
846
  (_a = props.onRowClick) == null ? void 0 : _a.call(props, row.original);
774
847
  setOpen((prev) => !prev);
775
848
  }, [props, row.original]);
776
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
849
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
777
850
  "div",
778
851
  {
779
852
  className: `tr-wrapper ${ExpandComp ? "expandable" : ""}`,
780
853
  children: [
781
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
854
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
782
855
  "button",
783
856
  {
784
857
  className: "tr",
@@ -788,7 +861,7 @@ function Row(props) {
788
861
  children: row.getVisibleCells().map((cell) => {
789
862
  var _a, _b;
790
863
  const autoSize = (_a = cell.column.columnDef.meta) == null ? void 0 : _a.autoSize;
791
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
864
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
792
865
  "div",
793
866
  {
794
867
  className: "td",
@@ -798,7 +871,7 @@ function Row(props) {
798
871
  },
799
872
  children: [
800
873
  (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
801
- ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
874
+ ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
802
875
  cell.column.columnDef.meta.OpenBtn,
803
876
  {
804
877
  data: row.original,
@@ -814,7 +887,7 @@ function Row(props) {
814
887
  },
815
888
  `tr_${row.id}`
816
889
  ),
817
- ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ExpandComp, { row }) }) }) : null
890
+ ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ExpandComp, { row }) }) }) : null
818
891
  ]
819
892
  },
820
893
  `tr-wrapper_${row.id}`
@@ -822,10 +895,10 @@ function Row(props) {
822
895
  }
823
896
 
824
897
  // src/molecules/expand-table/index.tsx
825
- var import_jsx_runtime19 = require("react/jsx-runtime");
898
+ var import_jsx_runtime20 = require("react/jsx-runtime");
826
899
  function ExpandTable(props) {
827
900
  const { data, columns, ExpandComp, placeholder, onRowClick } = props;
828
- const [sorting, setSorting] = (0, import_react13.useState)([]);
901
+ const [sorting, setSorting] = (0, import_react14.useState)([]);
829
902
  const { getRowModel, getHeaderGroups } = (0, import_react_table2.useReactTable)({
830
903
  data: data || [],
831
904
  columns,
@@ -836,7 +909,7 @@ function ExpandTable(props) {
836
909
  },
837
910
  onSortingChange: setSorting
838
911
  });
839
- const gridColTemp = (0, import_react13.useMemo)(() => {
912
+ const gridColTemp = (0, import_react14.useMemo)(() => {
840
913
  return columns.map((col) => {
841
914
  var _a;
842
915
  if ((_a = col.meta) == null ? void 0 : _a.autoSize)
@@ -845,8 +918,8 @@ function ExpandTable(props) {
845
918
  }).join(" ");
846
919
  }, [columns]);
847
920
  const rowModels = getRowModel();
848
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "expand-table", children: [
849
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
921
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "expand-table", children: [
922
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
850
923
  "div",
851
924
  {
852
925
  className: "tr",
@@ -854,30 +927,30 @@ function ExpandTable(props) {
854
927
  children: headerGroup.headers.map((header) => {
855
928
  const sortable = header.column.getCanSort();
856
929
  const sortedState = header.column.getIsSorted();
857
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "th", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
930
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "th", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
858
931
  "button",
859
932
  {
860
933
  onClick: header.column.getToggleSortingHandler(),
861
934
  style: sortable ? { cursor: "pointer" } : void 0,
862
935
  type: "button",
863
936
  children: [
864
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Typo, { variant: "body", children: (0, import_react_table2.flexRender)(
937
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Typo, { variant: "body", children: (0, import_react_table2.flexRender)(
865
938
  header.column.columnDef.header,
866
939
  header.getContext()
867
940
  ) }),
868
- sortable ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
941
+ sortable ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
869
942
  import_themes19.Flex,
870
943
  {
871
944
  direction: "column",
872
945
  style: { marginLeft: "var(--space-2)" },
873
946
  children: [
874
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
947
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
875
948
  TriangleArrowUpIcon,
876
949
  {
877
950
  color: sortedState === "asc" ? "var(--iris-10)" : "var(--iris-6)"
878
951
  }
879
952
  ),
880
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
953
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
881
954
  TriangleArrowDownIcon,
882
955
  {
883
956
  color: sortedState === "desc" ? "var(--iris-10)" : "var(--iris-6)"
@@ -893,10 +966,10 @@ function ExpandTable(props) {
893
966
  },
894
967
  headerGroup.id
895
968
  )) }),
896
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "tbody", children: [
897
- rowModels.rows.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_themes19.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Typo, { color: "gray", mb: "6", mt: "6", variant: "body", children: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" }) }) }, "expand_placeholder"),
969
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "tbody", children: [
970
+ rowModels.rows.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes19.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Typo, { color: "gray", mb: "6", mt: "6", variant: "body", children: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" }) }) }, "expand_placeholder"),
898
971
  rowModels.rows.map((row) => {
899
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
972
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
900
973
  Row,
901
974
  {
902
975
  ExpandComp,
@@ -912,14 +985,14 @@ function ExpandTable(props) {
912
985
  }
913
986
 
914
987
  // src/molecules/navigation.tsx
915
- var import_jsx_runtime20 = require("react/jsx-runtime");
988
+ var import_jsx_runtime21 = require("react/jsx-runtime");
916
989
  function Navigation({
917
990
  items,
918
991
  fontColor,
919
992
  backgroundColor,
920
993
  activeKey
921
994
  }) {
922
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
995
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
923
996
  import_themes19.Flex,
924
997
  {
925
998
  direction: "column",
@@ -931,13 +1004,13 @@ function Navigation({
931
1004
  },
932
1005
  children: items == null ? void 0 : items.map((item) => {
933
1006
  const { key, title, icon, itemRender, onClick, children } = item;
934
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_themes19.Flex, { direction: "column", onClick, children: [
935
- itemRender ? itemRender(item) : /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_themes19.Flex, { align: "center", gap: "3", height: "36px", pl: "4", pr: "4", children: [
1007
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_themes19.Flex, { direction: "column", onClick, children: [
1008
+ itemRender ? itemRender(item) : /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_themes19.Flex, { align: "center", gap: "3", height: "36px", pl: "4", pr: "4", children: [
936
1009
  icon,
937
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Typo, { variant: "subtitle", children: title })
1010
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typo, { variant: "subtitle", children: title })
938
1011
  ] }),
939
1012
  children == null ? void 0 : children.map((menu) => {
940
- return menu.itemRender ? menu.itemRender(menu) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1013
+ return menu.itemRender ? menu.itemRender(menu) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
941
1014
  Button,
942
1015
  {
943
1016
  className: `tipp-navigation-button ${activeKey === menu.key ? "active" : ""}`,
@@ -957,14 +1030,14 @@ function Navigation({
957
1030
  }
958
1031
 
959
1032
  // src/molecules/date-picker/index.tsx
960
- var import_react14 = require("react");
1033
+ var import_react15 = require("react");
961
1034
  var RDP = __toESM(require("react-datepicker"), 1);
962
- var import_jsx_runtime21 = require("react/jsx-runtime");
1035
+ var import_jsx_runtime22 = require("react/jsx-runtime");
963
1036
  var ReactDatePicker = RDP.default.default || RDP.default || RDP;
964
- var DatePicker = (0, import_react14.forwardRef)(
1037
+ var DatePicker = (0, import_react15.forwardRef)(
965
1038
  (props, ref) => {
966
1039
  const _a = props, { size = "medium" } = _a, rest = __objRest(_a, ["size"]);
967
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1040
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
968
1041
  ReactDatePicker,
969
1042
  __spreadProps(__spreadValues({
970
1043
  dateFormat: "yyyy/MM/dd",
@@ -992,33 +1065,33 @@ var renderCustomHeader = (props) => {
992
1065
  } = props;
993
1066
  const year = date.getFullYear();
994
1067
  const month = date.getMonth();
995
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_themes19.Flex, { align: "center", justify: "between", pb: "2", pl: "2", pr: "2", children: [
996
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1068
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_themes19.Flex, { align: "center", justify: "between", pb: "2", pl: "2", pr: "2", children: [
1069
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
997
1070
  import_themes24.IconButton,
998
1071
  {
999
1072
  disabled: prevMonthButtonDisabled,
1000
1073
  onClick: decreaseMonth,
1001
1074
  variant: "ghost",
1002
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_icons.ChevronLeftIcon, {})
1075
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_icons.ChevronLeftIcon, {})
1003
1076
  }
1004
1077
  ),
1005
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_themes19.Flex, { gap: "3", children: [
1006
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Heading2, { variant: "subtitle1", weight: "regular", children: [
1078
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_themes19.Flex, { gap: "3", children: [
1079
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Heading2, { variant: "subtitle1", weight: "regular", children: [
1007
1080
  year,
1008
1081
  "\uB144"
1009
1082
  ] }),
1010
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Heading2, { variant: "subtitle1", weight: "regular", children: [
1083
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Heading2, { variant: "subtitle1", weight: "regular", children: [
1011
1084
  month + 1,
1012
1085
  "\uC6D4"
1013
1086
  ] })
1014
1087
  ] }),
1015
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1088
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1016
1089
  import_themes24.IconButton,
1017
1090
  {
1018
1091
  disabled: nextMonthButtonDisabled,
1019
1092
  onClick: increaseMonth,
1020
1093
  variant: "ghost",
1021
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_icons.ChevronRightIcon, {})
1094
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_icons.ChevronRightIcon, {})
1022
1095
  }
1023
1096
  )
1024
1097
  ] });
@@ -1029,6 +1102,200 @@ var import_themes51 = require("@radix-ui/themes");
1029
1102
 
1030
1103
  // src/ui-props/index.ts
1031
1104
  var uiProps = __toESM(require("@radix-ui/themes/dist/cjs/props/index.js"), 1);
1105
+
1106
+ // src/charts/chart.tsx
1107
+ var import_react16 = require("react");
1108
+ var import_react_resize_detector = require("react-resize-detector");
1109
+ var import_echarts_for_react = __toESM(require("echarts-for-react"), 1);
1110
+ var import_lodash_es = require("lodash-es");
1111
+
1112
+ // src/charts/chart-theme.json
1113
+ var chart_theme_default = {
1114
+ version: 1,
1115
+ themeName: "customed",
1116
+ theme: {
1117
+ seriesCnt: "5",
1118
+ backgroundColor: "rgba(0,0,0,0)",
1119
+ titleColor: "#1c2024",
1120
+ subtitleColor: "#8d8d8d",
1121
+ textColorShow: false,
1122
+ textColor: "#333",
1123
+ markTextColor: "#ffffff",
1124
+ color: [
1125
+ "#ffe629",
1126
+ "#3e63dd",
1127
+ "#ec9455",
1128
+ "#5bb98b",
1129
+ "#cb1d63",
1130
+ "#3ba272",
1131
+ "#fc8452",
1132
+ "#9a60b4",
1133
+ "#ea7ccc"
1134
+ ],
1135
+ borderColor: "#8d8d8d",
1136
+ borderWidth: 0,
1137
+ visualMapColor: ["#bf444c", "#d88273", "#f6efa6"],
1138
+ legendTextColor: "#1c2024",
1139
+ kColor: "#eb5454",
1140
+ kColor0: "#47b262",
1141
+ kBorderColor: "#eb5454",
1142
+ kBorderColor0: "#47b262",
1143
+ kBorderWidth: 1,
1144
+ lineWidth: 2,
1145
+ symbolSize: 4,
1146
+ symbol: "emptyCircle",
1147
+ symbolBorderWidth: 1,
1148
+ lineSmooth: false,
1149
+ graphLineWidth: 1,
1150
+ graphLineColor: "#aaa",
1151
+ mapLabelColor: "#000",
1152
+ mapLabelColorE: "rgb(100,0,0)",
1153
+ mapBorderColor: "#444",
1154
+ mapBorderColorE: "#444",
1155
+ mapBorderWidth: 0.5,
1156
+ mapBorderWidthE: 1,
1157
+ mapAreaColor: "#eee",
1158
+ mapAreaColorE: "rgba(255,215,0,0.8)",
1159
+ axes: [
1160
+ {
1161
+ type: "all",
1162
+ name: "\u901A\u7528\u5750\u6807\u8F74",
1163
+ axisLineShow: true,
1164
+ axisLineColor: "#6E7079",
1165
+ axisTickShow: true,
1166
+ axisTickColor: "#6E7079",
1167
+ axisLabelShow: true,
1168
+ axisLabelColor: "#6E7079",
1169
+ splitLineShow: true,
1170
+ splitLineColor: ["#E0E6F1"],
1171
+ splitAreaShow: false,
1172
+ splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
1173
+ },
1174
+ {
1175
+ type: "category",
1176
+ name: "\u7C7B\u76EE\u5750\u6807\u8F74",
1177
+ axisLineShow: true,
1178
+ axisLineColor: "#6E7079",
1179
+ axisTickShow: true,
1180
+ axisTickColor: "#6E7079",
1181
+ axisLabelShow: true,
1182
+ axisLabelColor: "#6E7079",
1183
+ splitLineShow: false,
1184
+ splitLineColor: ["#E0E6F1"],
1185
+ splitAreaShow: false,
1186
+ splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
1187
+ },
1188
+ {
1189
+ type: "value",
1190
+ name: "\u6570\u503C\u5750\u6807\u8F74",
1191
+ axisLineShow: false,
1192
+ axisLineColor: "#6E7079",
1193
+ axisTickShow: false,
1194
+ axisTickColor: "#6E7079",
1195
+ axisLabelShow: true,
1196
+ axisLabelColor: "#6E7079",
1197
+ splitLineShow: true,
1198
+ splitLineColor: ["#E0E6F1"],
1199
+ splitAreaShow: false,
1200
+ splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
1201
+ },
1202
+ {
1203
+ type: "log",
1204
+ name: "\u5BF9\u6570\u5750\u6807\u8F74",
1205
+ axisLineShow: false,
1206
+ axisLineColor: "#6E7079",
1207
+ axisTickShow: false,
1208
+ axisTickColor: "#6E7079",
1209
+ axisLabelShow: true,
1210
+ axisLabelColor: "#6E7079",
1211
+ splitLineShow: true,
1212
+ splitLineColor: ["#E0E6F1"],
1213
+ splitAreaShow: false,
1214
+ splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
1215
+ },
1216
+ {
1217
+ type: "time",
1218
+ name: "\u65F6\u95F4\u5750\u6807\u8F74",
1219
+ axisLineShow: true,
1220
+ axisLineColor: "#6E7079",
1221
+ axisTickShow: true,
1222
+ axisTickColor: "#6E7079",
1223
+ axisLabelShow: true,
1224
+ axisLabelColor: "#6E7079",
1225
+ splitLineShow: false,
1226
+ splitLineColor: ["#E0E6F1"],
1227
+ splitAreaShow: false,
1228
+ splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
1229
+ }
1230
+ ],
1231
+ axisSeperateSetting: true,
1232
+ toolboxColor: "#8d8d8d",
1233
+ toolboxEmphasisColor: "#1c2024",
1234
+ tooltipAxisColor: "#cccccc",
1235
+ tooltipAxisWidth: 1,
1236
+ timelineLineColor: "#dae1f5",
1237
+ timelineLineWidth: 2,
1238
+ timelineItemColor: "#a4b1d7",
1239
+ timelineItemColorE: "#ffffff",
1240
+ timelineCheckColor: "#316bf3",
1241
+ timelineCheckBorderColor: "#ffffff",
1242
+ timelineItemBorderWidth: 1,
1243
+ timelineControlColor: "#a4b1d7",
1244
+ timelineControlBorderColor: "#a4b1d7",
1245
+ timelineControlBorderWidth: 1,
1246
+ timelineLabelColor: "#a4b1d7"
1247
+ }
1248
+ };
1249
+
1250
+ // src/charts/chart.tsx
1251
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1252
+ function Chart(props) {
1253
+ const { width, height, ref } = (0, import_react_resize_detector.useResizeDetector)({
1254
+ handleHeight: false,
1255
+ refreshMode: "debounce",
1256
+ refreshRate: 100
1257
+ });
1258
+ const option = (0, import_react16.useMemo)(() => {
1259
+ const baseOption = {
1260
+ textStyle: { fontFamily: "Noto Sans KR" },
1261
+ tooltip: { textStyle: { fontSize: 16 } }
1262
+ };
1263
+ return (0, import_lodash_es.merge)(baseOption, props.option);
1264
+ }, [props.option]);
1265
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1266
+ import_echarts_for_react.default,
1267
+ __spreadProps(__spreadValues({
1268
+ opts: { renderer: "svg" },
1269
+ style: { width, height },
1270
+ theme: chart_theme_default
1271
+ }, props), {
1272
+ option
1273
+ })
1274
+ ) });
1275
+ }
1276
+
1277
+ // src/charts/horizontal-bar-chart.tsx
1278
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1279
+ function HorizontalBarChart(props) {
1280
+ const { total, value, backgroundColor, barColor, height } = props;
1281
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1282
+ "div",
1283
+ {
1284
+ className: "tipp_horizontal-bar-chart bar-wrapper",
1285
+ style: { height, backgroundColor },
1286
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1287
+ "div",
1288
+ {
1289
+ style: {
1290
+ width: `${Math.round(value / total * 100)}%`,
1291
+ height: "100%"
1292
+ },
1293
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "bar", style: { backgroundColor: barColor } })
1294
+ }
1295
+ )
1296
+ }
1297
+ );
1298
+ }
1032
1299
  // Annotate the CommonJS export names for ESM import in node:
1033
1300
  0 && (module.exports = {
1034
1301
  AlertDialog,
@@ -1043,6 +1310,7 @@ var uiProps = __toESM(require("@radix-ui/themes/dist/cjs/props/index.js"), 1);
1043
1310
  Button,
1044
1311
  Callout,
1045
1312
  Card,
1313
+ Chart,
1046
1314
  ChatBubbleIcon,
1047
1315
  Checkbox,
1048
1316
  CheckboxCards,
@@ -1072,9 +1340,11 @@ var uiProps = __toESM(require("@radix-ui/themes/dist/cjs/props/index.js"), 1);
1072
1340
  FieldErrorWrapper,
1073
1341
  FileIcon,
1074
1342
  Flex,
1343
+ Form,
1075
1344
  GearIcon,
1076
1345
  Grid,
1077
1346
  Heading,
1347
+ HorizontalBarChart,
1078
1348
  HoverCard,
1079
1349
  IconButton,
1080
1350
  InfoCircledIcon,
@@ -1115,6 +1385,7 @@ var uiProps = __toESM(require("@radix-ui/themes/dist/cjs/props/index.js"), 1);
1115
1385
  TrashIcon,
1116
1386
  Trigger,
1117
1387
  Typo,
1388
+ chartTheme,
1118
1389
  createColumnHelper,
1119
1390
  toast,
1120
1391
  uiProps,