@owp/core 2.5.35 → 2.5.37

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 (43) hide show
  1. package/dist/_virtual/index10.js +2 -2
  2. package/dist/_virtual/index12.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/components/OwpTable/OwpDataTable.js +360 -391
  6. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  7. package/dist/components/OwpTable/OwpTable.js +19 -20
  8. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  9. package/dist/components/OwpTable/internal/OwpTableBase.js +78 -81
  10. package/dist/components/OwpTable/internal/OwpTableBase.js.map +1 -1
  11. package/dist/components/OwpTable/internal/treeGridTableStyle.js +31 -88
  12. package/dist/components/OwpTable/internal/treeGridTableStyle.js.map +1 -1
  13. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +287 -361
  14. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  15. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +563 -481
  16. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  17. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +410 -331
  18. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  19. package/dist/constants/treeGrid.js +47 -59
  20. package/dist/constants/treeGrid.js.map +1 -1
  21. package/dist/constants.js +28 -27
  22. package/dist/constants.js.map +1 -1
  23. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  24. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  25. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  26. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  27. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  28. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  29. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  30. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  31. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  32. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  33. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  34. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  35. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  36. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  37. package/dist/owp-app.css +1 -1
  38. package/dist/types/components/OwpTable/internal/OwpTableBase.d.ts +1 -3
  39. package/dist/types/components/OwpTable/internal/treeGridTableStyle.d.ts +2 -61
  40. package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +4 -2
  41. package/dist/types/constants/index.d.ts +1 -0
  42. package/dist/types/constants/treeGrid.d.ts +1 -9
  43. package/package.json +1 -1
@@ -1,98 +1,97 @@
1
1
  var G = Object.defineProperty;
