@owp/core 2.5.21 → 2.5.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dayjs.d.ts +4 -0
- package/dayjs.js +2 -0
- package/dist/_virtual/index16.js +4 -4
- package/dist/_virtual/index17.js +4 -4
- package/dist/_virtual/index18.js +4 -4
- package/dist/_virtual/index19.js +4 -4
- package/dist/_virtual/isBetween.js +8 -0
- package/dist/_virtual/isBetween.js.map +1 -0
- package/dist/_virtual/isBetween2.js +5 -0
- package/dist/_virtual/isBetween2.js.map +1 -0
- package/dist/components/OwpPageContent/OwpPageContent.js +20 -19
- package/dist/components/OwpPageContent/OwpPageContent.js.map +1 -1
- package/dist/components/OwpPicker/OwpDatePicker.js +31 -32
- package/dist/components/OwpPicker/OwpDatePicker.js.map +1 -1
- package/dist/components/OwpPicker/OwpDateRangePicker.js +21 -21
- package/dist/components/OwpPicker/OwpDateRangePicker.js.map +1 -1
- package/dist/components/OwpPicker/OwpTimePicker.js +29 -30
- package/dist/components/OwpPicker/OwpTimePicker.js.map +1 -1
- package/dist/components/OwpPicker/OwpWeekDatePicker.js +28 -29
- package/dist/components/OwpPicker/OwpWeekDatePicker.js.map +1 -1
- package/dist/components/OwpPicker/OwpYearRangePicker.js +1 -1
- package/dist/components/OwpPicker/OwpYearRangePicker.js.map +1 -1
- package/dist/components/OwpPicker/internal/DatePickerInput.js +5 -5
- package/dist/components/OwpPicker/internal/DatePickerInput.js.map +1 -1
- package/dist/components/OwpSection/OwpSection.js +118 -111
- package/dist/components/OwpSection/OwpSection.js.map +1 -1
- package/dist/components/OwpTable/OwpFieldTable.js +67 -70
- package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
- package/dist/components/OwpTable/internal/OwpTableBase.js +85 -60
- package/dist/components/OwpTable/internal/OwpTableBase.js.map +1 -1
- package/dist/components/OwpTable/internal/defaultTableStyle.js +1 -1
- package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js +1 -1
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js +21 -22
- package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +10 -10
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
- package/dist/dayjs.js +18 -0
- package/dist/dayjs.js.map +1 -0
- package/dist/features/themePreview/components/ThemePreviewCanvas.js +22 -22
- package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
- package/dist/features/themePreview/hooks/useThemePreview.js +16 -16
- package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
- package/dist/hooks/{useInitCommonCodes.js → internal/useInitCommonCodes.js} +6 -6
- package/dist/hooks/internal/useInitCommonCodes.js.map +1 -0
- package/dist/hooks/internal/useMinimumVisibleState.js +31 -0
- package/dist/hooks/internal/useMinimumVisibleState.js.map +1 -0
- package/dist/hooks/useInitApp.js +17 -14
- package/dist/hooks/useInitApp.js.map +1 -1
- package/dist/hooks.js +49 -51
- package/dist/hooks.js.map +1 -1
- package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js +23 -0
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js.map +1 -0
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
- package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
- package/dist/types/components/OwpPicker/OwpTimePicker.d.ts +1 -1
- package/dist/types/components/OwpSection/OwpSection.d.ts +9 -3
- package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +1 -1
- package/dist/types/dayjs.d.ts +18 -0
- package/dist/types/hooks/index.d.ts +0 -1
- package/dist/types/hooks/internal/useMinimumVisibleState.d.ts +7 -0
- package/dist/types/utils/dayjsBrowser.d.ts +1 -7
- package/dist/types/utils/formatDateToYmd.d.ts +1 -1
- package/dist/utils/formatDateToYmd.js +3 -3
- package/dist/utils/formatDateToYmd.js.map +1 -1
- package/dist/utils/treeGridExportExcelUtil.js +1 -1
- package/dist/utils/treeGridExportExcelUtil.js.map +1 -1
- package/dist/utils/zipUtil.js +3 -3
- package/dist/utils/zipUtil.js.map +1 -1
- package/package.json +3 -1
- package/dist/hooks/useInitCommonCodes.js.map +0 -1
- package/dist/utils/dayjsBrowser.js +0 -16
- package/dist/utils/dayjsBrowser.js.map +0 -1
- /package/dist/types/hooks/{useInitCommonCodes.d.ts → internal/useInitCommonCodes.d.ts} +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
var v = Object.defineProperty;
|
|
2
2
|
var i = (e, t) => v(e, "name", { value: t, configurable: !0 });
|
|
3
|
-
import { jsxs as
|
|
3
|
+
import { jsxs as h, jsx as l, Fragment as I } 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
4
|
import { resolveOwpTableTheme as $ } from "../../constants/tableTheme.js";
|
|
5
5
|
import { useGetCurrentSettings as V } from "../../hooks/useOwpSettings.js";
|
|
6
|
-
import { TableCell as
|
|
6
|
+
import { TableCell as k, Box as j, TableBody as W, Checkbox as G } from "@mui/material";
|
|
7
7
|
import { clsx as K } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
|
|
8
|
-
import P from "dayjs";
|
|
8
|
+
import { owpDayjs as P } from "../../dayjs.js";
|
|
9
9
|
import { useMemo as q, Fragment as X } from "react";
|
|
10
|
-
import { FieldTableNumberValue as
|
|
11
|
-
import { OwpTableBaseRow as
|
|
10
|
+
import { FieldTableNumberValue as Z, FieldTableTextValue as J } from "./internal/FieldTableValue.js";
|
|
11
|
+
import { OwpTableBaseRow as Q, OwpTableBase as U } from "./internal/OwpTableBase.js";
|
|
12
12
|
import { getDefaultTableHeaderCellSx as ee, DEFAULT_TABLE_RADIUS as re, DEFAULT_TABLE_HEADER_BACKGROUND_COLOR as oe } from "./internal/defaultTableStyle.js";
|
|
13
13
|
import { TREEGRID_TABLE_FONT_FAMILY_STACK as te } from "./internal/treeGridTableStyle.js";
|
|
14
14
|
import { isNaN as ne } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNaN.js";
|
|
15
15
|
import { toNumber as ae } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/toNumber.js";
|
|
16
|
-
const ie = 28, le = "calc(0.75rem * 1.66 + 3px)",
|
|
16
|
+
const ie = 28, le = "calc(0.75rem * 1.66 + 3px)", w = {
|
|
17
17
|
dark: "rgba(241,245,249,.12)",
|
|
18
18
|
light: "#e2e8f0"
|
|
19
19
|
}, me = {
|
|
@@ -25,27 +25,24 @@ const ie = 28, le = "calc(0.75rem * 1.66 + 3px)", k = {
|
|
|
25
25
|
minHeight: "unset",
|
|
26
26
|
padding: "7px 10px"
|
|
27
27
|
}
|
|
28
|
-
},
|
|
29
|
-
borderRadius: 0,
|
|
30
|
-
overflow: "visible"
|
|
31
|
-
}, w = {
|
|
28
|
+
}, N = {
|
|
32
29
|
borderTop: "1px solid #CDD8E4"
|
|
33
|
-
},
|
|
34
|
-
[`&:has(.MuiFormHelperText-root) .${
|
|
30
|
+
}, c = "owp-field-table-cell-content", fe = {
|
|
31
|
+
[`&:has(.MuiFormHelperText-root) .${c}::after`]: {
|
|
35
32
|
content: '""',
|
|
36
33
|
display: "block",
|
|
37
34
|
height: le
|
|
38
35
|
},
|
|
39
|
-
[`&:has(.MuiFormHelperText-root) .${
|
|
36
|
+
[`&:has(.MuiFormHelperText-root) .${c}:has(.MuiFormHelperText-root)::after`]: {
|
|
40
37
|
display: "none"
|
|
41
38
|
}
|
|
42
|
-
},
|
|
39
|
+
}, B = /* @__PURE__ */ i((e) => e ? (Array.isArray(e) ? e : [e]).filter(Boolean) : [], "normalizeTableCellSx"), L = /* @__PURE__ */ i((...e) => e.flatMap(B).map(
|
|
43
40
|
(t) => typeof t == "function" ? (n) => ({
|
|
44
41
|
"&&&": t(n)
|
|
45
42
|
}) : {
|
|
46
43
|
"&&&": t
|
|
47
44
|
}
|
|
48
|
-
), "getTreeGridCellOverrideSx"),
|
|
45
|
+
), "getTreeGridCellOverrideSx"), se = /* @__PURE__ */ i((e) => {
|
|
49
46
|
if (!e)
|
|
50
47
|
return;
|
|
51
48
|
const t = Array.isArray(e) ? e : [e];
|
|
@@ -54,7 +51,7 @@ const ie = 28, le = "calc(0.75rem * 1.66 + 3px)", k = {
|
|
|
54
51
|
if (!(!r || typeof r == "function" || Array.isArray(r)) && typeof r == "object" && "fontSize" in r)
|
|
55
52
|
return r.fontSize;
|
|
56
53
|
}
|
|
57
|
-
}, "getTableCellFontSize"),
|
|
54
|
+
}, "getTableCellFontSize"), f = {
|
|
58
55
|
header: {
|
|
59
56
|
backgroundColor: oe,
|
|
60
57
|
color: "#111827",
|
|
@@ -65,23 +62,23 @@ const ie = 28, le = "calc(0.75rem * 1.66 + 3px)", k = {
|
|
|
65
62
|
backgroundColor: "#FFFFFF",
|
|
66
63
|
fontSize: "1.7rem"
|
|
67
64
|
}
|
|
68
|
-
},
|
|
65
|
+
}, de = /* @__PURE__ */ i((e) => /* @__PURE__ */ h(I, { children: [
|
|
69
66
|
e,
|
|
70
67
|
/* @__PURE__ */ l("span", { className: "ml-4 text-red-600", children: "*" })
|
|
71
|
-
] }), "getRequiredTitle"), pe = /* @__PURE__ */ i((e, t) => e == null ? void 0 : e[t], "getFieldTableValue"),
|
|
68
|
+
] }), "getRequiredTitle"), pe = /* @__PURE__ */ i((e, t) => e == null ? void 0 : e[t], "getFieldTableValue"), ue = /* @__PURE__ */ i((e, t) => typeof t == "function" ? t(e) : ne(ae(e)) ? e === "Y" : !!Number(e), "getCheckboxChecked"), he = /* @__PURE__ */ i((e) => e.withTime ? "YYYY-MM-DD HH:mm" : e.withTimeAndSec ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD", "getDateFormat"), ce = /* @__PURE__ */ i((e, t, n) => {
|
|
72
69
|
const r = pe(t, e.key);
|
|
73
70
|
return typeof e.render == "function" ? e.render() : e.useCheckbox ? /* @__PURE__ */ l(
|
|
74
71
|
G,
|
|
75
72
|
{
|
|
76
|
-
checked:
|
|
73
|
+
checked: ue(r, e.validate),
|
|
77
74
|
sx: {
|
|
78
75
|
"& .MuiSvgIcon-root": {
|
|
79
|
-
fontSize:
|
|
76
|
+
fontSize: se(n) ?? ie
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
|
-
) : e.useDate ? r && P(r).format(
|
|
84
|
-
|
|
80
|
+
) : e.useDate ? r && P(r).format(he(e)) : e.contentType === "number" ? /* @__PURE__ */ l(
|
|
81
|
+
Z,
|
|
85
82
|
{
|
|
86
83
|
value: r,
|
|
87
84
|
valueDecimals: e.valueDecimals,
|
|
@@ -89,7 +86,7 @@ const ie = 28, le = "calc(0.75rem * 1.66 + 3px)", k = {
|
|
|
89
86
|
sx: e.valueSx
|
|
90
87
|
}
|
|
91
88
|
) : e.contentType === "text" ? /* @__PURE__ */ l(
|
|
92
|
-
|
|
89
|
+
J,
|
|
93
90
|
{
|
|
94
91
|
value: r,
|
|
95
92
|
className: e.valueClassName,
|
|
@@ -97,93 +94,93 @@ const ie = 28, le = "calc(0.75rem * 1.66 + 3px)", k = {
|
|
|
97
94
|
}
|
|
98
95
|
) : e.disableLocaleString ? r : r == null ? void 0 : r.toLocaleString();
|
|
99
96
|
}, "renderFieldTableCellValue");
|
|
100
|
-
function
|
|
97
|
+
function Le({
|
|
101
98
|
layout: e,
|
|
102
99
|
titleWidth: t,
|
|
103
100
|
titleSx: n,
|
|
104
101
|
treeGridTitleCellSx: r,
|
|
105
|
-
cellSx:
|
|
106
|
-
data:
|
|
107
|
-
colGroupSlot:
|
|
108
|
-
className:
|
|
109
|
-
tableLayout:
|
|
110
|
-
canTableRadiusZero:
|
|
111
|
-
canUseTableRadius:
|
|
112
|
-
canUseTreeGridStyle:
|
|
113
|
-
tableBorderRadius:
|
|
102
|
+
cellSx: p,
|
|
103
|
+
data: M,
|
|
104
|
+
colGroupSlot: Y,
|
|
105
|
+
className: y,
|
|
106
|
+
tableLayout: H = "fixed",
|
|
107
|
+
canTableRadiusZero: z = !1,
|
|
108
|
+
canUseTableRadius: u = !1,
|
|
109
|
+
canUseTreeGridStyle: s = !1,
|
|
110
|
+
tableBorderRadius: O = re
|
|
114
111
|
}) {
|
|
115
|
-
var
|
|
116
|
-
const a = V(),
|
|
112
|
+
var g, F, x, E, S, D, A, _;
|
|
113
|
+
const a = V(), T = ((x = (F = (g = a == null ? void 0 : a.theme) == null ? void 0 : g.main) == null ? void 0 : F.palette) == null ? void 0 : x.mode) === "dark" ? w.dark : w.light, b = ((_ = (A = (D = (S = (E = a == null ? void 0 : a.theme) == null ? void 0 : E.main) == null ? void 0 : S.table) == null ? void 0 : D.field) == null ? void 0 : A.cell) == null ? void 0 : _.backgroundColor) ?? f.cell.backgroundColor, C = q(
|
|
117
114
|
() => {
|
|
118
115
|
var d, m, o;
|
|
119
116
|
return $((o = (m = (d = a == null ? void 0 : a.theme) == null ? void 0 : d.main) == null ? void 0 : m.table) == null ? void 0 : o.field, {
|
|
120
|
-
borderColor:
|
|
117
|
+
borderColor: T,
|
|
121
118
|
header: {
|
|
122
|
-
backgroundColor:
|
|
123
|
-
color:
|
|
124
|
-
fontSize:
|
|
125
|
-
fontWeight:
|
|
119
|
+
backgroundColor: f.header.backgroundColor,
|
|
120
|
+
color: f.header.color,
|
|
121
|
+
fontSize: f.header.fontSize,
|
|
122
|
+
fontWeight: f.header.fontWeight
|
|
126
123
|
},
|
|
127
124
|
cell: {
|
|
128
|
-
backgroundColor:
|
|
129
|
-
fontSize:
|
|
125
|
+
backgroundColor: f.cell.backgroundColor,
|
|
126
|
+
fontSize: f.cell.fontSize
|
|
130
127
|
}
|
|
131
128
|
});
|
|
132
129
|
},
|
|
133
|
-
[a,
|
|
130
|
+
[a, T]
|
|
134
131
|
);
|
|
135
|
-
return /* @__PURE__ */
|
|
136
|
-
|
|
132
|
+
return /* @__PURE__ */ h(
|
|
133
|
+
U,
|
|
137
134
|
{
|
|
138
|
-
canTableRadiusZero:
|
|
139
|
-
canUseTableRadius:
|
|
140
|
-
canUseTreeGridStyle:
|
|
141
|
-
className: K("w-full",
|
|
135
|
+
canTableRadiusZero: z,
|
|
136
|
+
canUseTableRadius: u,
|
|
137
|
+
canUseTreeGridStyle: s,
|
|
138
|
+
className: K("w-full", y),
|
|
142
139
|
containerProps: {
|
|
143
|
-
sx:
|
|
144
|
-
f ? se : void 0,
|
|
145
|
-
!f && h ? { backgroundColor: h } : void 0
|
|
146
|
-
]
|
|
140
|
+
sx: !s && b ? { backgroundColor: b } : void 0
|
|
147
141
|
},
|
|
148
|
-
tableTheme:
|
|
149
|
-
tableLayout:
|
|
150
|
-
tableBorderRadius:
|
|
142
|
+
tableTheme: C,
|
|
143
|
+
tableLayout: H,
|
|
144
|
+
tableBorderRadius: O,
|
|
151
145
|
children: [
|
|
152
|
-
|
|
153
|
-
/* @__PURE__ */ l(W, { children: e.map((d, m) => /* @__PURE__ */ l(
|
|
146
|
+
Y,
|
|
147
|
+
/* @__PURE__ */ l(W, { children: e.map((d, m) => /* @__PURE__ */ l(Q, { sx: fe, children: d.map((o, R) => /* @__PURE__ */ h(X, { children: [
|
|
154
148
|
/* @__PURE__ */ l(
|
|
155
|
-
|
|
149
|
+
k,
|
|
156
150
|
{
|
|
157
151
|
component: "th",
|
|
158
152
|
className: "whitespace-pre-wrap",
|
|
159
153
|
width: t ?? 200,
|
|
160
|
-
sx:
|
|
154
|
+
sx: s ? [
|
|
161
155
|
me,
|
|
162
|
-
m === 0 &&
|
|
163
|
-
...
|
|
164
|
-
] : [ee(
|
|
156
|
+
m === 0 && !u && N,
|
|
157
|
+
...L(r, n)
|
|
158
|
+
] : [ee(C), ...B(n)],
|
|
165
159
|
rowSpan: o == null ? void 0 : o.rowSpan,
|
|
166
|
-
children: o.required ?
|
|
160
|
+
children: o.required ? de(o.title) : o.title
|
|
167
161
|
}
|
|
168
162
|
),
|
|
169
163
|
/* @__PURE__ */ l(
|
|
170
|
-
|
|
164
|
+
k,
|
|
171
165
|
{
|
|
172
166
|
className: "whitespace-pre-wrap",
|
|
173
|
-
sx:
|
|
167
|
+
sx: s ? [
|
|
168
|
+
m === 0 && !u && N,
|
|
169
|
+
...L(p)
|
|
170
|
+
] : p,
|
|
174
171
|
style: (o == null ? void 0 : o.style) ?? {},
|
|
175
172
|
colSpan: o == null ? void 0 : o.colSpan,
|
|
176
173
|
rowSpan: o == null ? void 0 : o.rowSpan,
|
|
177
|
-
children: /* @__PURE__ */ l(j, { className:
|
|
174
|
+
children: /* @__PURE__ */ l(j, { className: c, children: ce(o, M, p) })
|
|
178
175
|
}
|
|
179
176
|
)
|
|
180
|
-
] }, `owp-field-cell-${m}-${
|
|
177
|
+
] }, `owp-field-cell-${m}-${R}`)) }, `owp-field-col-${m}`)) })
|
|
181
178
|
]
|
|
182
179
|
}
|
|
183
180
|
);
|
|
184
181
|
}
|
|
185
|
-
i(
|
|
182
|
+
i(Le, "OwpFieldTable");
|
|
186
183
|
export {
|
|
187
|
-
|
|
184
|
+
Le as OwpFieldTable
|
|
188
185
|
};
|
|
189
186
|
//# sourceMappingURL=OwpFieldTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwpFieldTable.js","sources":["../../../src/components/OwpTable/OwpFieldTable.tsx"],"sourcesContent":["import {\n resolveOwpTableTheme,\n} from '@/constants/tableTheme';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport type { OwpTableVariantThemeConfigType } from '@/types/OwpTableThemeTypes';\nimport { Box, Checkbox, TableBody, TableCell, type TableCellProps } from '@mui/material';\nimport type { SxProps, Theme } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport dayjs from 'dayjs';\nimport { isNaN, toNumber } from 'es-toolkit/compat';\nimport { Fragment, type CSSProperties, type ReactNode, useMemo } from 'react';\nimport { FieldTableNumberValue, FieldTableTextValue } from './internal/FieldTableValue';\nimport { OwpTableBase, OwpTableBaseRow } from './internal/OwpTableBase';\nimport {\n DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n DEFAULT_TABLE_RADIUS,\n getDefaultTableHeaderCellSx,\n} from './internal/defaultTableStyle';\nimport { TREEGRID_TABLE_FONT_FAMILY_STACK } from './internal/treeGridTableStyle';\n\ntype OwpFieldTableCell = {\n title: string;\n key: string;\n contentType?: 'input' | 'text' | 'number' | (string & {});\n required?: boolean;\n disableLocaleString?: boolean;\n useDate?: boolean;\n withTime?: boolean;\n withTimeAndSec?: boolean;\n useCheckbox?: boolean;\n colSpan?: number;\n rowSpan?: number;\n style?: CSSProperties;\n render?: () => ReactNode;\n validate?: (v?: number | string | null) => boolean;\n valueClassName?: string;\n valueSx?: SxProps<Theme>;\n valueDecimals?: number;\n};\n\ntype OwpFieldTableValue = string | number | '' | null;\ntype OwpFieldTableDataRecord = Record<string, OwpFieldTableValue | undefined>;\n\ninterface OwpFieldTableProps {\n layout: OwpFieldTableCell[][];\n data?: OwpFieldTableDataRecord;\n titleSx?: TableCellProps['sx'];\n treeGridTitleCellSx?: TableCellProps['sx'];\n cellSx?: TableCellProps['sx'];\n titleWidth?: number | string;\n colGroupSlot?: ReactNode;\n className?: string;\n tableLayout?: 'auto' | 'fixed';\n canTableRadiusZero?: boolean;\n canUseTableRadius?: boolean;\n canUseTreeGridStyle?: boolean;\n tableBorderRadius?: string | number;\n}\n\nconst DEFAULT_CHECKBOX_FONT_SIZE = 28;\nconst FIELD_TABLE_HELPER_TEXT_RESERVED_SPACE = 'calc(0.75rem * 1.66 + 3px)';\nconst defaultTableBorderColorByMode = {\n dark: 'rgba(241,245,249,.12)',\n light: '#e2e8f0',\n} as const;\n\nconst defaultTreeGridTitleCellSx = {\n '&&': {\n fontFamily: TREEGRID_TABLE_FONT_FAMILY_STACK,\n fontSize: '1.7rem',\n fontWeight: 600,\n lineHeight: 'normal',\n minHeight: 'unset',\n padding: '7px 10px',\n },\n} as const;\n\nconst treeGridContainerSx = {\n borderRadius: 0,\n overflow: 'visible',\n} as const;\n\nconst treeGridFirstRowCellSx = {\n borderTop: '1px solid #CDD8E4',\n} as const;\n\nconst FIELD_TABLE_CELL_CONTENT_CLASS_NAME = 'owp-field-table-cell-content';\n\n/** 필드 테이블 row helper text 보정 */\nconst fieldTableRowSx = {\n [`&:has(.MuiFormHelperText-root) .${FIELD_TABLE_CELL_CONTENT_CLASS_NAME}::after`]: {\n content: '\"\"',\n display: 'block',\n height: FIELD_TABLE_HELPER_TEXT_RESERVED_SPACE,\n },\n [`&:has(.MuiFormHelperText-root) .${FIELD_TABLE_CELL_CONTENT_CLASS_NAME}:has(.MuiFormHelperText-root)::after`]: {\n display: 'none',\n },\n} as const;\n\ntype TableCellSxItem = Exclude<SxProps<Theme>, readonly unknown[] | false | null | undefined>;\n\nconst normalizeTableCellSx = (\n style?: TableCellProps['sx'],\n): TableCellSxItem[] => {\n if (!style) {\n return [];\n }\n\n return (Array.isArray(style) ? style : [style]).filter(Boolean) as TableCellSxItem[];\n};\n\nconst getTreeGridCellOverrideSx = (\n ...styles: Array<TableCellProps['sx'] | undefined>\n): TableCellSxItem[] =>\n styles.flatMap(normalizeTableCellSx).map((style) =>\n typeof style === 'function'\n ? (theme: Theme) => ({\n '&&&': style(theme),\n })\n : {\n '&&&': style,\n },\n );\n\nconst getTableCellFontSize = (\n style?: TableCellProps['sx'],\n): number | string | undefined => {\n if (!style) {\n return undefined;\n }\n\n const styleItems = Array.isArray(style) ? style : [style];\n\n for (let index = styleItems.length - 1; index >= 0; index -= 1) {\n const styleItem = styleItems[index];\n\n if (!styleItem || typeof styleItem === 'function' || Array.isArray(styleItem)) {\n continue;\n }\n\n if (typeof styleItem === 'object' && 'fontSize' in styleItem) {\n return styleItem.fontSize as number | string | undefined;\n }\n }\n\n return undefined;\n};\n\nconst defaultFieldTableTheme = {\n borderColor: '#e2e8f0',\n header: {\n backgroundColor: DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n color: '#111827',\n fontSize: '1.7rem',\n fontWeight: 600,\n },\n cell: {\n backgroundColor: '#FFFFFF',\n fontSize: '1.7rem',\n },\n} satisfies OwpTableVariantThemeConfigType;\n\n/** 필수 헤더 타이틀 */\nconst getRequiredTitle = (title: string) => (\n <>\n {title}\n <span className=\"ml-4 text-red-600\">*</span>\n </>\n);\n\nconst getFieldTableValue = (data: OwpFieldTableProps['data'], key: string) => {\n return data?.[key];\n};\n\nconst getCheckboxChecked = (\n value: OwpFieldTableValue | undefined,\n validate?: OwpFieldTableCell['validate'],\n) => {\n if (typeof validate === 'function') {\n return validate(value);\n }\n\n if (isNaN(toNumber(value))) {\n return value === 'Y';\n }\n\n return Boolean(Number(value));\n};\n\nconst getDateFormat = (cell: OwpFieldTableCell) => {\n if (cell.withTime) {\n return 'YYYY-MM-DD HH:mm';\n }\n\n if (cell.withTimeAndSec) {\n return 'YYYY-MM-DD HH:mm:ss';\n }\n\n return 'YYYY-MM-DD';\n};\n\nconst renderFieldTableCellValue = (\n cell: OwpFieldTableCell,\n data: OwpFieldTableProps['data'],\n cellSx?: OwpFieldTableProps['cellSx'],\n): ReactNode => {\n const value = getFieldTableValue(data, cell.key);\n\n if (typeof cell.render === 'function') {\n return cell.render();\n }\n\n if (cell.useCheckbox) {\n return (\n <Checkbox\n checked={getCheckboxChecked(value, cell.validate)}\n sx={{\n '& .MuiSvgIcon-root': {\n fontSize: getTableCellFontSize(cellSx) ?? DEFAULT_CHECKBOX_FONT_SIZE,\n },\n }}\n />\n );\n }\n\n if (cell.useDate) {\n return value ? dayjs(value).format(getDateFormat(cell)) : value;\n }\n\n if (cell.contentType === 'number') {\n return (\n <FieldTableNumberValue\n value={value}\n valueDecimals={cell.valueDecimals}\n className={cell.valueClassName}\n sx={cell.valueSx}\n />\n );\n }\n\n if (cell.contentType === 'text') {\n return (\n <FieldTableTextValue\n value={value}\n className={cell.valueClassName}\n sx={cell.valueSx}\n />\n );\n }\n\n if (cell.disableLocaleString) {\n return value;\n }\n\n return value?.toLocaleString();\n};\n\n/**\n * OwpFieldTable 컴포넌트\n * @param layout layout 값\n * @param titleWidth titleWidth 값\n * @param titleSx titleSx 값\n * @param treeGridTitleCellSx TreeGrid title cell sx 값\n * @param cellSx cellSx 값\n * @param data 데이터\n * @param colGroupSlot colGroupSlot 값\n * @param className className 값\n * @param tableLayout tableLayout 값\n * @param canTableRadiusZero 테이블 radius 0 사용 여부\n * @param canUseTableRadius 테이블 radius 사용 여부\n * @param canUseTreeGridStyle TreeGrid 스타일 사용 여부\n * @param tableBorderRadius 테이블 radius 값\n */\nexport function OwpFieldTable({\n layout,\n titleWidth,\n titleSx,\n treeGridTitleCellSx,\n cellSx,\n data,\n colGroupSlot,\n className,\n tableLayout = 'fixed',\n canTableRadiusZero = false,\n canUseTableRadius = false,\n canUseTreeGridStyle = false,\n tableBorderRadius = DEFAULT_TABLE_RADIUS,\n}: OwpFieldTableProps) {\n const currentSettings = useGetCurrentSettings();\n const defaultTableBorderColor =\n currentSettings?.theme?.main?.palette?.mode === 'dark'\n ? defaultTableBorderColorByMode.dark\n : defaultTableBorderColorByMode.light;\n const tableBackgroundColor =\n currentSettings?.theme?.main?.table?.field?.cell?.backgroundColor ??\n defaultFieldTableTheme.cell.backgroundColor;\n const tableTheme = useMemo(\n () =>\n resolveOwpTableTheme(currentSettings?.theme?.main?.table?.field, {\n borderColor: defaultTableBorderColor,\n header: {\n backgroundColor: defaultFieldTableTheme.header.backgroundColor,\n color: defaultFieldTableTheme.header.color,\n fontSize: defaultFieldTableTheme.header.fontSize,\n fontWeight: defaultFieldTableTheme.header.fontWeight,\n },\n cell: {\n backgroundColor: defaultFieldTableTheme.cell.backgroundColor,\n fontSize: defaultFieldTableTheme.cell.fontSize,\n },\n }),\n [currentSettings, defaultTableBorderColor],\n );\n\n return (\n <OwpTableBase\n canTableRadiusZero={canTableRadiusZero}\n canUseTableRadius={canUseTableRadius}\n canUseTreeGridStyle={canUseTreeGridStyle}\n className={clsx('w-full', className)}\n containerProps={{\n sx: [\n canUseTreeGridStyle ? treeGridContainerSx : undefined,\n !canUseTreeGridStyle && tableBackgroundColor\n ? { backgroundColor: tableBackgroundColor }\n : undefined,\n ],\n }}\n tableTheme={tableTheme}\n tableLayout={tableLayout}\n tableBorderRadius={tableBorderRadius}\n >\n {colGroupSlot}\n <TableBody>\n {layout.map((cols, rowIndex) => (\n <OwpTableBaseRow key={`owp-field-col-${rowIndex}`} sx={fieldTableRowSx}>\n {cols.map((col, colIndex) => (\n <Fragment key={`owp-field-cell-${rowIndex}-${colIndex}`}>\n <TableCell\n component=\"th\"\n className=\"whitespace-pre-wrap\"\n width={titleWidth ?? 200}\n sx={\n canUseTreeGridStyle\n ? [\n defaultTreeGridTitleCellSx,\n rowIndex === 0 && treeGridFirstRowCellSx,\n ...getTreeGridCellOverrideSx(treeGridTitleCellSx, titleSx),\n ]\n : [getDefaultTableHeaderCellSx(tableTheme), ...normalizeTableCellSx(titleSx)]\n }\n rowSpan={col?.rowSpan}\n >\n {col.required ? getRequiredTitle(col.title) : col.title}\n </TableCell>\n <TableCell\n className=\"whitespace-pre-wrap\"\n sx={\n canUseTreeGridStyle\n ? [rowIndex === 0 && treeGridFirstRowCellSx, ...getTreeGridCellOverrideSx(cellSx)]\n : cellSx\n }\n style={col?.style ?? {}}\n colSpan={col?.colSpan}\n rowSpan={col?.rowSpan}\n >\n <Box className={FIELD_TABLE_CELL_CONTENT_CLASS_NAME}>\n {renderFieldTableCellValue(col, data, cellSx)}\n </Box>\n </TableCell>\n </Fragment>\n ))}\n </OwpTableBaseRow>\n ))}\n </TableBody>\n </OwpTableBase>\n );\n}\n"],"names":["DEFAULT_CHECKBOX_FONT_SIZE","FIELD_TABLE_HELPER_TEXT_RESERVED_SPACE","defaultTableBorderColorByMode","defaultTreeGridTitleCellSx","TREEGRID_TABLE_FONT_FAMILY_STACK","treeGridContainerSx","treeGridFirstRowCellSx","FIELD_TABLE_CELL_CONTENT_CLASS_NAME","fieldTableRowSx","normalizeTableCellSx","__name","style","getTreeGridCellOverrideSx","styles","theme","getTableCellFontSize","styleItems","index","styleItem","defaultFieldTableTheme","DEFAULT_TABLE_HEADER_BACKGROUND_COLOR","getRequiredTitle","title","jsxs","Fragment","jsx","getFieldTableValue","data","key","getCheckboxChecked","value","validate","isNaN","toNumber","getDateFormat","cell","renderFieldTableCellValue","cellSx","Checkbox","dayjs","FieldTableNumberValue","FieldTableTextValue","OwpFieldTable","layout","titleWidth","titleSx","treeGridTitleCellSx","colGroupSlot","className","tableLayout","canTableRadiusZero","canUseTableRadius","canUseTreeGridStyle","tableBorderRadius","DEFAULT_TABLE_RADIUS","currentSettings","useGetCurrentSettings","defaultTableBorderColor","_c","_b","_a","tableBackgroundColor","_h","_g","_f","_e","_d","tableTheme","useMemo","resolveOwpTableTheme","OwpTableBase","clsx","TableBody","cols","rowIndex","OwpTableBaseRow","col","colIndex","TableCell","getDefaultTableHeaderCellSx","Box"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OwpFieldTable.js","sources":["../../../src/components/OwpTable/OwpFieldTable.tsx"],"sourcesContent":["import {\n resolveOwpTableTheme,\n} from '@/constants/tableTheme';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport type { OwpTableVariantThemeConfigType } from '@/types/OwpTableThemeTypes';\nimport { Box, Checkbox, TableBody, TableCell, type TableCellProps } from '@mui/material';\nimport type { SxProps, Theme } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport dayjs from '@/dayjs';\nimport { isNaN, toNumber } from 'es-toolkit/compat';\nimport { Fragment, type CSSProperties, type ReactNode, useMemo } from 'react';\nimport { FieldTableNumberValue, FieldTableTextValue } from './internal/FieldTableValue';\nimport { OwpTableBase, OwpTableBaseRow } from './internal/OwpTableBase';\nimport {\n DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n DEFAULT_TABLE_RADIUS,\n getDefaultTableHeaderCellSx,\n} from './internal/defaultTableStyle';\nimport { TREEGRID_TABLE_FONT_FAMILY_STACK } from './internal/treeGridTableStyle';\n\ntype OwpFieldTableCell = {\n title: string;\n key: string;\n contentType?: 'input' | 'text' | 'number' | (string & {});\n required?: boolean;\n disableLocaleString?: boolean;\n useDate?: boolean;\n withTime?: boolean;\n withTimeAndSec?: boolean;\n useCheckbox?: boolean;\n colSpan?: number;\n rowSpan?: number;\n style?: CSSProperties;\n render?: () => ReactNode;\n validate?: (v?: number | string | null) => boolean;\n valueClassName?: string;\n valueSx?: SxProps<Theme>;\n valueDecimals?: number;\n};\n\ntype OwpFieldTableValue = string | number | '' | null;\ntype OwpFieldTableDataRecord = Record<string, OwpFieldTableValue | undefined>;\n\ninterface OwpFieldTableProps {\n layout: OwpFieldTableCell[][];\n data?: OwpFieldTableDataRecord;\n titleSx?: TableCellProps['sx'];\n treeGridTitleCellSx?: TableCellProps['sx'];\n cellSx?: TableCellProps['sx'];\n titleWidth?: number | string;\n colGroupSlot?: ReactNode;\n className?: string;\n tableLayout?: 'auto' | 'fixed';\n canTableRadiusZero?: boolean;\n canUseTableRadius?: boolean;\n canUseTreeGridStyle?: boolean;\n tableBorderRadius?: string | number;\n}\n\nconst DEFAULT_CHECKBOX_FONT_SIZE = 28;\nconst FIELD_TABLE_HELPER_TEXT_RESERVED_SPACE = 'calc(0.75rem * 1.66 + 3px)';\nconst defaultTableBorderColorByMode = {\n dark: 'rgba(241,245,249,.12)',\n light: '#e2e8f0',\n} as const;\n\nconst defaultTreeGridTitleCellSx = {\n '&&': {\n fontFamily: TREEGRID_TABLE_FONT_FAMILY_STACK,\n fontSize: '1.7rem',\n fontWeight: 600,\n lineHeight: 'normal',\n minHeight: 'unset',\n padding: '7px 10px',\n },\n} as const;\n\nconst treeGridFirstRowCellSx = {\n borderTop: '1px solid #CDD8E4',\n} as const;\n\nconst FIELD_TABLE_CELL_CONTENT_CLASS_NAME = 'owp-field-table-cell-content';\n\n/** 필드 테이블 row helper text 보정 */\nconst fieldTableRowSx = {\n [`&:has(.MuiFormHelperText-root) .${FIELD_TABLE_CELL_CONTENT_CLASS_NAME}::after`]: {\n content: '\"\"',\n display: 'block',\n height: FIELD_TABLE_HELPER_TEXT_RESERVED_SPACE,\n },\n [`&:has(.MuiFormHelperText-root) .${FIELD_TABLE_CELL_CONTENT_CLASS_NAME}:has(.MuiFormHelperText-root)::after`]: {\n display: 'none',\n },\n} as const;\n\ntype TableCellSxItem = Exclude<SxProps<Theme>, readonly unknown[] | false | null | undefined>;\n\nconst normalizeTableCellSx = (\n style?: TableCellProps['sx'],\n): TableCellSxItem[] => {\n if (!style) {\n return [];\n }\n\n return (Array.isArray(style) ? style : [style]).filter(Boolean) as TableCellSxItem[];\n};\n\nconst getTreeGridCellOverrideSx = (\n ...styles: Array<TableCellProps['sx'] | undefined>\n): TableCellSxItem[] =>\n styles.flatMap(normalizeTableCellSx).map((style) =>\n typeof style === 'function'\n ? (theme: Theme) => ({\n '&&&': style(theme),\n })\n : {\n '&&&': style,\n },\n );\n\nconst getTableCellFontSize = (\n style?: TableCellProps['sx'],\n): number | string | undefined => {\n if (!style) {\n return undefined;\n }\n\n const styleItems = Array.isArray(style) ? style : [style];\n\n for (let index = styleItems.length - 1; index >= 0; index -= 1) {\n const styleItem = styleItems[index];\n\n if (!styleItem || typeof styleItem === 'function' || Array.isArray(styleItem)) {\n continue;\n }\n\n if (typeof styleItem === 'object' && 'fontSize' in styleItem) {\n return styleItem.fontSize as number | string | undefined;\n }\n }\n\n return undefined;\n};\n\nconst defaultFieldTableTheme = {\n borderColor: '#e2e8f0',\n header: {\n backgroundColor: DEFAULT_TABLE_HEADER_BACKGROUND_COLOR,\n color: '#111827',\n fontSize: '1.7rem',\n fontWeight: 600,\n },\n cell: {\n backgroundColor: '#FFFFFF',\n fontSize: '1.7rem',\n },\n} satisfies OwpTableVariantThemeConfigType;\n\n/** 필수 헤더 타이틀 */\nconst getRequiredTitle = (title: string) => (\n <>\n {title}\n <span className=\"ml-4 text-red-600\">*</span>\n </>\n);\n\nconst getFieldTableValue = (data: OwpFieldTableProps['data'], key: string) => {\n return data?.[key];\n};\n\nconst getCheckboxChecked = (\n value: OwpFieldTableValue | undefined,\n validate?: OwpFieldTableCell['validate'],\n) => {\n if (typeof validate === 'function') {\n return validate(value);\n }\n\n if (isNaN(toNumber(value))) {\n return value === 'Y';\n }\n\n return Boolean(Number(value));\n};\n\nconst getDateFormat = (cell: OwpFieldTableCell) => {\n if (cell.withTime) {\n return 'YYYY-MM-DD HH:mm';\n }\n\n if (cell.withTimeAndSec) {\n return 'YYYY-MM-DD HH:mm:ss';\n }\n\n return 'YYYY-MM-DD';\n};\n\nconst renderFieldTableCellValue = (\n cell: OwpFieldTableCell,\n data: OwpFieldTableProps['data'],\n cellSx?: OwpFieldTableProps['cellSx'],\n): ReactNode => {\n const value = getFieldTableValue(data, cell.key);\n\n if (typeof cell.render === 'function') {\n return cell.render();\n }\n\n if (cell.useCheckbox) {\n return (\n <Checkbox\n checked={getCheckboxChecked(value, cell.validate)}\n sx={{\n '& .MuiSvgIcon-root': {\n fontSize: getTableCellFontSize(cellSx) ?? DEFAULT_CHECKBOX_FONT_SIZE,\n },\n }}\n />\n );\n }\n\n if (cell.useDate) {\n return value ? dayjs(value).format(getDateFormat(cell)) : value;\n }\n\n if (cell.contentType === 'number') {\n return (\n <FieldTableNumberValue\n value={value}\n valueDecimals={cell.valueDecimals}\n className={cell.valueClassName}\n sx={cell.valueSx}\n />\n );\n }\n\n if (cell.contentType === 'text') {\n return (\n <FieldTableTextValue\n value={value}\n className={cell.valueClassName}\n sx={cell.valueSx}\n />\n );\n }\n\n if (cell.disableLocaleString) {\n return value;\n }\n\n return value?.toLocaleString();\n};\n\n/**\n * OwpFieldTable 컴포넌트\n * @param layout layout 값\n * @param titleWidth titleWidth 값\n * @param titleSx titleSx 값\n * @param treeGridTitleCellSx TreeGrid title cell sx 값\n * @param cellSx cellSx 값\n * @param data 데이터\n * @param colGroupSlot colGroupSlot 값\n * @param className className 값\n * @param tableLayout tableLayout 값\n * @param canTableRadiusZero 테이블 radius 0 사용 여부\n * @param canUseTableRadius 테이블 radius 사용 여부\n * @param canUseTreeGridStyle TreeGrid 스타일 사용 여부\n * @param tableBorderRadius 테이블 radius 값\n */\nexport function OwpFieldTable({\n layout,\n titleWidth,\n titleSx,\n treeGridTitleCellSx,\n cellSx,\n data,\n colGroupSlot,\n className,\n tableLayout = 'fixed',\n canTableRadiusZero = false,\n canUseTableRadius = false,\n canUseTreeGridStyle = false,\n tableBorderRadius = DEFAULT_TABLE_RADIUS,\n}: OwpFieldTableProps) {\n const currentSettings = useGetCurrentSettings();\n const defaultTableBorderColor =\n currentSettings?.theme?.main?.palette?.mode === 'dark'\n ? defaultTableBorderColorByMode.dark\n : defaultTableBorderColorByMode.light;\n const tableBackgroundColor =\n currentSettings?.theme?.main?.table?.field?.cell?.backgroundColor ??\n defaultFieldTableTheme.cell.backgroundColor;\n const tableTheme = useMemo(\n () =>\n resolveOwpTableTheme(currentSettings?.theme?.main?.table?.field, {\n borderColor: defaultTableBorderColor,\n header: {\n backgroundColor: defaultFieldTableTheme.header.backgroundColor,\n color: defaultFieldTableTheme.header.color,\n fontSize: defaultFieldTableTheme.header.fontSize,\n fontWeight: defaultFieldTableTheme.header.fontWeight,\n },\n cell: {\n backgroundColor: defaultFieldTableTheme.cell.backgroundColor,\n fontSize: defaultFieldTableTheme.cell.fontSize,\n },\n }),\n [currentSettings, defaultTableBorderColor],\n );\n\n return (\n <OwpTableBase\n canTableRadiusZero={canTableRadiusZero}\n canUseTableRadius={canUseTableRadius}\n canUseTreeGridStyle={canUseTreeGridStyle}\n className={clsx('w-full', className)}\n containerProps={{\n sx:\n !canUseTreeGridStyle && tableBackgroundColor\n ? { backgroundColor: tableBackgroundColor }\n : undefined,\n }}\n tableTheme={tableTheme}\n tableLayout={tableLayout}\n tableBorderRadius={tableBorderRadius}\n >\n {colGroupSlot}\n <TableBody>\n {layout.map((cols, rowIndex) => (\n <OwpTableBaseRow key={`owp-field-col-${rowIndex}`} sx={fieldTableRowSx}>\n {cols.map((col, colIndex) => (\n <Fragment key={`owp-field-cell-${rowIndex}-${colIndex}`}>\n <TableCell\n component=\"th\"\n className=\"whitespace-pre-wrap\"\n width={titleWidth ?? 200}\n sx={\n canUseTreeGridStyle\n ? [\n defaultTreeGridTitleCellSx,\n rowIndex === 0 && !canUseTableRadius && treeGridFirstRowCellSx,\n ...getTreeGridCellOverrideSx(treeGridTitleCellSx, titleSx),\n ]\n : [getDefaultTableHeaderCellSx(tableTheme), ...normalizeTableCellSx(titleSx)]\n }\n rowSpan={col?.rowSpan}\n >\n {col.required ? getRequiredTitle(col.title) : col.title}\n </TableCell>\n <TableCell\n className=\"whitespace-pre-wrap\"\n sx={\n canUseTreeGridStyle\n ? [\n rowIndex === 0 && !canUseTableRadius && treeGridFirstRowCellSx,\n ...getTreeGridCellOverrideSx(cellSx),\n ]\n : cellSx\n }\n style={col?.style ?? {}}\n colSpan={col?.colSpan}\n rowSpan={col?.rowSpan}\n >\n <Box className={FIELD_TABLE_CELL_CONTENT_CLASS_NAME}>\n {renderFieldTableCellValue(col, data, cellSx)}\n </Box>\n </TableCell>\n </Fragment>\n ))}\n </OwpTableBaseRow>\n ))}\n </TableBody>\n </OwpTableBase>\n );\n}\n"],"names":["DEFAULT_CHECKBOX_FONT_SIZE","FIELD_TABLE_HELPER_TEXT_RESERVED_SPACE","defaultTableBorderColorByMode","defaultTreeGridTitleCellSx","TREEGRID_TABLE_FONT_FAMILY_STACK","treeGridFirstRowCellSx","FIELD_TABLE_CELL_CONTENT_CLASS_NAME","fieldTableRowSx","normalizeTableCellSx","__name","style","getTreeGridCellOverrideSx","styles","theme","getTableCellFontSize","styleItems","index","styleItem","defaultFieldTableTheme","DEFAULT_TABLE_HEADER_BACKGROUND_COLOR","getRequiredTitle","title","jsxs","Fragment","jsx","getFieldTableValue","data","key","getCheckboxChecked","value","validate","isNaN","toNumber","getDateFormat","cell","renderFieldTableCellValue","cellSx","Checkbox","dayjs","FieldTableNumberValue","FieldTableTextValue","OwpFieldTable","layout","titleWidth","titleSx","treeGridTitleCellSx","colGroupSlot","className","tableLayout","canTableRadiusZero","canUseTableRadius","canUseTreeGridStyle","tableBorderRadius","DEFAULT_TABLE_RADIUS","currentSettings","useGetCurrentSettings","defaultTableBorderColor","_c","_b","_a","tableBackgroundColor","_h","_g","_f","_e","_d","tableTheme","useMemo","resolveOwpTableTheme","OwpTableBase","clsx","TableBody","cols","rowIndex","OwpTableBaseRow","col","colIndex","TableCell","getDefaultTableHeaderCellSx","Box"],"mappings":"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"}
|
|
@@ -1,78 +1,79 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
import { jsxs as B, jsx as w, Fragment as
|
|
1
|
+
var G = Object.defineProperty;
|
|
2
|
+
var m = (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
4
|
import { resolveOwpGridTheme as g } from "../../../constants/gridTheme.js";
|
|
5
|
-
import { resolveOwpTableTheme as
|
|
6
|
-
import { getTreeGridFontFaceStyles as
|
|
5
|
+
import { resolveOwpTableTheme as I } from "../../../constants/tableTheme.js";
|
|
6
|
+
import { getTreeGridFontFaceStyles as $ } from "../../../constants/treeGrid.js";
|
|
7
7
|
import { useGetCurrentSettings as k } from "../../../hooks/useOwpSettings.js";
|
|
8
|
-
import { styled as
|
|
9
|
-
import { clsx as
|
|
8
|
+
import { styled as O } from "@mui/material";
|
|
9
|
+
import { clsx as H } from "../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
|
|
10
10
|
import j from "@mui/material/GlobalStyles";
|
|
11
|
-
import
|
|
12
|
-
import
|
|
11
|
+
import N from "@mui/material/Paper";
|
|
12
|
+
import K from "@mui/material/Table";
|
|
13
13
|
import S from "@mui/material/TableContainer";
|
|
14
|
-
import
|
|
15
|
-
import { useMemo as
|
|
16
|
-
import {
|
|
17
|
-
import { defaultStyledTableTheme as
|
|
14
|
+
import V from "@mui/material/TableRow";
|
|
15
|
+
import { useMemo as y } from "react";
|
|
16
|
+
import { TREEGRID_TABLE_BODY_BORDER_COLOR as n, 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";
|
|
17
|
+
import { defaultStyledTableTheme as _, DEFAULT_TABLE_RADIUS as D, getDefaultTableCellSx as W, getDefaultTableHeaderCellSx as X, DEFAULT_TABLE_HEADER_BACKGROUND_COLOR as c } from "./defaultTableStyle.js";
|
|
18
18
|
import { mergeSx as P, toTableRadiusCssValue as U } from "../utils/tableSx.js";
|
|
19
19
|
const oo = {
|
|
20
20
|
border: 0,
|
|
21
21
|
borderRadius: 0,
|
|
22
22
|
overflow: "visible"
|
|
23
23
|
}, eo = {
|
|
24
|
-
borderRadius:
|
|
24
|
+
borderRadius: D
|
|
25
25
|
}, ro = {
|
|
26
26
|
borderRadius: 0
|
|
27
|
-
},
|
|
27
|
+
}, E = {
|
|
28
28
|
dark: "rgba(241,245,249,.12)",
|
|
29
29
|
light: "#e2e8f0"
|
|
30
|
-
},
|
|
30
|
+
}, yo = /* @__PURE__ */ m(({
|
|
31
31
|
canBodyFullHeight: o,
|
|
32
|
-
canTableRadiusZero:
|
|
33
|
-
canUseTableRadius:
|
|
32
|
+
canTableRadiusZero: a = !1,
|
|
33
|
+
canUseTableRadius: r = !1,
|
|
34
34
|
canUseTreeGridStyle: t,
|
|
35
|
-
children:
|
|
36
|
-
className:
|
|
35
|
+
children: s,
|
|
36
|
+
className: i,
|
|
37
37
|
containerProps: l,
|
|
38
|
-
footerSlot:
|
|
39
|
-
tableTheme:
|
|
40
|
-
tableLayout:
|
|
41
|
-
tableBorderRadius: L =
|
|
38
|
+
footerSlot: f,
|
|
39
|
+
tableTheme: T,
|
|
40
|
+
tableLayout: u,
|
|
41
|
+
tableBorderRadius: L = D,
|
|
42
42
|
...v
|
|
43
43
|
}) => {
|
|
44
|
-
var
|
|
45
|
-
const e = k(), R = ((x = (
|
|
44
|
+
var C, M, x;
|
|
45
|
+
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(
|
|
46
46
|
() => {
|
|
47
|
-
var
|
|
48
|
-
return g((b = (
|
|
47
|
+
var d, b;
|
|
48
|
+
return g((b = (d = e == null ? void 0 : e.theme) == null ? void 0 : d.main) == null ? void 0 : b.grid);
|
|
49
49
|
},
|
|
50
50
|
[e]
|
|
51
|
-
), h =
|
|
51
|
+
), h = y(
|
|
52
52
|
() => {
|
|
53
|
-
var
|
|
54
|
-
return
|
|
55
|
-
...
|
|
53
|
+
var d, b;
|
|
54
|
+
return T ?? I((b = (d = e == null ? void 0 : e.theme) == null ? void 0 : d.main) == null ? void 0 : b.table, {
|
|
55
|
+
..._,
|
|
56
56
|
borderColor: R
|
|
57
57
|
});
|
|
58
58
|
},
|
|
59
|
-
[e, R,
|
|
60
|
-
), A =
|
|
59
|
+
[e, R, T]
|
|
60
|
+
), A = a ? ro : t && r ? {
|
|
61
|
+
border: `1px solid ${n}`,
|
|
61
62
|
borderRadius: U(L),
|
|
62
63
|
overflow: "hidden"
|
|
63
64
|
} : t ? void 0 : eo;
|
|
64
|
-
return /* @__PURE__ */ B(
|
|
65
|
-
t && /* @__PURE__ */ w(j, { styles:
|
|
65
|
+
return /* @__PURE__ */ B(F, { children: [
|
|
66
|
+
t && /* @__PURE__ */ w(j, { styles: $() }),
|
|
66
67
|
/* @__PURE__ */ B(
|
|
67
68
|
S,
|
|
68
69
|
{
|
|
69
|
-
component:
|
|
70
|
+
component: N,
|
|
70
71
|
variant: "outlined",
|
|
71
72
|
...l,
|
|
72
73
|
sx: P(
|
|
73
74
|
!t && { borderColor: h.borderColor },
|
|
74
75
|
t && oo,
|
|
75
|
-
t &&
|
|
76
|
+
t && Y(p),
|
|
76
77
|
A,
|
|
77
78
|
o && { height: "100%" },
|
|
78
79
|
l == null ? void 0 : l.sx
|
|
@@ -83,27 +84,34 @@ const oo = {
|
|
|
83
84
|
{
|
|
84
85
|
...v,
|
|
85
86
|
canBodyFullHeight: o,
|
|
87
|
+
canUseTableRadius: r,
|
|
86
88
|
canUseTreeGridStyle: t,
|
|
87
89
|
tableTheme: h,
|
|
88
|
-
treeGridTheme:
|
|
89
|
-
className:
|
|
90
|
+
treeGridTheme: p,
|
|
91
|
+
className: H(
|
|
90
92
|
o && "h-full",
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
u === "fixed" ? "table-fixed" : u === "auto" ? "table-auto" : "",
|
|
94
|
+
i
|
|
93
95
|
),
|
|
94
|
-
children:
|
|
96
|
+
children: s
|
|
95
97
|
}
|
|
96
98
|
),
|
|
97
|
-
|
|
99
|
+
f
|
|
98
100
|
]
|
|
99
101
|
}
|
|
100
102
|
)
|
|
101
103
|
] });
|
|
102
|
-
}, "OwpTableBase"), to =
|
|
103
|
-
shouldForwardProp: /* @__PURE__ */
|
|
104
|
+
}, "OwpTableBase"), to = O(K, {
|
|
105
|
+
shouldForwardProp: /* @__PURE__ */ m((o) => o !== "canBodyFullHeight" && o !== "canUseTableRadius" && o !== "canUseTreeGridStyle" && o !== "tableTheme" && o !== "treeGridTheme", "shouldForwardProp")
|
|
104
106
|
})(
|
|
105
|
-
({
|
|
106
|
-
|
|
107
|
+
({
|
|
108
|
+
canBodyFullHeight: o,
|
|
109
|
+
canUseTableRadius: a,
|
|
110
|
+
canUseTreeGridStyle: r,
|
|
111
|
+
tableTheme: t,
|
|
112
|
+
treeGridTheme: s
|
|
113
|
+
}) => {
|
|
114
|
+
const i = s ?? g(), l = t ?? _, f = `1px solid ${l.borderColor}`, T = r && a;
|
|
107
115
|
return {
|
|
108
116
|
...o && {
|
|
109
117
|
height: "100%"
|
|
@@ -117,40 +125,40 @@ const oo = {
|
|
|
117
125
|
}
|
|
118
126
|
},
|
|
119
127
|
"& .MuiTableCell-root": r ? {
|
|
120
|
-
...Q(
|
|
128
|
+
...Q(i)
|
|
121
129
|
} : void 0,
|
|
122
130
|
...!r && {
|
|
123
131
|
"& .MuiTableRow-root > .MuiTableCell-root + .MuiTableCell-root": {
|
|
124
|
-
borderLeft:
|
|
132
|
+
borderLeft: f
|
|
125
133
|
},
|
|
126
134
|
"& .MuiTableRow-root > .MuiTableCell-root:not(:last-of-type)": {
|
|
127
|
-
borderRight:
|
|
135
|
+
borderRight: f
|
|
128
136
|
},
|
|
129
137
|
"& tbody > .MuiTableRow-root:last-of-type > .MuiTableCell-root": {
|
|
130
138
|
borderBottom: "none"
|
|
131
139
|
}
|
|
132
140
|
},
|
|
133
141
|
"& th": r ? {
|
|
134
|
-
...J(
|
|
142
|
+
...J(i),
|
|
135
143
|
"&:first-of-type": {
|
|
136
144
|
borderLeft: `1px solid ${z}`
|
|
137
145
|
}
|
|
138
146
|
} : {
|
|
139
147
|
...X(
|
|
140
|
-
|
|
148
|
+
l,
|
|
141
149
|
c
|
|
142
150
|
)
|
|
143
151
|
},
|
|
144
152
|
"& td": r ? {
|
|
145
|
-
...q(
|
|
153
|
+
...q(i),
|
|
146
154
|
"&:first-of-type": {
|
|
147
|
-
borderLeft: `1px solid ${
|
|
155
|
+
borderLeft: `1px solid ${n}`
|
|
148
156
|
}
|
|
149
157
|
} : {
|
|
150
|
-
...W(
|
|
158
|
+
...W(l)
|
|
151
159
|
},
|
|
152
160
|
...r && {
|
|
153
|
-
"& tbody > .MuiTableRow-root":
|
|
161
|
+
"& tbody > .MuiTableRow-root": Z(i)
|
|
154
162
|
},
|
|
155
163
|
...r && {
|
|
156
164
|
"& tbody > tr:first-of-type > th:first-of-type": {
|
|
@@ -159,12 +167,29 @@ const oo = {
|
|
|
159
167
|
"& tbody > tr:first-of-type > td:last-of-type": {
|
|
160
168
|
borderTopRightRadius: "inherit"
|
|
161
169
|
}
|
|
170
|
+
},
|
|
171
|
+
...T && {
|
|
172
|
+
"& .MuiTableHead-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root": {
|
|
173
|
+
borderTop: 0
|
|
174
|
+
},
|
|
175
|
+
"& .MuiTableBody-root:first-of-type > .MuiTableRow-root:first-of-type > .MuiTableCell-root": {
|
|
176
|
+
borderTop: 0
|
|
177
|
+
},
|
|
178
|
+
"& .MuiTableRow-root > .MuiTableCell-root:first-of-type": {
|
|
179
|
+
borderLeft: 0
|
|
180
|
+
},
|
|
181
|
+
"& .MuiTableRow-root > .MuiTableCell-root:last-of-type": {
|
|
182
|
+
borderRight: 0
|
|
183
|
+
},
|
|
184
|
+
"& .MuiTableBody-root > .MuiTableRow-root:last-of-type > .MuiTableCell-root": {
|
|
185
|
+
borderBottom: 0
|
|
186
|
+
}
|
|
162
187
|
}
|
|
163
188
|
};
|
|
164
189
|
}
|
|
165
|
-
),
|
|
190
|
+
), Eo = O(V)({});
|
|
166
191
|
export {
|
|
167
|
-
|
|
168
|
-
|
|
192
|
+
yo as OwpTableBase,
|
|
193
|
+
Eo as OwpTableBaseRow
|
|
169
194
|
};
|
|
170
195
|
//# sourceMappingURL=OwpTableBase.js.map
|