@owp/core 2.2.0 → 2.2.1

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 (36) hide show
  1. package/dist/_virtual/index10.js +2 -2
  2. package/dist/_virtual/index11.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/_virtual/index15.js +5 -2
  6. package/dist/_virtual/index15.js.map +1 -1
  7. package/dist/_virtual/index16.js +2 -2
  8. package/dist/_virtual/index17.js +2 -2
  9. package/dist/_virtual/index5.js +2 -5
  10. package/dist/_virtual/index5.js.map +1 -1
  11. package/dist/_virtual/index6.js +2 -2
  12. package/dist/_virtual/index7.js +2 -2
  13. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +137 -134
  14. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  15. package/dist/components/OwpTreeGrid/OwpTreeGridNoDataOverlay.js +3 -4
  16. package/dist/components/OwpTreeGrid/OwpTreeGridNoDataOverlay.js.map +1 -1
  17. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  18. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  19. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  20. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  21. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  22. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  23. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  24. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  25. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  26. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  27. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  28. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  29. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  30. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  31. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  32. package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/mixin.js +1 -1
  33. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  34. 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
  35. package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +2 -1
  36. package/package.json +1 -3
@@ -1,5 +1,5 @@
1
- var r = {};
1
+ var a = {};
2
2
  export {
3
- r as __exports
3
+ a as __exports
4
4
  };
5
5
  //# sourceMappingURL=index10.js.map
@@ -1,5 +1,5 @@
1
- var r = {};
1
+ var a = {};
2
2
  export {
3
- r as __exports
3
+ a as __exports
4
4
  };
5
5
  //# sourceMappingURL=index11.js.map
@@ -1,5 +1,5 @@
1
- var a = {};
1
+ var e = {};
2
2
  export {
3
- a as __exports
3
+ e as __exports
4
4
  };
5
5
  //# sourceMappingURL=index13.js.map
@@ -1,5 +1,5 @@
1
- var a = {};
1
+ var r = {};
2
2
  export {
3
- a as __exports
3
+ r as __exports
4
4
  };
5
5
  //# sourceMappingURL=index14.js.map
@@ -1,5 +1,8 @@
1
- var r = {};
1
+ import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
+ import { __require as o } from "../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js";
3
+ var p = /* @__PURE__ */ o();
4
+ const s = /* @__PURE__ */ r(p);
2
5
  export {
3
- r as __exports
6
+ s as default
4
7
  };
5
8
  //# sourceMappingURL=index15.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index15.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index15.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,5 @@
1
- var e = {};
1
+ var p = { exports: {} };
2
2
  export {
3
- e as __exports
3
+ p as __module
4
4
  };
5
5
  //# sourceMappingURL=index16.js.map
@@ -1,5 +1,5 @@
1
- var r = {};
1
+ var e = { exports: {} };
2
2
  export {
3
- r as __exports
3
+ e as __module
4
4
  };
5
5
  //# sourceMappingURL=index17.js.map
@@ -1,8 +1,5 @@
1
- import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as o } from "../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js";
3
- var p = /* @__PURE__ */ o();
4
- const s = /* @__PURE__ */ r(p);
1
+ var r = {};
5
2
  export {
6
- s as default
3
+ r as __exports
7
4
  };
8
5
  //# sourceMappingURL=index5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,5 @@
1
- var p = { exports: {} };
1
+ var r = {};
2
2
  export {
3
- p as __module
3
+ r as __exports
4
4
  };
5
5
  //# sourceMappingURL=index6.js.map
@@ -1,5 +1,5 @@
1
- var e = { exports: {} };
1
+ var r = {};
2
2
  export {
3
- e as __module
3
+ r as __exports
4
4
  };
5
5
  //# sourceMappingURL=index7.js.map
@@ -1,92 +1,92 @@
1
- var pe = Object.defineProperty;
2
- var o = (e, n) => pe(e, "name", { value: n, configurable: !0 });
3
- import { jsxs as me, jsx as W } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
- import { useOwpTranslation as Te } from "../../hooks/useOwpTranslation.js";
5
- import { useGetCurrentLanguage as ve } from "../../hooks/useCurrentLanguage.js";
6
- import { useRef as i, useState as ie, useEffect as X, useLayoutEffect as Ge } from "react";
7
- import { useOwpTreeGridOverlayFrame as ye } from "./hooks/useOwpTreeGridOverlayFrame.js";
8
- import { OwpTreeGridLoadingOverlay as De } from "./OwpTreeGridLoadingOverlay.js";
9
- import { OwpTreeGridNoDataOverlay as we } from "./OwpTreeGridNoDataOverlay.js";
10
- import { applyTreeGridLayoutToGrid as ue } from "./utils/index.js";
1
+ var ye = Object.defineProperty;
2
+ var i = (e, n) => ye(e, "name", { value: n, configurable: !0 });
3
+ import { jsxs as Ge, jsx as Y } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
+ import { useOwpTranslation as De } from "../../hooks/useOwpTranslation.js";
5
+ import { useGetCurrentLanguage as Re } from "../../hooks/useCurrentLanguage.js";
6
+ import { useRef as o, useState as ce, useEffect as Z, useLayoutEffect as we } from "react";
7
+ import { useOwpTreeGridOverlayFrame as Ee } from "./hooks/useOwpTreeGridOverlayFrame.js";
8
+ import { OwpTreeGridLoadingOverlay as Oe } from "./OwpTreeGridLoadingOverlay.js";
9
+ import { OwpTreeGridNoDataOverlay as ge } from "./OwpTreeGridNoDataOverlay.js";
10
+ import { applyTreeGridLayoutToGrid as fe } from "./utils/index.js";
11
11
  import { isEmpty as B } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js";
12
- import { delay as Ee } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/delay.js";
13
- import { isEqual as Re } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isEqual.js";
14
- import { omit as Oe } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/omit.js";
12
+ import { delay as be } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/delay.js";
13
+ import { isEqual as Be } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isEqual.js";
14
+ import { omit as Ie } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/omit.js";
15
15
  import { debounce as $ } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/debounce.js";