2
- var u = (o, a) => G(o, "name", { value: a, configurable: !0 });
3
- import { jsxs as B, jsx as w, Fragment as H } 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 { resolveOwpGridTheme as E } from "../../../constants/gridTheme.js";
5
- import { resolveOwpTableTheme as F } from "../../../constants/tableTheme.js";
6
- import { DEFAULT_TABLE_RADIUS as n } from "../../../constants/table.js";
7
- import { getTreeGridFontFaceStyles as I, TREEGRID_TABLE_BODY_BORDER_COLOR as k, TREEGRID_TABLE_HEADER_BORDER_COLOR as S } from "../../../constants/treeGrid.js";
8
- import { useGetCurrentSettings as $ } from "../../../hooks/useOwpSettings.js";
9
- import { styled as O } from "@mui/material";
10
- import { clsx as j } from "../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
11
- import N from "@mui/material/GlobalStyles";
12
- import K from "@mui/material/Paper";
13
- import V from "@mui/material/Table";
14
- import Y from "@mui/material/TableContainer";
15
- import Z from "@mui/material/TableRow";
16
- import { useMemo as g } from "react";
17
- import { getTreeGridRadiusContainerFrameSx as q, getTreeGridContainerSx as z, getTreeGridHeaderEdgeTableSx as J, getTreeGridHeaderBottomBodyBorderSx as Q, getTreeGridBodyRowSx as W, getTreeGridBodyCellSx as X, getTreeGridHeaderCellSx as c, getTreeGridCellBaseSx as P } from "./treeGridTableStyle.js";
18
- import { defaultStyledTableTheme as _, getDefaultTableCellSx as U, getDefaultTableHeaderCellSx as oo, DEFAULT_TABLE_HEADER_BACKGROUND_COLOR as eo } from "./defaultTableStyle.js";
19
- import { mergeSx as ro, toTableRadiusCssValue as to } from "../utils/tableSx.js";
20
- const lo = {
2
+ var s = (o, a) => G(o, "name", { value: a, configurable: !0 });
3
+ import { jsxs as B, jsx as w, Fragment as F } 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 { resolveOwpGridTheme as g } from "../../../constants/gridTheme.js";
5
+ import { resolveOwpTableTheme as I } from "../../../constants/tableTheme.js";
6
+ import { DEFAULT_TABLE_RADIUS as O } from "../../../constants/table.js";
7
+ import { getTreeGridFontFaceStyles as $ } from "../../../constants/treeGrid.js";
8
+ import { useGetCurrentSettings as k } from "../../../hooks/useOwpSettings.js";
9
+ import { styled as n } from "@mui/material";
10
+ import { clsx as H } from "../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
11
+ import j from "@mui/material/GlobalStyles";
12
+ import N from "@mui/material/Paper";
13
+ import K from "@mui/material/Table";
14
+ import S from "@mui/material/TableContainer";
15
+ import V from "@mui/material/TableRow";
16
+ import { useMemo as y } from "react";
17
+ import { TREEGRID_TABLE_BODY_BORDER_COLOR as _, getTreeGridContainerSx as Y, getTreeGridBodyRowSx as Z, getTreeGridBodyCellSx as q, TREEGRID_TABLE_HEADER_BORDER_COLOR as z, getTreeGridHeaderCellSx as J, getTreeGridCellBaseSx as Q } from "./treeGridTableStyle.js";
18
+ import { defaultStyledTableTheme as D, getDefaultTableCellSx as W, getDefaultTableHeaderCellSx as X, DEFAULT_TABLE_HEADER_BACKGROUND_COLOR as c } from "./defaultTableStyle.js";
19
+ import { mergeSx as P, toTableRadiusCssValue as U } from "../utils/tableSx.js";
20
+ const oo = {
21
21
  border: 0,
22
22
  borderRadius: 0,
23
23
  overflow: "visible"
24
- }, io = {
25
- borderRadius: n
26
- }, ao = {
24
+ }, eo = {
25
+ borderRadius: O
26
+ }, ro = {
27
27
  borderRadius: 0
28
- }, y = {
28
+ }, E = {
29
29
  dark: "rgba(241,245,249,.12)",
30
30
  light: "#e2e8f0"
31
- }, _o = /* @__PURE__ */ u(({
31
+ }, Eo = /* @__PURE__ */ s(({
32
32
  canBodyFullHeight: o,
33
33
  canTableRadiusZero: a = !1,
34
- canUseTableRadius: e = !1,
34
+ canUseTableRadius: r = !1,
35
35
  canUseTreeGridStyle: t,
36
36
  children: m,
37
37
  className: i,
38
38
  containerProps: l,
39
39
  footerSlot: f,
40
- tableTheme: d,
41
- tableLayout: R,
42
- tableBorderRadius: D = n,
43
- treeGridHeaderRowCount: L = 0,
40
+ tableTheme: T,
41
+ tableLayout: u,
42
+ tableBorderRadius: L = O,
44
43
  ...v
45
44
  }) => {
46
45
  var C, M, x;
47
- const r = $(), p = ((x = (M = (C = r == null ? void 0 : r.theme) == null ? void 0 : C.main) == null ? void 0 : M.palette) == null ? void 0 : x.mode) === "dark" ? y.dark : y.light, s = g(
46
+ const e = k(), R = ((x = (M = (C = e == null ? void 0 : e.theme) == null ? void 0 : C.main) == null ? void 0 : M.palette) == null ? void 0 : x.mode) === "dark" ? E.dark : E.light, p = y(
48
47
  () => {
49
- var b, T;
50
- return E((T = (b = r == null ? void 0 : r.theme) == null ? void 0 : b.main) == null ? void 0 : T.grid);
48
+ var d, b;
49
+ return g((b = (d = e == null ? void 0 : e.theme) == null ? void 0 : d.main) == null ? void 0 : b.grid);
51
50
  },
52
- [r]
53
- ), h = g(
51
+ [e]
52
+ ), h = y(
54
53
  () => {
55
- var b, T;
56
- return d ?? F((T = (b = r == null ? void 0 : r.theme) == null ? void 0 : b.main) == null ? void 0 : T.table, {
57
- ..._,
58
- borderColor: p
54
+ var d, b;
55
+ return T ?? I((b = (d = e == null ? void 0 : e.theme) == null ? void 0 : d.main) == null ? void 0 : b.table, {
56
+ ...D,
57
+ borderColor: R
59
58
  });
60
59
  },
61
- [r, p, d]
62
- ), A = a ? ao : t && e ? {
63
- ...q(s, L),
64
- borderRadius: to(D),
60
+ [e, R, T]
61
+ ), A = a ? ro : t && r ? {
62
+ border: `1px solid ${_}`,
63
+ borderRadius: U(L),
65
64
  overflow: "hidden"
66
- } : t ? void 0 : io;
67
- return /* @__PURE__ */ B(H, { children: [
68
- t && /* @__PURE__ */ w(N, { styles: I() }),
65
+ } : t ? void 0 : eo;
66
+ return /* @__PURE__ */ B(F, { children: [
67
+ t && /* @__PURE__ */ w(j, { styles: $() }),
69
68
  /* @__PURE__ */ B(
70
- Y,
69
+ S,
71
70
  {
72
- component: K,
71
+ component: N,
73
72
  variant: "outlined",
74
73
  ...l,
75
- sx: ro(
74
+ sx: P(
76
75
  !t && { borderColor: h.borderColor },
77
- t && lo,
78
- t && z(s),
76
+ t && oo,
77
+ t && Y(p),
79
78
  A,
80
79
  o && { height: "100%" },
81
80
  l == null ? void 0 : l.sx
82
81
  ),
83
82
  children: [
84
83
  /* @__PURE__ */ w(
85
- bo,
84
+ to,
86
85
  {
87
86
  ...v,
88
87
  canBodyFullHeight: o,
89
- canUseTableRadius: e,
88
+ canUseTableRadius: r,
90
89
  canUseTreeGridStyle: t,
91
90
  tableTheme: h,
92
- treeGridTheme: s,
93
- className: j(
91
+ treeGridTheme: p,
92
+ className: H(
94
93
  o && "h-full",
95
- R === "fixed" ? "table-fixed" : R === "auto" ? "table-auto" : "",
94
+ u === "fixed" ? "table-fixed" : u === "auto" ? "table-auto" : "",
96
95
  i
97
96
  ),
98
97
  children: m
@@ -103,17 +102,17 @@ const lo = {
103
102
  }
104
103
  )
105
104
  ] });
106
- }, "OwpTableBase"), bo = O(V, {
107
- shouldForwardProp: /* @__PURE__ */ u((o) => o !== "canBodyFullHeight" && o !== "canUseTableRadius" && o !== "canUseTreeGridStyle" && o !== "tableTheme" && o !== "treeGridTheme", "shouldForwardProp")
105
+ }, "OwpTableBase"), to = n(K, {
106
+ shouldForwardProp: /* @__PURE__ */ s((o) => o !== "canBodyFullHeight" && o !== "canUseTableRadius" && o !== "canUseTreeGridStyle" && o !== "tableTheme" && o !== "treeGridTheme", "shouldForwardProp")
108
107
  })(
109
108
  ({
110
109
  canBodyFullHeight: o,
111
110
  canUseTableRadius: a,
112
- canUseTreeGridStyle: e,
111
+ canUseTreeGridStyle: r,
113
112
  tableTheme: t,
114
113
  treeGridTheme: m
115
114
  }) => {
116
- const i = m ?? E(), l = t ?? _, f = `1px solid ${l.borderColor}`, d = e && a;
115
+ const i = m ?? g(), l = t ?? D, f = `1px solid ${l.borderColor}`, T = r && a;
117
116
  return {
118
117
  ...o && {
119
118
  height: "100%"
@@ -126,10 +125,10 @@ const lo = {
126
125
  height: "100%"
127
126
  }
128
127
  },
129
- "& .MuiTableCell-root": e ? {
130
- ...P(i)
128
+ "& .MuiTableCell-root": r ? {
129
+ ...Q(i)
131
130
  } : void 0,
132
- ...!e && {
131
+ ...!r && {
133
132
  "& .MuiTableRow-root > .MuiTableCell-root + .MuiTableCell-root": {
134
133
  borderLeft: f
135
134
  },
@@ -140,29 +139,29 @@ const lo = {
140
139
  borderBottom: "none"
141
140
  }
142
141
  },
143
- "& th": e ? {
144
- ...c(i),
142
+ "& th": r ? {
143
+ ...J(i),
145
144
  "&:first-of-type": {
146
- borderLeft: `1px solid ${S}`
145
+ borderLeft: `1px solid ${z}`
147
146
  }
148
147
  } : {
149
- ...oo(
148
+ ...X(
150
149
  l,
151
- eo
150
+ c
152
151
  )
153
152
  },
154
- "& td": e ? {
155
- ...X(i),
153
+ "& td": r ? {
154
+ ...q(i),
156
155
  "&:first-of-type": {
157
- borderLeft: `1px solid ${k}`
156
+ borderLeft: `1px solid ${_}`
158
157
  }
159
158
  } : {
160
- ...U(l)
159
+ ...W(l)
161
160
  },
162
- ...e && {
163
- "& tbody > .MuiTableRow-root": W(i)
161
+ ...r && {
162
+ "& tbody > .MuiTableRow-root": Z(i)
164
163
  },
165
- ...e && {
164
+ ...r && {
166
165
  "& tbody > tr:first-of-type > th:first-of-type": {
167
166
  borderTopLeftRadius: "inherit"
168
167
  },
@@ -170,11 +169,10 @@ const lo = {
170
169
  borderTopRightRadius: "inherit"
171
170
  }
172
171
  },
173
- ...d && {
172
+ ...T && {
174
173
  "& .MuiTableHead-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root": {
175
174
  borderTop: 0
176
175
  },
177
- "& .MuiTableHead-root > .MuiTableRow-root:last-of-type > .MuiTableCell-root": Q(),
178
176
  "& .MuiTableBody-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root": {
179
177
  borderTop: 0
180
178
  },
@@ -187,13 +185,12 @@ const lo = {
187
185
  "& .MuiTableBody-root > .MuiTableRow-root:last-of-type > .MuiTableCell-root": {
188
186
  borderBottom: 0
189
187
  }
190
- },
191
- ...e && !d && J(i)
188
+ }
192
189
  };
193
190
  }
194
- ), Do = O(Z)({});
191
+ ), go = n(V)({});
195
192
  export {
196
- _o as OwpTableBase,
197
- Do as OwpTableBaseRow
193
+ Eo as OwpTableBase,
194
+ go as OwpTableBaseRow
198
195
  };
199
196
  //# sourceMappingURL=OwpTableBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OwpTableBase.js","sources":["../../../../src/components/OwpTable/internal/OwpTableBase.tsx"],"sourcesContent":["import {\n resolveOwpGridTheme,\n type OwpResolvedGridThemeConfigType,\n} from '@/constants/gridTheme';\nimport {\n resolveOwpTableTheme,\n type OwpResolvedTableThemeConfigType,\n} from '@/constants/tableTheme';\nimport { DEFAULT_TABLE_RADIUS } from '@/constants/table';\nimport { getTreeGridFontFaceStyles } from '@/constants/treeGrid';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport { styled } from '@mui/material';\nimport clsx from 'clsx';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport Paper from '@mui/material/Paper';\nimport Table, { type TableProps } from '@mui/material/Table';\nimport TableContainer, { type TableContainerProps } from '@mui/material/TableContainer';\nimport TableRow from '@mui/material/TableRow';\nimport { type ReactNode, useMemo } from 'react';\nimport {\n getTreeGridBodyCellSx,\n getTreeGridBodyRowSx,\n getTreeGridCellBaseSx,\n getTreeGridContainerSx,\n getTreeGridHeaderBottomBodyBorderSx,\n getTreeGridHeaderCellSx,\n getTreeGridHeaderEdgeTableSx,\n getTreeGridRadiusContainerFrameSx,\n TREEGRID_TABLE_BODY_BORDER_COLOR,\n TREEGRID_TABLE_HEADER_BORDER_COLOR,\n} from './treeGridTableStyle';\nimport {\n DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n defaultStyledTableTheme,\n getDefaultTableCellSx,\n getDefaultTableHeaderCellSx,\n} from './defaultTableStyle';\nimport { mergeSx, toTableRadiusCssValue } from '../utils/tableSx';\n\nconst treeGridContainerSx = {\n border: 0,\n borderRadius: 0,\n overflow: 'visible',\n} as const;\nconst defaultTableRadiusSx = {\n borderRadius: DEFAULT_TABLE_RADIUS,\n} as const;\nconst tableRadiusZeroSx = {\n borderRadius: 0,\n} as const;\nconst defaultTableBorderColorByMode = {\n dark: 'rgba(241,245,249,.12)',\n light: '#e2e8f0',\n} as const;\n\nexport interface OwpTableBaseProps extends TableProps {\n canBodyFullHeight?: boolean;\n canTableRadiusZero?: boolean;\n canUseTableRadius?: boolean;\n canUseTreeGridStyle?: boolean;\n containerProps?: TableContainerProps;\n footerSlot?: ReactNode;\n tableTheme?: OwpResolvedTableThemeConfigType;\n tableLayout?: 'auto' | 'fixed';\n tableBorderRadius?: string | number;\n treeGridHeaderRowCount?: number;\n treeGridTheme?: OwpResolvedGridThemeConfigType;\n title?: string;\n children: ReactNode;\n}\n\ntype OwpTableBaseInnerProps = Pick<\n OwpTableBaseProps,\n | 'canBodyFullHeight'\n | 'canUseTableRadius'\n | 'canUseTreeGridStyle'\n | 'tableTheme'\n | 'treeGridTheme'\n>;\n\n/**\n * OWP Table 기반 컨테이너\n * @param canBodyFullHeight body full height 사용 여부\n * @param canTableRadiusZero 테이블 radius 0 사용 여부\n * @param canUseTableRadius 테이블 radius 사용 여부\n * @param canUseTreeGridStyle TreeGrid 스타일 사용 여부\n * @param children 하위 콘텐츠\n * @param containerProps containerProps props\n * @param footerSlot footer 영역\n * @param tableLayout tableLayout 값\n * @param tableBorderRadius 테이블 radius 값\n * @param treeGridHeaderRowCount TreeGrid header row 수\n */\nexport const OwpTableBase = ({\n canBodyFullHeight,\n canTableRadiusZero = false,\n canUseTableRadius = false,\n canUseTreeGridStyle,\n children,\n className,\n containerProps,\n footerSlot,\n tableTheme: tableThemeProp,\n tableLayout,\n tableBorderRadius = DEFAULT_TABLE_RADIUS,\n treeGridHeaderRowCount = 0,\n ...tableProps\n}: OwpTableBaseProps) => {\n const currentSettings = useGetCurrentSettings();\n const defaultTableBorderColor =\n currentSettings?.theme?.main?.palette?.mode === 'dark'\n ? defaultTableBorderColorByMode.dark\n : defaultTableBorderColorByMode.light;\n const treeGridTheme = useMemo(\n () => resolveOwpGridTheme(currentSettings?.theme?.main?.grid),\n [currentSettings],\n );\n const tableTheme = useMemo(\n () =>\n tableThemeProp ??\n resolveOwpTableTheme(currentSettings?.theme?.main?.table, {\n ...defaultStyledTableTheme,\n borderColor: defaultTableBorderColor,\n }),\n [currentSettings, defaultTableBorderColor, tableThemeProp],\n );\n const tableContainerRadiusSx = canTableRadiusZero\n ? tableRadiusZeroSx\n : canUseTreeGridStyle && canUseTableRadius\n ? {\n ...getTreeGridRadiusContainerFrameSx(treeGridTheme, treeGridHeaderRowCount),\n borderRadius: toTableRadiusCssValue(tableBorderRadius),\n overflow: 'hidden',\n }\n : !canUseTreeGridStyle\n ? defaultTableRadiusSx\n : undefined;\n\n return (\n <>\n {canUseTreeGridStyle && <GlobalStyles styles={getTreeGridFontFaceStyles()} />}\n <TableContainer\n component={Paper}\n variant=\"outlined\"\n {...containerProps}\n sx={mergeSx(\n !canUseTreeGridStyle && { borderColor: tableTheme.borderColor },\n canUseTreeGridStyle && treeGridContainerSx,\n canUseTreeGridStyle && getTreeGridContainerSx(treeGridTheme),\n tableContainerRadiusSx,\n canBodyFullHeight && { height: '100%' },\n containerProps?.sx,\n )}\n >\n <OwpTableBaseInner\n {...tableProps}\n canBodyFullHeight={canBodyFullHeight}\n canUseTableRadius={canUseTableRadius}\n canUseTreeGridStyle={canUseTreeGridStyle}\n tableTheme={tableTheme}\n treeGridTheme={treeGridTheme}\n className={clsx(\n canBodyFullHeight && 'h-full',\n tableLayout === 'fixed' ? 'table-fixed' : tableLayout === 'auto' ? 'table-auto' : '',\n className,\n )}\n >\n {children}\n </OwpTableBaseInner>\n {footerSlot}\n </TableContainer>\n </>\n );\n};\n\n/** OWP Table 기반 table element */\nconst OwpTableBaseInner = styled(Table, {\n shouldForwardProp: (prop) =>\n prop !== 'canBodyFullHeight' &&\n prop !== 'canUseTableRadius' &&\n prop !== 'canUseTreeGridStyle' &&\n prop !== 'tableTheme' &&\n prop !== 'treeGridTheme',\n})<OwpTableBaseInnerProps>(\n ({\n canBodyFullHeight,\n canUseTableRadius,\n canUseTreeGridStyle,\n tableTheme,\n treeGridTheme,\n }) => {\n const resolvedTreeGridTheme = treeGridTheme ?? resolveOwpGridTheme();\n const resolvedTableTheme = tableTheme ?? defaultStyledTableTheme;\n const defaultTableBorder = `1px solid ${resolvedTableTheme.borderColor}`;\n const shouldUseTreeGridRadius = canUseTreeGridStyle && canUseTableRadius;\n\n return {\n ...(canBodyFullHeight && {\n height: '100%',\n }),\n ...(canBodyFullHeight && {\n '& .MuiTableBody-root': {\n height: '100%',\n },\n '& .MuiTableBody-root > .MuiTableRow-root': {\n height: '100%',\n },\n }),\n '& .MuiTableCell-root': canUseTreeGridStyle\n ? {\n ...getTreeGridCellBaseSx(resolvedTreeGridTheme),\n }\n : undefined,\n ...(!canUseTreeGridStyle && {\n '& .MuiTableRow-root > .MuiTableCell-root + .MuiTableCell-root': {\n borderLeft: defaultTableBorder,\n },\n '& .MuiTableRow-root > .MuiTableCell-root:not(:last-of-type)': {\n borderRight: defaultTableBorder,\n },\n '& tbody > .MuiTableRow-root:last-of-type > .MuiTableCell-root': {\n borderBottom: 'none',\n },\n }),\n '& th': canUseTreeGridStyle\n ? {\n ...getTreeGridHeaderCellSx(resolvedTreeGridTheme),\n '&:first-of-type': {\n borderLeft: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n }\n : {\n ...getDefaultTableHeaderCellSx(\n resolvedTableTheme,\n DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n ),\n },\n '& td': canUseTreeGridStyle\n ? {\n ...getTreeGridBodyCellSx(resolvedTreeGridTheme),\n '&:first-of-type': {\n borderLeft: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n },\n }\n : {\n ...getDefaultTableCellSx(resolvedTableTheme),\n },\n ...(canUseTreeGridStyle && {\n '& tbody > .MuiTableRow-root': getTreeGridBodyRowSx(resolvedTreeGridTheme),\n }),\n ...(canUseTreeGridStyle && {\n '& tbody > tr:first-of-type > th:first-of-type': {\n borderTopLeftRadius: 'inherit',\n },\n '& tbody > tr:first-of-type > td:last-of-type': {\n borderTopRightRadius: 'inherit',\n },\n }),\n ...(shouldUseTreeGridRadius && {\n '& .MuiTableHead-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root':\n {\n borderTop: 0,\n },\n '& .MuiTableHead-root > .MuiTableRow-root:last-of-type > .MuiTableCell-root':\n getTreeGridHeaderBottomBodyBorderSx(),\n '& .MuiTableBody-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root':\n {\n borderTop: 0,\n },\n '& .MuiTableRow-root > .MuiTableCell-root:first-of-type': {\n borderLeft: 0,\n },\n '& .MuiTableRow-root > .MuiTableCell-root:last-of-type': {\n borderRight: 0,\n },\n '& .MuiTableBody-root > .MuiTableRow-root:last-of-type > .MuiTableCell-root': {\n borderBottom: 0,\n },\n }),\n ...(canUseTreeGridStyle &&\n !shouldUseTreeGridRadius &&\n getTreeGridHeaderEdgeTableSx(resolvedTreeGridTheme)),\n };\n },\n);\n\n/** OWP Table 기반 row */\nexport const OwpTableBaseRow = styled(TableRow)({});\n"],"names":["treeGridContainerSx","defaultTableRadiusSx","DEFAULT_TABLE_RADIUS","tableRadiusZeroSx","defaultTableBorderColorByMode","OwpTableBase","__name","canBodyFullHeight","canTableRadiusZero","canUseTableRadius","canUseTreeGridStyle","children","className","containerProps","footerSlot","tableThemeProp","tableLayout","tableBorderRadius","treeGridHeaderRowCount","tableProps","currentSettings","useGetCurrentSettings","defaultTableBorderColor","_c","_b","_a","treeGridTheme","useMemo","resolveOwpGridTheme","tableTheme","resolveOwpTableTheme","defaultStyledTableTheme","tableContainerRadiusSx","getTreeGridRadiusContainerFrameSx","toTableRadiusCssValue","jsxs","Fragment","jsx","GlobalStyles","getTreeGridFontFaceStyles","TableContainer","Paper","mergeSx","getTreeGridContainerSx","OwpTableBaseInner","clsx","styled","Table","prop","resolvedTreeGridTheme","resolvedTableTheme","defaultTableBorder","shouldUseTreeGridRadius","getTreeGridCellBaseSx","getTreeGridHeaderCellSx","TREEGRID_TABLE_HEADER_BORDER_COLOR","getDefaultTableHeaderCellSx","DEFAULT_TABLE_HEADER_BACKGROUND_COLOR","getTreeGridBodyCellSx","TREEGRID_TABLE_BODY_BORDER_COLOR","getDefaultTableCellSx","getTreeGridBodyRowSx","getTreeGridHeaderBottomBodyBorderSx","getTreeGridHeaderEdgeTableSx","OwpTableBaseRow","TableRow"],"mappings":"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"}
1
+ {"version":3,"file":"OwpTableBase.js","sources":["../../../../src/components/OwpTable/internal/OwpTableBase.tsx"],"sourcesContent":["import {\n resolveOwpGridTheme,\n type OwpResolvedGridThemeConfigType,\n} from '@/constants/gridTheme';\nimport {\n resolveOwpTableTheme,\n type OwpResolvedTableThemeConfigType,\n} from '@/constants/tableTheme';\nimport { DEFAULT_TABLE_RADIUS } from '@/constants/table';\nimport { getTreeGridFontFaceStyles } from '@/constants/treeGrid';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport { styled } from '@mui/material';\nimport clsx from 'clsx';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport Paper from '@mui/material/Paper';\nimport Table, { type TableProps } from '@mui/material/Table';\nimport TableContainer, { type TableContainerProps } from '@mui/material/TableContainer';\nimport TableRow from '@mui/material/TableRow';\nimport { type ReactNode, useMemo } from 'react';\nimport {\n getTreeGridBodyCellSx,\n getTreeGridBodyRowSx,\n getTreeGridCellBaseSx,\n getTreeGridContainerSx,\n getTreeGridHeaderCellSx,\n TREEGRID_TABLE_BODY_BORDER_COLOR,\n TREEGRID_TABLE_HEADER_BORDER_COLOR,\n} from './treeGridTableStyle';\nimport {\n DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n defaultStyledTableTheme,\n getDefaultTableCellSx,\n getDefaultTableHeaderCellSx,\n} from './defaultTableStyle';\nimport { mergeSx, toTableRadiusCssValue } from '../utils/tableSx';\n\nconst treeGridContainerSx = {\n border: 0,\n borderRadius: 0,\n overflow: 'visible',\n} as const;\nconst defaultTableRadiusSx = {\n borderRadius: DEFAULT_TABLE_RADIUS,\n} as const;\nconst tableRadiusZeroSx = {\n borderRadius: 0,\n} as const;\nconst defaultTableBorderColorByMode = {\n dark: 'rgba(241,245,249,.12)',\n light: '#e2e8f0',\n} as const;\n\nexport interface OwpTableBaseProps extends TableProps {\n canBodyFullHeight?: boolean;\n canTableRadiusZero?: boolean;\n canUseTableRadius?: boolean;\n canUseTreeGridStyle?: boolean;\n containerProps?: TableContainerProps;\n footerSlot?: ReactNode;\n tableTheme?: OwpResolvedTableThemeConfigType;\n tableLayout?: 'auto' | 'fixed';\n tableBorderRadius?: string | number;\n treeGridTheme?: OwpResolvedGridThemeConfigType;\n title?: string;\n children: ReactNode;\n}\n\ntype OwpTableBaseInnerProps = Pick<\n OwpTableBaseProps,\n | 'canBodyFullHeight'\n | 'canUseTableRadius'\n | 'canUseTreeGridStyle'\n | 'tableTheme'\n | 'treeGridTheme'\n>;\n\n/**\n * OWP Table 기반 컨테이너\n * @param canBodyFullHeight body full height 사용 여부\n * @param canTableRadiusZero 테이블 radius 0 사용 여부\n * @param canUseTableRadius 테이블 radius 사용 여부\n * @param canUseTreeGridStyle TreeGrid 스타일 사용 여부\n * @param children 하위 콘텐츠\n * @param containerProps containerProps props\n * @param footerSlot footer 영역\n * @param tableLayout tableLayout 값\n * @param tableBorderRadius 테이블 radius 값\n */\nexport const OwpTableBase = ({\n canBodyFullHeight,\n canTableRadiusZero = false,\n canUseTableRadius = false,\n canUseTreeGridStyle,\n children,\n className,\n containerProps,\n footerSlot,\n tableTheme: tableThemeProp,\n tableLayout,\n tableBorderRadius = DEFAULT_TABLE_RADIUS,\n ...tableProps\n}: OwpTableBaseProps) => {\n const currentSettings = useGetCurrentSettings();\n const defaultTableBorderColor =\n currentSettings?.theme?.main?.palette?.mode === 'dark'\n ? defaultTableBorderColorByMode.dark\n : defaultTableBorderColorByMode.light;\n const treeGridTheme = useMemo(\n () => resolveOwpGridTheme(currentSettings?.theme?.main?.grid),\n [currentSettings],\n );\n const tableTheme = useMemo(\n () =>\n tableThemeProp ??\n resolveOwpTableTheme(currentSettings?.theme?.main?.table, {\n ...defaultStyledTableTheme,\n borderColor: defaultTableBorderColor,\n }),\n [currentSettings, defaultTableBorderColor, tableThemeProp],\n );\n const tableContainerRadiusSx = canTableRadiusZero\n ? tableRadiusZeroSx\n : canUseTreeGridStyle && canUseTableRadius\n ? {\n border: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderRadius: toTableRadiusCssValue(tableBorderRadius),\n overflow: 'hidden',\n }\n : !canUseTreeGridStyle\n ? defaultTableRadiusSx\n : undefined;\n\n return (\n <>\n {canUseTreeGridStyle && <GlobalStyles styles={getTreeGridFontFaceStyles()} />}\n <TableContainer\n component={Paper}\n variant=\"outlined\"\n {...containerProps}\n sx={mergeSx(\n !canUseTreeGridStyle && { borderColor: tableTheme.borderColor },\n canUseTreeGridStyle && treeGridContainerSx,\n canUseTreeGridStyle && getTreeGridContainerSx(treeGridTheme),\n tableContainerRadiusSx,\n canBodyFullHeight && { height: '100%' },\n containerProps?.sx,\n )}\n >\n <OwpTableBaseInner\n {...tableProps}\n canBodyFullHeight={canBodyFullHeight}\n canUseTableRadius={canUseTableRadius}\n canUseTreeGridStyle={canUseTreeGridStyle}\n tableTheme={tableTheme}\n treeGridTheme={treeGridTheme}\n className={clsx(\n canBodyFullHeight && 'h-full',\n tableLayout === 'fixed' ? 'table-fixed' : tableLayout === 'auto' ? 'table-auto' : '',\n className,\n )}\n >\n {children}\n </OwpTableBaseInner>\n {footerSlot}\n </TableContainer>\n </>\n );\n};\n\n/** OWP Table 기반 table element */\nconst OwpTableBaseInner = styled(Table, {\n shouldForwardProp: (prop) =>\n prop !== 'canBodyFullHeight' &&\n prop !== 'canUseTableRadius' &&\n prop !== 'canUseTreeGridStyle' &&\n prop !== 'tableTheme' &&\n prop !== 'treeGridTheme',\n})<OwpTableBaseInnerProps>(\n ({\n canBodyFullHeight,\n canUseTableRadius,\n canUseTreeGridStyle,\n tableTheme,\n treeGridTheme,\n }) => {\n const resolvedTreeGridTheme = treeGridTheme ?? resolveOwpGridTheme();\n const resolvedTableTheme = tableTheme ?? defaultStyledTableTheme;\n const defaultTableBorder = `1px solid ${resolvedTableTheme.borderColor}`;\n const shouldUseTreeGridRadius = canUseTreeGridStyle && canUseTableRadius;\n\n return {\n ...(canBodyFullHeight && {\n height: '100%',\n }),\n ...(canBodyFullHeight && {\n '& .MuiTableBody-root': {\n height: '100%',\n },\n '& .MuiTableBody-root > .MuiTableRow-root': {\n height: '100%',\n },\n }),\n '& .MuiTableCell-root': canUseTreeGridStyle\n ? {\n ...getTreeGridCellBaseSx(resolvedTreeGridTheme),\n }\n : undefined,\n ...(!canUseTreeGridStyle && {\n '& .MuiTableRow-root > .MuiTableCell-root + .MuiTableCell-root': {\n borderLeft: defaultTableBorder,\n },\n '& .MuiTableRow-root > .MuiTableCell-root:not(:last-of-type)': {\n borderRight: defaultTableBorder,\n },\n '& tbody > .MuiTableRow-root:last-of-type > .MuiTableCell-root': {\n borderBottom: 'none',\n },\n }),\n '& th': canUseTreeGridStyle\n ? {\n ...getTreeGridHeaderCellSx(resolvedTreeGridTheme),\n '&:first-of-type': {\n borderLeft: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n }\n : {\n ...getDefaultTableHeaderCellSx(\n resolvedTableTheme,\n DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n ),\n },\n '& td': canUseTreeGridStyle\n ? {\n ...getTreeGridBodyCellSx(resolvedTreeGridTheme),\n '&:first-of-type': {\n borderLeft: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n },\n }\n : {\n ...getDefaultTableCellSx(resolvedTableTheme),\n },\n ...(canUseTreeGridStyle && {\n '& tbody > .MuiTableRow-root': getTreeGridBodyRowSx(resolvedTreeGridTheme),\n }),\n ...(canUseTreeGridStyle && {\n '& tbody > tr:first-of-type > th:first-of-type': {\n borderTopLeftRadius: 'inherit',\n },\n '& tbody > tr:first-of-type > td:last-of-type': {\n borderTopRightRadius: 'inherit',\n },\n }),\n ...(shouldUseTreeGridRadius && {\n '& .MuiTableHead-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root':\n {\n borderTop: 0,\n },\n '& .MuiTableBody-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root':\n {\n borderTop: 0,\n },\n '& .MuiTableRow-root > .MuiTableCell-root:first-of-type': {\n borderLeft: 0,\n },\n '& .MuiTableRow-root > .MuiTableCell-root:last-of-type': {\n borderRight: 0,\n },\n '& .MuiTableBody-root > .MuiTableRow-root:last-of-type > .MuiTableCell-root': {\n borderBottom: 0,\n },\n }),\n };\n },\n);\n\n/** OWP Table 기반 row */\nexport const OwpTableBaseRow = styled(TableRow)({});\n"],"names":["treeGridContainerSx","defaultTableRadiusSx","DEFAULT_TABLE_RADIUS","tableRadiusZeroSx","defaultTableBorderColorByMode","OwpTableBase","__name","canBodyFullHeight","canTableRadiusZero","canUseTableRadius","canUseTreeGridStyle","children","className","containerProps","footerSlot","tableThemeProp","tableLayout","tableBorderRadius","tableProps","currentSettings","useGetCurrentSettings","defaultTableBorderColor","_c","_b","_a","treeGridTheme","useMemo","resolveOwpGridTheme","tableTheme","resolveOwpTableTheme","defaultStyledTableTheme","tableContainerRadiusSx","TREEGRID_TABLE_BODY_BORDER_COLOR","toTableRadiusCssValue","jsxs","Fragment","jsx","GlobalStyles","getTreeGridFontFaceStyles","TableContainer","Paper","mergeSx","getTreeGridContainerSx","OwpTableBaseInner","clsx","styled","Table","prop","resolvedTreeGridTheme","resolvedTableTheme","defaultTableBorder","shouldUseTreeGridRadius","getTreeGridCellBaseSx","getTreeGridHeaderCellSx","TREEGRID_TABLE_HEADER_BORDER_COLOR","getDefaultTableHeaderCellSx","DEFAULT_TABLE_HEADER_BACKGROUND_COLOR","getTreeGridBodyCellSx","getDefaultTableCellSx","getTreeGridBodyRowSx","OwpTableBaseRow","TableRow"],"mappings":"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"}
@@ -1,97 +1,46 @@
1
- var i = Object.defineProperty;
2
- var d = (o, r) => i(o, "name", { value: r, configurable: !0 });
3
- import { TREEGRID_TABLE_BODY_BORDER_COLOR as t, TREEGRID_FONT_FAMILY_STACK as u, TREEGRID_TABLE_HEADER_BORDER_COLOR as l, getTreeGridHeaderEdgeBorderColor as n } from "../../../constants/treeGrid.js";
4
- const C = u, s = /* @__PURE__ */ d((o) => typeof o == "number" ? `${o}px` : o, "toTreeGridTableCssValue"), x = /* @__PURE__ */ d((o, r) => {
5
- const e = s(o.header.height);
6
- return r <= 1 ? e : `calc(${e} * ${r})`;
7
- }, "getTreeGridHeaderFrameHeight"), c = /* @__PURE__ */ d((o) => `1px solid ${n(o.header.backgroundColor)}`, "getTreeGridHeaderEdgeBorder"), k = /* @__PURE__ */ d((o) => {
8
- const r = c(o), e = n(
9
- o.header.backgroundColor
10
- );
11
- return {
12
- borderLeft: r,
13
- borderRight: r,
14
- borderTop: r,
15
- boxShadow: [
16
- `inset 1px 0 0 ${e}`,
17
- `inset -1px 0 0 ${e}`,
18
- `inset 0 1px 0 ${e}`
19
- ].join(", "),
20
- position: "relative",
21
- zIndex: 1
22
- };
23
- }, "getTreeGridHeaderEdgeHeadSx"), E = /* @__PURE__ */ d((o) => ({
24
- "&&& .MuiTableHead-root": k(o)
25
- }), "getTreeGridHeaderEdgeTableSx"), f = /* @__PURE__ */ d((o, r) => {
26
- const e = c(o);
27
- return {
28
- ...r.top && { borderTop: e },
29
- ...r.left && { borderLeft: e },
30
- ...r.right && { borderRight: e }
31
- };
32
- }, "getTreeGridHeaderEdgeCellSx"), R = /* @__PURE__ */ d(() => ({
33
- borderBottom: `1px solid ${t}`
34
- }), "getTreeGridHeaderBottomBodyBorderSx"), S = /* @__PURE__ */ d((o, r = 0) => {
35
- const e = n(
36
- o.header.backgroundColor
37
- ), a = x(o, r);
38
- return {
39
- background: r > 0 ? [
40
- `linear-gradient(${o.body.backgroundColor}, ${o.body.backgroundColor}) padding-box`,
41
- [
42
- "linear-gradient(to bottom",
43
- `${e} 0`,
44
- `${e} ${a}`,
45
- `${t} ${a}`,
46
- `${t} 100%) border-box`
47
- ].join(", ")
48
- ].join(", ") : [
49
- `linear-gradient(${o.body.backgroundColor}, ${o.body.backgroundColor}) padding-box`,
50
- `linear-gradient(${t}, ${t}) border-box`
51
- ].join(", "),
52
- backgroundClip: "padding-box, border-box",
53
- border: "1px solid transparent"
54
- };
55
- }, "getTreeGridRadiusContainerFrameSx"), H = /* @__PURE__ */ d((o) => ({
1
+ var n = Object.defineProperty;
2
+ var l = (o, r) => n(o, "name", { value: r, configurable: !0 });
3
+ import { TREEGRID_FONT_FAMILY_STACK as C } from "../../../constants/treeGrid.js";
4
+ const e = "#6F7F94", c = "#CDD8E4", u = C, R = /* @__PURE__ */ l((o) => ({
56
5
  backgroundColor: o.body.backgroundColor,
57
6
  color: o.body.color
58
- }), "getTreeGridContainerSx"), b = /* @__PURE__ */ d((o, r = "normal") => ({
59
- fontFamily: C,
7
+ }), "getTreeGridContainerSx"), t = /* @__PURE__ */ l((o, r = "normal") => ({
8
+ fontFamily: u,
60
9
  fontSize: o,
61
10
  fontWeight: r,
62
11
  lineHeight: "16px"
63
- }), "getTreeGridTypographySx"), B = /* @__PURE__ */ d((o) => ({
64
- ...b(o.cell.fontSize),
12
+ }), "getTreeGridTypographySx"), b = /* @__PURE__ */ l((o) => ({
13
+ ...t(o.cell.fontSize),
65
14
  boxSizing: "border-box",
66
15
  overflow: "hidden",
67
16
  textOverflow: "ellipsis",
68
17
  verticalAlign: "middle",
69
18
  whiteSpace: "nowrap"
70
- }), "getTreeGridCellBaseSx"), T = /* @__PURE__ */ d((o) => ({
71
- ...b(
19
+ }), "getTreeGridCellBaseSx"), i = /* @__PURE__ */ l((o) => ({
20
+ ...t(
72
21
  o.header.fontSize,
73
22
  o.header.fontWeight
74
23
  ),
75
24
  backgroundColor: o.header.backgroundColor,
76
- borderTop: `1px solid ${l}`,
77
- borderBottom: `1px solid ${l}`,
25
+ borderTop: `1px solid ${e}`,
26
+ borderBottom: `1px solid ${e}`,
78
27
  borderLeft: 0,
79
- borderRight: `1px solid ${l}`,
28
+ borderRight: `1px solid ${e}`,
80
29
  color: o.header.color,
81
30
  height: o.header.height,
82
31
  minHeight: o.header.height,
83
32
  padding: "7px 2px 6px 10px"
84
- }), "getTreeGridHeaderCellSx"), _ = /* @__PURE__ */ d((o) => ({
85
- ...B(o),
33
+ }), "getTreeGridHeaderCellSx"), B = /* @__PURE__ */ l((o) => ({
34
+ ...b(o),
86
35
  backgroundColor: o.row.backgroundColor,
87
- borderBottom: `1px solid ${t}`,
36
+ borderBottom: `1px solid ${c}`,
88
37
  borderLeft: 0,
89
- borderRight: `1px solid ${t}`,
38
+ borderRight: `1px solid ${c}`,
90
39
  color: o.body.color,
91
40
  fontSize: o.cell.fontSize,
92
41
  padding: "7px 10px 6px"
93
- }), "getTreeGridBodyCellSx"), $ = /* @__PURE__ */ d((o) => o.state.selectedCellBackgroundColor, "getTreeGridSelectedCellBackgroundColor"), y = /* @__PURE__ */ d((o, r) => {
94
- const e = $(o), a = r != null && r.selected ? e : o.row.backgroundColor, g = r != null && r.selected ? e : o.state.hoverRowBackgroundColor;
42
+ }), "getTreeGridBodyCellSx"), x = /* @__PURE__ */ l((o) => o.state.selectedCellBackgroundColor, "getTreeGridSelectedCellBackgroundColor"), f = /* @__PURE__ */ l((o, r) => {
43
+ const d = x(o), a = r != null && r.selected ? d : o.row.backgroundColor, g = r != null && r.selected ? d : o.state.hoverRowBackgroundColor;
95
44
  return {
96
45
  "& > td": {
97
46
  backgroundColor: a
@@ -102,10 +51,10 @@ const C = u, s = /* @__PURE__ */ d((o) => typeof o == "number" ? `${o}px` : o, "
102
51
  }
103
52
  },
104
53
  "&.Mui-selected > td": {
105
- backgroundColor: e
54
+ backgroundColor: d
106
55
  },
107
56
  "&.Mui-selected:hover > td": {
108
- backgroundColor: e
57
+ backgroundColor: d
109
58
  },
110
59
  "&:focus-within > td": {
111
60
  backgroundColor: o.state.focusedRowBackgroundColor
@@ -116,21 +65,15 @@ const C = u, s = /* @__PURE__ */ d((o) => typeof o == "number" ? `${o}px` : o, "
116
65
  };
117
66
  }, "getTreeGridBodyRowSx");
118
67
  export {
119
- t as TREEGRID_TABLE_BODY_BORDER_COLOR,
120
- C as TREEGRID_TABLE_FONT_FAMILY_STACK,
121
- l as TREEGRID_TABLE_HEADER_BORDER_COLOR,
122
- _ as getTreeGridBodyCellSx,
123
- y as getTreeGridBodyRowSx,
124
- B as getTreeGridCellBaseSx,
125
- H as getTreeGridContainerSx,
126
- R as getTreeGridHeaderBottomBodyBorderSx,
127
- T as getTreeGridHeaderCellSx,
128
- c as getTreeGridHeaderEdgeBorder,
129
- f as getTreeGridHeaderEdgeCellSx,
130
- k as getTreeGridHeaderEdgeHeadSx,
131
- E as getTreeGridHeaderEdgeTableSx,
132
- S as getTreeGridRadiusContainerFrameSx,
133
- $ as getTreeGridSelectedCellBackgroundColor,
134
- b as getTreeGridTypographySx
68
+ c as TREEGRID_TABLE_BODY_BORDER_COLOR,
69
+ u as TREEGRID_TABLE_FONT_FAMILY_STACK,
70
+ e as TREEGRID_TABLE_HEADER_BORDER_COLOR,
71
+ B as getTreeGridBodyCellSx,
72
+ f as getTreeGridBodyRowSx,
73
+ b as getTreeGridCellBaseSx,
74
+ R as getTreeGridContainerSx,
75
+ i as getTreeGridHeaderCellSx,
76
+ x as getTreeGridSelectedCellBackgroundColor,
77
+ t as getTreeGridTypographySx
135
78
  };
136
79
  //# sourceMappingURL=treeGridTableStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeGridTableStyle.js","sources":["../../../../src/components/OwpTable/internal/treeGridTableStyle.ts"],"sourcesContent":["import {\n getTreeGridHeaderEdgeBorderColor,\n TREEGRID_FONT_FAMILY_STACK,\n TREEGRID_TABLE_BODY_BORDER_COLOR,\n TREEGRID_TABLE_HEADER_BORDER_COLOR,\n} from '@/constants/treeGrid';\nimport type { OwpResolvedGridThemeConfigType } from '@/constants/gridTheme';\n\nexport { TREEGRID_TABLE_BODY_BORDER_COLOR, TREEGRID_TABLE_HEADER_BORDER_COLOR };\n\nexport const TREEGRID_TABLE_FONT_FAMILY_STACK = TREEGRID_FONT_FAMILY_STACK;\n\nconst toTreeGridTableCssValue = (value: number | string) => {\n return typeof value === 'number' ? `${value}px` : value;\n};\n\nconst getTreeGridHeaderFrameHeight = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerRowCount: number,\n) => {\n const headerHeight = toTreeGridTableCssValue(treeGridTheme.header.height);\n\n if (headerRowCount <= 1) {\n return headerHeight;\n }\n\n return `calc(${headerHeight} * ${headerRowCount})`;\n};\n\n/**\n * TreeGrid header 외곽선 border 조회\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridHeaderEdgeBorder = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => {\n return `1px solid ${getTreeGridHeaderEdgeBorderColor(treeGridTheme.header.backgroundColor)}`;\n};\n\n/**\n * TreeGrid header 외곽선 head 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridHeaderEdgeHeadSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => {\n const headerEdgeBorder = getTreeGridHeaderEdgeBorder(treeGridTheme);\n const headerEdgeBorderColor = getTreeGridHeaderEdgeBorderColor(\n treeGridTheme.header.backgroundColor,\n );\n\n return {\n borderLeft: headerEdgeBorder,\n borderRight: headerEdgeBorder,\n borderTop: headerEdgeBorder,\n boxShadow: [\n `inset 1px 0 0 ${headerEdgeBorderColor}`,\n `inset -1px 0 0 ${headerEdgeBorderColor}`,\n `inset 0 1px 0 ${headerEdgeBorderColor}`,\n ].join(', '),\n position: 'relative',\n zIndex: 1,\n };\n};\n\n/**\n * TreeGrid header 외곽선 table selector 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridHeaderEdgeTableSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => ({\n '&&& .MuiTableHead-root': getTreeGridHeaderEdgeHeadSx(treeGridTheme),\n});\n\n/**\n * TreeGrid header cell 외곽선 매핑\n * @param treeGridTheme Grid theme 값\n * @param options 적용 edge\n */\nexport const getTreeGridHeaderEdgeCellSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n options: {\n top?: boolean;\n left?: boolean;\n right?: boolean;\n },\n) => {\n const headerEdgeBorder = getTreeGridHeaderEdgeBorder(treeGridTheme);\n\n return {\n ...(options.top && { borderTop: headerEdgeBorder }),\n ...(options.left && { borderLeft: headerEdgeBorder }),\n ...(options.right && { borderRight: headerEdgeBorder }),\n };\n};\n\n/** TreeGrid header 하단선 body border 매핑 */\nexport const getTreeGridHeaderBottomBodyBorderSx = () => ({\n borderBottom: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n});\n\n/**\n * TreeGrid radius container 외곽선 매핑\n * @param treeGridTheme Grid theme 값\n * @param headerRowCount header row 수\n */\nexport const getTreeGridRadiusContainerFrameSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerRowCount = 0,\n) => {\n const headerEdgeBorderColor = getTreeGridHeaderEdgeBorderColor(\n treeGridTheme.header.backgroundColor,\n );\n const headerFrameHeight = getTreeGridHeaderFrameHeight(treeGridTheme, headerRowCount);\n const borderBackground =\n headerRowCount > 0\n ? [\n `linear-gradient(${treeGridTheme.body.backgroundColor}, ${treeGridTheme.body.backgroundColor}) padding-box`,\n [\n 'linear-gradient(to bottom',\n `${headerEdgeBorderColor} 0`,\n `${headerEdgeBorderColor} ${headerFrameHeight}`,\n `${TREEGRID_TABLE_BODY_BORDER_COLOR} ${headerFrameHeight}`,\n `${TREEGRID_TABLE_BODY_BORDER_COLOR} 100%) border-box`,\n ].join(', '),\n ].join(', ')\n : [\n `linear-gradient(${treeGridTheme.body.backgroundColor}, ${treeGridTheme.body.backgroundColor}) padding-box`,\n `linear-gradient(${TREEGRID_TABLE_BODY_BORDER_COLOR}, ${TREEGRID_TABLE_BODY_BORDER_COLOR}) border-box`,\n ].join(', ');\n\n return {\n background: borderBackground,\n backgroundClip: 'padding-box, border-box',\n border: '1px solid transparent',\n };\n};\n\n/**\n * TreeGrid 컨테이너 색상 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridContainerSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => ({\n backgroundColor: treeGridTheme.body.backgroundColor,\n color: treeGridTheme.body.color,\n});\n\n/**\n * TreeGrid 타이포그래피 매핑\n * @param fontSize 폰트 크기\n * @param fontWeight 폰트 두께\n */\nexport const getTreeGridTypographySx = (\n fontSize: number | string,\n fontWeight: number | string = 'normal',\n) => ({\n fontFamily: TREEGRID_TABLE_FONT_FAMILY_STACK,\n fontSize,\n fontWeight,\n lineHeight: '16px',\n});\n\n/**\n * TreeGrid 공통 셀 스타일 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridCellBaseSx = (treeGridTheme: OwpResolvedGridThemeConfigType) => ({\n ...getTreeGridTypographySx(treeGridTheme.cell.fontSize),\n boxSizing: 'border-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n});\n\n/**\n * TreeGrid header 셀 스타일 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridHeaderCellSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => ({\n ...getTreeGridTypographySx(\n treeGridTheme.header.fontSize,\n treeGridTheme.header.fontWeight,\n ),\n backgroundColor: treeGridTheme.header.backgroundColor,\n borderTop: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n borderBottom: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n borderLeft: 0,\n borderRight: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n color: treeGridTheme.header.color,\n height: treeGridTheme.header.height,\n minHeight: treeGridTheme.header.height,\n padding: '7px 2px 6px 10px',\n});\n\n/**\n * TreeGrid body 셀 스타일 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridBodyCellSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => ({\n ...getTreeGridCellBaseSx(treeGridTheme),\n backgroundColor: treeGridTheme.row.backgroundColor,\n borderBottom: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderLeft: 0,\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n color: treeGridTheme.body.color,\n fontSize: treeGridTheme.cell.fontSize,\n padding: '7px 10px 6px',\n});\n\n/**\n * TreeGrid 선택 셀 배경색\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridSelectedCellBackgroundColor = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => treeGridTheme.state.selectedCellBackgroundColor;\n\n/**\n * TreeGrid body row 상태 스타일 매핑\n * @param treeGridTheme Grid theme 값\n * @param options hover, selected 여부\n */\nexport const getTreeGridBodyRowSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n options?: {\n canHover?: boolean;\n selected?: boolean;\n },\n) => {\n const selectedCellBackgroundColor = getTreeGridSelectedCellBackgroundColor(treeGridTheme);\n const defaultBackgroundColor = options?.selected\n ? selectedCellBackgroundColor\n : treeGridTheme.row.backgroundColor;\n const hoverBackgroundColor = options?.selected\n ? selectedCellBackgroundColor\n : treeGridTheme.state.hoverRowBackgroundColor;\n\n return {\n '& > td': {\n backgroundColor: defaultBackgroundColor,\n },\n ...(options?.canHover && {\n '&:hover > td': {\n backgroundColor: hoverBackgroundColor,\n },\n }),\n '&.Mui-selected > td': {\n backgroundColor: selectedCellBackgroundColor,\n },\n '&.Mui-selected:hover > td': {\n backgroundColor: selectedCellBackgroundColor,\n },\n '&:focus-within > td': {\n backgroundColor: treeGridTheme.state.focusedRowBackgroundColor,\n },\n '& > td:focus-within': {\n backgroundColor: treeGridTheme.state.focusedCellBackgroundColor,\n },\n };\n};\n"],"names":["TREEGRID_TABLE_FONT_FAMILY_STACK","TREEGRID_FONT_FAMILY_STACK","toTreeGridTableCssValue","__name","value","getTreeGridHeaderFrameHeight","treeGridTheme","headerRowCount","headerHeight","getTreeGridHeaderEdgeBorder","getTreeGridHeaderEdgeBorderColor","getTreeGridHeaderEdgeHeadSx","headerEdgeBorder","headerEdgeBorderColor","getTreeGridHeaderEdgeTableSx","getTreeGridHeaderEdgeCellSx","options","getTreeGridHeaderBottomBodyBorderSx","TREEGRID_TABLE_BODY_BORDER_COLOR","getTreeGridRadiusContainerFrameSx","headerFrameHeight","getTreeGridContainerSx","getTreeGridTypographySx","fontSize","fontWeight","getTreeGridCellBaseSx","getTreeGridHeaderCellSx","TREEGRID_TABLE_HEADER_BORDER_COLOR","getTreeGridBodyCellSx","getTreeGridSelectedCellBackgroundColor","getTreeGridBodyRowSx","selectedCellBackgroundColor","defaultBackgroundColor","hoverBackgroundColor"],"mappings":"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"}
1
+ {"version":3,"file":"treeGridTableStyle.js","sources":["../../../../src/components/OwpTable/internal/treeGridTableStyle.ts"],"sourcesContent":["import { TREEGRID_FONT_FAMILY_STACK } from '@/constants/treeGrid';\nimport type { OwpResolvedGridThemeConfigType } from '@/constants/gridTheme';\n\nexport const TREEGRID_TABLE_HEADER_BORDER_COLOR = '#6F7F94';\nexport const TREEGRID_TABLE_BODY_BORDER_COLOR = '#CDD8E4';\nexport const TREEGRID_TABLE_FONT_FAMILY_STACK = TREEGRID_FONT_FAMILY_STACK;\n\n/**\n * TreeGrid 컨테이너 색상 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridContainerSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => ({\n backgroundColor: treeGridTheme.body.backgroundColor,\n color: treeGridTheme.body.color,\n});\n\n/**\n * TreeGrid 타이포그래피 매핑\n * @param fontSize 폰트 크기\n * @param fontWeight 폰트 두께\n */\nexport const getTreeGridTypographySx = (\n fontSize: number | string,\n fontWeight: number | string = 'normal',\n) => ({\n fontFamily: TREEGRID_TABLE_FONT_FAMILY_STACK,\n fontSize,\n fontWeight,\n lineHeight: '16px',\n});\n\n/**\n * TreeGrid 공통 셀 스타일 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridCellBaseSx = (treeGridTheme: OwpResolvedGridThemeConfigType) => ({\n ...getTreeGridTypographySx(treeGridTheme.cell.fontSize),\n boxSizing: 'border-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n});\n\n/**\n * TreeGrid header 셀 스타일 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridHeaderCellSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => ({\n ...getTreeGridTypographySx(\n treeGridTheme.header.fontSize,\n treeGridTheme.header.fontWeight,\n ),\n backgroundColor: treeGridTheme.header.backgroundColor,\n borderTop: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n borderBottom: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n borderLeft: 0,\n borderRight: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n color: treeGridTheme.header.color,\n height: treeGridTheme.header.height,\n minHeight: treeGridTheme.header.height,\n padding: '7px 2px 6px 10px',\n});\n\n/**\n * TreeGrid body 셀 스타일 매핑\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridBodyCellSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => ({\n ...getTreeGridCellBaseSx(treeGridTheme),\n backgroundColor: treeGridTheme.row.backgroundColor,\n borderBottom: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderLeft: 0,\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n color: treeGridTheme.body.color,\n fontSize: treeGridTheme.cell.fontSize,\n padding: '7px 10px 6px',\n});\n\n/**\n * TreeGrid 선택 셀 배경색\n * @param treeGridTheme Grid theme 값\n */\nexport const getTreeGridSelectedCellBackgroundColor = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n) => treeGridTheme.state.selectedCellBackgroundColor;\n\n/**\n * TreeGrid body row 상태 스타일 매핑\n * @param treeGridTheme Grid theme 값\n * @param options hover, selected 여부\n */\nexport const getTreeGridBodyRowSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n options?: {\n canHover?: boolean;\n selected?: boolean;\n },\n) => {\n const selectedCellBackgroundColor = getTreeGridSelectedCellBackgroundColor(treeGridTheme);\n const defaultBackgroundColor = options?.selected\n ? selectedCellBackgroundColor\n : treeGridTheme.row.backgroundColor;\n const hoverBackgroundColor = options?.selected\n ? selectedCellBackgroundColor\n : treeGridTheme.state.hoverRowBackgroundColor;\n\n return {\n '& > td': {\n backgroundColor: defaultBackgroundColor,\n },\n ...(options?.canHover && {\n '&:hover > td': {\n backgroundColor: hoverBackgroundColor,\n },\n }),\n '&.Mui-selected > td': {\n backgroundColor: selectedCellBackgroundColor,\n },\n '&.Mui-selected:hover > td': {\n backgroundColor: selectedCellBackgroundColor,\n },\n '&:focus-within > td': {\n backgroundColor: treeGridTheme.state.focusedRowBackgroundColor,\n },\n '& > td:focus-within': {\n backgroundColor: treeGridTheme.state.focusedCellBackgroundColor,\n },\n };\n};\n"],"names":["TREEGRID_TABLE_HEADER_BORDER_COLOR","TREEGRID_TABLE_BODY_BORDER_COLOR","TREEGRID_TABLE_FONT_FAMILY_STACK","TREEGRID_FONT_FAMILY_STACK","getTreeGridContainerSx","__name","treeGridTheme","getTreeGridTypographySx","fontSize","fontWeight","getTreeGridCellBaseSx","getTreeGridHeaderCellSx","getTreeGridBodyCellSx","getTreeGridSelectedCellBackgroundColor","getTreeGridBodyRowSx","options","selectedCellBackgroundColor","defaultBackgroundColor","hoverBackgroundColor"],"mappings":";;;AAGO,MAAMA,IAAqC,WACrCC,IAAmC,WACnCC,IAAmCC,GAMnCC,IAAyB,gBAAAC,EAAA,CACpCC,OACI;AAAA,EACJ,iBAAiBA,EAAc,KAAK;AAAA,EACpC,OAAOA,EAAc,KAAK;AAC5B,IALsC,2BAYzBC,IAA0B,gBAAAF,EAAA,CACrCG,GACAC,IAA8B,cAC1B;AAAA,EACJ,YAAYP;AAAA,EACZ,UAAAM;AAAA,EACA,YAAAC;AAAA,EACA,YAAY;AACd,IARuC,4BAc1BC,IAAwB,gBAAAL,EAAA,CAACC,OAAmD;AAAA,EACvF,GAAGC,EAAwBD,EAAc,KAAK,QAAQ;AAAA,EACtD,WAAW;AAAA,EACX,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,YAAY;AACd,IAPqC,0BAaxBK,IAA0B,gBAAAN,EAAA,CACrCC,OACI;AAAA,EACJ,GAAGC;AAAA,IACDD,EAAc,OAAO;AAAA,IACrBA,EAAc,OAAO;AAAA,EAAA;AAAA,EAEvB,iBAAiBA,EAAc,OAAO;AAAA,EACtC,WAAW,aAAaN,CAAkC;AAAA,EAC1D,cAAc,aAAaA,CAAkC;AAAA,EAC7D,YAAY;AAAA,EACZ,aAAa,aAAaA,CAAkC;AAAA,EAC5D,OAAOM,EAAc,OAAO;AAAA,EAC5B,QAAQA,EAAc,OAAO;AAAA,EAC7B,WAAWA,EAAc,OAAO;AAAA,EAChC,SAAS;AACX,IAhBuC,4BAsB1BM,IAAwB,gBAAAP,EAAA,CACnCC,OACI;AAAA,EACJ,GAAGI,EAAsBJ,CAAa;AAAA,EACtC,iBAAiBA,EAAc,IAAI;AAAA,EACnC,cAAc,aAAaL,CAAgC;AAAA,EAC3D,YAAY;AAAA,EACZ,aAAa,aAAaA,CAAgC;AAAA,EAC1D,OAAOK,EAAc,KAAK;AAAA,EAC1B,UAAUA,EAAc,KAAK;AAAA,EAC7B,SAAS;AACX,IAXqC,0BAiBxBO,IAAyC,gBAAAR,EAAA,CACpDC,MACGA,EAAc,MAAM,6BAF6B,2CASzCQ,IAAuB,gBAAAT,EAAA,CAClCC,GACAS,MAIG;AACH,QAAMC,IAA8BH,EAAuCP,CAAa,GAClFW,IAAyBF,KAAA,QAAAA,EAAS,WACpCC,IACAV,EAAc,IAAI,iBAChBY,IAAuBH,KAAA,QAAAA,EAAS,WAClCC,IACAV,EAAc,MAAM;AAExB,SAAO;AAAA,IACL,UAAU;AAAA,MACR,iBAAiBW;AAAA,IAAA;AAAA,IAEnB,IAAIF,KAAA,gBAAAA,EAAS,aAAY;AAAA,MACvB,gBAAgB;AAAA,QACd,iBAAiBG;AAAA,MAAA;AAAA,IACnB;AAAA,IAEF,uBAAuB;AAAA,MACrB,iBAAiBF;AAAA,IAAA;AAAA,IAEnB,6BAA6B;AAAA,MAC3B,iBAAiBA;AAAA,IAAA;AAAA,IAEnB,uBAAuB;AAAA,MACrB,iBAAiBV,EAAc,MAAM;AAAA,IAAA;AAAA,IAEvC,uBAAuB;AAAA,MACrB,iBAAiBA,EAAc,MAAM;AAAA,IAAA;AAAA,EACvC;AAEJ,GArCoC;"}