@owp/core 2.5.21 → 2.5.23

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 (87) hide show
  1. package/dayjs.d.ts +4 -0
  2. package/dayjs.js +2 -0
  3. package/dist/_virtual/isBetween.js +8 -0
  4. package/dist/_virtual/isBetween.js.map +1 -0
  5. package/dist/_virtual/isBetween2.js +5 -0
  6. package/dist/_virtual/isBetween2.js.map +1 -0
  7. package/dist/components/OwpMrtTable/OwpMrtTable.js +21 -21
  8. package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
  9. package/dist/components/OwpPageContent/OwpPageContent.js +20 -19
  10. package/dist/components/OwpPageContent/OwpPageContent.js.map +1 -1
  11. package/dist/components/OwpPicker/OwpDatePicker.js +31 -32
  12. package/dist/components/OwpPicker/OwpDatePicker.js.map +1 -1
  13. package/dist/components/OwpPicker/OwpDateRangePicker.js +21 -21
  14. package/dist/components/OwpPicker/OwpDateRangePicker.js.map +1 -1
  15. package/dist/components/OwpPicker/OwpTimePicker.js +29 -30
  16. package/dist/components/OwpPicker/OwpTimePicker.js.map +1 -1
  17. package/dist/components/OwpPicker/OwpWeekDatePicker.js +28 -29
  18. package/dist/components/OwpPicker/OwpWeekDatePicker.js.map +1 -1
  19. package/dist/components/OwpPicker/OwpYearRangePicker.js +1 -1
  20. package/dist/components/OwpPicker/OwpYearRangePicker.js.map +1 -1
  21. package/dist/components/OwpPicker/internal/DatePickerInput.js +5 -5
  22. package/dist/components/OwpPicker/internal/DatePickerInput.js.map +1 -1
  23. package/dist/components/OwpSection/OwpSection.js +118 -111
  24. package/dist/components/OwpSection/OwpSection.js.map +1 -1
  25. package/dist/components/OwpTable/OwpDataTable.js +13 -12
  26. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  27. package/dist/components/OwpTable/OwpFieldTable.js +82 -99
  28. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  29. package/dist/components/OwpTable/OwpTable.js +56 -55
  30. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  31. package/dist/components/OwpTable/internal/OwpTableBase.js +84 -58
  32. package/dist/components/OwpTable/internal/OwpTableBase.js.map +1 -1
  33. package/dist/components/OwpTable/internal/defaultTableStyle.js +6 -7
  34. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
  35. package/dist/components/OwpTable/utils/tableSx.js +16 -6
  36. package/dist/components/OwpTable/utils/tableSx.js.map +1 -1
  37. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +104 -103
  38. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  39. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js +21 -22
  40. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js.map +1 -1
  41. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +253 -252
  42. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  43. package/dist/constants/table.js +5 -0
  44. package/dist/constants/table.js.map +1 -0
  45. package/dist/constants.js +25 -23
  46. package/dist/constants.js.map +1 -1
  47. package/dist/dayjs.js +18 -0
  48. package/dist/dayjs.js.map +1 -0
  49. package/dist/features/themePreview/components/ThemePreviewCanvas.js +22 -22
  50. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
  51. package/dist/features/themePreview/hooks/useThemePreview.js +16 -16
  52. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  53. package/dist/hooks/{useInitCommonCodes.js → internal/useInitCommonCodes.js} +6 -6
  54. package/dist/hooks/internal/useInitCommonCodes.js.map +1 -0
  55. package/dist/hooks/internal/useMinimumVisibleState.js +31 -0
  56. package/dist/hooks/internal/useMinimumVisibleState.js.map +1 -0
  57. package/dist/hooks/useInitApp.js +17 -14
  58. package/dist/hooks/useInitApp.js.map +1 -1
  59. package/dist/hooks.js +49 -51
  60. package/dist/hooks.js.map +1 -1
  61. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js +23 -0
  62. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js.map +1 -0
  63. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  64. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  65. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  66. package/dist/types/components/OwpPicker/OwpTimePicker.d.ts +1 -1
  67. package/dist/types/components/OwpSection/OwpSection.d.ts +9 -3
  68. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +0 -1
  69. package/dist/types/components/OwpTable/utils/tableSx.d.ts +15 -0
  70. package/dist/types/constants/index.d.ts +1 -0
  71. package/dist/types/constants/table.d.ts +1 -0
  72. package/dist/types/dayjs.d.ts +18 -0
  73. package/dist/types/hooks/index.d.ts +0 -1
  74. package/dist/types/hooks/internal/useMinimumVisibleState.d.ts +7 -0
  75. package/dist/types/utils/dayjsBrowser.d.ts +1 -7
  76. package/dist/types/utils/formatDateToYmd.d.ts +1 -1
  77. package/dist/utils/formatDateToYmd.js +3 -3
  78. package/dist/utils/formatDateToYmd.js.map +1 -1
  79. package/dist/utils/treeGridExportExcelUtil.js +1 -1
  80. package/dist/utils/treeGridExportExcelUtil.js.map +1 -1
  81. package/dist/utils/zipUtil.js +3 -3
  82. package/dist/utils/zipUtil.js.map +1 -1
  83. package/package.json +3 -1
  84. package/dist/hooks/useInitCommonCodes.js.map +0 -1
  85. package/dist/utils/dayjsBrowser.js +0 -16
  86. package/dist/utils/dayjsBrowser.js.map +0 -1
  87. /package/dist/types/hooks/{useInitCommonCodes.d.ts → internal/useInitCommonCodes.d.ts} +0 -0
package/dayjs.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import './treegrid-global';
2
+
3
+ export { default } from './dist/types/dayjs';
4
+ export * from './dist/types/dayjs';
package/dayjs.js ADDED
@@ -0,0 +1,2 @@
1
+ export { default } from './dist/dayjs.js';
2
+ export * from './dist/dayjs.js';
@@ -0,0 +1,8 @@
1
+ import { getDefaultExportFromCjs as e } from "./_commonjsHelpers.js";
2
+ import { __require as r } from "../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js";
3
+ var t = r();
4
+ const i = /* @__PURE__ */ e(t);
5
+ export {
6
+ i as default
7
+ };
8
+ //# sourceMappingURL=isBetween.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBetween.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,5 @@
1
+ var e = { exports: {} };
2
+ export {
3
+ e as __module
4
+ };
5
+ //# sourceMappingURL=isBetween2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBetween2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -5,16 +5,16 @@ import Ro from "../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material
5
5
  import ho from "../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/UnfoldMoreRounded.js";
6
6
  import Bo from "@mui/material/GlobalStyles";
7
7
  import { resolveOwpGridTheme as Ho } from "../../constants/gridTheme.js";
8
- import { getTreeGridFontFaceStyles as Io } from "../../constants/treeGrid.js";
9
- import { useGetCurrentLanguage as ko } from "../../hooks/useCurrentLanguage.js";
10
- import { useGetCurrentSettings as zo } from "../../hooks/useOwpSettings.js";
11
- import { useOwpTranslation as Lo } from "../../hooks/useOwpTranslation.js";
12
- import { clsx as Fo } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
13
- import { MaterialReactTable as V, useMaterialReactTable as Oo, MRT_BottomToolbar as Ao } from "../../node_modules/.pnpm/material-react-table@3.2.1_69126b2b17f4a182bc981f3ab8d41a62/node_modules/material-react-table/dist/index.esm.js";
14
- import { MRT_Localization_KO as Do } from "../../node_modules/.pnpm/material-react-table@3.2.1_69126b2b17f4a182bc981f3ab8d41a62/node_modules/material-react-table/locales/ko/index.esm.js";
8
+ import { DEFAULT_TABLE_RADIUS as Io } from "../../constants/table.js";
9
+ import { getTreeGridFontFaceStyles as ko } from "../../constants/treeGrid.js";
10
+ import { useGetCurrentLanguage as zo } from "../../hooks/useCurrentLanguage.js";
11
+ import { useGetCurrentSettings as Lo } from "../../hooks/useOwpSettings.js";
12
+ import { useOwpTranslation as Fo } from "../../hooks/useOwpTranslation.js";
13
+ import { clsx as Oo } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
14
+ import { MaterialReactTable as V, useMaterialReactTable as Ao, MRT_BottomToolbar as Do } from "../../node_modules/.pnpm/material-react-table@3.2.1_69126b2b17f4a182bc981f3ab8d41a62/node_modules/material-react-table/dist/index.esm.js";
15
+ import { MRT_Localization_KO as Go } from "../../node_modules/.pnpm/material-react-table@3.2.1_69126b2b17f4a182bc981f3ab8d41a62/node_modules/material-react-table/locales/ko/index.esm.js";
15
16
  import { useMemo as $ } from "react";
16
- import { TREEGRID_TABLE_BODY_BORDER_COLOR as x, TREEGRID_TABLE_HEADER_BORDER_COLOR as _, getTreeGridHeaderCellSx as Go, getTreeGridContainerSx as z, getTreeGridBodyRowSx as Eo, getTreeGridBodyCellSx as Co, getTreeGridTypographySx as Wo } from "../OwpTable/internal/treeGridTableStyle.js";
17
- import { DEFAULT_TABLE_RADIUS as No } from "../OwpTable/internal/defaultTableStyle.js";
17
+ import { TREEGRID_TABLE_BODY_BORDER_COLOR as x, TREEGRID_TABLE_HEADER_BORDER_COLOR as _, getTreeGridHeaderCellSx as Eo, getTreeGridContainerSx as z, getTreeGridBodyRowSx as Co, getTreeGridBodyCellSx as Wo, getTreeGridTypographySx as No } from "../OwpTable/internal/treeGridTableStyle.js";
18
18
  import { OwpTableTotalCount as $o } from "../OwpTable/internal/OwpTableTotalCount.js";
19
19
  import { toTableRadiusCssValue as _o } from "../OwpTable/utils/tableSx.js";
20
20
  import { OwpMrtTableNoDataOverlay as yo } from "./internal/OwpMrtTableNoDataOverlay.js";
@@ -24,7 +24,7 @@ import { defaults as y } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_
24
24
  import { isNumber as Uo } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNumber.js";
25
25
  import { OwpSvgIcon as c } from "../OwpSvgIcon/OwpSvgIcon.js";