16
- import { get as ge } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/get.js";
17
- const Be = 300, se = {
16
+ import { get as Se } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/get.js";
17
+ const Le = 300, ae = {
18
18
  en: "/assets/vendors/Grid/TextEN.xml",
19
19
  kr: "/assets/vendors/Grid/TextKR.xml"
20
- }, ce = /* @__PURE__ */ o((e) => `${e}?noCache=${Date.now()}`, "appendNoCacheQuery"), be = /* @__PURE__ */ o((e) => e === "kr" ? se.kr : se.en, "getTreeGridTextResourceUrl"), Se = /* @__PURE__ */ o((e) => e != null && e.includes("assets") ? ce(e) : (
20
+ }, de = /* @__PURE__ */ i((e) => `${e}?noCache=${Date.now()}`, "appendNoCacheQuery"), xe = /* @__PURE__ */ i((e) => e === "kr" ? ae.kr : ae.en, "getTreeGridTextResourceUrl"), Ce = /* @__PURE__ */ i((e) => e != null && e.includes("assets") ? de(e) : (
21
21
  // @ts-expect-error - API base URL env is provided by host app
22
22
  `undefined/${e}?noCache=${Date.now()}`
23
- ), "resolveTreeGridDataUrl"), Ie = /* @__PURE__ */ o((e, n, s) => e ? { Url: Se(n) } : { Data: { Body: [B(s) ? [] : s] } }, "buildTreeGridDataSource"), Le = /* @__PURE__ */ o(({
23
+ ), "resolveTreeGridDataUrl"), _e = /* @__PURE__ */ i((e, n, s) => e ? { Url: Ce(n) } : { Data: { Body: [B(s) ? [] : s] } }, "buildTreeGridDataSource"), Ne = /* @__PURE__ */ i(({
24
24
  id: e,
25
25
  layoutUrl: n,
26
26
  dataUrl: s,
27
27
  bodyData: f,
28
- useDataUrl: l,
28
+ useDataUrl: d,
29
29
  width: p,
30
- height: G,
31
- languageId: y
30
+ height: y,
31
+ languageId: G
32
32
  }) => ({
33
33
  id: e,
34
- Layout: { Url: ce(n ?? "") },
35
- Data: Ie(l, s, f),
34
+ Layout: { Url: de(n ?? "") },
35
+ Data: _e(d, s, f),
36
36
  Text: {
37
- Url: be(y)
37
+ Url: xe(G)
38
38
  },
39
39
  width: p,
40
- height: G,
40
+ height: y,
41
41
  Debug: "Error"
42
- }), "buildTreeGridInitializationOptions"), xe = /* @__PURE__ */ o((e) => ge(e, "Data.Data.Data.Body.0"), "getTreeGridBodyData"), Ce = /* @__PURE__ */ o((e, n, s) => {
43
- var l;
44
- const f = (l = e.Data) == null ? void 0 : l.Data;
42
+ }), "buildTreeGridInitializationOptions"), Ve = /* @__PURE__ */ i((e) => Se(e, "Data.Data.Data.Body.0"), "getTreeGridBodyData"), Pe = /* @__PURE__ */ i((e, n, s) => {
43
+ var d;
44
+ const f = (d = e.Data) == null ? void 0 : d.Data;
45
45
  e.Data.Data = {
46
46
  ...f,
47
47
  Data: { Body: [n || []] },
48
48
  Url: ""
49
49
  }, e.ReloadBody(s);
50
- }, "replaceTreeGridBodyData"), _e = /* @__PURE__ */ o(({
50
+ }, "replaceTreeGridBodyData"), $e = /* @__PURE__ */ i(({
51
51
  id: e,
52
52
  onSelect: n,
53
53
  onRowClick: s,
54
54
  onRowAdd: f,
55
- onRowDelete: l,
55
+ onRowDelete: d,
56
56
  onRowUndelete: p,
57
- onRowChange: G,
58
- onClickButton: y,
59
- onSave: b,
57
+ onRowChange: y,
58
+ onClickButton: G,
59
+ onSave: I,
60
60
  onReady: m,
61
- onAfterValueChanged: c,
62
- treeGridInstanceRef: M,
63
- latestLayoutOverridesRef: k,
64
- appliedLayoutOverridesRef: q,
65
- appliedBodyDataPropRef: A,
61
+ onAfterValueChanged: a,
62
+ treeGridInstanceRef: A,
63
+ latestLayoutOverridesRef: M,
64
+ appliedLayoutOverridesRef: k,
65
+ appliedBodyDataPropRef: q,
66
66
  hasAppliedInitialLayoutRef: S,
67
67
  setIsTreeGridReady: H
68
68
  }) => {
69
- const I = c ?? G;
69
+ const L = a ?? y;
70
70
  window.TGSetEvent("OnRowAdd", e, (t, r) => {
71
71
  r.CanEdit = 1, r.CanDelete = 1, f == null || f(t, r);
72
72
  }), typeof s == "function" && window.TGSetEvent(
73
73
  "OnClick",
74
74
  e,
75
- $((t, r, u, T, a, P) => {
76
- s(t, r, u, T, a, P);
75
+ $((t, r, u, v, h, c) => {
76
+ s(t, r, u, v, h, c);
77
77
  }, 300)
78
- ), typeof y == "function" && window.TGSetEvent(
78
+ ), typeof G == "function" && window.TGSetEvent(
79
79
  "OnClickButton",
80
80
  e,
81
- $((t, r, u, T) => {
82
- y(t, r, u, T);
81
+ $((t, r, u, v) => {
82
+ G(t, r, u, v);
83
83
  }, 300)
84
- ), typeof l == "function" && window.TGSetEvent("OnRowDelete", e, (t, r, u) => {
85
- l(t, r, u);
84
+ ), typeof d == "function" && window.TGSetEvent("OnRowDelete", e, (t, r, u) => {
85
+ d(t, r, u);
86
86
  }), typeof p == "function" && window.TGSetEvent("OnRowUndelete", e, (t, r) => {
87
87
  p(t, r);
88
- }), typeof I == "function" && window.TGSetEvent("OnAfterValueChanged", e, (t, r, u, T) => {
89
- I(t, r, u, T);
88
+ }), typeof L == "function" && window.TGSetEvent("OnAfterValueChanged", e, (t, r, u, v) => {
89
+ L(t, r, u, v);
90
90
  }), typeof n == "function" && window.TGSetEvent(
91
91
  "OnSelect",
92
92
  e,
@@ -94,150 +94,153 @@ const Be = 300, se = {
94
94
  const r = t.GetSelRows() ?? [];
95
95
  n(r);
96
96
  }, 100)
97
- ), typeof b == "function" && window.TGSetEvent("OnSave", e, (t, r, u) => {
98
- b(t, r, u);
97
+ ), typeof I == "function" && window.TGSetEvent("OnSave", e, (t, r, u) => {
98
+ I(t, r, u);
99
99
  }), window.TGSetEvent(
100
100
  "OnReady",
101
101
  e,
102
102
  $((t) => {
103
103
  if (!S.current) {
104
- const r = k.current;
105
- S.current = !0, ue(t, r), M.current = t, q.current = r, A.current = xe(t), H(!0), m == null || m(t);
104
+ const r = M.current;
105
+ S.current = !0, fe(t, r), A.current = t, k.current = r, q.current = Ve(t), H(!0), m == null || m(t);
106
106
  }
107
107
  }, 100)
108
108
  );
109
- }, "bindTreeGridEvents"), Qe = /* @__PURE__ */ o(({
109
+ }, "bindTreeGridEvents"), Ze = /* @__PURE__ */ i(({
110
110
  id: e = "treeGridWrapper",
111
111
  containerStyle: n,
112
112
  containerClassName: s,
113
113
  className: f,
114
- style: l,
114
+ style: d,
115
115
  height: p = "100%",
116
- width: G = "100%",
117
- layoutUrl: y,
118
- dataUrl: b,
116
+ width: y = "100%",
117
+ layoutUrl: G,
118
+ dataUrl: I,
119
119
  layoutOverrides: m,
120
- data: c,
121
- useDataUrl: M,
122
- onSelect: k,
123
- onRowClick: q,
124
- onRowAdd: A,
120
+ data: a,
121
+ useDataUrl: A,
122
+ onSelect: M,
123
+ onRowClick: k,
124
+ onRowAdd: q,
125
125
  onRowDelete: S,
126
126
  onRowUndelete: H,
127
- onRowChange: I,
127
+ onRowChange: L,
128
128
  onClickButton: t,
129
129
  onSave: r,
130
130
  onReady: u,
131
- onAfterValueChanged: T,
132
- showLoading: a = !0
131
+ onAfterValueChanged: v,
132
+ loading: h,
133
+ showLoading: c = !0
133
134
  }) => {
134
- const { t: P } = Te(), d = i(null), J = i(null), h = i(m), Y = i(c), L = i(void 0), x = i(void 0), ae = i(!1), E = i(0), D = i(null), R = i(void 0), O = i(void 0), [j, fe] = ie(!1), [le, g] = ie(!1), C = ve(), Z = i(C.id), de = a && c !== void 0 && j && x.current !== c, F = a && (le || de), U = !F && c !== void 0 && B(c);
135
- h.current = m, Y.current = c;
136
- const ee = ye({
137
- visible: F || U,
138
- containerRef: J,
139
- treeGridInstanceRef: d
140
- }), _ = /* @__PURE__ */ o(() => {
141
- R.current !== void 0 && (window.clearTimeout(R.current), R.current = void 0);
142
- }, "clearBindingLoadingHideTimeout"), z = /* @__PURE__ */ o(() => {
135
+ const { t: le } = De(), l = o(null), ee = o(null), j = o(m), te = o(a), w = o(void 0), F = o(!1), x = o(void 0), C = o(void 0), pe = o(!1), E = o(0), D = o(null), O = o(void 0), g = o(void 0), [U, me] = ce(!1), [ve, b] = ce(!1), _ = Re(), re = o(_.id), Te = c && a !== void 0 && U && C.current !== a, z = c && h === !0 || c && (ve || Te), K = !z && a !== void 0 && B(a);
136
+ j.current = m, te.current = a;
137
+ const ne = Ee({
138
+ visible: z || K,
139
+ containerRef: ee,
140
+ treeGridInstanceRef: l
141
+ }), N = /* @__PURE__ */ i(() => {
143
142
  O.current !== void 0 && (window.clearTimeout(O.current), O.current = void 0);
143
+ }, "clearBindingLoadingHideTimeout"), Q = /* @__PURE__ */ i(() => {
144
+ g.current !== void 0 && (window.clearTimeout(g.current), g.current = void 0);
144
145
  }, "clearBodyReloadStartTimeout");
145
- X(() => {
146
- a || (z(), _(), D.current = null, g(!1));
147
- }, [a]), X(() => {
148
- var w;
149
- if (C.id !== Z.current && !B(d.current) && ((w = d.current) == null || w.Dispose(), d.current = null, Z.current = C.id), !!B(d.current))
150
- return _e({
146
+ Z(() => {
147
+ c || (Q(), N(), D.current = null, b(!1));
148
+ }, [c]), Z(() => {
149
+ var R;
150
+ if (_.id !== re.current && !B(l.current) && ((R = l.current) == null || R.Dispose(), l.current = null, re.current = _.id), !!B(l.current))
151
+ return $e({
151
152
  id: e,
152
- onSelect: k,
153
- onRowClick: q,
154
- onRowAdd: A,
153
+ onSelect: M,
154
+ onRowClick: k,
155
+ onRowAdd: q,
155
156
  onRowDelete: S,
156
157
  onRowUndelete: H,
157
- onRowChange: I,
158
+ onRowChange: L,
158
159
  onClickButton: t,
159
160
  onSave: r,
160
161
  onReady: u,
161
- onAfterValueChanged: T,
162
- treeGridInstanceRef: d,
163
- latestLayoutOverridesRef: h,
164
- appliedLayoutOverridesRef: L,
165
- appliedBodyDataPropRef: x,
166
- hasAppliedInitialLayoutRef: ae,
167
- setIsTreeGridReady: fe
162
+ onAfterValueChanged: v,
163
+ treeGridInstanceRef: l,
164
+ latestLayoutOverridesRef: j,
165
+ appliedLayoutOverridesRef: x,
166
+ appliedBodyDataPropRef: C,
167
+ hasAppliedInitialLayoutRef: pe,
168
+ setIsTreeGridReady: me
168
169
  }), window.TreeGrid(
169
- Le({
170
+ Ne({
170
171
  id: e,
171
- layoutUrl: y,
172
- dataUrl: b,
173
- bodyData: c,
174
- useDataUrl: M,
175
- width: G,
172
+ layoutUrl: G,
173
+ dataUrl: I,
174
+ bodyData: a,
175
+ useDataUrl: A,
176
+ width: y,
176
177
  height: p,
177
- languageId: C.id
178
+ languageId: _.id
178
179
  }),
179
180
  e,
180
181
  e
181
182
  ), () => {
182
- Ee(() => {
183
- var v;
184
- (v = d.current) == null || v.Dispose();
183
+ be(() => {
184
+ var T;
185
+ (T = l.current) == null || T.Dispose();
185
186
  }, 200);
186
187
  };
187
- }, []), Ge(() => {
188
- const w = d.current, v = h.current, N = Y.current;
189
- if (B(w) || !j)
188
+ }, []), we(() => {
189
+ const R = l.current, T = j.current, V = te.current;
190
+ if (B(R) || !U)
190
191
  return;
191
- const te = L.current !== v && !Re(L.current, v), Q = x.current !== N;
192
- if (!(!te && !Q) && (te && (ue(w, v, Q), L.current = v), Q)) {
193
- const V = E.current + 1, re = /* @__PURE__ */ o(() => {
194
- O.current = void 0, Ce(w, N, () => {
195
- if (E.current !== V)
192
+ const oe = x.current !== T && !Be(x.current, T), X = C.current !== V && (!F.current || w.current !== V);
193
+ if (!(!oe && !X) && (oe && (fe(R, T, X), x.current = T), X)) {
194
+ const P = E.current + 1, ie = /* @__PURE__ */ i(() => {
195
+ const J = w.current;
196
+ g.current = void 0, Pe(R, J, () => {
197
+ if (E.current !== P)
196
198
  return;
197
- const ne = D.current;
198
- if (!a || ne === null) {
199
- D.current = null, g(!1);
199
+ C.current = J, w.current === J && (w.current = void 0, F.current = !1);
200
+ const se = D.current;
201
+ if (!c || se === null) {
202
+ D.current = null, b(!1);
200
203
  return;
201
204
  }
202
- const oe = Math.max(
205
+ const ue = Math.max(
203
206
  0,
204
- Be - (Date.now() - ne)
207
+ Le - (Date.now() - se)
205
208
  );
206
- if (_(), oe === 0) {
207
- D.current = null, g(!1);
209
+ if (N(), ue === 0) {
210
+ D.current = null, b(!1);
208
211
  return;
209
212
  }
210
- R.current = window.setTimeout(() => {
211
- E.current === V && (R.current = void 0, D.current = null, g(!1));
212
- }, oe);
213
+ O.current = window.setTimeout(() => {
214
+ E.current === P && (O.current = void 0, D.current = null, b(!1));
215
+ }, ue);
213
216
  });
214
217
  }, "runBodyReload");
215
- E.current = V, a && N !== void 0 ? (z(), _(), D.current = Date.now(), g(!0), O.current = window.setTimeout(() => {
216
- E.current === V && re();
217
- }, 0)) : re(), x.current = N;
218
+ E.current = P, w.current = V, F.current = !0, c && V !== void 0 ? (Q(), N(), D.current = Date.now(), b(!0), g.current = window.setTimeout(() => {
219
+ E.current === P && ie();
220
+ }, 0)) : ie();
218
221
  }
219
- }, [j, m, c, a]), X(() => () => {
220
- z(), _();
222
+ }, [U, m, a, c]), Z(() => () => {
223
+ Q(), N();
221
224
  }, []);
222
- const K = {
225
+ const W = {
223
226
  height: p,
224
- width: G,
227
+ width: y,
225
228
  ...n
226
229
  };
227
- return (a || U) && (K.position = n != null && n.position && n.position !== "static" ? n.position : "relative", K.isolation = "isolate"), /* @__PURE__ */ me("div", { ref: J, className: s, style: K, children: [
228
- /* @__PURE__ */ W("div", { id: e, className: f, style: Oe(l, ["height", "width"]) }),
229
- /* @__PURE__ */ W(
230
- we,
230
+ return (c || K) && (W.position = n != null && n.position && n.position !== "static" ? n.position : "relative", W.isolation = "isolate"), /* @__PURE__ */ Ge("div", { ref: ee, className: s, style: W, children: [
231
+ /* @__PURE__ */ Y("div", { id: e, className: f, style: Ie(d, ["height", "width"]) }),
232
+ /* @__PURE__ */ Y(
233
+ ge,
231
234
  {
232
- visible: U,
233
- message: P("Message.조회된 결과가 없습니다."),
234
- overlayFrame: ee
235
+ visible: K,
236
+ message: le("Message.조회된 결과가 없습니다."),
237
+ overlayFrame: ne
235
238
  }
236
239
  ),
237
- /* @__PURE__ */ W(De, { visible: F, overlayFrame: ee })
240
+ /* @__PURE__ */ Y(Oe, { visible: z, overlayFrame: ne })
238
241
  ] });
239
242
  }, "OwpTreeGrid");
240
243
  export {
241
- Qe as OwpTreeGrid
244
+ Ze as OwpTreeGrid
242
245
  };
243
246
  //# sourceMappingURL=OwpTreeGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OwpTreeGrid.js","sources":["../../../src/components/OwpTreeGrid/OwpTreeGrid.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { debounce, delay, get, isEmpty, isEqual, omit } from 'es-toolkit/compat';\nimport {\n type CSSProperties,\n type Dispatch,\n type RefObject,\n type SetStateAction,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { useOwpTreeGridOverlayFrame } from './hooks/useOwpTreeGridOverlayFrame';\nimport { OwpTreeGridLoadingOverlay } from './OwpTreeGridLoadingOverlay';\nimport { OwpTreeGridNoDataOverlay } from './OwpTreeGridNoDataOverlay';\nimport { applyTreeGridLayoutToGrid } from './utils';\n\ntype TreeGridLayoutScalarValue = string | number;\ntype TreeGridNestedLayoutFields = Record<string, TreeGridLayoutScalarValue>;\ntype TreeGridLayoutFields = Record<string, TreeGridLayoutScalarValue | TreeGridNestedLayoutFields>;\ntype TreeGridSectionFields = Record<string, TreeGridLayoutScalarValue>;\n\nconst TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\nexport interface OwpTreeGridLayout {\n Header?: TreeGridLayoutFields;\n Toolbar?: TreeGridSectionFields;\n Foot?: TreeGridSectionFields;\n}\n\nexport type OwpTreeGridLayoutConfig = OwpTreeGridLayout;\nexport type THeader = OwpTreeGridLayoutConfig;\nexport type OwpTreeGridBodyData<T> = Record<string, never> | [] | undefined | T[];\nexport type OwpTreeGridData<T> = OwpTreeGridBodyData<T>;\nexport type TData<T> = OwpTreeGridBodyData<T>;\nexport type OwpTreeGridRowModel<T> = TRow & T;\nexport type OwpTreeGridSelectedRows<T> = OwpTreeGridRowModel<T>[];\n\ntype OwpTreeGridSelectHandler<T> = (selectedRows: OwpTreeGridSelectedRows<T>) => void;\ntype OwpTreeGridRowAddHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridRowDeleteHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n deleteType: number,\n) => void;\ntype OwpTreeGridRowUndeleteHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridButtonClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n event: Event,\n) => void;\ntype OwpTreeGridRowClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n x: number,\n y: number,\n event: Event,\n) => void;\ntype OwpTreeGridSaveHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n autoupdate: boolean | number,\n) => void;\ntype OwpTreeGridCellValue = unknown;\ntype OwpTreeGridAfterValueChangedHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n value: OwpTreeGridCellValue,\n) => void;\n\nexport interface OwpTreeGridProps<T> {\n id: string;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n layoutUrl?: string;\n dataUrl?: string;\n layoutOverrides?: OwpTreeGridLayoutConfig;\n data?: OwpTreeGridBodyData<T>;\n style?: CSSProperties;\n height?: string | number;\n width?: string | number;\n useDataUrl?: boolean;\n onSelect?: OwpTreeGridSelectHandler<T>;\n onRowAdd?: OwpTreeGridRowAddHandler<T>;\n onRowDelete?: OwpTreeGridRowDeleteHandler<T>;\n onRowUndelete?: OwpTreeGridRowUndeleteHandler<T>;\n onRowChange?: OwpTreeGridAfterValueChangedHandler<T>;\n onClickButton?: OwpTreeGridButtonClickHandler<T>;\n onReady?: (grid: TGrid) => void;\n onRowClick?: OwpTreeGridRowClickHandler<T>;\n onSave?: OwpTreeGridSaveHandler<T>;\n onAfterValueChanged?: OwpTreeGridAfterValueChangedHandler<T>;\n showLoading?: boolean;\n}\n\ntype TreeGridEventBindingOptions<T> = Pick<\n OwpTreeGridProps<T>,\n | 'id'\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n> & {\n treeGridInstanceRef: RefObject<TGrid>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nconst TREE_GRID_TEXT_RESOURCE_URLS = {\n en: '/assets/vendors/Grid/TextEN.xml',\n kr: '/assets/vendors/Grid/TextKR.xml',\n} as const;\n\nconst appendNoCacheQuery = (url: string) => {\n return `${url}?noCache=${Date.now()}`;\n};\n\nconst getTreeGridTextResourceUrl = (languageId: string) => {\n return languageId === 'kr' ? TREE_GRID_TEXT_RESOURCE_URLS.kr : TREE_GRID_TEXT_RESOURCE_URLS.en;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n return dataUrl?.includes('assets')\n ? appendNoCacheQuery(dataUrl)\n : // @ts-expect-error - API base URL env is provided by host app\n `${import.meta.env.VITE_API_BASE_URL}/${dataUrl}?noCache=${Date.now()}`;\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\nconst buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\nconst replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\nconst bindTreeGridEvents = <T,>({\n id,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n treeGridInstanceRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n hasAppliedInitialLayoutRef,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const valueChangedHandler = onAfterValueChanged ?? onRowChange;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n\n if (typeof onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n onRowClick(grid, row as OwpTreeGridRowModel<T>, col, x, y, event);\n }, 300),\n );\n }\n\n if (typeof onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n onClickButton(grid, row as OwpTreeGridRowModel<T>, col, event);\n }, 300),\n );\n }\n\n if (typeof onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n onRowDelete(grid, row as OwpTreeGridRowModel<T>, deleteType);\n });\n }\n if (typeof onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n onRowUndelete(grid, row as OwpTreeGridRowModel<T>);\n });\n }\n if (typeof valueChangedHandler === 'function') {\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n valueChangedHandler(grid, row as OwpTreeGridRowModel<T>, col, value);\n });\n }\n if (typeof onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n onSelect(selectedRows);\n }, 100),\n );\n }\n if (typeof onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n onSave(grid, row as OwpTreeGridRowModel<T>, autoupdate);\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n setIsTreeGridReady(true);\n onReady?.(grid);\n }\n }, 100),\n );\n};\n\n/**\n * OwpTreeGrid 컴포넌트\n * @param id 식별자\n * @param containerStyle containerStyle 값\n * @param containerClassName containerClassName 값\n * @param className CSS 클래스명\n * @param style 스타일 객체\n * @param height height 값\n */\nconst OwpTreeGrid = <T,>({\n id = 'treeGridWrapper',\n containerStyle,\n containerClassName,\n className,\n style,\n height = '100%',\n width = '100%',\n layoutUrl,\n dataUrl,\n layoutOverrides,\n data,\n useDataUrl,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n showLoading = true,\n}: OwpTreeGridProps<T>) => {\n const { t } = useOwpTranslation();\n const treeGridInstanceRef = useRef<TGrid>(null);\n const treeGridContainerRef = useRef<HTMLDivElement | null>(null);\n const latestLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(layoutOverrides);\n const latestBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(data);\n const appliedLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(undefined);\n const appliedBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(undefined);\n const hasAppliedInitialLayoutRef = useRef(false);\n const bodyReloadSequenceRef = useRef(0);\n const bindingLoadingStartedAtRef = useRef<number | null>(null);\n const bindingLoadingHideTimeoutRef = useRef<number | undefined>(undefined);\n const bodyReloadStartTimeoutRef = useRef<number | undefined>(undefined);\n const [isTreeGridReady, setIsTreeGridReady] = useState(false);\n const [isBindingLoadingVisible, setIsBindingLoadingVisible] = useState(false);\n const currentLanguage = useGetCurrentLanguage();\n const currentLanguageIdRef = useRef(currentLanguage.id);\n const isPendingBodyReload =\n showLoading &&\n data !== undefined &&\n isTreeGridReady &&\n appliedBodyDataPropRef.current !== data;\n const isLoadingOverlayVisible = showLoading && (isBindingLoadingVisible || isPendingBodyReload);\n const isNoDataVisible = !isLoadingOverlayVisible && data !== undefined && isEmpty(data);\n\n latestLayoutOverridesRef.current = layoutOverrides;\n latestBodyDataPropRef.current = data;\n\n const overlayFrame = useOwpTreeGridOverlayFrame({\n visible: isLoadingOverlayVisible || isNoDataVisible,\n containerRef: treeGridContainerRef,\n treeGridInstanceRef,\n });\n\n const clearBindingLoadingHideTimeout = () => {\n if (bindingLoadingHideTimeoutRef.current !== undefined) {\n window.clearTimeout(bindingLoadingHideTimeoutRef.current);\n bindingLoadingHideTimeoutRef.current = undefined;\n }\n };\n\n const clearBodyReloadStartTimeout = () => {\n if (bodyReloadStartTimeoutRef.current !== undefined) {\n window.clearTimeout(bodyReloadStartTimeoutRef.current);\n bodyReloadStartTimeoutRef.current = undefined;\n }\n };\n\n useEffect(() => {\n if (!showLoading) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }\n }, [showLoading]);\n\n useEffect(() => {\n if (\n currentLanguage.id !== currentLanguageIdRef.current &&\n !isEmpty(treeGridInstanceRef.current)\n ) {\n treeGridInstanceRef.current?.Dispose();\n treeGridInstanceRef.current = null;\n currentLanguageIdRef.current = currentLanguage.id;\n }\n\n if (!isEmpty(treeGridInstanceRef.current)) {\n return;\n }\n\n bindTreeGridEvents({\n id,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n treeGridInstanceRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n hasAppliedInitialLayoutRef,\n setIsTreeGridReady,\n });\n\n window.TreeGrid(\n buildTreeGridInitializationOptions({\n id,\n layoutUrl,\n dataUrl,\n bodyData: data,\n useDataUrl,\n width,\n height,\n languageId: currentLanguage.id,\n }),\n id,\n id,\n );\n\n return () => {\n delay(() => {\n treeGridInstanceRef.current?.Dispose();\n }, 200);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useLayoutEffect(() => {\n const treeGrid = treeGridInstanceRef.current;\n const nextLayoutOverrides = latestLayoutOverridesRef.current;\n const nextBodyData = latestBodyDataPropRef.current;\n\n if (isEmpty(treeGrid) || !isTreeGridReady) {\n return;\n }\n\n const shouldApplyLayoutOverrides =\n appliedLayoutOverridesRef.current !== nextLayoutOverrides &&\n !isEqual(appliedLayoutOverridesRef.current, nextLayoutOverrides);\n const shouldApplyBodyData = appliedBodyDataPropRef.current !== nextBodyData;\n\n if (!shouldApplyLayoutOverrides && !shouldApplyBodyData) {\n return;\n }\n\n if (shouldApplyLayoutOverrides) {\n applyTreeGridLayoutToGrid(treeGrid, nextLayoutOverrides, shouldApplyBodyData);\n appliedLayoutOverridesRef.current = nextLayoutOverrides;\n }\n\n if (shouldApplyBodyData) {\n const reloadSequence = bodyReloadSequenceRef.current + 1;\n const runBodyReload = () => {\n bodyReloadStartTimeoutRef.current = undefined;\n replaceTreeGridBodyData(treeGrid, nextBodyData, () => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n const startedAt = bindingLoadingStartedAtRef.current;\n\n if (!showLoading || startedAt === null) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n const remainingVisibleTime = Math.max(\n 0,\n TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS - (Date.now() - startedAt),\n );\n\n clearBindingLoadingHideTimeout();\n\n if (remainingVisibleTime === 0) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = undefined;\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }, remainingVisibleTime);\n });\n };\n\n bodyReloadSequenceRef.current = reloadSequence;\n\n if (showLoading && nextBodyData !== undefined) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = Date.now();\n setIsBindingLoadingVisible(true);\n bodyReloadStartTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n runBodyReload();\n }, 0);\n } else {\n runBodyReload();\n }\n\n appliedBodyDataPropRef.current = nextBodyData;\n }\n }, [isTreeGridReady, layoutOverrides, data, showLoading]);\n\n useEffect(() => {\n return () => {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n };\n }, []);\n\n const resolvedContainerStyle: CSSProperties = {\n height,\n width,\n ...containerStyle,\n };\n\n if (showLoading || isNoDataVisible) {\n resolvedContainerStyle.position =\n containerStyle?.position && containerStyle.position !== 'static'\n ? containerStyle.position\n : 'relative';\n resolvedContainerStyle.isolation = 'isolate';\n }\n\n return (\n <div ref={treeGridContainerRef} className={containerClassName} style={resolvedContainerStyle}>\n <div id={id} className={className} style={omit(style, ['height', 'width'])} />\n <OwpTreeGridNoDataOverlay\n visible={isNoDataVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n overlayFrame={overlayFrame}\n />\n <OwpTreeGridLoadingOverlay visible={isLoadingOverlayVisible} overlayFrame={overlayFrame} />\n </div>\n );\n};\n\nexport { OwpTreeGrid };\n"],"names":["TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_TEXT_RESOURCE_URLS","appendNoCacheQuery","__name","url","getTreeGridTextResourceUrl","languageId","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","getTreeGridBodyData","grid","get","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","onSelect","onRowClick","onRowAdd","onRowDelete","onRowUndelete","onRowChange","onClickButton","onSave","onReady","onAfterValueChanged","treeGridInstanceRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","hasAppliedInitialLayoutRef","setIsTreeGridReady","valueChangedHandler","row","debounce","col","x","y","event","deleteType","value","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","OwpTreeGrid","containerStyle","containerClassName","className","style","layoutOverrides","data","showLoading","t","useOwpTranslation","useRef","treeGridContainerRef","latestBodyDataPropRef","bodyReloadSequenceRef","bindingLoadingStartedAtRef","bindingLoadingHideTimeoutRef","bodyReloadStartTimeoutRef","isTreeGridReady","useState","isBindingLoadingVisible","setIsBindingLoadingVisible","currentLanguage","useGetCurrentLanguage","currentLanguageIdRef","isPendingBodyReload","isLoadingOverlayVisible","isNoDataVisible","overlayFrame","useOwpTreeGridOverlayFrame","clearBindingLoadingHideTimeout","clearBodyReloadStartTimeout","useEffect","delay","useLayoutEffect","treeGrid","nextLayoutOverrides","nextBodyData","shouldApplyLayoutOverrides","isEqual","shouldApplyBodyData","reloadSequence","runBodyReload","startedAt","remainingVisibleTime","resolvedContainerStyle","jsx","omit","OwpTreeGridNoDataOverlay","OwpTreeGridLoadingOverlay"],"mappings":";;;;;;;;;;;;;;;;AAuBA,MAAMA,KAA2C,KA8G3CC,KAA+B;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,KAAqB,gBAAAC,EAAA,CAACC,MACnB,GAAGA,CAAG,YAAY,KAAK,KAAK,IADV,uBAIrBC,KAA6B,gBAAAF,EAAA,CAACG,MAC3BA,MAAe,OAAOL,GAA6B,KAAKA,GAA6B,IAD3D,+BAI7BM,KAAyB,gBAAAJ,EAAA,CAACK,MACvBA,KAAA,QAAAA,EAAS,SAAS,YACrBN,GAAmBM,CAAO;AAAA;AAAA,EAE1B,aAAwCA,CAAO,YAAY,KAAK,KAAK;AAAA,GAJ5C,2BAOzBC,KAA0B,gBAAAN,EAAA,CAC9BO,GACAF,GACAG,MAEID,IACK,EAAE,KAAKH,GAAuBC,CAAO,EAAA,IAGvC,EAAE,MAAM,EAAE,MAAM,CAACI,EAAQD,CAAQ,IAAI,CAAA,IAAKA,CAAQ,IAAE,GAT7B,4BAY1BE,KAAqC,gBAAAV,EAAA,CAAK;AAAA,EAC9C,IAAAW;AAAA,EACA,WAAAC;AAAA,EACA,SAAAP;AAAA,EACA,UAAAG;AAAA,EACA,YAAAD;AAAA,EACA,OAAAM;AAAA,EACA,QAAAC;AAAA,EACA,YAAAX;AACF,OACS;AAAA,EACL,IAAAQ;AAAA,EACA,QAAQ,EAAE,KAAKZ,GAAmBa,KAAa,EAAE,EAAA;AAAA,EACjD,MAAMN,GAAwBC,GAAYF,GAASG,CAAQ;AAAA,EAC3D,MAAM;AAAA,IACJ,KAAKN,GAA2BC,CAAU;AAAA,EAAA;AAAA,EAE5C,OAAAU;AAAA,EACA,QAAAC;AAAA,EACA,OAAO;AAAA,IAnBgC,uCAuBrCC,KAAsB,gBAAAf,EAAA,CAACgB,MACpBC,GAAID,GAAM,uBAAuB,GADd,wBAItBE,KAA0B,gBAAAlB,EAAA,CAC9BgB,GACAR,GACAW,MACG;;AAEH,QAAMC,KAAoBC,IAAAL,EAAK,SAAL,gBAAAK,EAAW;AAGrC,EAAAL,EAAK,KAAK,OAAO;AAAA,IACf,GAAGI;AAAA,IACH,MAAM,EAAE,MAAM,CAACZ,KAAY,CAAA,CAAE,EAAA;AAAA,IAC7B,KAAK;AAAA,EAAA,GAGPQ,EAAK,WAAWG,CAAc;AAChC,GAhBgC,4BAkB1BG,KAAqB,gBAAAtB,EAAA,CAAK;AAAA,EAC9B,IAAAW;AAAA,EACA,UAAAY;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,4BAAAC;AAAA,EACA,oBAAAC;AACF,MAAsC;AACpC,QAAMC,IAAsBP,KAAuBJ;AAEnD,SAAO,WAAW,YAAYjB,GAAI,CAACK,GAAMwB,MAAQ;AAC/C,IAAAA,EAAI,UAAU,GACdA,EAAI,YAAY,GAEhBf,KAAA,QAAAA,EAAWT,GAAMwB;AAAA,EACnB,CAAC,GAEG,OAAOhB,KAAe,cACxB,OAAO;AAAA,IACL;AAAA,IACAb;AAAA,IACA8B,EAAS,CAACzB,GAAMwB,GAAKE,GAAKC,GAAGC,GAAGC,MAAU;AACxC,MAAArB,EAAWR,GAAMwB,GAA+BE,GAAKC,GAAGC,GAAGC,CAAK;AAAA,IAClE,GAAG,GAAG;AAAA,EAAA,GAIN,OAAOhB,KAAkB,cAC3B,OAAO;AAAA,IACL;AAAA,IACAlB;AAAA,IACA8B,EAAS,CAACzB,GAAMwB,GAAKE,GAAKG,MAAU;AAClC,MAAAhB,EAAcb,GAAMwB,GAA+BE,GAAKG,CAAK;AAAA,IAC/D,GAAG,GAAG;AAAA,EAAA,GAIN,OAAOnB,KAAgB,cACzB,OAAO,WAAW,eAAef,GAAI,CAACK,GAAMwB,GAAKM,MAAe;AAC9D,IAAApB,EAAYV,GAAMwB,GAA+BM,CAAU;AAAA,EAC7D,CAAC,GAEC,OAAOnB,KAAkB,cAC3B,OAAO,WAAW,iBAAiBhB,GAAI,CAACK,GAAMwB,MAAQ;AACpD,IAAAb,EAAcX,GAAMwB,CAA6B;AAAA,EACnD,CAAC,GAEC,OAAOD,KAAwB,cACjC,OAAO,WAAW,uBAAuB5B,GAAI,CAACK,GAAMwB,GAAKE,GAAKK,MAAU;AACtE,IAAAR,EAAoBvB,GAAMwB,GAA+BE,GAAKK,CAAK;AAAA,EACrE,CAAC,GAEC,OAAOxB,KAAa,cACtB,OAAO;AAAA,IACL;AAAA,IACAZ;AAAA,IACA8B,EAAS,CAACzB,MAAS;AACjB,YAAMgC,IAAgBhC,EAAK,WAAA,KAAgB,CAAA;AAC3C,MAAAO,EAASyB,CAAY;AAAA,IACvB,GAAG,GAAG;AAAA,EAAA,GAGN,OAAOlB,KAAW,cACpB,OAAO,WAAW,UAAUnB,GAAI,CAACK,GAAMwB,GAAKS,MAAe;AACzD,IAAAnB,EAAOd,GAAMwB,GAA+BS,CAAU;AAAA,EACxD,CAAC,GAGH,OAAO;AAAA,IACL;AAAA,IACAtC;AAAA,IACA8B,EAAS,CAACzB,MAAS;AACjB,UAAI,CAACqB,EAA2B,SAAS;AACvC,cAAMa,IAAwBhB,EAAyB;AAEvD,QAAAG,EAA2B,UAAU,IACrCc,GAA0BnC,GAAMkC,CAAqB,GACrDjB,EAAoB,UAAUjB,GAC9BmB,EAA0B,UAAUe,GACpCd,EAAuB,UAAUrB,GAAoBC,CAAI,GACzDsB,EAAmB,EAAI,GACvBP,KAAA,QAAAA,EAAUf;AAAA,MACZ;AAAA,IACF,GAAG,GAAG;AAAA,EAAA;AAEV,GAhG2B,uBA2GrBoC,KAAc,gBAAApD,EAAA,CAAK;AAAA,EACvB,IAAAW,IAAK;AAAA,EACL,gBAAA0C;AAAA,EACA,oBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAA1C,IAAS;AAAA,EACT,OAAAD,IAAQ;AAAA,EACR,WAAAD;AAAA,EACA,SAAAP;AAAA,EACA,iBAAAoD;AAAA,EACA,MAAAC;AAAA,EACA,YAAAnD;AAAA,EACA,UAAAgB;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,aAAA2B,IAAc;AAChB,MAA2B;AACzB,QAAM,EAAE,GAAAC,EAAA,IAAMC,GAAA,GACR5B,IAAsB6B,EAAc,IAAI,GACxCC,IAAuBD,EAA8B,IAAI,GACzD5B,IAA2B4B,EAA4CL,CAAe,GACtFO,IAAwBF,EAA+BJ,CAAI,GAC3DvB,IAA4B2B,EAA4C,MAAS,GACjF1B,IAAyB0B,EAA+B,MAAS,GACjEzB,KAA6ByB,EAAO,EAAK,GACzCG,IAAwBH,EAAO,CAAC,GAChCI,IAA6BJ,EAAsB,IAAI,GACvDK,IAA+BL,EAA2B,MAAS,GACnEM,IAA4BN,EAA2B,MAAS,GAChE,CAACO,GAAiB/B,EAAkB,IAAIgC,GAAS,EAAK,GACtD,CAACC,IAAyBC,CAA0B,IAAIF,GAAS,EAAK,GACtEG,IAAkBC,GAAA,GAClBC,IAAuBb,EAAOW,EAAgB,EAAE,GAChDG,KACJjB,KACAD,MAAS,UACTW,KACAjC,EAAuB,YAAYsB,GAC/BmB,IAA0BlB,MAAgBY,MAA2BK,KACrEE,IAAkB,CAACD,KAA2BnB,MAAS,UAAajD,EAAQiD,CAAI;AAEtF,EAAAxB,EAAyB,UAAUuB,GACnCO,EAAsB,UAAUN;AAEhC,QAAMqB,KAAeC,GAA2B;AAAA,IAC9C,SAASH,KAA2BC;AAAA,IACpC,cAAcf;AAAA,IACd,qBAAA9B;AAAA,EAAA,CACD,GAEKgD,IAAiC,gBAAAjF,EAAA,MAAM;AAC3C,IAAImE,EAA6B,YAAY,WAC3C,OAAO,aAAaA,EAA6B,OAAO,GACxDA,EAA6B,UAAU;AAAA,EAE3C,GALuC,mCAOjCe,IAA8B,gBAAAlF,EAAA,MAAM;AACxC,IAAIoE,EAA0B,YAAY,WACxC,OAAO,aAAaA,EAA0B,OAAO,GACrDA,EAA0B,UAAU;AAAA,EAExC,GALoC;AAOpC,EAAAe,EAAU,MAAM;AACd,IAAKxB,MACHuB,EAAA,GACAD,EAAA,GACAf,EAA2B,UAAU,MACrCM,EAA2B,EAAK;AAAA,EAEpC,GAAG,CAACb,CAAW,CAAC,GAEhBwB,EAAU,MAAM;;AAUd,QAREV,EAAgB,OAAOE,EAAqB,WAC5C,CAAClE,EAAQwB,EAAoB,OAAO,OAEpCZ,IAAAY,EAAoB,YAApB,QAAAZ,EAA6B,WAC7BY,EAAoB,UAAU,MAC9B0C,EAAqB,UAAUF,EAAgB,KAG7C,EAAChE,EAAQwB,EAAoB,OAAO;AAIxC,aAAAX,GAAmB;AAAA,QACjB,IAAAX;AAAA,QACA,UAAAY;AAAA,QACA,YAAAC;AAAA,QACA,UAAAC;AAAA,QACA,aAAAC;AAAA,QACA,eAAAC;AAAA,QACA,aAAAC;AAAA,QACA,eAAAC;AAAA,QACA,QAAAC;AAAA,QACA,SAAAC;AAAA,QACA,qBAAAC;AAAA,QACA,qBAAAC;AAAA,QACA,0BAAAC;AAAA,QACA,2BAAAC;AAAA,QACA,wBAAAC;AAAA,QACA,4BAAAC;AAAA,QACA,oBAAAC;AAAA,MAAA,CACD,GAED,OAAO;AAAA,QACL5B,GAAmC;AAAA,UACjC,IAAAC;AAAA,UACA,WAAAC;AAAA,UACA,SAAAP;AAAA,UACA,UAAUqD;AAAA,UACV,YAAAnD;AAAA,UACA,OAAAM;AAAA,UACA,QAAAC;AAAA,UACA,YAAY2D,EAAgB;AAAA,QAAA,CAC7B;AAAA,QACD9D;AAAA,QACAA;AAAA,MAAA,GAGK,MAAM;AACX,QAAAyE,GAAM,MAAM;;AACV,WAAA/D,IAAAY,EAAoB,YAApB,QAAAZ,EAA6B;AAAA,QAC/B,GAAG,GAAG;AAAA,MACR;AAAA,EAEF,GAAG,CAAA,CAAE,GAELgE,GAAgB,MAAM;AACpB,UAAMC,IAAWrD,EAAoB,SAC/BsD,IAAsBrD,EAAyB,SAC/CsD,IAAexB,EAAsB;AAE3C,QAAIvD,EAAQ6E,CAAQ,KAAK,CAACjB;AACxB;AAGF,UAAMoB,KACJtD,EAA0B,YAAYoD,KACtC,CAACG,GAAQvD,EAA0B,SAASoD,CAAmB,GAC3DI,IAAsBvD,EAAuB,YAAYoD;AAE/D,QAAI,GAACC,MAA8B,CAACE,OAIhCF,OACFtC,GAA0BmC,GAAUC,GAAqBI,CAAmB,GAC5ExD,EAA0B,UAAUoD,IAGlCI,IAAqB;AACvB,YAAMC,IAAiB3B,EAAsB,UAAU,GACjD4B,KAAgB,gBAAA7F,EAAA,MAAM;AAC1B,QAAAoE,EAA0B,UAAU,QACpClD,GAAwBoE,GAAUE,GAAc,MAAM;AACpD,cAAIvB,EAAsB,YAAY2B;AACpC;AAGF,gBAAME,KAAY5B,EAA2B;AAE7C,cAAI,CAACP,KAAemC,OAAc,MAAM;AACtC,YAAA5B,EAA2B,UAAU,MACrCM,EAA2B,EAAK;AAChC;AAAA,UACF;AAEA,gBAAMuB,KAAuB,KAAK;AAAA,YAChC;AAAA,YACAlG,MAA4C,KAAK,IAAA,IAAQiG;AAAA,UAAA;AAK3D,cAFAb,EAAA,GAEIc,OAAyB,GAAG;AAC9B,YAAA7B,EAA2B,UAAU,MACrCM,EAA2B,EAAK;AAChC;AAAA,UACF;AAEA,UAAAL,EAA6B,UAAU,OAAO,WAAW,MAAM;AAC7D,YAAIF,EAAsB,YAAY2B,MAItCzB,EAA6B,UAAU,QACvCD,EAA2B,UAAU,MACrCM,EAA2B,EAAK;AAAA,UAClC,GAAGuB,EAAoB;AAAA,QACzB,CAAC;AAAA,MACH,GAtCsB;AAwCtB,MAAA9B,EAAsB,UAAU2B,GAE5BjC,KAAe6B,MAAiB,UAClCN,EAAA,GACAD,EAAA,GACAf,EAA2B,UAAU,KAAK,IAAA,GAC1CM,EAA2B,EAAI,GAC/BJ,EAA0B,UAAU,OAAO,WAAW,MAAM;AAC1D,QAAIH,EAAsB,YAAY2B,KAItCC,GAAA;AAAA,MACF,GAAG,CAAC,KAEJA,GAAA,GAGFzD,EAAuB,UAAUoD;AAAA,IACnC;AAAA,EACF,GAAG,CAACnB,GAAiBZ,GAAiBC,GAAMC,CAAW,CAAC,GAExDwB,EAAU,MACD,MAAM;AACX,IAAAD,EAAA,GACAD,EAAA;AAAA,EACF,GACC,CAAA,CAAE;AAEL,QAAMe,IAAwC;AAAA,IAC5C,QAAAlF;AAAA,IACA,OAAAD;AAAA,IACA,GAAGwC;AAAA,EAAA;AAGL,UAAIM,KAAemB,OACjBkB,EAAuB,WACrB3C,KAAA,QAAAA,EAAgB,YAAYA,EAAe,aAAa,WACpDA,EAAe,WACf,YACN2C,EAAuB,YAAY,+BAIlC,OAAA,EAAI,KAAKjC,GAAsB,WAAWT,GAAoB,OAAO0C,GACpE,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,IAAAtF,GAAQ,WAAA4C,GAAsB,OAAO2C,GAAK1C,GAAO,CAAC,UAAU,OAAO,CAAC,GAAG;AAAA,IAC5E,gBAAAyC;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASrB;AAAA,QACT,SAASlB,EAAE,uBAAuB;AAAA,QAClC,cAAAmB;AAAA,MAAA;AAAA,IAAA;AAAA,sBAEDqB,IAAA,EAA0B,SAASvB,GAAyB,cAAAE,IAA4B;AAAA,EAAA,GAC3F;AAEJ,GAjQoB;"}
1
+ {"version":3,"file":"OwpTreeGrid.js","sources":["../../../src/components/OwpTreeGrid/OwpTreeGrid.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { debounce, delay, get, isEmpty, isEqual, omit } from 'es-toolkit/compat';\nimport {\n type CSSProperties,\n type Dispatch,\n type RefObject,\n type SetStateAction,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { useOwpTreeGridOverlayFrame } from './hooks/useOwpTreeGridOverlayFrame';\nimport { OwpTreeGridLoadingOverlay } from './OwpTreeGridLoadingOverlay';\nimport { OwpTreeGridNoDataOverlay } from './OwpTreeGridNoDataOverlay';\nimport { applyTreeGridLayoutToGrid } from './utils';\n\ntype TreeGridLayoutScalarValue = string | number;\ntype TreeGridNestedLayoutFields = Record<string, TreeGridLayoutScalarValue>;\ntype TreeGridLayoutFields = Record<string, TreeGridLayoutScalarValue | TreeGridNestedLayoutFields>;\ntype TreeGridSectionFields = Record<string, TreeGridLayoutScalarValue>;\n\nconst TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\nexport interface OwpTreeGridLayout {\n Header?: TreeGridLayoutFields;\n Toolbar?: TreeGridSectionFields;\n Foot?: TreeGridSectionFields;\n}\n\nexport type OwpTreeGridLayoutConfig = OwpTreeGridLayout;\nexport type THeader = OwpTreeGridLayoutConfig;\nexport type OwpTreeGridBodyData<T> = Record<string, never> | [] | undefined | T[];\nexport type OwpTreeGridData<T> = OwpTreeGridBodyData<T>;\nexport type TData<T> = OwpTreeGridBodyData<T>;\nexport type OwpTreeGridRowModel<T> = TRow & T;\nexport type OwpTreeGridSelectedRows<T> = OwpTreeGridRowModel<T>[];\n\ntype OwpTreeGridSelectHandler<T> = (selectedRows: OwpTreeGridSelectedRows<T>) => void;\ntype OwpTreeGridRowAddHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridRowDeleteHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n deleteType: number,\n) => void;\ntype OwpTreeGridRowUndeleteHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridButtonClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n event: Event,\n) => void;\ntype OwpTreeGridRowClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n x: number,\n y: number,\n event: Event,\n) => void;\ntype OwpTreeGridSaveHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n autoupdate: boolean | number,\n) => void;\ntype OwpTreeGridCellValue = unknown;\ntype OwpTreeGridAfterValueChangedHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n value: OwpTreeGridCellValue,\n) => void;\n\nexport interface OwpTreeGridProps<T> {\n id: string;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n layoutUrl?: string;\n dataUrl?: string;\n layoutOverrides?: OwpTreeGridLayoutConfig;\n data?: OwpTreeGridBodyData<T>;\n style?: CSSProperties;\n height?: string | number;\n width?: string | number;\n useDataUrl?: boolean;\n onSelect?: OwpTreeGridSelectHandler<T>;\n onRowAdd?: OwpTreeGridRowAddHandler<T>;\n onRowDelete?: OwpTreeGridRowDeleteHandler<T>;\n onRowUndelete?: OwpTreeGridRowUndeleteHandler<T>;\n onRowChange?: OwpTreeGridAfterValueChangedHandler<T>;\n onClickButton?: OwpTreeGridButtonClickHandler<T>;\n onReady?: (grid: TGrid) => void;\n onRowClick?: OwpTreeGridRowClickHandler<T>;\n onSave?: OwpTreeGridSaveHandler<T>;\n onAfterValueChanged?: OwpTreeGridAfterValueChangedHandler<T>;\n loading?: boolean;\n showLoading?: boolean;\n}\n\ntype TreeGridEventBindingOptions<T> = Pick<\n OwpTreeGridProps<T>,\n | 'id'\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n> & {\n treeGridInstanceRef: RefObject<TGrid>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nconst TREE_GRID_TEXT_RESOURCE_URLS = {\n en: '/assets/vendors/Grid/TextEN.xml',\n kr: '/assets/vendors/Grid/TextKR.xml',\n} as const;\n\nconst appendNoCacheQuery = (url: string) => {\n return `${url}?noCache=${Date.now()}`;\n};\n\nconst getTreeGridTextResourceUrl = (languageId: string) => {\n return languageId === 'kr' ? TREE_GRID_TEXT_RESOURCE_URLS.kr : TREE_GRID_TEXT_RESOURCE_URLS.en;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n return dataUrl?.includes('assets')\n ? appendNoCacheQuery(dataUrl)\n : // @ts-expect-error - API base URL env is provided by host app\n `${import.meta.env.VITE_API_BASE_URL}/${dataUrl}?noCache=${Date.now()}`;\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\nconst buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\nconst replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\nconst bindTreeGridEvents = <T,>({\n id,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n treeGridInstanceRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n hasAppliedInitialLayoutRef,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const valueChangedHandler = onAfterValueChanged ?? onRowChange;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n\n if (typeof onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n onRowClick(grid, row as OwpTreeGridRowModel<T>, col, x, y, event);\n }, 300),\n );\n }\n\n if (typeof onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n onClickButton(grid, row as OwpTreeGridRowModel<T>, col, event);\n }, 300),\n );\n }\n\n if (typeof onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n onRowDelete(grid, row as OwpTreeGridRowModel<T>, deleteType);\n });\n }\n if (typeof onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n onRowUndelete(grid, row as OwpTreeGridRowModel<T>);\n });\n }\n if (typeof valueChangedHandler === 'function') {\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n valueChangedHandler(grid, row as OwpTreeGridRowModel<T>, col, value);\n });\n }\n if (typeof onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n onSelect(selectedRows);\n }, 100),\n );\n }\n if (typeof onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n onSave(grid, row as OwpTreeGridRowModel<T>, autoupdate);\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n setIsTreeGridReady(true);\n onReady?.(grid);\n }\n }, 100),\n );\n};\n\n/**\n * OwpTreeGrid 컴포넌트\n * @param id 식별자\n * @param containerStyle containerStyle 값\n * @param containerClassName containerClassName 값\n * @param className CSS 클래스명\n * @param style 스타일 객체\n * @param height height 값\n */\nconst OwpTreeGrid = <T,>({\n id = 'treeGridWrapper',\n containerStyle,\n containerClassName,\n className,\n style,\n height = '100%',\n width = '100%',\n layoutUrl,\n dataUrl,\n layoutOverrides,\n data,\n useDataUrl,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n loading,\n showLoading = true,\n}: OwpTreeGridProps<T>) => {\n const { t } = useOwpTranslation();\n const treeGridInstanceRef = useRef<TGrid>(null);\n const treeGridContainerRef = useRef<HTMLDivElement | null>(null);\n const latestLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(layoutOverrides);\n const latestBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(data);\n const stagedBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(undefined);\n const hasStagedBodyDataPropRef = useRef(false);\n const appliedLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(undefined);\n const appliedBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(undefined);\n const hasAppliedInitialLayoutRef = useRef(false);\n const bodyReloadSequenceRef = useRef(0);\n const bindingLoadingStartedAtRef = useRef<number | null>(null);\n const bindingLoadingHideTimeoutRef = useRef<number | undefined>(undefined);\n const bodyReloadStartTimeoutRef = useRef<number | undefined>(undefined);\n const [isTreeGridReady, setIsTreeGridReady] = useState(false);\n const [isBindingLoadingVisible, setIsBindingLoadingVisible] = useState(false);\n const currentLanguage = useGetCurrentLanguage();\n const currentLanguageIdRef = useRef(currentLanguage.id);\n const isPendingBodyReload =\n showLoading &&\n data !== undefined &&\n isTreeGridReady &&\n appliedBodyDataPropRef.current !== data;\n const isInternalLoadingVisible = showLoading && (isBindingLoadingVisible || isPendingBodyReload);\n const isLoadingOverlayVisible = (showLoading && loading === true) || isInternalLoadingVisible;\n const isNoDataVisible = !isLoadingOverlayVisible && data !== undefined && isEmpty(data);\n\n latestLayoutOverridesRef.current = layoutOverrides;\n latestBodyDataPropRef.current = data;\n\n const overlayFrame = useOwpTreeGridOverlayFrame({\n visible: isLoadingOverlayVisible || isNoDataVisible,\n containerRef: treeGridContainerRef,\n treeGridInstanceRef,\n });\n\n const clearBindingLoadingHideTimeout = () => {\n if (bindingLoadingHideTimeoutRef.current !== undefined) {\n window.clearTimeout(bindingLoadingHideTimeoutRef.current);\n bindingLoadingHideTimeoutRef.current = undefined;\n }\n };\n\n const clearBodyReloadStartTimeout = () => {\n if (bodyReloadStartTimeoutRef.current !== undefined) {\n window.clearTimeout(bodyReloadStartTimeoutRef.current);\n bodyReloadStartTimeoutRef.current = undefined;\n }\n };\n\n useEffect(() => {\n if (!showLoading) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }\n }, [showLoading]);\n\n useEffect(() => {\n if (\n currentLanguage.id !== currentLanguageIdRef.current &&\n !isEmpty(treeGridInstanceRef.current)\n ) {\n treeGridInstanceRef.current?.Dispose();\n treeGridInstanceRef.current = null;\n currentLanguageIdRef.current = currentLanguage.id;\n }\n\n if (!isEmpty(treeGridInstanceRef.current)) {\n return;\n }\n\n bindTreeGridEvents({\n id,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n treeGridInstanceRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n hasAppliedInitialLayoutRef,\n setIsTreeGridReady,\n });\n\n window.TreeGrid(\n buildTreeGridInitializationOptions({\n id,\n layoutUrl,\n dataUrl,\n bodyData: data,\n useDataUrl,\n width,\n height,\n languageId: currentLanguage.id,\n }),\n id,\n id,\n );\n\n return () => {\n delay(() => {\n treeGridInstanceRef.current?.Dispose();\n }, 200);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useLayoutEffect(() => {\n const treeGrid = treeGridInstanceRef.current;\n const nextLayoutOverrides = latestLayoutOverridesRef.current;\n const nextBodyData = latestBodyDataPropRef.current;\n\n if (isEmpty(treeGrid) || !isTreeGridReady) {\n return;\n }\n\n const shouldApplyLayoutOverrides =\n appliedLayoutOverridesRef.current !== nextLayoutOverrides &&\n !isEqual(appliedLayoutOverridesRef.current, nextLayoutOverrides);\n const shouldApplyBodyData =\n appliedBodyDataPropRef.current !== nextBodyData &&\n (!hasStagedBodyDataPropRef.current || stagedBodyDataPropRef.current !== nextBodyData);\n\n if (!shouldApplyLayoutOverrides && !shouldApplyBodyData) {\n return;\n }\n\n if (shouldApplyLayoutOverrides) {\n applyTreeGridLayoutToGrid(treeGrid, nextLayoutOverrides, shouldApplyBodyData);\n appliedLayoutOverridesRef.current = nextLayoutOverrides;\n }\n\n if (shouldApplyBodyData) {\n const reloadSequence = bodyReloadSequenceRef.current + 1;\n const runBodyReload = () => {\n const bodyDataToApply = stagedBodyDataPropRef.current;\n\n bodyReloadStartTimeoutRef.current = undefined;\n\n replaceTreeGridBodyData(treeGrid, bodyDataToApply, () => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n appliedBodyDataPropRef.current = bodyDataToApply;\n\n if (stagedBodyDataPropRef.current === bodyDataToApply) {\n stagedBodyDataPropRef.current = undefined;\n hasStagedBodyDataPropRef.current = false;\n }\n\n const startedAt = bindingLoadingStartedAtRef.current;\n\n if (!showLoading || startedAt === null) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n const remainingVisibleTime = Math.max(\n 0,\n TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS - (Date.now() - startedAt),\n );\n\n clearBindingLoadingHideTimeout();\n\n if (remainingVisibleTime === 0) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = undefined;\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }, remainingVisibleTime);\n });\n };\n\n bodyReloadSequenceRef.current = reloadSequence;\n stagedBodyDataPropRef.current = nextBodyData;\n hasStagedBodyDataPropRef.current = true;\n\n if (showLoading && nextBodyData !== undefined) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = Date.now();\n setIsBindingLoadingVisible(true);\n bodyReloadStartTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n runBodyReload();\n }, 0);\n } else {\n runBodyReload();\n }\n }\n }, [isTreeGridReady, layoutOverrides, data, showLoading]);\n\n useEffect(() => {\n return () => {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n };\n }, []);\n\n const resolvedContainerStyle: CSSProperties = {\n height,\n width,\n ...containerStyle,\n };\n\n if (showLoading || isNoDataVisible) {\n resolvedContainerStyle.position =\n containerStyle?.position && containerStyle.position !== 'static'\n ? containerStyle.position\n : 'relative';\n resolvedContainerStyle.isolation = 'isolate';\n }\n\n return (\n <div ref={treeGridContainerRef} className={containerClassName} style={resolvedContainerStyle}>\n <div id={id} className={className} style={omit(style, ['height', 'width'])} />\n <OwpTreeGridNoDataOverlay\n visible={isNoDataVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n overlayFrame={overlayFrame}\n />\n <OwpTreeGridLoadingOverlay visible={isLoadingOverlayVisible} overlayFrame={overlayFrame} />\n </div>\n );\n};\n\nexport { OwpTreeGrid };\n"],"names":["TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_TEXT_RESOURCE_URLS","appendNoCacheQuery","__name","url","getTreeGridTextResourceUrl","languageId","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","getTreeGridBodyData","grid","get","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","onSelect","onRowClick","onRowAdd","onRowDelete","onRowUndelete","onRowChange","onClickButton","onSave","onReady","onAfterValueChanged","treeGridInstanceRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","hasAppliedInitialLayoutRef","setIsTreeGridReady","valueChangedHandler","row","debounce","col","x","y","event","deleteType","value","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","OwpTreeGrid","containerStyle","containerClassName","className","style","layoutOverrides","data","loading","showLoading","t","useOwpTranslation","useRef","treeGridContainerRef","latestBodyDataPropRef","stagedBodyDataPropRef","hasStagedBodyDataPropRef","bodyReloadSequenceRef","bindingLoadingStartedAtRef","bindingLoadingHideTimeoutRef","bodyReloadStartTimeoutRef","isTreeGridReady","useState","isBindingLoadingVisible","setIsBindingLoadingVisible","currentLanguage","useGetCurrentLanguage","currentLanguageIdRef","isPendingBodyReload","isLoadingOverlayVisible","isNoDataVisible","overlayFrame","useOwpTreeGridOverlayFrame","clearBindingLoadingHideTimeout","clearBodyReloadStartTimeout","useEffect","delay","useLayoutEffect","treeGrid","nextLayoutOverrides","nextBodyData","shouldApplyLayoutOverrides","isEqual","shouldApplyBodyData","reloadSequence","runBodyReload","bodyDataToApply","startedAt","remainingVisibleTime","resolvedContainerStyle","jsx","omit","OwpTreeGridNoDataOverlay","OwpTreeGridLoadingOverlay"],"mappings":"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"}
@@ -2,7 +2,7 @@ var r = Object.defineProperty;
2
2
  var n = (e, i) => r(e, "name", { value: i, configurable: !0 });
3
3
  import { jsx as o } 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 p from "@mui/material/Typography";
5
- import { TREE_GRID_NO_DATA_OVERLAY_Z_INDEX as s } from "./hooks/useOwpTreeGridOverlayFrame.js";
5
+ import { TREE_GRID_NO_DATA_OVERLAY_Z_INDEX as l } from "./hooks/useOwpTreeGridOverlayFrame.js";
6
6
  const c = /* @__PURE__ */ n(({
7
7
  visible: e,
8
8
  message: i,
@@ -17,7 +17,7 @@ const c = /* @__PURE__ */ n(({
17
17
  top: t.top,
18
18
  width: t.width,
19
19
  height: t.height,
20
- zIndex: s,
20
+ zIndex: l,
21
21
  display: "flex",
22
22
  alignItems: "center",
23
23
  justifyContent: "center",
@@ -26,11 +26,10 @@ const c = /* @__PURE__ */ n(({
26
26
  children: /* @__PURE__ */ o(
27
27
  p,
28
28
  {
29
- color: "text.secondary",
30
29
  sx: {
30
+ color: "#111112",
31
31
  fontFamily: "RobotoLight, sans-serif",
32
32
  fontSize: "14px",
33
- fontWeight: 700,
34
33
  lineHeight: "16px",
35
34
  letterSpacing: "0.04em"
36
35
  },
@@ -1 +1 @@
1
- {"version":3,"file":"OwpTreeGridNoDataOverlay.js","sources":["../../../src/components/OwpTreeGrid/OwpTreeGridNoDataOverlay.tsx"],"sourcesContent":["import Typography from '@mui/material/Typography';\nimport {\n type OwpTreeGridOverlayFrame,\n TREE_GRID_NO_DATA_OVERLAY_Z_INDEX,\n} from './hooks/useOwpTreeGridOverlayFrame';\n\ntype OwpTreeGridNoDataOverlayProps = {\n visible: boolean;\n message: string;\n overlayFrame: OwpTreeGridOverlayFrame;\n};\n\n/**\n * TreeGrid no-data overlay\n * @param visible overlay visibility\n * @param message no-data message\n * @param overlayFrame overlay frame\n */\nconst OwpTreeGridNoDataOverlay = ({\n visible,\n message,\n overlayFrame,\n}: OwpTreeGridNoDataOverlayProps) => {\n if (!visible) {\n return null;\n }\n\n return (\n <div\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n left: overlayFrame.left,\n top: overlayFrame.top,\n width: overlayFrame.width,\n height: overlayFrame.height,\n zIndex: TREE_GRID_NO_DATA_OVERLAY_Z_INDEX,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: 'none',\n }}\n >\n <Typography\n color=\"text.secondary\"\n sx={{\n fontFamily: 'RobotoLight, sans-serif',\n fontSize: '14px',\n fontWeight: 700,\n lineHeight: '16px',\n letterSpacing: '0.04em',\n }}\n >\n {message}\n </Typography>\n </div>\n );\n};\n\nexport { OwpTreeGridNoDataOverlay };\n"],"names":["OwpTreeGridNoDataOverlay","__name","visible","message","overlayFrame","jsx","TREE_GRID_NO_DATA_OVERLAY_Z_INDEX","Typography"],"mappings":";;;;;AAkBA,MAAMA,IAA2B,gBAAAC,EAAA,CAAC;AAAA,EAChC,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AACF,MACOF,IAKH,gBAAAG;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,eAAY;AAAA,IACZ,OAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAMD,EAAa;AAAA,MACnB,KAAKA,EAAa;AAAA,MAClB,OAAOA,EAAa;AAAA,MACpB,QAAQA,EAAa;AAAA,MACrB,QAAQE;AAAA,MACR,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe;AAAA,IAAA;AAAA,IAGjB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,eAAe;AAAA,QAAA;AAAA,QAGhB,UAAAJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AAAA,IA9BK,MANsB;"}
1
+ {"version":3,"file":"OwpTreeGridNoDataOverlay.js","sources":["../../../src/components/OwpTreeGrid/OwpTreeGridNoDataOverlay.tsx"],"sourcesContent":["import Typography from '@mui/material/Typography';\nimport {\n type OwpTreeGridOverlayFrame,\n TREE_GRID_NO_DATA_OVERLAY_Z_INDEX,\n} from './hooks/useOwpTreeGridOverlayFrame';\n\ntype OwpTreeGridNoDataOverlayProps = {\n visible: boolean;\n message: string;\n overlayFrame: OwpTreeGridOverlayFrame;\n};\n\n/**\n * TreeGrid no-data overlay\n * @param visible overlay visibility\n * @param message no-data message\n * @param overlayFrame overlay frame\n */\nconst OwpTreeGridNoDataOverlay = ({\n visible,\n message,\n overlayFrame,\n}: OwpTreeGridNoDataOverlayProps) => {\n if (!visible) {\n return null;\n }\n\n return (\n <div\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n left: overlayFrame.left,\n top: overlayFrame.top,\n width: overlayFrame.width,\n height: overlayFrame.height,\n zIndex: TREE_GRID_NO_DATA_OVERLAY_Z_INDEX,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: 'none',\n }}\n >\n <Typography\n sx={{\n color: '#111112',\n fontFamily: 'RobotoLight, sans-serif',\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: '0.04em',\n }}\n >\n {message}\n </Typography>\n </div>\n );\n};\n\nexport { OwpTreeGridNoDataOverlay };\n"],"names":["OwpTreeGridNoDataOverlay","__name","visible","message","overlayFrame","jsx","TREE_GRID_NO_DATA_OVERLAY_Z_INDEX","Typography"],"mappings":";;;;;AAkBA,MAAMA,IAA2B,gBAAAC,EAAA,CAAC;AAAA,EAChC,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AACF,MACOF,IAKH,gBAAAG;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,eAAY;AAAA,IACZ,OAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAMD,EAAa;AAAA,MACnB,KAAKA,EAAa;AAAA,MAClB,OAAOA,EAAa;AAAA,MACpB,QAAQA,EAAa;AAAA,MACrB,QAAQE;AAAA,MACR,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe;AAAA,IAAA;AAAA,IAGjB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,eAAe;AAAA,QAAA;AAAA,QAGhB,UAAAJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AAAA,IA7BK,MANsB;"}
@@ -1,6 +1,6 @@
1
1
  var f = Object.defineProperty;
2
2
  var t = (e, _) => f(e, "name", { value: _, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/constants2.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/constants.js";
4
4
  var i;
5
5
  function E() {
6
6
  if (i) return r;
@@ -1,6 +1,6 @@
1
1
  var q = Object.defineProperty;
2
2
  var O = (C, _) => q(C, "name", { value: _, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/index9.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/index6.js";
4
4
  import { __require as d } from "./CODE128_AUTO.js";
5
5
  import { __require as n } from "./CODE128A.js";
6
6
  import { __require as m } from "./CODE128B.js";
@@ -1,6 +1,6 @@
1
1
  var w = Object.defineProperty;
2
2
  var n = (f, a) => w(f, "name", { value: a, configurable: !0 });
3
- import { __exports as i } from "../../../../../../../../_virtual/index8.js";
3
+ import { __exports as i } from "../../../../../../../../_virtual/index5.js";
4
4
  import { __require as k } from "../Barcode.js";
5
5
  var _;
6
6
  function P() {
@@ -1,6 +1,6 @@
1
1
  var D = Object.defineProperty;
2
2
  var C = (u, t) => D(u, "name", { value: t, configurable: !0 });
3
- import { __exports as e } from "../../../../../../../../_virtual/index15.js";
3
+ import { __exports as e } from "../../../../../../../../_virtual/index12.js";
4
4
  import { __require as O } from "./CODE93.js";
5
5
  import { __require as E } from "./CODE93FullASCII.js";
6
6
  var l;
@@ -1,6 +1,6 @@
1
1
  var C = Object.defineProperty;
2
2
  var i = (u, a) => C(u, "name", { value: a, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/index10.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/index7.js";
4
4
  import { __require as U } from "./EAN13.js";
5
5
  import { __require as s } from "./EAN8.js";
6
6
  import { __require as l } from "./EAN5.js";
@@ -1,6 +1,6 @@
1
1
  var b = Object.defineProperty;
2
2
  var r = (a, f) => b(a, "name", { value: f, configurable: !0 });
3
- import { __exports as u } from "../../../../../../../../_virtual/index16.js";
3
+ import { __exports as u } from "../../../../../../../../_virtual/index13.js";
4
4
  import { __require as p } from "../Barcode.js";
5
5
  var c;
6
6
  function w() {
@@ -1,6 +1,6 @@
1
1
  var o = Object.defineProperty;
2
2
  var r = (n, s) => o(n, "name", { value: s, configurable: !0 });
3
- import { __exports as e } from "../../../../../../../../_virtual/constants.js";
3
+ import { __exports as e } from "../../../../../../../../_virtual/constants2.js";
4
4
  var t;
5
5
  function _() {
6
6
  return t ? e : (t = 1, Object.defineProperty(e, "__esModule", {
@@ -1,6 +1,6 @@
1
1
  var T = Object.defineProperty;
2
2
  var i = (u, t) => T(u, "name", { value: t, configurable: !0 });
3
- import { __exports as e } from "../../../../../../../../_virtual/index11.js";
3
+ import { __exports as e } from "../../../../../../../../_virtual/index8.js";
4
4
  import { __require as f } from "./ITF.js";
5
5
  import { __require as n } from "./ITF14.js";
6
6
  var a;
@@ -1,6 +1,6 @@
1
1
  var v = Object.defineProperty;
2
2
  var I = (M, _) => v(M, "name", { value: _, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/index12.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/index9.js";
4
4
  import { __require as n } from "./MSI.js";
5
5
  import { __require as s } from "./MSI10.js";
6
6
  import { __require as l } from "./MSI11.js";
@@ -1,6 +1,6 @@
1
1
  var p = Object.defineProperty;
2
2
  var a = (f, c) => p(f, "name", { value: c, configurable: !0 });
3
- import { __exports as i } from "../../../../../../../../_virtual/index14.js";
3
+ import { __exports as i } from "../../../../../../../../_virtual/index11.js";
4
4
  import { __require as g } from "../Barcode.js";
5
5
  var h;
6
6
  function w() {
@@ -1,6 +1,6 @@
1
1
  var v = Object.defineProperty;
2
2
  var i = (u, f) => v(u, "name", { value: f, configurable: !0 });
3
- import { __exports as a } from "../../../../../../../../_virtual/index13.js";
3
+ import { __exports as a } from "../../../../../../../../_virtual/index10.js";
4
4
  import { __require as y } from "../Barcode.js";
5
5
  var c;
6
6
  function q() {
@@ -1,6 +1,6 @@
1
1
  var v = Object.defineProperty;
2
2
  var _ = (a, t) => v(a, "name", { value: t, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../_virtual/index17.js";
3
+ import { __exports as r } from "../../../../../../../_virtual/index14.js";
4
4
  import { __require as f } from "./canvas.js";
5
5
  import { __require as q } from "./svg.js";
6
6
  import { __require as c } from "./object.js";
@@ -1,6 +1,6 @@
1
1
  var t = Object.defineProperty;
2
2
  var i = (e, o) => t(e, "name", { value: o, configurable: !0 });
3
- import { __module as r } from "../../../../../_virtual/index6.js";
3
+ import { __module as r } from "../../../../../_virtual/index16.js";
4
4
  import { __require as p } from "../../../react-is@16.13.1/node_modules/react-is/index.js";
5
5
  import { __require as u } from "./factoryWithTypeCheckers.js";
6
6
  import { __require as a } from "./factoryWithThrowingShims.js";
@@ -1,6 +1,6 @@
1
1
  var S = Object.defineProperty;
2
2
  var e = (r, i) => S(r, "name", { value: i, configurable: !0 });
3
- import { __exports as n } from "../../../../../../../_virtual/utils2.js";
3
+ import { __exports as n } from "../../../../../../../_virtual/utils.js";
4
4
  var u;
5
5
  function c() {
6
6
  if (u) return n;
@@ -1,6 +1,6 @@
1
1
  var M = Object.defineProperty;
2
2
  var a = (l, h) => M(l, "name", { value: h, configurable: !0 });
3
- import { __exports as s } from "../../../../../../../_virtual/utils.js";
3
+ import { __exports as s } from "../../../../../../../_virtual/utils2.js";
4
4
  var w;
5
5
  function _() {
6
6
  return w ? s : (w = 1, (function(l) {
@@ -1,7 +1,7 @@
1
1
  var d = Object.defineProperty;
2
2
  var f = (n, a) => d(n, "name", { value: a, configurable: !0 });
3
3
  import r from "react";
4
- import e from "../../../../../../_virtual/index5.js";
4
+ import e from "../../../../../../_virtual/index15.js";
5
5
  import "../../../../imask@7.6.1/node_modules/imask/esm/controls/input.js";
6
6
  import m from "../../../../imask@7.6.1/node_modules/imask/esm/core/holder.js";
7
7
  import "../../../../imask@7.6.1/node_modules/imask/esm/masked/factory.js";
@@ -1,6 +1,6 @@
1
1
  var i = Object.defineProperty;
2
2
  var r = (t, s) => i(t, "name", { value: s, configurable: !0 });
3
- import { __module as e } from "../../../../../_virtual/index7.js";
3
+ import { __module as e } from "../../../../../_virtual/index17.js";
4
4
  import { __require as u } from "./cjs/react-is.production.min.js";
5
5
  import { __require as p } from "./cjs/react-is.development.js";
6
6
  var o;
@@ -1,6 +1,6 @@
1
1
  var c = Object.defineProperty;
2
2
  var a = (r, e) => c(r, "name", { value: e, configurable: !0 });
3
- import n from "../../../../../../_virtual/index5.js";
3
+ import n from "../../../../../../_virtual/index15.js";
4
4
  import m from "react-dom";
5
5
  import t from "react";
6
6
  import u from "./useWaitForDOMRef.js";
@@ -47,6 +47,7 @@ export interface OwpTreeGridProps<T> {
47
47
  onRowClick?: OwpTreeGridRowClickHandler<T>;
48
48
  onSave?: OwpTreeGridSaveHandler<T>;
49
49
  onAfterValueChanged?: OwpTreeGridAfterValueChangedHandler<T>;
50
+ loading?: boolean;
50
51
  showLoading?: boolean;
51
52
  }
52
53
  /**
@@ -58,5 +59,5 @@ export interface OwpTreeGridProps<T> {
58
59
  * @param style 스타일 객체
59
60
  * @param height height 값
60
61
  */
61
- declare const OwpTreeGrid: <T>({ id, containerStyle, containerClassName, className, style, height, width, layoutUrl, dataUrl, layoutOverrides, data, useDataUrl, onSelect, onRowClick, onRowAdd, onRowDelete, onRowUndelete, onRowChange, onClickButton, onSave, onReady, onAfterValueChanged, showLoading, }: OwpTreeGridProps<T>) => import("react/jsx-runtime").JSX.Element;
62
+ declare const OwpTreeGrid: <T>({ id, containerStyle, containerClassName, className, style, height, width, layoutUrl, dataUrl, layoutOverrides, data, useDataUrl, onSelect, onRowClick, onRowAdd, onRowDelete, onRowUndelete, onRowChange, onClickButton, onSave, onReady, onAfterValueChanged, loading, showLoading, }: OwpTreeGridProps<T>) => import("react/jsx-runtime").JSX.Element;
62
63
  export { OwpTreeGrid };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@owp/core",
3
3
  "private": false,
4
- "version": "2.2.0",
4
+ "version": "2.2.1",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -22,7 +22,6 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@mui/icons-material": "^7.3.2",
25
- "@popperjs/core": "^2.11.8",
26
25
  "autosuggest-highlight": "^3.3.4",
27
26
  "clsx": "^2.1.1",
28
27
  "date-fns": "^4.1.0",
@@ -42,7 +41,6 @@
42
41
  "react-imask": "^7.6.1",
43
42
  "react-number-format": "^5.4.4",
44
43
  "react-overlays": "^5.2.1",
45
- "react-popper": "^2.3.0",
46
44
  "type-fest": "^4.41.0"
47
45
  },
48
46
  "peerDependencies": {