@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.
Files changed (78) hide show
  1. package/dayjs.d.ts +4 -0
  2. package/dayjs.js +2 -0
  3. package/dist/_virtual/index16.js +4 -4
  4. package/dist/_virtual/index17.js +4 -4
  5. package/dist/_virtual/index18.js +4 -4
  6. package/dist/_virtual/index19.js +4 -4
  7. package/dist/_virtual/isBetween.js +8 -0
  8. package/dist/_virtual/isBetween.js.map +1 -0
  9. package/dist/_virtual/isBetween2.js +5 -0
  10. package/dist/_virtual/isBetween2.js.map +1 -0
  11. package/dist/components/OwpPageContent/OwpPageContent.js +20 -19
  12. package/dist/components/OwpPageContent/OwpPageContent.js.map +1 -1
  13. package/dist/components/OwpPicker/OwpDatePicker.js +31 -32
  14. package/dist/components/OwpPicker/OwpDatePicker.js.map +1 -1
  15. package/dist/components/OwpPicker/OwpDateRangePicker.js +21 -21
  16. package/dist/components/OwpPicker/OwpDateRangePicker.js.map +1 -1
  17. package/dist/components/OwpPicker/OwpTimePicker.js +29 -30
  18. package/dist/components/OwpPicker/OwpTimePicker.js.map +1 -1
  19. package/dist/components/OwpPicker/OwpWeekDatePicker.js +28 -29
  20. package/dist/components/OwpPicker/OwpWeekDatePicker.js.map +1 -1
  21. package/dist/components/OwpPicker/OwpYearRangePicker.js +1 -1
  22. package/dist/components/OwpPicker/OwpYearRangePicker.js.map +1 -1
  23. package/dist/components/OwpPicker/internal/DatePickerInput.js +5 -5
  24. package/dist/components/OwpPicker/internal/DatePickerInput.js.map +1 -1
  25. package/dist/components/OwpSection/OwpSection.js +118 -111
  26. package/dist/components/OwpSection/OwpSection.js.map +1 -1
  27. package/dist/components/OwpTable/OwpFieldTable.js +67 -70
  28. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  29. package/dist/components/OwpTable/internal/OwpTableBase.js +85 -60
  30. package/dist/components/OwpTable/internal/OwpTableBase.js.map +1 -1
  31. package/dist/components/OwpTable/internal/defaultTableStyle.js +1 -1
  32. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
  33. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +1 -1
  34. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  35. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js +21 -22
  36. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js.map +1 -1
  37. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +10 -10
  38. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  39. package/dist/dayjs.js +18 -0
  40. package/dist/dayjs.js.map +1 -0
  41. package/dist/features/themePreview/components/ThemePreviewCanvas.js +22 -22
  42. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
  43. package/dist/features/themePreview/hooks/useThemePreview.js +16 -16
  44. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  45. package/dist/hooks/{useInitCommonCodes.js → internal/useInitCommonCodes.js} +6 -6
  46. package/dist/hooks/internal/useInitCommonCodes.js.map +1 -0
  47. package/dist/hooks/internal/useMinimumVisibleState.js +31 -0
  48. package/dist/hooks/internal/useMinimumVisibleState.js.map +1 -0
  49. package/dist/hooks/useInitApp.js +17 -14
  50. package/dist/hooks/useInitApp.js.map +1 -1
  51. package/dist/hooks.js +49 -51
  52. package/dist/hooks.js.map +1 -1
  53. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  54. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js +23 -0
  55. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js.map +1 -0
  56. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  57. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  58. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  59. 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
  60. package/dist/types/components/OwpPicker/OwpTimePicker.d.ts +1 -1
  61. package/dist/types/components/OwpSection/OwpSection.d.ts +9 -3
  62. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +1 -1
  63. package/dist/types/dayjs.d.ts +18 -0
  64. package/dist/types/hooks/index.d.ts +0 -1
  65. package/dist/types/hooks/internal/useMinimumVisibleState.d.ts +7 -0
  66. package/dist/types/utils/dayjsBrowser.d.ts +1 -7
  67. package/dist/types/utils/formatDateToYmd.d.ts +1 -1
  68. package/dist/utils/formatDateToYmd.js +3 -3
  69. package/dist/utils/formatDateToYmd.js.map +1 -1
  70. package/dist/utils/treeGridExportExcelUtil.js +1 -1
  71. package/dist/utils/treeGridExportExcelUtil.js.map +1 -1
  72. package/dist/utils/zipUtil.js +3 -3
  73. package/dist/utils/zipUtil.js.map +1 -1
  74. package/package.json +3 -1
  75. package/dist/hooks/useInitCommonCodes.js.map +0 -1
  76. package/dist/utils/dayjsBrowser.js +0 -16
  77. package/dist/utils/dayjsBrowser.js.map +0 -1
  78. /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 p, 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";
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 _, Box as j, TableBody as W, Checkbox as G } from "@mui/material";
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 U, FieldTableTextValue as Z } from "./internal/FieldTableValue.js";
11
- import { OwpTableBaseRow as J, OwpTableBase as Q } from "./internal/OwpTableBase.js";
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)", k = {
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
- }, se = {
29
- borderRadius: 0,
30
- overflow: "visible"
31
- }, w = {
28
+ }, N = {
32
29
  borderTop: "1px solid #CDD8E4"
33
- }, b = "owp-field-table-cell-content", fe = {
34
- [`&:has(.MuiFormHelperText-root) .${b}::after`]: {
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) .${b}:has(.MuiFormHelperText-root)::after`]: {
36
+ [`&:has(.MuiFormHelperText-root) .${c}:has(.MuiFormHelperText-root)::after`]: {
40
37
  display: "none"
41
38
  }
42
- }, L = /* @__PURE__ */ i((e) => e ? (Array.isArray(e) ? e : [e]).filter(Boolean) : [], "normalizeTableCellSx"), N = /* @__PURE__ */ i((...e) => e.flatMap(L).map(
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"), de = /* @__PURE__ */ i((e) => {
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"), s = {
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
- }, ue = /* @__PURE__ */ i((e) => /* @__PURE__ */ p(I, { children: [
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"), be = /* @__PURE__ */ i((e, t) => typeof t == "function" ? t(e) : ne(ae(e)) ? e === "Y" : !!Number(e), "getCheckboxChecked"), ce = /* @__PURE__ */ i((e) => e.withTime ? "YYYY-MM-DD HH:mm" : e.withTimeAndSec ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD", "getDateFormat"), he = /* @__PURE__ */ i((e, t, n) => {
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: be(r, e.validate),
73
+ checked: ue(r, e.validate),
77
74
  sx: {
78
75
  "& .MuiSvgIcon-root": {
79
- fontSize: de(n) ?? ie
76
+ fontSize: se(n) ?? ie
80
77
  }
81
78
  }
82
79
  }
83
- ) : e.useDate ? r && P(r).format(ce(e)) : e.contentType === "number" ? /* @__PURE__ */ l(
84
- U,
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
- Z,
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 Be({
97
+ function Le({
101
98
  layout: e,
102
99
  titleWidth: t,
103
100
  titleSx: n,
104
101
  treeGridTitleCellSx: r,
105
- cellSx: u,
106
- data: B,
107
- colGroupSlot: M,
108
- className: R,
109
- tableLayout: Y = "fixed",
110
- canTableRadiusZero: H = !1,
111
- canUseTableRadius: y = !1,
112
- canUseTreeGridStyle: f = !1,
113
- tableBorderRadius: z = re
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 C, g, x, F, E, S, A, D;
116
- const a = V(), c = ((x = (g = (C = a == null ? void 0 : a.theme) == null ? void 0 : C.main) == null ? void 0 : g.palette) == null ? void 0 : x.mode) === "dark" ? k.dark : k.light, h = ((D = (A = (S = (E = (F = a == null ? void 0 : a.theme) == null ? void 0 : F.main) == null ? void 0 : E.table) == null ? void 0 : S.field) == null ? void 0 : A.cell) == null ? void 0 : D.backgroundColor) ?? s.cell.backgroundColor, T = q(
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: c,
117
+ borderColor: T,
121
118
  header: {
122
- backgroundColor: s.header.backgroundColor,
123
- color: s.header.color,
124
- fontSize: s.header.fontSize,
125
- fontWeight: s.header.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: s.cell.backgroundColor,
129
- fontSize: s.cell.fontSize
125
+ backgroundColor: f.cell.backgroundColor,
126
+ fontSize: f.cell.fontSize
130
127
  }
131
128
  });
132
129
  },
133
- [a, c]
130
+ [a, T]
134
131
  );
135
- return /* @__PURE__ */ p(
136
- Q,
132
+ return /* @__PURE__ */ h(
133
+ U,
137
134
  {
138
- canTableRadiusZero: H,
139
- canUseTableRadius: y,
140
- canUseTreeGridStyle: f,
141
- className: K("w-full", R),
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: T,
149
- tableLayout: Y,
150
- tableBorderRadius: z,
142
+ tableTheme: C,
143
+ tableLayout: H,
144
+ tableBorderRadius: O,
151
145
  children: [
152
- M,
153
- /* @__PURE__ */ l(W, { children: e.map((d, m) => /* @__PURE__ */ l(J, { sx: fe, children: d.map((o, O) => /* @__PURE__ */ p(X, { children: [
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: f ? [
154
+ sx: s ? [
161
155
  me,
162
- m === 0 && w,
163
- ...N(r, n)
164
- ] : [ee(T), ...L(n)],
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 ? ue(o.title) : o.title
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: f ? [m === 0 && w, ...N(u)] : u,
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: b, children: he(o, B, u) })
174
+ children: /* @__PURE__ */ l(j, { className: c, children: ce(o, M, p) })
178
175
  }
179
176
  )
180
- ] }, `owp-field-cell-${m}-${O}`)) }, `owp-field-col-${m}`)) })
177
+ ] }, `owp-field-cell-${m}-${R}`)) }, `owp-field-col-${m}`)) })
181
178
  ]
182
179
  }
183
180
  );
184
181
  }
185
- i(Be, "OwpFieldTable");
182
+ i(Le, "OwpFieldTable");
186
183
  export {
187
- Be as OwpFieldTable
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 y = Object.defineProperty;
2
- var f = (o, r) => y(o, "name", { value: r, configurable: !0 });
3
- import { jsxs as B, jsx as w, Fragment as G } 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";
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 F } from "../../../constants/tableTheme.js";
6
- import { getTreeGridFontFaceStyles as I } from "../../../constants/treeGrid.js";
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 n } from "@mui/material";
9
- import { clsx as $ } from "../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
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 H from "@mui/material/Paper";
12
- import N from "@mui/material/Table";
11
+ import N from "@mui/material/Paper";
12
+ import K from "@mui/material/Table";
13
13
  import S from "@mui/material/TableContainer";
14
- import K from "@mui/material/TableRow";
15
- import { useMemo as E } from "react";
16
- import { getTreeGridContainerSx as V, getTreeGridBodyRowSx as Y, TREEGRID_TABLE_BODY_BORDER_COLOR 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 M, DEFAULT_TABLE_RADIUS as _, getDefaultTableCellSx as W, getDefaultTableHeaderCellSx as X, DEFAULT_TABLE_HEADER_BACKGROUND_COLOR as c } from "./defaultTableStyle.js";
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
- }, O = {
27
+ }, E = {
28
28
  dark: "rgba(241,245,249,.12)",
29
29
  light: "#e2e8f0"
30
- }, Oo = /* @__PURE__ */ f(({
30
+ }, yo = /* @__PURE__ */ m(({
31
31
  canBodyFullHeight: o,
32
- canTableRadiusZero: r = !1,
33
- canUseTableRadius: m = !1,
32
+ canTableRadiusZero: a = !1,
33
+ canUseTableRadius: r = !1,
34
34
  canUseTreeGridStyle: t,
35
- children: d,
36
- className: a,
35
+ children: s,
36
+ className: i,
37
37
  containerProps: l,
38
- footerSlot: D,
39
- tableTheme: s,
40
- tableLayout: T,
41
- tableBorderRadius: L = _,
38
+ footerSlot: f,
39
+ tableTheme: T,
40
+ tableLayout: u,
41
+ tableBorderRadius: L = D,
42
42
  ...v
43
43
  }) => {
44
- var p, C, x;
45
- const e = k(), R = ((x = (C = (p = e == null ? void 0 : e.theme) == null ? void 0 : p.main) == null ? void 0 : C.palette) == null ? void 0 : x.mode) === "dark" ? O.dark : O.light, u = E(
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 i, b;
48
- return g((b = (i = e == null ? void 0 : e.theme) == null ? void 0 : i.main) == null ? void 0 : b.grid);
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 = E(
51
+ ), h = y(
52
52
  () => {
53
- var i, b;
54
- return s ?? F((b = (i = e == null ? void 0 : e.theme) == null ? void 0 : i.main) == null ? void 0 : b.table, {
55
- ...M,
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, s]
60
- ), A = r ? ro : t && m ? {
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(G, { children: [
65
- t && /* @__PURE__ */ w(j, { styles: I() }),
65
+ return /* @__PURE__ */ B(F, { children: [
66
+ t && /* @__PURE__ */ w(j, { styles: $() }),
66
67
  /* @__PURE__ */ B(
67
68
  S,
68
69
  {
69
- component: H,
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 && V(u),
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: u,
89
- className: $(
90
+ treeGridTheme: p,
91
+ className: H(
90
92
  o && "h-full",
91
- T === "fixed" ? "table-fixed" : T === "auto" ? "table-auto" : "",
92
- a
93
+ u === "fixed" ? "table-fixed" : u === "auto" ? "table-auto" : "",
94
+ i
93
95
  ),
94
- children: d
96
+ children: s
95
97
  }
96
98
  ),
97
- D
99
+ f
98
100
  ]
99
101
  }
100
102
  )
101
103
  ] });
102
- }, "OwpTableBase"), to = n(N, {
103
- shouldForwardProp: /* @__PURE__ */ f((o) => o !== "canBodyFullHeight" && o !== "canUseTreeGridStyle" && o !== "tableTheme" && o !== "treeGridTheme", "shouldForwardProp")
104
+ }, "OwpTableBase"), to = O(K, {
105
+ shouldForwardProp: /* @__PURE__ */ m((o) => o !== "canBodyFullHeight" && o !== "canUseTableRadius" && o !== "canUseTreeGridStyle" && o !== "tableTheme" && o !== "treeGridTheme", "shouldForwardProp")
104
106
  })(
105
- ({ canBodyFullHeight: o, canUseTreeGridStyle: r, tableTheme: m, treeGridTheme: t }) => {
106
- const d = t ?? g(), a = m ?? M, l = `1px solid ${a.borderColor}`;
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(d)
128
+ ...Q(i)
121
129
  } : void 0,
122
130
  ...!r && {
123
131
  "& .MuiTableRow-root > .MuiTableCell-root + .MuiTableCell-root": {
124
- borderLeft: l
132
+ borderLeft: f
125
133
  },
126
134
  "& .MuiTableRow-root > .MuiTableCell-root:not(:last-of-type)": {
127
- borderRight: l
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(d),
142
+ ...J(i),
135
143
  "&:first-of-type": {
136
144
  borderLeft: `1px solid ${z}`
137
145
  }
138
146
  } : {
139
147
  ...X(
140
- a,
148
+ l,
141
149
  c
142
150
  )
143
151
  },
144
152
  "& td": r ? {
145
- ...q(d),
153
+ ...q(i),
146
154
  "&:first-of-type": {
147
- borderLeft: `1px solid ${Z}`
155
+ borderLeft: `1px solid ${n}`
148
156
  }
149
157
  } : {
150
- ...W(a)
158
+ ...W(l)
151
159
  },
152
160
  ...r && {
153
- "& tbody > .MuiTableRow-root": Y(d)
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
- ), go = n(K)({});
190
+ ), Eo = O(V)({});
166
191
  export {
167
- Oo as OwpTableBase,
168
- go as OwpTableBaseRow
192
+ yo as OwpTableBase,
193
+ Eo as OwpTableBaseRow
169
194
  };
170
195
  //# sourceMappingURL=OwpTableBase.js.map