26
26
  const Vo = "#cbd5e1", Ko = /* @__PURE__ */ t((o, r) => ({
27
- ...Wo(
27
+ ...No(
28
28
  (r == null ? void 0 : r.fontSize) ?? o.header.fontSize,
29
29
  (r == null ? void 0 : r.fontWeight) ?? o.header.fontWeight
30
30
  ),
@@ -89,7 +89,7 @@ const Vo = "#cbd5e1", Ko = /* @__PURE__ */ t((o, r) => ({
89
89
  const r = o.filter(Boolean), e = r.reduce((l, f) => ({
90
90
  ...l,
91
91
  ...f
92
- }), {}), a = Fo(r.map((l) => l.className)), u = Xo(...r.map((l) => l.sx));
92
+ }), {}), a = Oo(r.map((l) => l.className)), u = Xo(...r.map((l) => l.sx));
93
93
  return a && (e.className = a), u && (e.sx = u), e;
94
94
  }, "mergeComponentProps"), p = /* @__PURE__ */ t((o, ...r) => Jo(
95
95
  ...r.map((e) => Yo(e, o))
@@ -187,7 +187,7 @@ const Vo = "#cbd5e1", Ko = /* @__PURE__ */ t((o, r) => ({
187
187
  width: "100%",
188
188
  tableLayout: "fixed",
189
189
  "& .MuiTableHead-root .MuiTableCell-root": {
190
- ...Go(o),
190
+ ...Eo(o),
191
191
  py: 0.75,
192
192
  wordBreak: "keep-all"
193
193
  },
@@ -364,7 +364,7 @@ const Vo = "#cbd5e1", Ko = /* @__PURE__ */ t((o, r) => ({
364
364
  }
365
365
  };
366
366
  }, "getTreeGridHeadCellProps"), Tt = /* @__PURE__ */ t(({ column: o }, r) => {
367
- const e = { ...Co(r) };
367
+ const e = { ...Wo(r) };
368
368
  return Reflect.deleteProperty(e, "padding"), Reflect.deleteProperty(e, "borderBottom"), Reflect.deleteProperty(e, "borderLeft"), Reflect.deleteProperty(e, "borderRight"), o.id !== "mrt-row-select" ? {
369
369
  sx: e
370
370
  } : {
@@ -408,7 +408,7 @@ const Vo = "#cbd5e1", Ko = /* @__PURE__ */ t((o, r) => ({
408
408
  }));
409
409
  }, "handleTableBodyFieldTabNavigation");
410
410
  function vt(o) {
411
- const { t: r } = Lo(), e = zo(), {
411
+ const { t: r } = Fo(), e = Lo(), {
412
412
  canHideTotalCountFooterBorder: a = !1,
413
413
  canUseNoDataOverlay: u = !1,
414
414
  canUseTableRadius: l = !1,
@@ -417,7 +417,7 @@ function vt(o) {
417
417
  columns: J,
418
418
  data: P,
419
419
  headerCellStyle: d,
420
- tableBorderRadius: Q = No,
420
+ tableBorderRadius: Q = Io,
421
421
  totalCount: F,
422
422
  ...Z
423
423
  } = o, {
@@ -540,7 +540,7 @@ function vt(o) {
540
540
  }), "mrtTheme"),
541
541
  renderTopToolbar: /* @__PURE__ */ t((n) => /* @__PURE__ */ s(jo, { ...n }), "renderTopToolbar")
542
542
  }
543
- ), C = B.enableBottomToolbar !== !1, mo = Uo(F) ? F : O.length, go = R && !f && !C, To = /* @__PURE__ */ t((n) => C ? typeof M == "function" ? M({ table: n }) : M ?? /* @__PURE__ */ s(Ao, { table: n }) : null, "renderBaseBottomToolbar"), xo = /* @__PURE__ */ t((n) => {
543
+ ), C = B.enableBottomToolbar !== !1, mo = Uo(F) ? F : O.length, go = R && !f && !C, To = /* @__PURE__ */ t((n) => C ? typeof M == "function" ? M({ table: n }) : M ?? /* @__PURE__ */ s(Do, { table: n }) : null, "renderBaseBottomToolbar"), xo = /* @__PURE__ */ t((n) => {
544
544
  const m = p(
545
545
  n,
546
546
  i ? (T) => Tt(T, b) : void 0,
@@ -556,7 +556,7 @@ function vt(o) {
556
556
  n,
557
557
  ft,
558
558
  i ? () => ({
559
- sx: Eo(b, {
559
+ sx: Co(b, {
560
560
  canHover: !0,
561
561
  selected: n.row.getIsSelected()
562
562
  })
@@ -569,7 +569,7 @@ function vt(o) {
569
569
  backgroundColor: `${g.backgroundColor} !important`
570
570
  }
571
571
  };
572
- }, "getResolvedHeadRowProps"), W = Oo({
572
+ }, "getResolvedHeadRowProps"), W = Ao({
573
573
  ...B,
574
574
  columns: J,
575
575
  data: O,
@@ -641,7 +641,7 @@ function vt(o) {
641
641
  renderEmptyRowsFallback: D ? () => /* @__PURE__ */ s(I, {}) : bo
642
642
  });
643
643
  return /* @__PURE__ */ N(I, { children: [
644
- i && /* @__PURE__ */ s(Bo, { styles: Io() }),
644
+ i && /* @__PURE__ */ s(Bo, { styles: ko() }),
645
645
  /* @__PURE__ */ s(V, { table: W }),
646
646
  D && /* @__PURE__ */ s(
647
647
  yo,
@@ -655,12 +655,12 @@ function vt(o) {
655
655
  }
656
656
  t(vt, "DataTable");
657
657
  const Pt = /* @__PURE__ */ t((o) => "table" in o && o.table !== void 0, "hasTableInstance"), qt = /* @__PURE__ */ t((o) => {
658
- const r = ko();
658
+ const r = zo();
659
659
  return Pt(o) ? /* @__PURE__ */ s(V, { table: o.table }) : /* @__PURE__ */ s(
660
660
  vt,
661
661
  {
662
662
  ...o,
663
- localization: o.localization ?? (r.id === "kr" ? Do : void 0)
663
+ localization: o.localization ?? (r.id === "kr" ? Go : void 0)
664
664
  }
665
665
  );
666
666
  }, "OwpMrtTable");
@@ -1 +1 @@
1
- {"version":3,"file":"OwpMrtTable.js","sources":["../../../src/components/OwpMrtTable/OwpMrtTable.tsx"],"sourcesContent":["import ArrowDropDownRoundedIcon from '@mui/icons-material/ArrowDropDownRounded';\nimport UnfoldMoreRoundedIcon from '@mui/icons-material/UnfoldMoreRounded';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport {\n resolveOwpGridTheme,\n type OwpResolvedGridThemeConfigType,\n} from '@/constants/gridTheme';\nimport {\n getTreeGridFontFaceStyles,\n} from '@/constants/treeGrid';\nimport { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport type {\n BoxProps,\n CheckboxProps,\n PaperProps,\n RadioProps,\n SvgIconProps,\n TableCellProps,\n TableContainerProps,\n TableProps,\n TableRowProps,\n} from '@mui/material';\nimport clsx from 'clsx';\nimport type { Theme } from '@mui/material/styles';\nimport { defaults as defaultsFC, isArray, isNumber } from 'es-toolkit/compat';\nimport {\n MaterialReactTable,\n type MaterialReactTableProps,\n MRT_BottomToolbar,\n type MRT_Cell,\n type MRT_Column,\n type MRT_Icons,\n type MRT_Row,\n type MRT_RowData,\n type MRT_TableInstance,\n useMaterialReactTable,\n} from 'material-react-table';\nimport { MRT_Localization_KO } from 'material-react-table/locales/ko';\nimport { useMemo } from 'react';\nimport {\n getTreeGridBodyCellSx,\n getTreeGridBodyRowSx,\n getTreeGridContainerSx,\n getTreeGridHeaderCellSx,\n getTreeGridTypographySx,\n TREEGRID_TABLE_BODY_BORDER_COLOR,\n TREEGRID_TABLE_HEADER_BORDER_COLOR,\n} from '../OwpTable/internal/treeGridTableStyle';\nimport { DEFAULT_TABLE_RADIUS } from '../OwpTable/internal/defaultTableStyle';\nimport { OwpTableTotalCount } from '../OwpTable/internal/OwpTableTotalCount';\nimport { toTableRadiusCssValue } from '../OwpTable/utils/tableSx';\nimport { OwpMrtTableNoDataOverlay } from './internal/OwpMrtTableNoDataOverlay';\nimport OwpMrtTableTopToolbar from './internal/OwpMrtTableTopToolbar';\n\ntype PropsWithSx = {\n className?: string;\n sx?: unknown;\n};\n\ntype HeadCellArgs<TData extends MRT_RowData> = {\n column: MRT_Column<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyCellArgs<TData extends MRT_RowData> = {\n cell: MRT_Cell<TData>;\n column: MRT_Column<TData>;\n row: MRT_Row<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyRowArgs<TData extends MRT_RowData> = {\n isDetailPanel?: boolean;\n row: MRT_Row<TData>;\n staticRowIndex: number;\n table: MRT_TableInstance<TData>;\n};\n\ntype TableInstanceArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectAllCheckboxArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectCheckboxArgs<TData extends MRT_RowData> = {\n row: MRT_Row<TData>;\n staticRowIndex?: number;\n table: MRT_TableInstance<TData>;\n};\n\nexport type OwpMrtTableHeaderCellStyle = {\n backgroundColor?: string;\n color?: string;\n fontSize?: number | string;\n fontWeight?: number | string;\n height?: number | string;\n};\n\ntype DataTableProps<TData extends MRT_RowData> = MaterialReactTableProps<TData> & {\n canHideTotalCountFooterBorder?: boolean;\n canUseNoDataOverlay?: boolean;\n canUseTableRadius?: boolean;\n canTotalCountRow?: boolean;\n canUseTreeGridStyle?: boolean;\n headerCellStyle?: OwpMrtTableHeaderCellStyle;\n tableBorderRadius?: string | number;\n totalCount?: number;\n};\n\nexport type OwpMrtTableProps<TData extends MRT_RowData> = DataTableProps<TData>;\n\nconst treeGridSortIconColor = '#cbd5e1';\n\nconst getResolvedTreeGridHeaderTextSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n) => ({\n ...getTreeGridTypographySx(\n headerCellStyle?.fontSize ?? treeGridTheme.header.fontSize,\n headerCellStyle?.fontWeight ?? treeGridTheme.header.fontWeight,\n ),\n color: headerCellStyle?.color ?? treeGridTheme.header.color,\n});\n\nconst getHeaderCellTextStyleSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) => ({\n color: headerCellStyle?.color,\n fontSize: headerCellStyle?.fontSize,\n fontWeight: headerCellStyle?.fontWeight,\n});\n\nconst getHeaderCellHeightStyleSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) =>\n headerCellStyle?.height\n ? {\n height: headerCellStyle.height,\n minHeight: headerCellStyle.height,\n }\n : undefined;\n\nconst getHeaderCellBackgroundColor = (headerCellStyle?: OwpMrtTableHeaderCellStyle) =>\n headerCellStyle?.backgroundColor\n ? `${headerCellStyle.backgroundColor} !important`\n : undefined;\n\nconst getHeaderCellOverrideSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) => {\n const backgroundColor = getHeaderCellBackgroundColor(headerCellStyle);\n const textStyleSx = getHeaderCellTextStyleSx(headerCellStyle);\n const heightStyleSx = getHeaderCellHeightStyleSx(headerCellStyle);\n const contentMinHeight = headerCellStyle?.height ? '100%' : undefined;\n\n return {\n ...textStyleSx,\n ...heightStyleSx,\n backgroundColor,\n '& .Mui-TableHeadCell-Content': {\n ...textStyleSx,\n ...heightStyleSx,\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n },\n '& .Mui-TableHeadCell-Content-Labels': {\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n height: headerCellStyle?.height ? '100%' : undefined,\n },\n '& .Mui-TableHeadCell-Content-Wrapper': {\n ...textStyleSx,\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n minHeight: contentMinHeight,\n },\n '& .MuiTableSortLabel-root': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-root:hover': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-root.Mui-active': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-icon': {\n color: headerCellStyle?.color ? `${headerCellStyle.color} !important` : undefined,\n },\n };\n};\n\nconst mergeSxValues = (...styles: Array<unknown>): unknown => {\n const mergedStyles = styles.flatMap((style) => {\n if (!style) {\n return [];\n }\n\n return isArray(style) ? style : [style];\n });\n\n if (mergedStyles.length === 0) {\n return undefined;\n }\n\n return (theme: Theme) =>\n mergedStyles.reduce<Record<string, unknown>>((acc, style) => {\n const resolvedStyle =\n typeof style === 'function' ? (style as (theme: Theme) => unknown)(theme) : style;\n\n if (!resolvedStyle || isArray(resolvedStyle)) {\n return acc;\n }\n\n return {\n ...acc,\n ...(resolvedStyle as Record<string, unknown>),\n };\n }, {});\n};\n\nconst resolvePropValue = <TArgs, TProps>(\n prop: ((args: TArgs) => TProps) | TProps | undefined,\n args: TArgs,\n): TProps | undefined => {\n if (typeof prop === 'function') {\n return (prop as (args: TArgs) => TProps)(args);\n }\n\n return prop;\n};\n\nconst mergeComponentProps = <TProps extends PropsWithSx>(\n ...propsList: Array<TProps | undefined>\n): TProps => {\n const resolvedProps = propsList.filter(Boolean) as TProps[];\n const mergedProps = resolvedProps.reduce((acc, currentProps) => {\n return {\n ...acc,\n ...currentProps,\n };\n }, {} as TProps);\n\n const className = clsx(resolvedProps.map((currentProps) => currentProps.className));\n const sx = mergeSxValues(...resolvedProps.map((currentProps) => currentProps.sx));\n\n if (className) {\n mergedProps.className = className as TProps['className'];\n }\n\n if (sx) {\n mergedProps.sx = sx as TProps['sx'];\n }\n\n return mergedProps;\n};\n\nconst mergeResolvedProps = <TArgs, TProps extends PropsWithSx>(\n args: TArgs,\n ...propsList: Array<((args: TArgs) => TProps) | TProps | undefined>\n): TProps => {\n return mergeComponentProps(\n ...propsList.map((currentProps) => resolvePropValue<TArgs, TProps>(currentProps, args)),\n );\n};\n\nconst defaultTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrow-down-circle\n </OwpSvgIcon>\n ),\n ClearAllIcon: () => <OwpSvgIcon size={20}>heroicons-outline:adjustments-horizontal</OwpSvgIcon>,\n DensityLargeIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3-bottom-left</OwpSvgIcon>,\n DensityMediumIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3</OwpSvgIcon>,\n DensitySmallIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-2</OwpSvgIcon>,\n DragHandleIcon: () => (\n <OwpSvgIcon className=\"rotate-45\" size={14}>\n heroicons-outline:arrows-pointing-out\n </OwpSvgIcon>\n ),\n FilterListIcon: (props) => (\n <OwpSvgIcon size={16} {...props}>\n heroicons-outline:funnel\n </OwpSvgIcon>\n ),\n FilterListOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:funnel</OwpSvgIcon>,\n FullscreenExitIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-in</OwpSvgIcon>,\n FullscreenIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-out</OwpSvgIcon>,\n SearchIcon: (props) => (\n <OwpSvgIcon color=\"action\" size={20} {...props}>\n heroicons-outline:magnifying-glass\n </OwpSvgIcon>\n ),\n SearchOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:magnifying-glass</OwpSvgIcon>,\n ViewColumnIcon: () => <OwpSvgIcon size={20}>heroicons-outline:view-columns</OwpSvgIcon>,\n MoreVertIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-vertical</OwpSvgIcon>,\n MoreHorizIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-horizontal</OwpSvgIcon>,\n SortIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrows-up-down\n </OwpSvgIcon>\n ),\n PushPinIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:bookmark\n </OwpSvgIcon>\n ),\n VisibilityOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:eye-slash</OwpSvgIcon>,\n};\n\nconst TreeGridArrowDownwardIcon = (props: SvgIconProps) => {\n return <ArrowDropDownRoundedIcon fontSize=\"small\" {...props} />;\n};\n\nconst TreeGridSyncAltIcon = (props: SvgIconProps & { direction?: string }) => {\n const { direction, ...iconProps } = props;\n\n void direction;\n\n return <UnfoldMoreRoundedIcon fontSize=\"small\" {...iconProps} />;\n};\n\nconst treeGridTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: TreeGridArrowDownwardIcon,\n SyncAltIcon: TreeGridSyncAltIcon,\n};\n\nconst defaultBottomToolbarProps: BoxProps = {\n className: 'flex items-center min-h-56 h-56',\n};\n\nconst defaultPaperProps: PaperProps = {\n elevation: 0,\n square: true,\n className: 'flex flex-col flex-auto h-full',\n};\n\nconst getTreeGridPaperProps = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): PaperProps => ({\n sx: {\n ...getTreeGridContainerSx(treeGridTheme),\n display: 'flex',\n height: '100%',\n flexDirection: 'column',\n border: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderRadius: 0,\n boxShadow: 'none',\n },\n});\n\nconst totalCountFooterBorderlessPaperProps: PaperProps = {\n sx: {\n border: 0,\n },\n};\n\nconst getTotalCountFooterBorderlessContainerProps = (): TableContainerProps => ({\n sx: {\n borderTop: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderLeft: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n },\n});\n\nconst defaultContainerProps: TableContainerProps = {\n className: 'flex-auto',\n};\n\nconst getTableRadiusPaperProps = (tableBorderRadius: string | number): PaperProps => ({\n square: false,\n sx: {\n borderRadius: toTableRadiusCssValue(tableBorderRadius),\n overflow: 'hidden',\n },\n});\n\nconst tableRadiusContainerProps: TableContainerProps = {\n sx: {\n borderRadius: 'inherit',\n },\n};\n\nconst treeGridSelectColumnWidth = 40;\n\nconst treeGridSelectColumnCellSx = {\n width: treeGridSelectColumnWidth,\n minWidth: treeGridSelectColumnWidth,\n maxWidth: treeGridSelectColumnWidth,\n} as const;\n\nconst treeGridContainerProps: TableContainerProps = {\n sx: {\n flex: 1,\n minHeight: 0,\n overflowX: 'hidden',\n overflowY: 'auto',\n },\n};\n\nconst getTreeGridHeadRowProps = (\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableRowProps => ({\n sx: {\n backgroundColor: headerCellStyle?.backgroundColor,\n boxShadow: 'none',\n },\n});\n\nconst defaultSelectCheckboxProps: CheckboxProps = {\n className: 'w-48',\n};\n\nconst treeGridSelectCheckboxProps: CheckboxProps = {\n sx: {\n display: 'flex',\n m: 0,\n mx: 'auto',\n },\n};\n\nconst getTreeGridTableProps = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): TableProps => ({\n sx: {\n ...getTreeGridContainerSx(treeGridTheme),\n borderSpacing: 0,\n width: '100%',\n tableLayout: 'fixed',\n '& .MuiTableHead-root .MuiTableCell-root': {\n ...getTreeGridHeaderCellSx(treeGridTheme),\n py: 0.75,\n wordBreak: 'keep-all',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n '& .MuiTableHead-root .MuiIconButton-root': {\n display: 'none',\n },\n '& .MuiTableBody-root .MuiTableCell-root': {\n backgroundColor: treeGridTheme.row.backgroundColor,\n color: treeGridTheme.body.color,\n p: 0,\n verticalAlign: 'middle',\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderBottom: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n overflowWrap: 'anywhere',\n },\n '& .MuiTableBody-root .MuiTableCell-root:last-of-type': {\n borderRight: 'none',\n },\n },\n});\n\nconst treeGridTableRadiusProps: TableProps = {\n sx: {\n '& .MuiTableHead-root .MuiTableCell-root': {\n borderTop: 'none',\n },\n '& .MuiTableHead-root .MuiTableRow-root .MuiTableCell-root + .MuiTableCell-root': {\n borderLeft: '1px solid',\n borderLeftColor: 'divider',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: 'none',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: 'none',\n },\n },\n};\n\nconst treeGridTableRadiusBottomEdgeProps: TableProps = {\n sx: {\n '& .MuiTableBody-root .MuiTableRow-root:last-of-type .MuiTableCell-root': {\n borderBottom: 'none',\n },\n },\n};\n\nconst getDefaultBodyRowProps = <TData extends MRT_RowData>({\n row,\n table,\n}: BodyRowArgs<TData>): TableRowProps => {\n const { density } = table.getState();\n\n if (density === 'compact') {\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${37}px` : undefined,\n },\n };\n }\n\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${density === 'comfortable' ? 53 : 69}px` : undefined,\n },\n };\n};\n\nconst getDefaultHeadCellProps = <TData extends MRT_RowData>(\n { column }: HeadCellArgs<TData>,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\n const headerCellBackgroundColor = getHeaderCellBackgroundColor(headerCellStyle);\n\n return {\n sx: {\n '& .Mui-TableHeadCell-Content-Labels': {\n flex: 1,\n justifyContent: 'space-between',\n },\n '& .Mui-TableHeadCell-Content-Actions': {\n '& > button': {\n marginX: '2px',\n },\n },\n '& .MuiFormHelperText-root': {\n textAlign: 'center',\n marginX: 0,\n color: (theme: Theme) => theme.palette.text.disabled,\n fontSize: 11,\n },\n ...getHeaderCellOverrideSx(headerCellStyle),\n backgroundColor: (theme) =>\n headerCellBackgroundColor ??\n (column.getIsPinned() ? theme.palette.background.paper : 'inherit'),\n },\n };\n};\n\nconst getTreeGridHeadCellProps = <TData extends MRT_RowData>(\n { column }: HeadCellArgs<TData>,\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\n const isSelectColumn = column.id === 'mrt-row-select';\n const resolvedHeaderTextSx = getResolvedTreeGridHeaderTextSx(treeGridTheme, headerCellStyle);\n const resolvedSortIconColor = headerCellStyle?.color ?? treeGridSortIconColor;\n const headerHeightStyleSx = getHeaderCellHeightStyleSx(headerCellStyle);\n const contentMinHeight = headerCellStyle?.height ? '100%' : undefined;\n\n return {\n align: 'center',\n sx: {\n ...(isSelectColumn ? treeGridSelectColumnCellSx : {}),\n ...resolvedHeaderTextSx,\n ...getHeaderCellOverrideSx(headerCellStyle),\n backgroundColor: getHeaderCellBackgroundColor(headerCellStyle),\n '& .Mui-TableHeadCell-Content': {\n ...resolvedHeaderTextSx,\n ...headerHeightStyleSx,\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Labels': {\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n flex: 1,\n justifyContent: 'center',\n maxWidth: '100%',\n minWidth: 0,\n overflow: 'hidden',\n position: 'relative',\n pl: 0,\n pr: isSelectColumn ? 0 : '24px',\n height: headerCellStyle?.height ? '100%' : undefined,\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Wrapper': {\n ...resolvedHeaderTextSx,\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n minHeight: contentMinHeight,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n '&& .MuiBadge-root': isSelectColumn\n ? undefined\n : {\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n position: 'absolute',\n pointerEvents: 'none',\n right: '6px',\n top: '50%',\n transform: 'translateY(-50%)',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root': {\n alignItems: 'center',\n color: resolvedSortIconColor,\n display: 'inline-flex',\n justifyContent: 'center',\n minWidth: '16px',\n opacity: '1 !important',\n overflow: 'visible',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root:hover': {\n color: resolvedSortIconColor,\n },\n '&& .MuiTableSortLabel-root.Mui-active': {\n color: resolvedSortIconColor,\n },\n '&& .MuiTableSortLabel-icon': {\n color: `${resolvedSortIconColor} !important`,\n display: 'block',\n fontSize: '18px',\n margin: 0,\n opacity: '1 !important',\n overflow: 'visible',\n },\n '& .MuiButtonBase-root': isSelectColumn\n ? {\n display: 'flex',\n margin: '0 auto',\n }\n : undefined,\n },\n };\n};\n\nconst getTreeGridBodyCellProps = <TData extends MRT_RowData>(\n { column }: BodyCellArgs<TData>,\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): TableCellProps => {\n const treeGridBodyCellSx = { ...getTreeGridBodyCellSx(treeGridTheme) };\n\n Reflect.deleteProperty(treeGridBodyCellSx, 'padding');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderBottom');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderLeft');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderRight');\n\n if (column.id !== 'mrt-row-select') {\n return {\n sx: treeGridBodyCellSx,\n };\n }\n\n return {\n align: 'center',\n sx: {\n ...treeGridBodyCellSx,\n ...treeGridSelectColumnCellSx,\n '& > .MuiButtonBase-root, & .MuiButtonBase-root': {\n display: 'flex',\n margin: '0 auto',\n },\n },\n };\n};\n\nconst tableBodyTabNavigableFieldSelector = [\n 'tbody td input:not([type=\"hidden\"])',\n 'tbody td textarea',\n 'tbody td [contenteditable=\"true\"]',\n 'tbody td [role=\"combobox\"]',\n].join(', ');\n\ntype TableBodyCellKeyDownCaptureEvent = Parameters<\n NonNullable<TableCellProps['onKeyDownCapture']>\n>[0];\n\n/**\n * 테이블 본문 입력 가능 필드 여부 판별\n * @param element 포커스 후보 요소\n */\nconst isTabNavigableTableBodyField = (element: HTMLElement) => {\n if (element.tabIndex < 0) {\n return false;\n }\n\n if (element.getAttribute('aria-disabled') === 'true') {\n return false;\n }\n\n if (element.getAttribute('aria-readonly') === 'true') {\n return false;\n }\n\n if (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement) {\n if (element.disabled || element.readOnly) {\n return false;\n }\n }\n\n if (element instanceof HTMLSelectElement && element.disabled) {\n return false;\n }\n\n if (element instanceof HTMLInputElement) {\n if (\n ['button', 'checkbox', 'file', 'hidden', 'radio', 'reset', 'submit'].includes(element.type)\n ) {\n return false;\n }\n }\n\n return element.getClientRects().length > 0;\n};\n\n/**\n * 테이블 본문 기준 현재 포커스 입력 필드 조회\n * @param target 키 이벤트 target\n */\nconst getCurrentTableBodyField = (target: EventTarget | null) => {\n if (!(target instanceof Element)) {\n return null;\n }\n\n const currentField = target.matches(tableBodyTabNavigableFieldSelector)\n ? target\n : target.closest(tableBodyTabNavigableFieldSelector);\n\n return currentField instanceof HTMLElement && isTabNavigableTableBodyField(currentField)\n ? currentField\n : null;\n};\n\n/**\n * 테이블 본문 입력 필드 Tab 이동 처리\n * @param event body cell keydown capture event\n */\nconst handleTableBodyFieldTabNavigation = (event: TableBodyCellKeyDownCaptureEvent) => {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n const currentField = getCurrentTableBodyField(event.target);\n\n if (!currentField) {\n return;\n }\n\n const tableElement = currentField.closest('table');\n\n if (!tableElement) {\n return;\n }\n\n const fields = Array.from(\n tableElement.querySelectorAll<HTMLElement>(tableBodyTabNavigableFieldSelector),\n ).filter(isTabNavigableTableBodyField);\n\n const currentIndex = fields.indexOf(currentField);\n\n if (currentIndex < 0) {\n return;\n }\n\n const nextField = fields[currentIndex + (event.shiftKey ? -1 : 1)];\n\n if (!nextField) {\n return;\n }\n\n event.preventDefault();\n\n queueMicrotask(() => {\n if (document.contains(nextField)) {\n nextField.focus();\n }\n });\n};\n\n/**\n * MRT 기반 공통 테이블 렌더 함수\n * @param props Material React Table props\n */\nfunction DataTable<TData extends MRT_RowData>(props: DataTableProps<TData>) {\n const { t } = useOwpTranslation();\n const currentSettings = useGetCurrentSettings();\n const {\n canHideTotalCountFooterBorder = false,\n canUseNoDataOverlay = false,\n canUseTableRadius = false,\n canTotalCountRow = true,\n canUseTreeGridStyle = true,\n columns,\n data,\n headerCellStyle,\n tableBorderRadius = DEFAULT_TABLE_RADIUS,\n totalCount,\n ...rest\n } = props;\n\n const {\n icons: restIcons,\n initialState: restInitialState,\n muiBottomToolbarProps: restBottomToolbarProps,\n muiSelectAllCheckboxProps: restSelectAllCheckboxProps,\n muiSelectCheckboxProps: restSelectCheckboxProps,\n displayColumnDefOptions: restDisplayColumnDefOptions,\n muiTableBodyCellProps: restTableBodyCellProps,\n muiTableBodyRowProps: restTableBodyRowProps,\n muiTableContainerProps: restTableContainerProps,\n muiTableHeadCellProps: restTableHeadCellProps,\n muiTableHeadRowProps: restTableHeadRowProps,\n muiTablePaperProps: restTablePaperProps,\n muiTableProps: restTableProps,\n renderBottomToolbar: restRenderBottomToolbar,\n renderEmptyRowsFallback: restRenderEmptyRowsFallback,\n ...restOptions\n } = rest;\n\n const resolvedData = isArray(data) ? data : [];\n const treeGridTheme = useMemo(\n () => resolveOwpGridTheme(currentSettings?.theme?.main?.grid),\n [currentSettings],\n );\n const resolvedHeaderCellStyle = useMemo<OwpMrtTableHeaderCellStyle | undefined>(() => {\n if (!canUseTreeGridStyle) {\n return headerCellStyle;\n }\n\n return {\n backgroundColor: headerCellStyle?.backgroundColor ?? treeGridTheme.header.backgroundColor,\n color: headerCellStyle?.color ?? treeGridTheme.header.color,\n fontSize: headerCellStyle?.fontSize ?? treeGridTheme.header.fontSize,\n fontWeight: headerCellStyle?.fontWeight ?? treeGridTheme.header.fontWeight,\n height: headerCellStyle?.height ?? treeGridTheme.header.height,\n };\n }, [canUseTreeGridStyle, headerCellStyle, treeGridTheme]);\n const isNoDataOverlayVisible = isArray(data) && data.length === 0;\n const shouldHideTotalCountFooterBorder = canUseTreeGridStyle || canHideTotalCountFooterBorder;\n const shouldApplyTotalCountFooterBorderlessLayout =\n canTotalCountRow && shouldHideTotalCountFooterBorder;\n const shouldUseNoDataOverlay = canUseTreeGridStyle || canUseNoDataOverlay;\n const shouldUseRadiusOuterBorder = canUseTreeGridStyle && canUseTableRadius;\n const displayColumnDefOptions = canUseTreeGridStyle\n ? {\n ...(restDisplayColumnDefOptions ?? {}),\n 'mrt-row-select': {\n header: '',\n size: treeGridSelectColumnWidth,\n minSize: treeGridSelectColumnWidth,\n maxSize: treeGridSelectColumnWidth,\n ...(restDisplayColumnDefOptions?.['mrt-row-select'] ?? {}),\n },\n }\n : restDisplayColumnDefOptions;\n\n const initialState = defaultsFC(\n { ...(restInitialState ?? {}) },\n {\n density: canUseTreeGridStyle ? 'compact' : 'spacious',\n showColumnFilters: false,\n showGlobalFilter: !canUseTreeGridStyle,\n columnPinning: {\n left: ['mrt-row-expand', 'mrt-row-select'],\n right: ['mrt-row-actions'],\n },\n pagination: {\n pageSize: 15,\n },\n enableFullScreenToggle: false,\n },\n );\n\n const defaultOptions = defaultsFC(\n {\n ...restOptions,\n displayColumnDefOptions,\n initialState,\n },\n {\n displayColumnDefOptions,\n initialState,\n layoutMode: canUseTreeGridStyle ? 'semantic' : undefined,\n enablePagination: canUseTreeGridStyle ? false : undefined,\n enableBottomToolbar: canUseTreeGridStyle ? false : undefined,\n enableTopToolbar: canUseTreeGridStyle ? false : undefined,\n enableColumnActions: canUseTreeGridStyle ? false : undefined,\n enableColumnDragging: canUseTreeGridStyle ? false : undefined,\n enableColumnFilters: canUseTreeGridStyle ? false : undefined,\n enableColumnOrdering: canUseTreeGridStyle ? false : true,\n enableDensityToggle: canUseTreeGridStyle ? false : undefined,\n enableFullScreenToggle: false,\n enableGlobalFilter: canUseTreeGridStyle ? false : undefined,\n enableGrouping: canUseTreeGridStyle ? false : true,\n enableHiding: canUseTreeGridStyle ? false : undefined,\n enableColumnPinning: canUseTreeGridStyle ? false : true,\n enableFacetedValues: canUseTreeGridStyle ? false : true,\n enableMultiRowSelection: canUseTreeGridStyle ? true : undefined,\n enableRowActions: canUseTreeGridStyle ? false : true,\n enableRowSelection: true,\n enableRowDragging: canUseTreeGridStyle ? false : undefined,\n enableRowOrdering: canUseTreeGridStyle ? false : undefined,\n enableSelectAll: canUseTreeGridStyle ? false : undefined,\n enableStickyHeader: true,\n enableToolbarInternalActions: canUseTreeGridStyle ? false : undefined,\n getRowId: canUseTreeGridStyle\n ? (row: TData) => String((row as TData & { id: string | number }).id)\n : undefined,\n paginationDisplayMode: 'pages',\n positionToolbarAlertBanner: 'top',\n muiPaginationProps: {\n color: 'secondary',\n rowsPerPageOptions: [10, 20, 30],\n shape: 'rounded',\n variant: 'outlined',\n showRowsPerPage: false,\n },\n muiSearchTextFieldProps: {\n placeholder: 'Search',\n sx: { minWidth: '300px' },\n variant: 'outlined',\n size: 'small',\n },\n muiFilterTextFieldProps: {\n variant: 'outlined',\n size: 'small',\n sx: {\n '& .MuiInputBase-root': {\n padding: '0px 8px',\n height: '32px!important',\n minHeight: '32px!important',\n },\n },\n },\n mrtTheme: (theme: Theme) => ({\n baseBackgroundColor: theme.palette.background.paper,\n menuBackgroundColor: theme.palette.background.paper,\n pinnedRowBackgroundColor: theme.palette.background.paper,\n pinnedColumnBackgroundColor: theme.palette.background.paper,\n }),\n renderTopToolbar: (toolbarProps: { table: MRT_TableInstance<TData> }) => (\n <OwpMrtTableTopToolbar {...toolbarProps} />\n ),\n } as Partial<DataTableProps<TData>>,\n );\n\n const shouldRenderBaseBottomToolbar = defaultOptions.enableBottomToolbar !== false;\n const resolvedTotalCount = isNumber(totalCount) ? totalCount : resolvedData.length;\n const shouldHideLastBodyRowBorderForRadius =\n shouldUseRadiusOuterBorder && !canTotalCountRow && !shouldRenderBaseBottomToolbar;\n\n const renderBaseBottomToolbar = (table: MRT_TableInstance<TData>) => {\n if (!shouldRenderBaseBottomToolbar) {\n return null;\n }\n\n if (typeof restRenderBottomToolbar === 'function') {\n return restRenderBottomToolbar({ table });\n }\n\n return restRenderBottomToolbar ?? <MRT_BottomToolbar table={table} />;\n };\n\n const getResolvedBodyCellProps = (args: BodyCellArgs<TData>) => {\n const mergedProps = mergeResolvedProps<BodyCellArgs<TData>, TableCellProps>(\n args,\n canUseTreeGridStyle\n ? (nextArgs) => getTreeGridBodyCellProps(nextArgs, treeGridTheme)\n : undefined,\n restTableBodyCellProps,\n );\n const { onKeyDownCapture, ...restMergedProps } = mergedProps;\n\n return {\n ...restMergedProps,\n onKeyDownCapture: (event: TableBodyCellKeyDownCaptureEvent) => {\n onKeyDownCapture?.(event);\n\n if (event.defaultPrevented || event.isPropagationStopped()) {\n return;\n }\n\n handleTableBodyFieldTabNavigation(event);\n },\n } satisfies TableCellProps;\n };\n\n const getResolvedBodyRowProps = (args: BodyRowArgs<TData>) =>\n mergeResolvedProps<BodyRowArgs<TData>, TableRowProps>(\n args,\n getDefaultBodyRowProps,\n canUseTreeGridStyle\n ? () =>\n ({\n sx: getTreeGridBodyRowSx(treeGridTheme, {\n canHover: true,\n selected: args.row.getIsSelected(),\n }),\n }) satisfies TableRowProps\n : undefined,\n restTableBodyRowProps,\n );\n\n const getResolvedHeadRowProps = () => {\n if (!resolvedHeaderCellStyle?.backgroundColor) {\n return undefined;\n }\n\n return {\n sx: {\n backgroundColor: `${resolvedHeaderCellStyle.backgroundColor} !important`,\n },\n } satisfies TableRowProps;\n };\n\n const table = useMaterialReactTable<TData>({\n ...defaultOptions,\n columns,\n data: resolvedData,\n enableBottomToolbar: canTotalCountRow ? true : defaultOptions.enableBottomToolbar,\n icons: {\n ...defaultTableIcons,\n ...(canUseTreeGridStyle ? treeGridTableIcons : {}),\n ...(restIcons ?? {}),\n },\n muiBottomToolbarProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, BoxProps>(\n args,\n defaultBottomToolbarProps,\n restBottomToolbarProps,\n ),\n muiSelectAllCheckboxProps: (args: SelectAllCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectAllCheckboxArgs<TData>, CheckboxProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectAllCheckboxProps,\n ),\n muiSelectCheckboxProps: (args: SelectCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectCheckboxArgs<TData>, CheckboxProps | RadioProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectCheckboxProps,\n ),\n muiTableBodyCellProps: (args: BodyCellArgs<TData>) => getResolvedBodyCellProps(args),\n muiTableBodyRowProps: (args: BodyRowArgs<TData>) => getResolvedBodyRowProps(args),\n muiTableContainerProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableContainerProps>(\n args,\n defaultContainerProps,\n canUseTreeGridStyle ? treeGridContainerProps : undefined,\n canUseTreeGridStyle ? { sx: getTreeGridContainerSx(treeGridTheme) } : undefined,\n canUseTableRadius ? tableRadiusContainerProps : undefined,\n restTableContainerProps,\n shouldApplyTotalCountFooterBorderlessLayout && !shouldUseRadiusOuterBorder\n ? getTotalCountFooterBorderlessContainerProps()\n : undefined,\n ),\n muiTableHeadRowProps: (args) =>\n mergeResolvedProps(\n args,\n canUseTreeGridStyle ? getTreeGridHeadRowProps(resolvedHeaderCellStyle) : undefined,\n getResolvedHeadRowProps(),\n restTableHeadRowProps,\n ),\n muiTableHeadCellProps: (args: HeadCellArgs<TData>) =>\n mergeResolvedProps<HeadCellArgs<TData>, TableCellProps>(\n args,\n (nextArgs) => getDefaultHeadCellProps(nextArgs, resolvedHeaderCellStyle),\n canUseTreeGridStyle\n ? (nextArgs) => getTreeGridHeadCellProps(nextArgs, treeGridTheme, resolvedHeaderCellStyle)\n : undefined,\n restTableHeadCellProps,\n ),\n muiTablePaperProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, PaperProps>(\n args,\n defaultPaperProps,\n canUseTreeGridStyle ? getTreeGridPaperProps(treeGridTheme) : undefined,\n canUseTableRadius ? getTableRadiusPaperProps(tableBorderRadius) : undefined,\n restTablePaperProps,\n shouldApplyTotalCountFooterBorderlessLayout && !shouldUseRadiusOuterBorder\n ? totalCountFooterBorderlessPaperProps\n : undefined,\n ),\n muiTableProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableProps>(\n args,\n canUseTreeGridStyle ? getTreeGridTableProps(treeGridTheme) : undefined,\n shouldUseRadiusOuterBorder ? treeGridTableRadiusProps : undefined,\n shouldHideLastBodyRowBorderForRadius ? treeGridTableRadiusBottomEdgeProps : undefined,\n restTableProps,\n ),\n renderBottomToolbar: canTotalCountRow\n ? ({ table }) => (\n <>\n {renderBaseBottomToolbar(table)}\n <OwpTableTotalCount totalCount={resolvedTotalCount} />\n </>\n )\n : restRenderBottomToolbar,\n renderEmptyRowsFallback: shouldUseNoDataOverlay ? () => <></> : restRenderEmptyRowsFallback,\n });\n\n return (\n <>\n {canUseTreeGridStyle && <GlobalStyles styles={getTreeGridFontFaceStyles()} />}\n <MaterialReactTable table={table} />\n {shouldUseNoDataOverlay && (\n <OwpMrtTableNoDataOverlay\n visible={isNoDataOverlayVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n table={table}\n />\n )}\n </>\n );\n}\n\nconst hasTableInstance = <TData extends MRT_RowData>(\n props: OwpMrtTableProps<TData>,\n): props is OwpMrtTableProps<TData> & { table: MRT_TableInstance<TData> } => {\n return 'table' in props && props.table !== undefined;\n};\n\n/**\n * MRT 기반 공통 테이블 컴포넌트\n * @param props 컴포넌트 props\n */\nconst OwpMrtTable = <TData extends MRT_RowData>(props: OwpMrtTableProps<TData>) => {\n const currentLanguage = useGetCurrentLanguage();\n\n if (hasTableInstance(props)) {\n return <MaterialReactTable table={props.table} />;\n }\n\n return (\n <DataTable<TData>\n {...props}\n localization={\n props.localization ?? (currentLanguage.id === 'kr' ? MRT_Localization_KO : undefined)\n }\n />\n );\n};\n\nexport { OwpMrtTable };\n"],"names":["treeGridSortIconColor","getResolvedTreeGridHeaderTextSx","__name","treeGridTheme","headerCellStyle","getTreeGridTypographySx","getHeaderCellTextStyleSx","getHeaderCellHeightStyleSx","getHeaderCellBackgroundColor","getHeaderCellOverrideSx","backgroundColor","textStyleSx","heightStyleSx","contentMinHeight","mergeSxValues","styles","mergedStyles","style","isArray","theme","acc","resolvedStyle","resolvePropValue","prop","args","mergeComponentProps","propsList","resolvedProps","mergedProps","currentProps","className","clsx","sx","mergeResolvedProps","defaultTableIcons","props","jsx","OwpSvgIcon","TreeGridArrowDownwardIcon","ArrowDropDownRoundedIcon","TreeGridSyncAltIcon","direction","iconProps","UnfoldMoreRoundedIcon","treeGridTableIcons","defaultBottomToolbarProps","defaultPaperProps","getTreeGridPaperProps","getTreeGridContainerSx","TREEGRID_TABLE_BODY_BORDER_COLOR","totalCountFooterBorderlessPaperProps","getTotalCountFooterBorderlessContainerProps","defaultContainerProps","getTableRadiusPaperProps","tableBorderRadius","toTableRadiusCssValue","tableRadiusContainerProps","treeGridSelectColumnWidth","treeGridSelectColumnCellSx","treeGridContainerProps","getTreeGridHeadRowProps","defaultSelectCheckboxProps","treeGridSelectCheckboxProps","getTreeGridTableProps","getTreeGridHeaderCellSx","TREEGRID_TABLE_HEADER_BORDER_COLOR","treeGridTableRadiusProps","treeGridTableRadiusBottomEdgeProps","getDefaultBodyRowProps","row","table","density","getDefaultHeadCellProps","column","headerCellBackgroundColor","getTreeGridHeadCellProps","isSelectColumn","resolvedHeaderTextSx","resolvedSortIconColor","headerHeightStyleSx","getTreeGridBodyCellProps","treeGridBodyCellSx","getTreeGridBodyCellSx","tableBodyTabNavigableFieldSelector","isTabNavigableTableBodyField","element","getCurrentTableBodyField","target","currentField","handleTableBodyFieldTabNavigation","event","tableElement","fields","currentIndex","nextField","DataTable","t","useOwpTranslation","currentSettings","useGetCurrentSettings","canHideTotalCountFooterBorder","canUseNoDataOverlay","canUseTableRadius","canTotalCountRow","canUseTreeGridStyle","columns","data","DEFAULT_TABLE_RADIUS","totalCount","rest","restIcons","restInitialState","restBottomToolbarProps","restSelectAllCheckboxProps","restSelectCheckboxProps","restDisplayColumnDefOptions","restTableBodyCellProps","restTableBodyRowProps","restTableContainerProps","restTableHeadCellProps","restTableHeadRowProps","restTablePaperProps","restTableProps","restRenderBottomToolbar","restRenderEmptyRowsFallback","restOptions","resolvedData","useMemo","resolveOwpGridTheme","_b","_a","resolvedHeaderCellStyle","isNoDataOverlayVisible","shouldApplyTotalCountFooterBorderlessLayout","shouldUseNoDataOverlay","shouldUseRadiusOuterBorder","displayColumnDefOptions","initialState","defaultsFC","defaultOptions","toolbarProps","OwpMrtTableTopToolbar","shouldRenderBaseBottomToolbar","resolvedTotalCount","isNumber","shouldHideLastBodyRowBorderForRadius","renderBaseBottomToolbar","MRT_BottomToolbar","getResolvedBodyCellProps","nextArgs","onKeyDownCapture","restMergedProps","getResolvedBodyRowProps","getTreeGridBodyRowSx","getResolvedHeadRowProps","useMaterialReactTable","jsxs","Fragment","OwpTableTotalCount","GlobalStyles","getTreeGridFontFaceStyles","MaterialReactTable","OwpMrtTableNoDataOverlay","hasTableInstance","OwpMrtTable","currentLanguage","useGetCurrentLanguage","MRT_Localization_KO"],"mappings":"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"}
1
+ {"version":3,"file":"OwpMrtTable.js","sources":["../../../src/components/OwpMrtTable/OwpMrtTable.tsx"],"sourcesContent":["import ArrowDropDownRoundedIcon from '@mui/icons-material/ArrowDropDownRounded';\nimport UnfoldMoreRoundedIcon from '@mui/icons-material/UnfoldMoreRounded';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport {\n resolveOwpGridTheme,\n type OwpResolvedGridThemeConfigType,\n} from '@/constants/gridTheme';\nimport { DEFAULT_TABLE_RADIUS } from '@/constants/table';\nimport {\n getTreeGridFontFaceStyles,\n} from '@/constants/treeGrid';\nimport { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport type {\n BoxProps,\n CheckboxProps,\n PaperProps,\n RadioProps,\n SvgIconProps,\n TableCellProps,\n TableContainerProps,\n TableProps,\n TableRowProps,\n} from '@mui/material';\nimport clsx from 'clsx';\nimport type { Theme } from '@mui/material/styles';\nimport { defaults as defaultsFC, isArray, isNumber } from 'es-toolkit/compat';\nimport {\n MaterialReactTable,\n type MaterialReactTableProps,\n MRT_BottomToolbar,\n type MRT_Cell,\n type MRT_Column,\n type MRT_Icons,\n type MRT_Row,\n type MRT_RowData,\n type MRT_TableInstance,\n useMaterialReactTable,\n} from 'material-react-table';\nimport { MRT_Localization_KO } from 'material-react-table/locales/ko';\nimport { useMemo } from 'react';\nimport {\n getTreeGridBodyCellSx,\n getTreeGridBodyRowSx,\n getTreeGridContainerSx,\n getTreeGridHeaderCellSx,\n getTreeGridTypographySx,\n TREEGRID_TABLE_BODY_BORDER_COLOR,\n TREEGRID_TABLE_HEADER_BORDER_COLOR,\n} from '../OwpTable/internal/treeGridTableStyle';\nimport { OwpTableTotalCount } from '../OwpTable/internal/OwpTableTotalCount';\nimport { toTableRadiusCssValue } from '../OwpTable/utils/tableSx';\nimport { OwpMrtTableNoDataOverlay } from './internal/OwpMrtTableNoDataOverlay';\nimport OwpMrtTableTopToolbar from './internal/OwpMrtTableTopToolbar';\n\ntype PropsWithSx = {\n className?: string;\n sx?: unknown;\n};\n\ntype HeadCellArgs<TData extends MRT_RowData> = {\n column: MRT_Column<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyCellArgs<TData extends MRT_RowData> = {\n cell: MRT_Cell<TData>;\n column: MRT_Column<TData>;\n row: MRT_Row<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyRowArgs<TData extends MRT_RowData> = {\n isDetailPanel?: boolean;\n row: MRT_Row<TData>;\n staticRowIndex: number;\n table: MRT_TableInstance<TData>;\n};\n\ntype TableInstanceArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectAllCheckboxArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectCheckboxArgs<TData extends MRT_RowData> = {\n row: MRT_Row<TData>;\n staticRowIndex?: number;\n table: MRT_TableInstance<TData>;\n};\n\nexport type OwpMrtTableHeaderCellStyle = {\n backgroundColor?: string;\n color?: string;\n fontSize?: number | string;\n fontWeight?: number | string;\n height?: number | string;\n};\n\ntype DataTableProps<TData extends MRT_RowData> = MaterialReactTableProps<TData> & {\n canHideTotalCountFooterBorder?: boolean;\n canUseNoDataOverlay?: boolean;\n canUseTableRadius?: boolean;\n canTotalCountRow?: boolean;\n canUseTreeGridStyle?: boolean;\n headerCellStyle?: OwpMrtTableHeaderCellStyle;\n tableBorderRadius?: string | number;\n totalCount?: number;\n};\n\nexport type OwpMrtTableProps<TData extends MRT_RowData> = DataTableProps<TData>;\n\nconst treeGridSortIconColor = '#cbd5e1';\n\nconst getResolvedTreeGridHeaderTextSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n) => ({\n ...getTreeGridTypographySx(\n headerCellStyle?.fontSize ?? treeGridTheme.header.fontSize,\n headerCellStyle?.fontWeight ?? treeGridTheme.header.fontWeight,\n ),\n color: headerCellStyle?.color ?? treeGridTheme.header.color,\n});\n\nconst getHeaderCellTextStyleSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) => ({\n color: headerCellStyle?.color,\n fontSize: headerCellStyle?.fontSize,\n fontWeight: headerCellStyle?.fontWeight,\n});\n\nconst getHeaderCellHeightStyleSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) =>\n headerCellStyle?.height\n ? {\n height: headerCellStyle.height,\n minHeight: headerCellStyle.height,\n }\n : undefined;\n\nconst getHeaderCellBackgroundColor = (headerCellStyle?: OwpMrtTableHeaderCellStyle) =>\n headerCellStyle?.backgroundColor\n ? `${headerCellStyle.backgroundColor} !important`\n : undefined;\n\nconst getHeaderCellOverrideSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) => {\n const backgroundColor = getHeaderCellBackgroundColor(headerCellStyle);\n const textStyleSx = getHeaderCellTextStyleSx(headerCellStyle);\n const heightStyleSx = getHeaderCellHeightStyleSx(headerCellStyle);\n const contentMinHeight = headerCellStyle?.height ? '100%' : undefined;\n\n return {\n ...textStyleSx,\n ...heightStyleSx,\n backgroundColor,\n '& .Mui-TableHeadCell-Content': {\n ...textStyleSx,\n ...heightStyleSx,\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n },\n '& .Mui-TableHeadCell-Content-Labels': {\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n height: headerCellStyle?.height ? '100%' : undefined,\n },\n '& .Mui-TableHeadCell-Content-Wrapper': {\n ...textStyleSx,\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n minHeight: contentMinHeight,\n },\n '& .MuiTableSortLabel-root': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-root:hover': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-root.Mui-active': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-icon': {\n color: headerCellStyle?.color ? `${headerCellStyle.color} !important` : undefined,\n },\n };\n};\n\nconst mergeSxValues = (...styles: Array<unknown>): unknown => {\n const mergedStyles = styles.flatMap((style) => {\n if (!style) {\n return [];\n }\n\n return isArray(style) ? style : [style];\n });\n\n if (mergedStyles.length === 0) {\n return undefined;\n }\n\n return (theme: Theme) =>\n mergedStyles.reduce<Record<string, unknown>>((acc, style) => {\n const resolvedStyle =\n typeof style === 'function' ? (style as (theme: Theme) => unknown)(theme) : style;\n\n if (!resolvedStyle || isArray(resolvedStyle)) {\n return acc;\n }\n\n return {\n ...acc,\n ...(resolvedStyle as Record<string, unknown>),\n };\n }, {});\n};\n\nconst resolvePropValue = <TArgs, TProps>(\n prop: ((args: TArgs) => TProps) | TProps | undefined,\n args: TArgs,\n): TProps | undefined => {\n if (typeof prop === 'function') {\n return (prop as (args: TArgs) => TProps)(args);\n }\n\n return prop;\n};\n\nconst mergeComponentProps = <TProps extends PropsWithSx>(\n ...propsList: Array<TProps | undefined>\n): TProps => {\n const resolvedProps = propsList.filter(Boolean) as TProps[];\n const mergedProps = resolvedProps.reduce((acc, currentProps) => {\n return {\n ...acc,\n ...currentProps,\n };\n }, {} as TProps);\n\n const className = clsx(resolvedProps.map((currentProps) => currentProps.className));\n const sx = mergeSxValues(...resolvedProps.map((currentProps) => currentProps.sx));\n\n if (className) {\n mergedProps.className = className as TProps['className'];\n }\n\n if (sx) {\n mergedProps.sx = sx as TProps['sx'];\n }\n\n return mergedProps;\n};\n\nconst mergeResolvedProps = <TArgs, TProps extends PropsWithSx>(\n args: TArgs,\n ...propsList: Array<((args: TArgs) => TProps) | TProps | undefined>\n): TProps => {\n return mergeComponentProps(\n ...propsList.map((currentProps) => resolvePropValue<TArgs, TProps>(currentProps, args)),\n );\n};\n\nconst defaultTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrow-down-circle\n </OwpSvgIcon>\n ),\n ClearAllIcon: () => <OwpSvgIcon size={20}>heroicons-outline:adjustments-horizontal</OwpSvgIcon>,\n DensityLargeIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3-bottom-left</OwpSvgIcon>,\n DensityMediumIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3</OwpSvgIcon>,\n DensitySmallIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-2</OwpSvgIcon>,\n DragHandleIcon: () => (\n <OwpSvgIcon className=\"rotate-45\" size={14}>\n heroicons-outline:arrows-pointing-out\n </OwpSvgIcon>\n ),\n FilterListIcon: (props) => (\n <OwpSvgIcon size={16} {...props}>\n heroicons-outline:funnel\n </OwpSvgIcon>\n ),\n FilterListOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:funnel</OwpSvgIcon>,\n FullscreenExitIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-in</OwpSvgIcon>,\n FullscreenIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-out</OwpSvgIcon>,\n SearchIcon: (props) => (\n <OwpSvgIcon color=\"action\" size={20} {...props}>\n heroicons-outline:magnifying-glass\n </OwpSvgIcon>\n ),\n SearchOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:magnifying-glass</OwpSvgIcon>,\n ViewColumnIcon: () => <OwpSvgIcon size={20}>heroicons-outline:view-columns</OwpSvgIcon>,\n MoreVertIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-vertical</OwpSvgIcon>,\n MoreHorizIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-horizontal</OwpSvgIcon>,\n SortIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrows-up-down\n </OwpSvgIcon>\n ),\n PushPinIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:bookmark\n </OwpSvgIcon>\n ),\n VisibilityOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:eye-slash</OwpSvgIcon>,\n};\n\nconst TreeGridArrowDownwardIcon = (props: SvgIconProps) => {\n return <ArrowDropDownRoundedIcon fontSize=\"small\" {...props} />;\n};\n\nconst TreeGridSyncAltIcon = (props: SvgIconProps & { direction?: string }) => {\n const { direction, ...iconProps } = props;\n\n void direction;\n\n return <UnfoldMoreRoundedIcon fontSize=\"small\" {...iconProps} />;\n};\n\nconst treeGridTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: TreeGridArrowDownwardIcon,\n SyncAltIcon: TreeGridSyncAltIcon,\n};\n\nconst defaultBottomToolbarProps: BoxProps = {\n className: 'flex items-center min-h-56 h-56',\n};\n\nconst defaultPaperProps: PaperProps = {\n elevation: 0,\n square: true,\n className: 'flex flex-col flex-auto h-full',\n};\n\nconst getTreeGridPaperProps = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): PaperProps => ({\n sx: {\n ...getTreeGridContainerSx(treeGridTheme),\n display: 'flex',\n height: '100%',\n flexDirection: 'column',\n border: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderRadius: 0,\n boxShadow: 'none',\n },\n});\n\nconst totalCountFooterBorderlessPaperProps: PaperProps = {\n sx: {\n border: 0,\n },\n};\n\nconst getTotalCountFooterBorderlessContainerProps = (): TableContainerProps => ({\n sx: {\n borderTop: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderLeft: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n },\n});\n\nconst defaultContainerProps: TableContainerProps = {\n className: 'flex-auto',\n};\n\nconst getTableRadiusPaperProps = (tableBorderRadius: string | number): PaperProps => ({\n square: false,\n sx: {\n borderRadius: toTableRadiusCssValue(tableBorderRadius),\n overflow: 'hidden',\n },\n});\n\nconst tableRadiusContainerProps: TableContainerProps = {\n sx: {\n borderRadius: 'inherit',\n },\n};\n\nconst treeGridSelectColumnWidth = 40;\n\nconst treeGridSelectColumnCellSx = {\n width: treeGridSelectColumnWidth,\n minWidth: treeGridSelectColumnWidth,\n maxWidth: treeGridSelectColumnWidth,\n} as const;\n\nconst treeGridContainerProps: TableContainerProps = {\n sx: {\n flex: 1,\n minHeight: 0,\n overflowX: 'hidden',\n overflowY: 'auto',\n },\n};\n\nconst getTreeGridHeadRowProps = (\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableRowProps => ({\n sx: {\n backgroundColor: headerCellStyle?.backgroundColor,\n boxShadow: 'none',\n },\n});\n\nconst defaultSelectCheckboxProps: CheckboxProps = {\n className: 'w-48',\n};\n\nconst treeGridSelectCheckboxProps: CheckboxProps = {\n sx: {\n display: 'flex',\n m: 0,\n mx: 'auto',\n },\n};\n\nconst getTreeGridTableProps = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): TableProps => ({\n sx: {\n ...getTreeGridContainerSx(treeGridTheme),\n borderSpacing: 0,\n width: '100%',\n tableLayout: 'fixed',\n '& .MuiTableHead-root .MuiTableCell-root': {\n ...getTreeGridHeaderCellSx(treeGridTheme),\n py: 0.75,\n wordBreak: 'keep-all',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n '& .MuiTableHead-root .MuiIconButton-root': {\n display: 'none',\n },\n '& .MuiTableBody-root .MuiTableCell-root': {\n backgroundColor: treeGridTheme.row.backgroundColor,\n color: treeGridTheme.body.color,\n p: 0,\n verticalAlign: 'middle',\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderBottom: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n overflowWrap: 'anywhere',\n },\n '& .MuiTableBody-root .MuiTableCell-root:last-of-type': {\n borderRight: 'none',\n },\n },\n});\n\nconst treeGridTableRadiusProps: TableProps = {\n sx: {\n '& .MuiTableHead-root .MuiTableCell-root': {\n borderTop: 'none',\n },\n '& .MuiTableHead-root .MuiTableRow-root .MuiTableCell-root + .MuiTableCell-root': {\n borderLeft: '1px solid',\n borderLeftColor: 'divider',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: 'none',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: 'none',\n },\n },\n};\n\nconst treeGridTableRadiusBottomEdgeProps: TableProps = {\n sx: {\n '& .MuiTableBody-root .MuiTableRow-root:last-of-type .MuiTableCell-root': {\n borderBottom: 'none',\n },\n },\n};\n\nconst getDefaultBodyRowProps = <TData extends MRT_RowData>({\n row,\n table,\n}: BodyRowArgs<TData>): TableRowProps => {\n const { density } = table.getState();\n\n if (density === 'compact') {\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${37}px` : undefined,\n },\n };\n }\n\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${density === 'comfortable' ? 53 : 69}px` : undefined,\n },\n };\n};\n\nconst getDefaultHeadCellProps = <TData extends MRT_RowData>(\n { column }: HeadCellArgs<TData>,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\n const headerCellBackgroundColor = getHeaderCellBackgroundColor(headerCellStyle);\n\n return {\n sx: {\n '& .Mui-TableHeadCell-Content-Labels': {\n flex: 1,\n justifyContent: 'space-between',\n },\n '& .Mui-TableHeadCell-Content-Actions': {\n '& > button': {\n marginX: '2px',\n },\n },\n '& .MuiFormHelperText-root': {\n textAlign: 'center',\n marginX: 0,\n color: (theme: Theme) => theme.palette.text.disabled,\n fontSize: 11,\n },\n ...getHeaderCellOverrideSx(headerCellStyle),\n backgroundColor: (theme) =>\n headerCellBackgroundColor ??\n (column.getIsPinned() ? theme.palette.background.paper : 'inherit'),\n },\n };\n};\n\nconst getTreeGridHeadCellProps = <TData extends MRT_RowData>(\n { column }: HeadCellArgs<TData>,\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\n const isSelectColumn = column.id === 'mrt-row-select';\n const resolvedHeaderTextSx = getResolvedTreeGridHeaderTextSx(treeGridTheme, headerCellStyle);\n const resolvedSortIconColor = headerCellStyle?.color ?? treeGridSortIconColor;\n const headerHeightStyleSx = getHeaderCellHeightStyleSx(headerCellStyle);\n const contentMinHeight = headerCellStyle?.height ? '100%' : undefined;\n\n return {\n align: 'center',\n sx: {\n ...(isSelectColumn ? treeGridSelectColumnCellSx : {}),\n ...resolvedHeaderTextSx,\n ...getHeaderCellOverrideSx(headerCellStyle),\n backgroundColor: getHeaderCellBackgroundColor(headerCellStyle),\n '& .Mui-TableHeadCell-Content': {\n ...resolvedHeaderTextSx,\n ...headerHeightStyleSx,\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Labels': {\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n flex: 1,\n justifyContent: 'center',\n maxWidth: '100%',\n minWidth: 0,\n overflow: 'hidden',\n position: 'relative',\n pl: 0,\n pr: isSelectColumn ? 0 : '24px',\n height: headerCellStyle?.height ? '100%' : undefined,\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Wrapper': {\n ...resolvedHeaderTextSx,\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n minHeight: contentMinHeight,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n '&& .MuiBadge-root': isSelectColumn\n ? undefined\n : {\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n position: 'absolute',\n pointerEvents: 'none',\n right: '6px',\n top: '50%',\n transform: 'translateY(-50%)',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root': {\n alignItems: 'center',\n color: resolvedSortIconColor,\n display: 'inline-flex',\n justifyContent: 'center',\n minWidth: '16px',\n opacity: '1 !important',\n overflow: 'visible',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root:hover': {\n color: resolvedSortIconColor,\n },\n '&& .MuiTableSortLabel-root.Mui-active': {\n color: resolvedSortIconColor,\n },\n '&& .MuiTableSortLabel-icon': {\n color: `${resolvedSortIconColor} !important`,\n display: 'block',\n fontSize: '18px',\n margin: 0,\n opacity: '1 !important',\n overflow: 'visible',\n },\n '& .MuiButtonBase-root': isSelectColumn\n ? {\n display: 'flex',\n margin: '0 auto',\n }\n : undefined,\n },\n };\n};\n\nconst getTreeGridBodyCellProps = <TData extends MRT_RowData>(\n { column }: BodyCellArgs<TData>,\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): TableCellProps => {\n const treeGridBodyCellSx = { ...getTreeGridBodyCellSx(treeGridTheme) };\n\n Reflect.deleteProperty(treeGridBodyCellSx, 'padding');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderBottom');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderLeft');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderRight');\n\n if (column.id !== 'mrt-row-select') {\n return {\n sx: treeGridBodyCellSx,\n };\n }\n\n return {\n align: 'center',\n sx: {\n ...treeGridBodyCellSx,\n ...treeGridSelectColumnCellSx,\n '& > .MuiButtonBase-root, & .MuiButtonBase-root': {\n display: 'flex',\n margin: '0 auto',\n },\n },\n };\n};\n\nconst tableBodyTabNavigableFieldSelector = [\n 'tbody td input:not([type=\"hidden\"])',\n 'tbody td textarea',\n 'tbody td [contenteditable=\"true\"]',\n 'tbody td [role=\"combobox\"]',\n].join(', ');\n\ntype TableBodyCellKeyDownCaptureEvent = Parameters<\n NonNullable<TableCellProps['onKeyDownCapture']>\n>[0];\n\n/**\n * 테이블 본문 입력 가능 필드 여부 판별\n * @param element 포커스 후보 요소\n */\nconst isTabNavigableTableBodyField = (element: HTMLElement) => {\n if (element.tabIndex < 0) {\n return false;\n }\n\n if (element.getAttribute('aria-disabled') === 'true') {\n return false;\n }\n\n if (element.getAttribute('aria-readonly') === 'true') {\n return false;\n }\n\n if (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement) {\n if (element.disabled || element.readOnly) {\n return false;\n }\n }\n\n if (element instanceof HTMLSelectElement && element.disabled) {\n return false;\n }\n\n if (element instanceof HTMLInputElement) {\n if (\n ['button', 'checkbox', 'file', 'hidden', 'radio', 'reset', 'submit'].includes(element.type)\n ) {\n return false;\n }\n }\n\n return element.getClientRects().length > 0;\n};\n\n/**\n * 테이블 본문 기준 현재 포커스 입력 필드 조회\n * @param target 키 이벤트 target\n */\nconst getCurrentTableBodyField = (target: EventTarget | null) => {\n if (!(target instanceof Element)) {\n return null;\n }\n\n const currentField = target.matches(tableBodyTabNavigableFieldSelector)\n ? target\n : target.closest(tableBodyTabNavigableFieldSelector);\n\n return currentField instanceof HTMLElement && isTabNavigableTableBodyField(currentField)\n ? currentField\n : null;\n};\n\n/**\n * 테이블 본문 입력 필드 Tab 이동 처리\n * @param event body cell keydown capture event\n */\nconst handleTableBodyFieldTabNavigation = (event: TableBodyCellKeyDownCaptureEvent) => {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n const currentField = getCurrentTableBodyField(event.target);\n\n if (!currentField) {\n return;\n }\n\n const tableElement = currentField.closest('table');\n\n if (!tableElement) {\n return;\n }\n\n const fields = Array.from(\n tableElement.querySelectorAll<HTMLElement>(tableBodyTabNavigableFieldSelector),\n ).filter(isTabNavigableTableBodyField);\n\n const currentIndex = fields.indexOf(currentField);\n\n if (currentIndex < 0) {\n return;\n }\n\n const nextField = fields[currentIndex + (event.shiftKey ? -1 : 1)];\n\n if (!nextField) {\n return;\n }\n\n event.preventDefault();\n\n queueMicrotask(() => {\n if (document.contains(nextField)) {\n nextField.focus();\n }\n });\n};\n\n/**\n * MRT 기반 공통 테이블 렌더 함수\n * @param props Material React Table props\n */\nfunction DataTable<TData extends MRT_RowData>(props: DataTableProps<TData>) {\n const { t } = useOwpTranslation();\n const currentSettings = useGetCurrentSettings();\n const {\n canHideTotalCountFooterBorder = false,\n canUseNoDataOverlay = false,\n canUseTableRadius = false,\n canTotalCountRow = true,\n canUseTreeGridStyle = true,\n columns,\n data,\n headerCellStyle,\n tableBorderRadius = DEFAULT_TABLE_RADIUS,\n totalCount,\n ...rest\n } = props;\n\n const {\n icons: restIcons,\n initialState: restInitialState,\n muiBottomToolbarProps: restBottomToolbarProps,\n muiSelectAllCheckboxProps: restSelectAllCheckboxProps,\n muiSelectCheckboxProps: restSelectCheckboxProps,\n displayColumnDefOptions: restDisplayColumnDefOptions,\n muiTableBodyCellProps: restTableBodyCellProps,\n muiTableBodyRowProps: restTableBodyRowProps,\n muiTableContainerProps: restTableContainerProps,\n muiTableHeadCellProps: restTableHeadCellProps,\n muiTableHeadRowProps: restTableHeadRowProps,\n muiTablePaperProps: restTablePaperProps,\n muiTableProps: restTableProps,\n renderBottomToolbar: restRenderBottomToolbar,\n renderEmptyRowsFallback: restRenderEmptyRowsFallback,\n ...restOptions\n } = rest;\n\n const resolvedData = isArray(data) ? data : [];\n const treeGridTheme = useMemo(\n () => resolveOwpGridTheme(currentSettings?.theme?.main?.grid),\n [currentSettings],\n );\n const resolvedHeaderCellStyle = useMemo<OwpMrtTableHeaderCellStyle | undefined>(() => {\n if (!canUseTreeGridStyle) {\n return headerCellStyle;\n }\n\n return {\n backgroundColor: headerCellStyle?.backgroundColor ?? treeGridTheme.header.backgroundColor,\n color: headerCellStyle?.color ?? treeGridTheme.header.color,\n fontSize: headerCellStyle?.fontSize ?? treeGridTheme.header.fontSize,\n fontWeight: headerCellStyle?.fontWeight ?? treeGridTheme.header.fontWeight,\n height: headerCellStyle?.height ?? treeGridTheme.header.height,\n };\n }, [canUseTreeGridStyle, headerCellStyle, treeGridTheme]);\n const isNoDataOverlayVisible = isArray(data) && data.length === 0;\n const shouldHideTotalCountFooterBorder = canUseTreeGridStyle || canHideTotalCountFooterBorder;\n const shouldApplyTotalCountFooterBorderlessLayout =\n canTotalCountRow && shouldHideTotalCountFooterBorder;\n const shouldUseNoDataOverlay = canUseTreeGridStyle || canUseNoDataOverlay;\n const shouldUseRadiusOuterBorder = canUseTreeGridStyle && canUseTableRadius;\n const displayColumnDefOptions = canUseTreeGridStyle\n ? {\n ...(restDisplayColumnDefOptions ?? {}),\n 'mrt-row-select': {\n header: '',\n size: treeGridSelectColumnWidth,\n minSize: treeGridSelectColumnWidth,\n maxSize: treeGridSelectColumnWidth,\n ...(restDisplayColumnDefOptions?.['mrt-row-select'] ?? {}),\n },\n }\n : restDisplayColumnDefOptions;\n\n const initialState = defaultsFC(\n { ...(restInitialState ?? {}) },\n {\n density: canUseTreeGridStyle ? 'compact' : 'spacious',\n showColumnFilters: false,\n showGlobalFilter: !canUseTreeGridStyle,\n columnPinning: {\n left: ['mrt-row-expand', 'mrt-row-select'],\n right: ['mrt-row-actions'],\n },\n pagination: {\n pageSize: 15,\n },\n enableFullScreenToggle: false,\n },\n );\n\n const defaultOptions = defaultsFC(\n {\n ...restOptions,\n displayColumnDefOptions,\n initialState,\n },\n {\n displayColumnDefOptions,\n initialState,\n layoutMode: canUseTreeGridStyle ? 'semantic' : undefined,\n enablePagination: canUseTreeGridStyle ? false : undefined,\n enableBottomToolbar: canUseTreeGridStyle ? false : undefined,\n enableTopToolbar: canUseTreeGridStyle ? false : undefined,\n enableColumnActions: canUseTreeGridStyle ? false : undefined,\n enableColumnDragging: canUseTreeGridStyle ? false : undefined,\n enableColumnFilters: canUseTreeGridStyle ? false : undefined,\n enableColumnOrdering: canUseTreeGridStyle ? false : true,\n enableDensityToggle: canUseTreeGridStyle ? false : undefined,\n enableFullScreenToggle: false,\n enableGlobalFilter: canUseTreeGridStyle ? false : undefined,\n enableGrouping: canUseTreeGridStyle ? false : true,\n enableHiding: canUseTreeGridStyle ? false : undefined,\n enableColumnPinning: canUseTreeGridStyle ? false : true,\n enableFacetedValues: canUseTreeGridStyle ? false : true,\n enableMultiRowSelection: canUseTreeGridStyle ? true : undefined,\n enableRowActions: canUseTreeGridStyle ? false : true,\n enableRowSelection: true,\n enableRowDragging: canUseTreeGridStyle ? false : undefined,\n enableRowOrdering: canUseTreeGridStyle ? false : undefined,\n enableSelectAll: canUseTreeGridStyle ? false : undefined,\n enableStickyHeader: true,\n enableToolbarInternalActions: canUseTreeGridStyle ? false : undefined,\n getRowId: canUseTreeGridStyle\n ? (row: TData) => String((row as TData & { id: string | number }).id)\n : undefined,\n paginationDisplayMode: 'pages',\n positionToolbarAlertBanner: 'top',\n muiPaginationProps: {\n color: 'secondary',\n rowsPerPageOptions: [10, 20, 30],\n shape: 'rounded',\n variant: 'outlined',\n showRowsPerPage: false,\n },\n muiSearchTextFieldProps: {\n placeholder: 'Search',\n sx: { minWidth: '300px' },\n variant: 'outlined',\n size: 'small',\n },\n muiFilterTextFieldProps: {\n variant: 'outlined',\n size: 'small',\n sx: {\n '& .MuiInputBase-root': {\n padding: '0px 8px',\n height: '32px!important',\n minHeight: '32px!important',\n },\n },\n },\n mrtTheme: (theme: Theme) => ({\n baseBackgroundColor: theme.palette.background.paper,\n menuBackgroundColor: theme.palette.background.paper,\n pinnedRowBackgroundColor: theme.palette.background.paper,\n pinnedColumnBackgroundColor: theme.palette.background.paper,\n }),\n renderTopToolbar: (toolbarProps: { table: MRT_TableInstance<TData> }) => (\n <OwpMrtTableTopToolbar {...toolbarProps} />\n ),\n } as Partial<DataTableProps<TData>>,\n );\n\n const shouldRenderBaseBottomToolbar = defaultOptions.enableBottomToolbar !== false;\n const resolvedTotalCount = isNumber(totalCount) ? totalCount : resolvedData.length;\n const shouldHideLastBodyRowBorderForRadius =\n shouldUseRadiusOuterBorder && !canTotalCountRow && !shouldRenderBaseBottomToolbar;\n\n const renderBaseBottomToolbar = (table: MRT_TableInstance<TData>) => {\n if (!shouldRenderBaseBottomToolbar) {\n return null;\n }\n\n if (typeof restRenderBottomToolbar === 'function') {\n return restRenderBottomToolbar({ table });\n }\n\n return restRenderBottomToolbar ?? <MRT_BottomToolbar table={table} />;\n };\n\n const getResolvedBodyCellProps = (args: BodyCellArgs<TData>) => {\n const mergedProps = mergeResolvedProps<BodyCellArgs<TData>, TableCellProps>(\n args,\n canUseTreeGridStyle\n ? (nextArgs) => getTreeGridBodyCellProps(nextArgs, treeGridTheme)\n : undefined,\n restTableBodyCellProps,\n );\n const { onKeyDownCapture, ...restMergedProps } = mergedProps;\n\n return {\n ...restMergedProps,\n onKeyDownCapture: (event: TableBodyCellKeyDownCaptureEvent) => {\n onKeyDownCapture?.(event);\n\n if (event.defaultPrevented || event.isPropagationStopped()) {\n return;\n }\n\n handleTableBodyFieldTabNavigation(event);\n },\n } satisfies TableCellProps;\n };\n\n const getResolvedBodyRowProps = (args: BodyRowArgs<TData>) =>\n mergeResolvedProps<BodyRowArgs<TData>, TableRowProps>(\n args,\n getDefaultBodyRowProps,\n canUseTreeGridStyle\n ? () =>\n ({\n sx: getTreeGridBodyRowSx(treeGridTheme, {\n canHover: true,\n selected: args.row.getIsSelected(),\n }),\n }) satisfies TableRowProps\n : undefined,\n restTableBodyRowProps,\n );\n\n const getResolvedHeadRowProps = () => {\n if (!resolvedHeaderCellStyle?.backgroundColor) {\n return undefined;\n }\n\n return {\n sx: {\n backgroundColor: `${resolvedHeaderCellStyle.backgroundColor} !important`,\n },\n } satisfies TableRowProps;\n };\n\n const table = useMaterialReactTable<TData>({\n ...defaultOptions,\n columns,\n data: resolvedData,\n enableBottomToolbar: canTotalCountRow ? true : defaultOptions.enableBottomToolbar,\n icons: {\n ...defaultTableIcons,\n ...(canUseTreeGridStyle ? treeGridTableIcons : {}),\n ...(restIcons ?? {}),\n },\n muiBottomToolbarProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, BoxProps>(\n args,\n defaultBottomToolbarProps,\n restBottomToolbarProps,\n ),\n muiSelectAllCheckboxProps: (args: SelectAllCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectAllCheckboxArgs<TData>, CheckboxProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectAllCheckboxProps,\n ),\n muiSelectCheckboxProps: (args: SelectCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectCheckboxArgs<TData>, CheckboxProps | RadioProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectCheckboxProps,\n ),\n muiTableBodyCellProps: (args: BodyCellArgs<TData>) => getResolvedBodyCellProps(args),\n muiTableBodyRowProps: (args: BodyRowArgs<TData>) => getResolvedBodyRowProps(args),\n muiTableContainerProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableContainerProps>(\n args,\n defaultContainerProps,\n canUseTreeGridStyle ? treeGridContainerProps : undefined,\n canUseTreeGridStyle ? { sx: getTreeGridContainerSx(treeGridTheme) } : undefined,\n canUseTableRadius ? tableRadiusContainerProps : undefined,\n restTableContainerProps,\n shouldApplyTotalCountFooterBorderlessLayout && !shouldUseRadiusOuterBorder\n ? getTotalCountFooterBorderlessContainerProps()\n : undefined,\n ),\n muiTableHeadRowProps: (args) =>\n mergeResolvedProps(\n args,\n canUseTreeGridStyle ? getTreeGridHeadRowProps(resolvedHeaderCellStyle) : undefined,\n getResolvedHeadRowProps(),\n restTableHeadRowProps,\n ),\n muiTableHeadCellProps: (args: HeadCellArgs<TData>) =>\n mergeResolvedProps<HeadCellArgs<TData>, TableCellProps>(\n args,\n (nextArgs) => getDefaultHeadCellProps(nextArgs, resolvedHeaderCellStyle),\n canUseTreeGridStyle\n ? (nextArgs) => getTreeGridHeadCellProps(nextArgs, treeGridTheme, resolvedHeaderCellStyle)\n : undefined,\n restTableHeadCellProps,\n ),\n muiTablePaperProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, PaperProps>(\n args,\n defaultPaperProps,\n canUseTreeGridStyle ? getTreeGridPaperProps(treeGridTheme) : undefined,\n canUseTableRadius ? getTableRadiusPaperProps(tableBorderRadius) : undefined,\n restTablePaperProps,\n shouldApplyTotalCountFooterBorderlessLayout && !shouldUseRadiusOuterBorder\n ? totalCountFooterBorderlessPaperProps\n : undefined,\n ),\n muiTableProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableProps>(\n args,\n canUseTreeGridStyle ? getTreeGridTableProps(treeGridTheme) : undefined,\n shouldUseRadiusOuterBorder ? treeGridTableRadiusProps : undefined,\n shouldHideLastBodyRowBorderForRadius ? treeGridTableRadiusBottomEdgeProps : undefined,\n restTableProps,\n ),\n renderBottomToolbar: canTotalCountRow\n ? ({ table }) => (\n <>\n {renderBaseBottomToolbar(table)}\n <OwpTableTotalCount totalCount={resolvedTotalCount} />\n </>\n )\n : restRenderBottomToolbar,\n renderEmptyRowsFallback: shouldUseNoDataOverlay ? () => <></> : restRenderEmptyRowsFallback,\n });\n\n return (\n <>\n {canUseTreeGridStyle && <GlobalStyles styles={getTreeGridFontFaceStyles()} />}\n <MaterialReactTable table={table} />\n {shouldUseNoDataOverlay && (\n <OwpMrtTableNoDataOverlay\n visible={isNoDataOverlayVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n table={table}\n />\n )}\n </>\n );\n}\n\nconst hasTableInstance = <TData extends MRT_RowData>(\n props: OwpMrtTableProps<TData>,\n): props is OwpMrtTableProps<TData> & { table: MRT_TableInstance<TData> } => {\n return 'table' in props && props.table !== undefined;\n};\n\n/**\n * MRT 기반 공통 테이블 컴포넌트\n * @param props 컴포넌트 props\n */\nconst OwpMrtTable = <TData extends MRT_RowData>(props: OwpMrtTableProps<TData>) => {\n const currentLanguage = useGetCurrentLanguage();\n\n if (hasTableInstance(props)) {\n return <MaterialReactTable table={props.table} />;\n }\n\n return (\n <DataTable<TData>\n {...props}\n localization={\n props.localization ?? (currentLanguage.id === 'kr' ? MRT_Localization_KO : undefined)\n }\n />\n );\n};\n\nexport { OwpMrtTable };\n"],"names":["treeGridSortIconColor","getResolvedTreeGridHeaderTextSx","__name","treeGridTheme","headerCellStyle","getTreeGridTypographySx","getHeaderCellTextStyleSx","getHeaderCellHeightStyleSx","getHeaderCellBackgroundColor","getHeaderCellOverrideSx","backgroundColor","textStyleSx","heightStyleSx","contentMinHeight","mergeSxValues","styles","mergedStyles","style","isArray","theme","acc","resolvedStyle","resolvePropValue","prop","args","mergeComponentProps","propsList","resolvedProps","mergedProps","currentProps","className","clsx","sx","mergeResolvedProps","defaultTableIcons","props","jsx","OwpSvgIcon","TreeGridArrowDownwardIcon","ArrowDropDownRoundedIcon","TreeGridSyncAltIcon","direction","iconProps","UnfoldMoreRoundedIcon","treeGridTableIcons","defaultBottomToolbarProps","defaultPaperProps","getTreeGridPaperProps","getTreeGridContainerSx","TREEGRID_TABLE_BODY_BORDER_COLOR","totalCountFooterBorderlessPaperProps","getTotalCountFooterBorderlessContainerProps","defaultContainerProps","getTableRadiusPaperProps","tableBorderRadius","toTableRadiusCssValue","tableRadiusContainerProps","treeGridSelectColumnWidth","treeGridSelectColumnCellSx","treeGridContainerProps","getTreeGridHeadRowProps","defaultSelectCheckboxProps","treeGridSelectCheckboxProps","getTreeGridTableProps","getTreeGridHeaderCellSx","TREEGRID_TABLE_HEADER_BORDER_COLOR","treeGridTableRadiusProps","treeGridTableRadiusBottomEdgeProps","getDefaultBodyRowProps","row","table","density","getDefaultHeadCellProps","column","headerCellBackgroundColor","getTreeGridHeadCellProps","isSelectColumn","resolvedHeaderTextSx","resolvedSortIconColor","headerHeightStyleSx","getTreeGridBodyCellProps","treeGridBodyCellSx","getTreeGridBodyCellSx","tableBodyTabNavigableFieldSelector","isTabNavigableTableBodyField","element","getCurrentTableBodyField","target","currentField","handleTableBodyFieldTabNavigation","event","tableElement","fields","currentIndex","nextField","DataTable","t","useOwpTranslation","currentSettings","useGetCurrentSettings","canHideTotalCountFooterBorder","canUseNoDataOverlay","canUseTableRadius","canTotalCountRow","canUseTreeGridStyle","columns","data","DEFAULT_TABLE_RADIUS","totalCount","rest","restIcons","restInitialState","restBottomToolbarProps","restSelectAllCheckboxProps","restSelectCheckboxProps","restDisplayColumnDefOptions","restTableBodyCellProps","restTableBodyRowProps","restTableContainerProps","restTableHeadCellProps","restTableHeadRowProps","restTablePaperProps","restTableProps","restRenderBottomToolbar","restRenderEmptyRowsFallback","restOptions","resolvedData","useMemo","resolveOwpGridTheme","_b","_a","resolvedHeaderCellStyle","isNoDataOverlayVisible","shouldApplyTotalCountFooterBorderlessLayout","shouldUseNoDataOverlay","shouldUseRadiusOuterBorder","displayColumnDefOptions","initialState","defaultsFC","defaultOptions","toolbarProps","OwpMrtTableTopToolbar","shouldRenderBaseBottomToolbar","resolvedTotalCount","isNumber","shouldHideLastBodyRowBorderForRadius","renderBaseBottomToolbar","MRT_BottomToolbar","getResolvedBodyCellProps","nextArgs","onKeyDownCapture","restMergedProps","getResolvedBodyRowProps","getTreeGridBodyRowSx","getResolvedHeadRowProps","useMaterialReactTable","jsxs","Fragment","OwpTableTotalCount","GlobalStyles","getTreeGridFontFaceStyles","MaterialReactTable","OwpMrtTableNoDataOverlay","hasTableInstance","OwpMrtTable","currentLanguage","useGetCurrentLanguage","MRT_Localization_KO"],"mappings":"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"}
@@ -1,35 +1,36 @@
1
1
  var c = Object.defineProperty;
2
2
  var n = (e, o) => c(e, "name", { value: o, configurable: !0 });
3
- import { jsxs as r, jsx as l } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
- import { Divider as t } from "@mui/material";
5
- import { OwpPageTitle as f } from "../OwpPageTitle/OwpPageTitle.js";
6
- const u = /* @__PURE__ */ n(({
3
+ import { jsxs as a, jsx as s } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
+ import { Divider as f } from "@mui/material";
5
+ import { useMinimumVisibleState as p } from "../../hooks/internal/useMinimumVisibleState.js";
6
+ import { OwpPageTitle as h } from "../OwpPageTitle/OwpPageTitle.js";
7
+ const P = /* @__PURE__ */ n(({
7
8
  title: e,
8
9
  leftSlot: o,
9
- centerSlot: a,
10
- actions: s,
11
- children: d,
12
- loading: i
10
+ centerSlot: i,
11
+ actions: l,
12
+ children: r,
13
+ loading: d
13
14
  }) => {
14
- const m = !!(e != null && e !== "" || o || a || s);
15
- return /* @__PURE__ */ r("div", { className: "OwpPageContent-root flex h-full w-full flex-col", children: [
16
- m && /* @__PURE__ */ r("div", { className: "OwpPageContent-header sticky", children: [
17
- /* @__PURE__ */ l(
18
- f,
15
+ const m = e != null && e !== "", t = p(d);
16
+ return /* @__PURE__ */ a("div", { className: "OwpPageContent-root flex h-full w-full flex-col", children: [
17
+ !!(m || o || i || l) && /* @__PURE__ */ a("div", { className: "OwpPageContent-header sticky", children: [
18
+ /* @__PURE__ */ s(
19
+ h,
19
20
  {
20
21
  title: e,
21
22
  leftSlot: o,
22
- centerSlot: a,
23
- actions: s,
24
- loading: i
23
+ centerSlot: i,
24
+ actions: l,
25
+ loading: t
25
26
  }
26
27
  ),
27
- /* @__PURE__ */ l(t, { className: "my-12" })
28
+ /* @__PURE__ */ s(f, { className: "my-12" })
28
29
  ] }),
29
- /* @__PURE__ */ l("div", { className: "OwpPageContent-body flex min-h-0 flex-1 flex-col", children: d })
30
+ /* @__PURE__ */ s("div", { className: "OwpPageContent-body flex min-h-0 flex-1 flex-col", children: r })
30
31
  ] });
31
32
  }, "OwpPageContent");
32
33
  export {
33
- u as OwpPageContent
34
+ P as OwpPageContent
34
35
  };
35
36
  //# sourceMappingURL=OwpPageContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OwpPageContent.js","sources":["../../../src/components/OwpPageContent/OwpPageContent.tsx"],"sourcesContent":["import { Divider } from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { OwpPageTitle } from '../OwpPageTitle';\n\ninterface OwpPageContentProps {\n title?: ReactNode;\n leftSlot?: ReactNode;\n centerSlot?: ReactNode;\n actions?: ReactNode;\n children?: ReactNode;\n loading?: boolean;\n}\n\n/**\n * OwpPageContent 컴포넌트\n * @param title 제목\n * @param leftSlot leftSlot 값\n * @param centerSlot centerSlot 값\n * @param actions 액션 영역\n * @param children 하위 콘텐츠\n * @param loading 로딩 상태\n */\nconst OwpPageContent = ({\n title,\n leftSlot,\n centerSlot,\n actions,\n children,\n loading,\n}: OwpPageContentProps) => {\n const hasTitle = title !== undefined && title !== null && title !== '';\n const shouldRenderHeader = Boolean(hasTitle || leftSlot || centerSlot || actions);\n\n return (\n <div className=\"OwpPageContent-root flex h-full w-full flex-col\">\n {shouldRenderHeader && (\n <div className=\"OwpPageContent-header sticky\">\n <OwpPageTitle\n title={title}\n leftSlot={leftSlot}\n centerSlot={centerSlot}\n actions={actions}\n loading={loading}\n />\n <Divider className=\"my-12\" />\n </div>\n )}\n <div className=\"OwpPageContent-body flex min-h-0 flex-1 flex-col\">{children}</div>\n </div>\n );\n};\n\nexport { OwpPageContent };\n"],"names":["OwpPageContent","__name","title","leftSlot","centerSlot","actions","children","loading","shouldRenderHeader","jsxs","jsx","OwpPageTitle","Divider"],"mappings":";;;;;AAsBA,MAAMA,IAAiB,gBAAAC,EAAA,CAAC;AAAA,EACtB,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,MAA2B;AAEzB,QAAMC,IAAqB,GADaN,KAAU,QAAQA,MAAU,MACrBC,KAAYC,KAAcC;AAEzE,SACE,gBAAAI,EAAC,OAAA,EAAI,WAAU,mDACZ,UAAA;AAAA,IAAAD,KACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAAT;AAAA,UACA,UAAAC;AAAA,UACA,YAAAC;AAAA,UACA,SAAAC;AAAA,UACA,SAAAE;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF,gBAAAG,EAACE,GAAA,EAAQ,WAAU,QAAA,CAAQ;AAAA,IAAA,GAC7B;AAAA,IAEF,gBAAAF,EAAC,OAAA,EAAI,WAAU,oDAAoD,UAAAJ,EAAA,CAAS;AAAA,EAAA,GAC9E;AAEJ,GA5BuB;"}
1
+ {"version":3,"file":"OwpPageContent.js","sources":["../../../src/components/OwpPageContent/OwpPageContent.tsx"],"sourcesContent":["import { Divider } from '@mui/material';\nimport { useMinimumVisibleState } from '@/hooks/internal/useMinimumVisibleState';\nimport type { ReactNode } from 'react';\nimport { OwpPageTitle } from '../OwpPageTitle';\n\ninterface OwpPageContentProps {\n title?: ReactNode;\n leftSlot?: ReactNode;\n centerSlot?: ReactNode;\n actions?: ReactNode;\n children?: ReactNode;\n loading?: boolean;\n}\n\n/**\n * OwpPageContent 컴포넌트\n * @param title 제목\n * @param leftSlot leftSlot 값\n * @param centerSlot centerSlot 값\n * @param actions 액션 영역\n * @param children 하위 콘텐츠\n * @param loading 로딩 상태\n */\nconst OwpPageContent = ({\n title,\n leftSlot,\n centerSlot,\n actions,\n children,\n loading,\n}: OwpPageContentProps) => {\n const hasTitle = title !== undefined && title !== null && title !== '';\n const isLoadingVisible = useMinimumVisibleState(loading);\n const shouldRenderHeader = Boolean(hasTitle || leftSlot || centerSlot || actions);\n\n return (\n <div className=\"OwpPageContent-root flex h-full w-full flex-col\">\n {shouldRenderHeader && (\n <div className=\"OwpPageContent-header sticky\">\n <OwpPageTitle\n title={title}\n leftSlot={leftSlot}\n centerSlot={centerSlot}\n actions={actions}\n loading={isLoadingVisible}\n />\n <Divider className=\"my-12\" />\n </div>\n )}\n <div className=\"OwpPageContent-body flex min-h-0 flex-1 flex-col\">{children}</div>\n </div>\n );\n};\n\nexport { OwpPageContent };\n"],"names":["OwpPageContent","__name","title","leftSlot","centerSlot","actions","children","loading","hasTitle","isLoadingVisible","useMinimumVisibleState","jsxs","jsx","OwpPageTitle","Divider"],"mappings":";;;;;;AAuBA,MAAMA,IAAiB,gBAAAC,EAAA,CAAC;AAAA,EACtB,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,MAA2B;AACzB,QAAMC,IAAkCN,KAAU,QAAQA,MAAU,IAC9DO,IAAmBC,EAAuBH,CAAO;AAGvD,SACE,gBAAAI,EAAC,OAAA,EAAI,WAAU,mDACZ,UAAA;AAAA,IAJsB,GAAQH,KAAYL,KAAYC,KAAcC,MAKnE,gBAAAM,EAAC,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAAX;AAAA,UACA,UAAAC;AAAA,UACA,YAAAC;AAAA,UACA,SAAAC;AAAA,UACA,SAASI;AAAA,QAAA;AAAA,MAAA;AAAA,MAEX,gBAAAG,EAACE,GAAA,EAAQ,WAAU,QAAA,CAAQ;AAAA,IAAA,GAC7B;AAAA,IAEF,gBAAAF,EAAC,OAAA,EAAI,WAAU,oDAAoD,UAAAN,EAAA,CAAS;AAAA,EAAA,GAC9E;AAEJ,GA7BuB;"}