@bwg-ui/core 1.2.35 → 1.3.0

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/dist/chunks/{CMSearchIntfGwP01-CMSQULsU.cjs → CMSearchIntfGwP01-D7XtXMLy.cjs} +1 -1
  2. package/dist/chunks/{CMSearchIntfGwP01-Duabg_5A.js → CMSearchIntfGwP01-_h2B12Ig.js} +28 -28
  3. package/dist/chunks/{MenuReport-B4EU1A6l.js → MenuReport-Bw3AvR6b.js} +10 -10
  4. package/dist/chunks/MenuReport-DuWbbKBC.cjs +1 -0
  5. package/dist/chunks/common-components-BOJo6FH_.cjs +1109 -0
  6. package/dist/chunks/{common-components-DIpOkbb5.js → common-components-BjfrRYiU.js} +13530 -12812
  7. package/dist/chunks/{layout-components-D2Fla5uu.js → layout-components-DNhUIx4u.js} +603 -559
  8. package/dist/chunks/layout-components-Ddn-4n36.cjs +35 -0
  9. package/dist/chunks/provider-DrboIg2C.cjs +1 -0
  10. package/dist/chunks/provider-VCa8UGvF.js +446 -0
  11. package/dist/components/common/BwgGrid.d.ts +17 -16
  12. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  13. package/dist/components/common/BwgPagination.d.ts.map +1 -1
  14. package/dist/components/common/BwgView.d.ts +3 -3
  15. package/dist/components/common/BwgView.d.ts.map +1 -1
  16. package/dist/components/common/index.cjs +1 -1
  17. package/dist/components/common/index.d.ts +4 -3
  18. package/dist/components/common/index.d.ts.map +1 -1
  19. package/dist/components/common/index.js +5 -5
  20. package/dist/components/common/type.d.ts +7 -0
  21. package/dist/components/common/type.d.ts.map +1 -1
  22. package/dist/components/core/BwgMaskedDate.d.ts +13 -0
  23. package/dist/components/core/BwgMaskedDate.d.ts.map +1 -0
  24. package/dist/components/core/{BwgMaskedPicker.d.ts → BwgMaskedRange.d.ts} +6 -4
  25. package/dist/components/core/BwgMaskedRange.d.ts.map +1 -0
  26. package/dist/components/core/index.cjs +1 -1
  27. package/dist/components/core/index.d.ts +4 -2
  28. package/dist/components/core/index.d.ts.map +1 -1
  29. package/dist/components/core/index.js +1219 -781
  30. package/dist/components/guide/index.cjs +1 -1
  31. package/dist/components/guide/index.js +2 -2
  32. package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
  33. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  34. package/dist/components/layout/extension/ContentWrapper.d.ts.map +1 -1
  35. package/dist/components/layout/index.cjs +1 -1
  36. package/dist/components/layout/index.js +1 -1
  37. package/dist/components/pages/syst/CMHldyCfg.d.ts.map +1 -1
  38. package/dist/components/popup/MenuReport.d.ts.map +1 -1
  39. package/dist/components/popup/SearchAddressP01.d.ts +30 -0
  40. package/dist/components/popup/SearchAddressP01.d.ts.map +1 -0
  41. package/dist/components/popup/SearchHolidayP01.d.ts +2 -2
  42. package/dist/components/popup/SearchHolidayP01.d.ts.map +1 -1
  43. package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -1
  44. package/dist/components/popup/index.cjs +1 -1
  45. package/dist/components/popup/index.d.ts +2 -0
  46. package/dist/components/popup/index.d.ts.map +1 -1
  47. package/dist/components/popup/index.js +6 -5
  48. package/dist/index.cjs +1 -1
  49. package/dist/index.js +270 -259
  50. package/dist/provider/contexts/BwgViewContext.d.ts +19 -0
  51. package/dist/provider/contexts/BwgViewContext.d.ts.map +1 -0
  52. package/dist/provider/contexts/index.d.ts +1 -0
  53. package/dist/provider/contexts/index.d.ts.map +1 -1
  54. package/dist/provider/hooks/index.d.ts +1 -0
  55. package/dist/provider/hooks/index.d.ts.map +1 -1
  56. package/dist/provider/hooks/useSizeConfig.d.ts +19 -0
  57. package/dist/provider/hooks/useSizeConfig.d.ts.map +1 -0
  58. package/dist/provider/index.cjs +1 -1
  59. package/dist/provider/index.js +22 -381
  60. package/dist/stores/index.cjs +2 -2
  61. package/dist/stores/index.js +18 -11
  62. package/dist/stores/userStore.d.ts +4 -0
  63. package/dist/stores/userStore.d.ts.map +1 -1
  64. package/dist/styles/components.css +90 -60
  65. package/dist/utils/{FileUtils.d.ts → fileUtils.d.ts} +1 -1
  66. package/dist/utils/fileUtils.d.ts.map +1 -0
  67. package/dist/utils/gridUtils.d.ts +45 -0
  68. package/dist/utils/gridUtils.d.ts.map +1 -0
  69. package/dist/utils/index.cjs +1 -1
  70. package/dist/utils/index.d.ts +12 -2
  71. package/dist/utils/index.d.ts.map +1 -1
  72. package/dist/utils/index.js +1112 -1005
  73. package/package.json +1 -1
  74. package/dist/chunks/MenuReport-5e2dMr_C.cjs +0 -1
  75. package/dist/chunks/common-components-D3-r7D-8.cjs +0 -1109
  76. package/dist/chunks/layout-components-pfHVy2at.cjs +0 -35
  77. package/dist/components/core/BwgMaskedPicker.d.ts.map +0 -1
  78. package/dist/utils/FileUtils.d.ts.map +0 -1
@@ -1,116 +1,117 @@
1
- import { jsx as r, jsxs as K } from "react/jsx-runtime";
2
- import { Button as X, Form as O, Checkbox as ie, ConfigProvider as se, DatePicker as le, message as N, Card as Fe, List as ee, Input as te, Spin as Se, Upload as G, Typography as Ce, Flex as ue, Progress as we, notification as Ie, Tooltip as _e, Select as ce, Space as ae, InputNumber as Ne, Radio as Me, Switch as De } from "antd";
3
- import { useMemo as W, memo as ke, useState as R, useEffect as H, forwardRef as xe, useRef as q, cloneElement as ve } from "react";
4
- import { useUserStore as Be, usePopupStore as Ee } from "../../stores/index.js";
5
- import E from "dayjs";
6
- import { PaperClipOutlined as Oe, DownloadOutlined as Ae, DeleteOutlined as ze, InboxOutlined as Ve, UploadOutlined as Ye, CloudUploadOutlined as Ue, CheckCircleOutlined as $e, CloseCircleOutlined as Te, FileTextOutlined as Re, CalendarOutlined as je, ExclamationCircleOutlined as He, SearchOutlined as Ke } from "@ant-design/icons";
7
- import { getApiDeps as me, callServiceByAppCd as Ge, getCrprCd as qe, callService as J, getUserInfo as P } from "../../utils/index.js";
8
- import We from "jszip";
9
- import be from "imask";
10
- import { debounce as Pe, findIndex as ne } from "lodash";
11
- import { DndProvider as Je, useDrop as Xe, useDrag as Ze } from "react-dnd";
12
- import { HTML5Backend as Qe } from "react-dnd-html5-backend";
1
+ import { jsx as a, jsxs as G } from "react/jsx-runtime";
2
+ import { Button as te, Form as $, Checkbox as ce, ConfigProvider as le, DatePicker as ie, message as O, Card as Ye, List as re, Input as J, Spin as Le, Upload as q, Typography as be, Flex as me, Progress as Ie, notification as ve, Tooltip as Me, Select as de, Space as oe, InputNumber as De, Radio as _e, Switch as Ne } from "antd";
3
+ import { useMemo as X, memo as xe, useState as j, useEffect as P, forwardRef as Ae, useRef as K, cloneElement as Ee } from "react";
4
+ import { useUserStore as Be, usePopupStore as ze } from "../../stores/index.js";
5
+ import N from "dayjs";
6
+ import { PaperClipOutlined as Oe, DownloadOutlined as $e, DeleteOutlined as Re, InboxOutlined as Ue, UploadOutlined as ke, CloudUploadOutlined as Te, CheckCircleOutlined as je, CloseCircleOutlined as He, FileTextOutlined as Ke, CalendarOutlined as ue, ExclamationCircleOutlined as Ve, SearchOutlined as Pe } from "@ant-design/icons";
7
+ import { getApiDeps as ge, callServiceByAppCd as Ge, getCrprCd as We, callService as ee, getUserInfo as Q } from "../../utils/index.js";
8
+ import qe from "jszip";
9
+ import se from "imask";
10
+ import { c as Se } from "../../chunks/provider-VCa8UGvF.js";
11
+ import { debounce as Je, findIndex as ne } from "lodash";
12
+ import { DndProvider as Xe, useDrop as Ze, useDrag as Qe } from "react-dnd";
13
+ import { HTML5Backend as et } from "react-dnd-html5-backend";
13
14
  const Lt = (t) => {
14
- const { componentSize: e } = Be(), s = W(() => t.size ? t.size : {
15
+ const { componentSize: r } = Be(), d = X(() => t.size ? t.size : {
15
16
  0: "small",
16
17
  1: "middle",
17
18
  2: "large"
18
- }[e], [e, t.size]), o = W(() => ({
19
+ }[r], [r, t.size]), l = X(() => ({
19
20
  0: 12,
20
21
  // 작게
21
22
  1: 14,
22
23
  // 보통
23
24
  2: 16
24
25
  // 크게
25
- })[e], [e]);
26
- return /* @__PURE__ */ r(
27
- X,
26
+ })[r], [r]);
27
+ return /* @__PURE__ */ a(
28
+ te,
28
29
  {
29
30
  ...t,
30
- size: s,
31
+ size: d,
31
32
  className: "bwg-btn",
32
- style: { fontSize: `${o}px`, ...t.style },
33
+ style: { fontSize: `${l}px`, ...t.style },
33
34
  children: t.children
34
35
  }
35
36
  );
36
- }, B = ke(
37
+ }, T = xe(
37
38
  ({
38
39
  children: t,
39
- label: e,
40
- name: s,
41
- rules: o,
42
- initialValue: n,
43
- style: a,
44
- required: u,
45
- ...i
40
+ label: r,
41
+ name: d,
42
+ rules: l,
43
+ initialValue: e,
44
+ style: s,
45
+ required: p,
46
+ ...c
46
47
  }) => {
47
- const m = {
48
+ const y = {
48
49
  fontWeight: "bold"
49
50
  };
50
- (o == null || o == null) && u && (o = [
51
+ (l == null || l == null) && p && (l = [
51
52
  {
52
53
  required: !0,
53
- message: `${e}을(를) 입력해주세요.`
54
+ message: `${r}을(를) 입력해주세요.`
54
55
  }
55
56
  ]);
56
- const l = Array.isArray(o) && o.some((f) => f.required === !0), L = () => typeof e == "string" ? /* @__PURE__ */ K("span", { style: m, children: [
57
- e,
58
- l && /* @__PURE__ */ r("span", { style: { color: "#ff4d4f", marginLeft: "4px" }, children: "*" })
59
- ] }) : /* @__PURE__ */ r("span", { style: m, children: e });
60
- return /* @__PURE__ */ r(
61
- O.Item,
57
+ const i = Array.isArray(l) && l.some((b) => b.required === !0), f = () => typeof r == "string" ? /* @__PURE__ */ G("span", { style: y, children: [
58
+ r,
59
+ i && /* @__PURE__ */ a("span", { style: { color: "#ff4d4f", marginLeft: "4px" }, children: "*" })
60
+ ] }) : /* @__PURE__ */ a("span", { style: y, children: r });
61
+ return /* @__PURE__ */ a(
62
+ $.Item,
62
63
  {
63
64
  className: "bwg-form-item",
64
- label: e ? L() : void 0,
65
- labelAlign: i.labelAlign || "left",
66
- name: s,
67
- rules: o,
65
+ label: r ? f() : void 0,
66
+ labelAlign: c.labelAlign || "left",
67
+ name: d,
68
+ rules: l,
68
69
  colon: !1,
69
- initialValue: n,
70
- style: a,
71
- ...i,
70
+ initialValue: e,
71
+ style: s,
72
+ ...c,
72
73
  children: t
73
74
  }
74
75
  );
75
76
  }
76
- ), St = ({
77
+ ), It = ({
77
78
  itemProps: t,
78
- inputProps: e = {
79
+ inputProps: r = {
79
80
  format: "YN"
80
81
  }
81
82
  }) => {
82
- const s = O.useFormInstance();
83
- return /* @__PURE__ */ r(
84
- B,
83
+ const d = $.useFormInstance();
84
+ return /* @__PURE__ */ a(
85
+ T,
85
86
  {
86
87
  ...t,
87
- getValueProps: (n) => ({ checked: e.format === "boolean" ? !!n : n === "Y" }),
88
- normalize: (n) => typeof n == "boolean" ? e.format === "boolean" ? n : n ? "Y" : "N" : e.format === "boolean" ? !!n : n ? "Y" : "N",
89
- children: /* @__PURE__ */ r(ie, { ...e, onChange: (n) => {
90
- e.format === "boolean" ? s.setFieldValue(t?.name, n.target.checked) : s.setFieldValue(t?.name, n.target.checked ? "Y" : "N"), e.onChange && e.onChange(n);
91
- }, children: e?.title })
88
+ getValueProps: (e) => ({ checked: r.format === "boolean" ? !!e : e === "Y" }),
89
+ normalize: (e) => typeof e == "boolean" ? r.format === "boolean" ? e : e ? "Y" : "N" : r.format === "boolean" ? !!e : e ? "Y" : "N",
90
+ children: /* @__PURE__ */ a(ce, { ...r, onChange: (e) => {
91
+ r.format === "boolean" ? d.setFieldValue(t?.name, e.target.checked) : d.setFieldValue(t?.name, e.target.checked ? "Y" : "N"), r.onChange && r.onChange(e);
92
+ }, children: r?.title })
92
93
  }
93
94
  );
94
- }, wt = ({ itemProps: t, inputProps: e }) => {
95
- const s = O.useFormInstance(), [o, n] = R(
95
+ }, vt = ({ itemProps: t, inputProps: r }) => {
96
+ const d = $.useFormInstance(), [l, e] = j(
96
97
  t?.initialValue ?? []
97
- ), [a, u] = R([]), i = a.length > 0 && a.length == o?.length, m = o?.length > 0 && o.length < a.length;
98
- H(() => {
99
- u(l(e?.options));
100
- }, [e?.options]), H(() => {
101
- n(o);
102
- }, [o]);
103
- const l = (M) => {
104
- const Y = [];
105
- return (M || []).map((I, A) => {
106
- Y.push(I.value);
107
- }), Y;
108
- }, L = (M) => {
109
- n(M.target.checked ? a : []), s.setFieldValue(t?.name, M.target.checked ? a : []);
110
- }, f = (M) => {
111
- n(M), s.setFieldValue(t?.name, M), e?.onChange && typeof e?.onChange == "function" && e?.onChange(M);
98
+ ), [s, p] = j([]), c = s.length > 0 && s.length == l?.length, y = l?.length > 0 && l.length < s.length;
99
+ P(() => {
100
+ p(i(r?.options));
101
+ }, [r?.options]), P(() => {
102
+ e(l);
103
+ }, [l]);
104
+ const i = (k) => {
105
+ const D = [];
106
+ return (k || []).map((Y, R) => {
107
+ D.push(Y.value);
108
+ }), D;
109
+ }, f = (k) => {
110
+ e(k.target.checked ? s : []), d.setFieldValue(t?.name, k.target.checked ? s : []);
111
+ }, b = (k) => {
112
+ e(k), d.setFieldValue(t?.name, k), r?.onChange && typeof r?.onChange == "function" && r?.onChange(k);
112
113
  };
113
- return /* @__PURE__ */ r(B, { ...t, children: /* @__PURE__ */ K(se, { theme: {
114
+ return /* @__PURE__ */ a(T, { ...t, children: /* @__PURE__ */ G(le, { theme: {
114
115
  components: {
115
116
  Checkbox: {
116
117
  colorPrimary: "var(--check-primary)",
@@ -119,25 +120,25 @@ const Lt = (t) => {
119
120
  }
120
121
  }
121
122
  }, children: [
122
- e?.allCheck && /* @__PURE__ */ r(
123
- ie,
123
+ r?.allCheck && /* @__PURE__ */ a(
124
+ ce,
124
125
  {
125
- indeterminate: m,
126
- checked: i,
127
- onChange: L,
126
+ indeterminate: y,
127
+ checked: c,
128
+ onChange: f,
128
129
  children: "전체선택"
129
130
  }
130
131
  ),
131
- /* @__PURE__ */ r(
132
- ie.Group,
132
+ /* @__PURE__ */ a(
133
+ ce.Group,
133
134
  {
134
- options: e?.options,
135
- value: o,
136
- onChange: f
135
+ options: r?.options,
136
+ value: l,
137
+ onChange: b
137
138
  }
138
139
  )
139
140
  ] }) });
140
- }, fe = {
141
+ }, he = {
141
142
  year: { displayFormat: "YYYY", outputFormat: "YYYY" },
142
143
  month: { displayFormat: "YYYY-MM", outputFormat: "YYYYMM" },
143
144
  date: { displayFormat: "YYYY-MM-DD", outputFormat: "YYYYMMDD" },
@@ -146,161 +147,161 @@ const Lt = (t) => {
146
147
  displayFormat: "YYYY-MM-DD HH:mm",
147
148
  outputFormat: "YYYYMMDDHHmm"
148
149
  }
149
- }, It = ({
150
+ }, Mt = ({
150
151
  itemProps: t,
151
- inputProps: e,
152
- type: s = "date",
153
- returnType: o = "string"
152
+ inputProps: r,
153
+ type: d = "date",
154
+ returnType: l = "string"
154
155
  }) => {
155
- const { displayFormat: n, outputFormat: a } = W(
156
- () => fe[s],
157
- [s]
158
- ), u = W(
159
- () => Object.values(fe).map((i) => i.outputFormat).sort((i, m) => {
160
- if (i.length === m.length) {
161
- if (i === a) return -1;
162
- if (m === a) return 1;
156
+ const { displayFormat: e, outputFormat: s } = X(
157
+ () => he[d],
158
+ [d]
159
+ ), p = X(
160
+ () => Object.values(he).map((c) => c.outputFormat).sort((c, y) => {
161
+ if (c.length === y.length) {
162
+ if (c === s) return -1;
163
+ if (y === s) return 1;
163
164
  }
164
- return m.length - i.length;
165
+ return y.length - c.length;
165
166
  }),
166
- [a]
167
+ [s]
167
168
  // type(outputFormat)이 바뀔 때마다 재정렬
168
169
  );
169
- return /* @__PURE__ */ r(
170
- B,
170
+ return /* @__PURE__ */ a(
171
+ T,
171
172
  {
172
173
  ...t,
173
- getValueProps: (i) => ({
174
+ getValueProps: (c) => ({
174
175
  // 폼에 저장된 값(문자열 또는 Dayjs)을 DatePicker가 요구하는 Dayjs로 변환
175
- value: i ? E.isDayjs(i) ? i : E(i, u) : null
176
+ value: c ? N.isDayjs(c) ? c : N(c, p) : null
176
177
  }),
177
- normalize: (i) => i ? o === "dayjs" ? i : i.format(a) : null,
178
- children: /* @__PURE__ */ r(
179
- le,
178
+ normalize: (c) => c ? l === "dayjs" ? c : c.format(s) : null,
179
+ children: /* @__PURE__ */ a(
180
+ ie,
180
181
  {
181
- ...e,
182
- picker: s === "datetime" ? "date" : s,
183
- showTime: e?.showTime ?? (s === "datetime" || s === "time"),
184
- format: e?.format ? {
185
- format: e?.format?.format,
182
+ ...r,
183
+ picker: d === "datetime" ? "date" : d,
184
+ showTime: r?.showTime ?? (d === "datetime" || d === "time"),
185
+ format: r?.format ? {
186
+ format: r?.format?.format,
186
187
  type: "mask"
187
- } : n
188
+ } : e
188
189
  }
189
190
  )
190
191
  }
191
192
  );
192
- }, _t = ({
193
+ }, Dt = ({
193
194
  fileGrpKey: t,
194
- onFetchFilesTrxCd: e = "SCMFILE00101",
195
- readOnly: s = !1,
196
- appCd: o = __APP_CD__
195
+ onFetchFilesTrxCd: r = "SCMFILE00101",
196
+ readOnly: d = !1,
197
+ appCd: l = __APP_CD__
197
198
  }) => {
198
- const [n, a] = R([]);
199
- H(() => {
200
- if (e)
201
- if (o != __APP_CD__) {
202
- const m = me().findSystemByAppCd?.(o ?? __APP_CD__);
203
- if (!m || !m.sysCd) {
204
- console.error("해당 앱코드는 존재하지 않습니다.", o);
199
+ const [e, s] = j([]);
200
+ P(() => {
201
+ if (r)
202
+ if (l != __APP_CD__) {
203
+ const y = ge().findSystemByAppCd?.(l ?? __APP_CD__);
204
+ if (!y || !y.sysCd) {
205
+ console.error("해당 앱코드는 존재하지 않습니다.", l);
205
206
  return;
206
207
  }
207
208
  Ge(
208
- { trxCd: e, appCd: o },
209
+ { trxCd: r, appCd: l },
209
210
  {
210
- crprCd: qe(),
211
- sysCd: m.sysCd,
211
+ crprCd: We(),
212
+ sysCd: y.sysCd,
212
213
  fileGrpKey: t
213
214
  }
214
- ).then((l) => {
215
- if (l?.sub) {
216
- const L = l.sub.map((f) => ({
217
- uid: f.fileKey,
218
- name: f.lgclFileNm,
219
- filePath: f.filePath
215
+ ).then((i) => {
216
+ if (i?.sub) {
217
+ const f = i.sub.map((b) => ({
218
+ uid: b.fileKey,
219
+ name: b.lgclFileNm,
220
+ filePath: b.filePath
220
221
  }));
221
- a(L);
222
+ s(f);
222
223
  }
223
- }).catch((l) => {
224
- console.error("파일 목록 조회 서비스 호출에 실패했습니다.", l), N.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
224
+ }).catch((i) => {
225
+ console.error("파일 목록 조회 서비스 호출에 실패했습니다.", i), O.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
225
226
  });
226
227
  } else
227
- J(e, {
228
- crprCd: P()?.crprCd,
228
+ ee(r, {
229
+ crprCd: Q()?.crprCd,
229
230
  sysCd: __SYS_CD__,
230
231
  fileGrpKey: t
231
- }).then((i) => {
232
- if (i?.sub) {
233
- const m = i.sub.map((l) => ({
234
- uid: l.fileKey,
235
- name: l.lgclFileNm,
236
- filePath: l.filePath
232
+ }).then((c) => {
233
+ if (c?.sub) {
234
+ const y = c.sub.map((i) => ({
235
+ uid: i.fileKey,
236
+ name: i.lgclFileNm,
237
+ filePath: i.filePath
237
238
  }));
238
- a(m);
239
+ s(y);
239
240
  }
240
- }).catch((i) => {
241
- console.error("파일 목록 조회 서비스 호출에 실패했습니다.", i), N.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
241
+ }).catch((c) => {
242
+ console.error("파일 목록 조회 서비스 호출에 실패했습니다.", c), O.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
242
243
  });
243
244
  else
244
- a([]);
245
- }, [t, e, o]);
246
- const u = async (i) => {
245
+ s([]);
246
+ }, [t, r, l]);
247
+ const p = async (c) => {
247
248
  try {
248
- const l = me().findSystemByAppCd?.(o ?? __APP_CD__);
249
- if (!l || !l.sysCd) {
250
- console.error("해당 앱코드는 존재하지 않습니다.", o);
249
+ const i = ge().findSystemByAppCd?.(l ?? __APP_CD__);
250
+ if (!i || !i.sysCd) {
251
+ console.error("해당 앱코드는 존재하지 않습니다.", l);
251
252
  return;
252
253
  }
253
- const f = await fetch("/api/download", {
254
+ const b = await fetch("/api/download", {
254
255
  method: "POST",
255
256
  headers: {
256
- SYSCD: l.sysCd,
257
+ SYSCD: i.sysCd,
257
258
  "Content-Type": "application/json"
258
259
  // 여기에 필요한 다른 헤더(예: 인증 토큰)를 추가할 수 있습니다.
259
260
  },
260
261
  body: JSON.stringify({
261
- filePath: i.filePath,
262
- logicalName: i.name,
263
- fileKey: i.uid
262
+ filePath: c.filePath,
263
+ logicalName: c.name,
264
+ fileKey: c.uid
264
265
  })
265
266
  });
266
- if (!f.ok) {
267
- const S = (await f.json().catch(() => null))?.message || "파일 다운로드에 실패했습니다.";
268
- throw new Error(S);
267
+ if (!b.ok) {
268
+ const V = (await b.json().catch(() => null))?.message || "파일 다운로드에 실패했습니다.";
269
+ throw new Error(V);
269
270
  }
270
- const M = await f.blob(), Y = window.URL.createObjectURL(M), I = document.createElement("a");
271
- I.href = Y, I.setAttribute("download", i.name), document.body.appendChild(I), I.click(), document.body.removeChild(I), window.URL.revokeObjectURL(Y);
272
- } catch (m) {
273
- console.error(m), N.error(
274
- m.message || "파일을 다운로드하는 중 오류가 발생했습니다."
271
+ const k = await b.blob(), D = window.URL.createObjectURL(k), Y = document.createElement("a");
272
+ Y.href = D, Y.setAttribute("download", c.name), document.body.appendChild(Y), Y.click(), document.body.removeChild(Y), window.URL.revokeObjectURL(D);
273
+ } catch (y) {
274
+ console.error(y), O.error(
275
+ y.message || "파일을 다운로드하는 중 오류가 발생했습니다."
275
276
  );
276
277
  }
277
278
  };
278
- return /* @__PURE__ */ r(Fe, { title: "파일 목록", children: /* @__PURE__ */ r(
279
- ee,
279
+ return /* @__PURE__ */ a(Ye, { title: "파일 목록", children: /* @__PURE__ */ a(
280
+ re,
280
281
  {
281
- dataSource: n,
282
- renderItem: (i) => /* @__PURE__ */ r(
283
- ee.Item,
282
+ dataSource: e,
283
+ renderItem: (c) => /* @__PURE__ */ a(
284
+ re.Item,
284
285
  {
285
- actions: s ? [] : [
286
- /* @__PURE__ */ r(
287
- X,
286
+ actions: d ? [] : [
287
+ /* @__PURE__ */ a(
288
+ te,
288
289
  {
289
290
  type: "text",
290
- icon: /* @__PURE__ */ r(Ae, {}),
291
- onClick: () => u(i)
291
+ icon: /* @__PURE__ */ a($e, {}),
292
+ onClick: () => p(c)
292
293
  },
293
294
  "download"
294
295
  )
295
296
  ],
296
- children: /* @__PURE__ */ r(ee.Item.Meta, { avatar: /* @__PURE__ */ r(Oe, {}), title: i.name })
297
+ children: /* @__PURE__ */ a(re.Item.Meta, { avatar: /* @__PURE__ */ a(Oe, {}), title: c.name })
297
298
  }
298
299
  )
299
300
  }
300
301
  ) });
301
- }, et = xe(
302
- ({ children: t, labelCol: e, style: s, className: o, ...n }, a) => /* @__PURE__ */ r(
303
- se,
302
+ }, tt = Ae(
303
+ ({ children: t, labelCol: r, style: d, className: l, ...e }, s) => /* @__PURE__ */ a(
304
+ le,
304
305
  {
305
306
  form: {
306
307
  /**
@@ -309,23 +310,23 @@ const Lt = (t) => {
309
310
  */
310
311
  // validateMessages: { required: "'${label}을(를) 입력해주세요.'" },
311
312
  },
312
- children: /* @__PURE__ */ r(
313
- O,
313
+ children: /* @__PURE__ */ a(
314
+ $,
314
315
  {
315
- ref: a,
316
- ...n,
316
+ ref: s,
317
+ ...e,
317
318
  requiredMark: !1,
318
- labelCol: e || { flex: "100px" },
319
- style: { padding: "10px", ...s },
320
- className: `bwg-form ${o ?? ""}`,
319
+ labelCol: r || { flex: "100px" },
320
+ style: { padding: "10px", ...d },
321
+ className: `bwg-form ${l ?? ""}`,
321
322
  children: t
322
323
  }
323
324
  )
324
325
  }
325
326
  )
326
327
  );
327
- et.displayName = "BwgForm";
328
- const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, children: /* @__PURE__ */ r(te, { ...e }) }), { Text: oe } = Ce, { Dragger: tt } = G, rt = [
328
+ tt.displayName = "BwgForm";
329
+ const _t = ({ itemProps: t, inputProps: r }) => /* @__PURE__ */ a(T, { ...t, children: /* @__PURE__ */ a(J, { ...r }) }), { Text: ae } = be, { Dragger: rt } = q, nt = [
329
330
  ".pdf",
330
331
  ".xlsx",
331
332
  ".xls",
@@ -343,60 +344,60 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
343
344
  ".gif",
344
345
  // 압축
345
346
  ".zip"
346
- ], nt = (t, e = 2) => {
347
+ ], at = (t, r = 2) => {
347
348
  if (t === 0) return "0 Bytes";
348
- const s = 1024, o = e < 0 ? 0 : e, n = ["Bytes", "KB", "MB", "GB", "TB"], a = Math.floor(Math.log(t) / Math.log(s));
349
- return parseFloat((t / Math.pow(s, a)).toFixed(o)) + " " + n[a];
350
- }, Mt = ({
349
+ const d = 1024, l = r < 0 ? 0 : r, e = ["Bytes", "KB", "MB", "GB", "TB"], s = Math.floor(Math.log(t) / Math.log(d));
350
+ return parseFloat((t / Math.pow(d, s)).toFixed(l)) + " " + e[s];
351
+ }, Nt = ({
351
352
  title: t = "첨부파일",
352
- fileGrpKey: e,
353
- onUploadComplete: s,
354
- onSuccessTrxCd: o = "SCMFILE00102",
353
+ fileGrpKey: r,
354
+ onUploadComplete: d,
355
+ onSuccessTrxCd: l = "SCMFILE00102",
355
356
  // BwgUploader와 동일한 기본 trxCd 설정
356
- anotherServiceTrxCd: n = "SCMFILE00105",
357
- allowedExtensions: a = rt,
358
- maxFileSize: u = 2048
357
+ anotherServiceTrxCd: e = "SCMFILE00105",
358
+ allowedExtensions: s = nt,
359
+ maxFileSize: p = 2048
359
360
  // 기본값 2GB
360
361
  }) => {
361
- const [i, m] = R([]), [l, L] = R(!1), [f, M] = R(!1), [Y, I] = R(0), A = (g) => {
362
- if (a && a.length > 0) {
363
- const c = ((F) => {
364
- const w = F.lastIndexOf(".");
365
- return w === -1 ? "" : F.substring(w).toLowerCase();
362
+ const [c, y] = j([]), [i, f] = j(!1), [b, k] = j(!1), [D, Y] = j(0), R = (g) => {
363
+ if (s && s.length > 0) {
364
+ const A = ((z) => {
365
+ const o = z.lastIndexOf(".");
366
+ return o === -1 ? "" : z.substring(o).toLowerCase();
366
367
  })(g.name);
367
- if (!a.includes(c))
368
- return N.error(
369
- `${g.name} 파일은 허용되지 않는 확장자입니다. (${a.join(
368
+ if (!s.includes(A))
369
+ return O.error(
370
+ `${g.name} 파일은 허용되지 않는 확장자입니다. (${s.join(
370
371
  ", "
371
372
  )}만 가능)`
372
373
  ), !1;
373
374
  }
374
375
  return !0;
375
- }, S = async () => {
376
- const g = i.filter((_) => _.status !== "done"), y = g.reduce(
377
- (_, $) => _ + ($.size || 0),
376
+ }, V = async () => {
377
+ const g = c.filter((F) => F.status !== "done"), v = g.reduce(
378
+ (F, w) => F + (w.size || 0),
378
379
  0
379
- ), c = 2 * 1024 * 1024 * 1024;
380
- if (y > c) {
381
- Ie.error({
380
+ ), A = 2 * 1024 * 1024 * 1024;
381
+ if (v > A) {
382
+ ve.error({
382
383
  message: "업로드 용량 초과",
383
384
  description: "한 번에 업로드할 수 있는 총 파일 용량은 2GB를 초과할 수 없습니다."
384
385
  });
385
386
  return;
386
387
  }
387
388
  if (g.length === 0) {
388
- N.warning(
389
+ O.warning(
389
390
  "업로드할 파일이 없거나 모든 파일이 이미 업로드되었습니다."
390
391
  );
391
392
  return;
392
393
  }
393
- M(!0);
394
- let F;
394
+ k(!0);
395
+ let z;
395
396
  try {
396
- const _ = new We();
397
- g.forEach(($) => {
398
- $.originFileObj && _.file($.name, $.originFileObj);
399
- }), F = await _.generateAsync({
397
+ const F = new qe();
398
+ g.forEach((w) => {
399
+ w.originFileObj && F.file(w.name, w.originFileObj);
400
+ }), z = await F.generateAsync({
400
401
  type: "blob",
401
402
  compression: "DEFLATE",
402
403
  compressionOptions: {
@@ -404,198 +405,198 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
404
405
  // 높은 압축률 설정
405
406
  }
406
407
  });
407
- } catch (_) {
408
- M(!1), N.error("파일을 압축하는 중 오류가 발생했습니다."), console.error("Zipping error:", _);
408
+ } catch (F) {
409
+ k(!1), O.error("파일을 압축하는 중 오류가 발생했습니다."), console.error("Zipping error:", F);
409
410
  return;
410
411
  }
411
- M(!1);
412
- const w = new FormData();
413
- w.append("file", F, "upload.zip"), L(!0), I(0);
412
+ k(!1);
413
+ const o = new FormData();
414
+ o.append("file", z, "upload.zip"), f(!0), Y(0);
414
415
  try {
415
- const _ = await new Promise((C, D) => {
416
- const z = new XMLHttpRequest();
417
- z.open("POST", "/api/upload-large", !0), z.upload.onprogress = (x) => {
418
- if (x.lengthComputable) {
419
- const re = Math.round(
420
- x.loaded / x.total * 100
416
+ const F = await new Promise((S, E) => {
417
+ const B = new XMLHttpRequest();
418
+ B.open("POST", "/api/upload-large", !0), B.upload.onprogress = (U) => {
419
+ if (U.lengthComputable) {
420
+ const Z = Math.round(
421
+ U.loaded / U.total * 100
421
422
  );
422
- I(re);
423
+ Y(Z);
423
424
  }
424
- }, z.onload = () => {
425
- if (z.status >= 200 && z.status < 300)
425
+ }, B.onload = () => {
426
+ if (B.status >= 200 && B.status < 300)
426
427
  try {
427
- const x = JSON.parse(z.responseText);
428
- x.success ? C(x) : D(
429
- new Error(x.message || "파일 업로드에 실패했습니다.")
428
+ const U = JSON.parse(B.responseText);
429
+ U.success ? S(U) : E(
430
+ new Error(U.message || "파일 업로드에 실패했습니다.")
430
431
  );
431
432
  } catch {
432
- D(new Error("잘못된 서버 응답입니다."));
433
+ E(new Error("잘못된 서버 응답입니다."));
433
434
  }
434
435
  else
435
436
  try {
436
- const x = JSON.parse(z.responseText);
437
- D(new Error(x.message || `서버 오류: ${z.status}`));
437
+ const U = JSON.parse(B.responseText);
438
+ E(new Error(U.message || `서버 오류: ${B.status}`));
438
439
  } catch {
439
- D(new Error(`서버 오류: ${z.status}`));
440
+ E(new Error(`서버 오류: ${B.status}`));
440
441
  }
441
- }, z.onerror = () => {
442
- D(new Error("네트워크 오류가 발생했습니다."));
443
- }, z.send(w);
442
+ }, B.onerror = () => {
443
+ E(new Error("네트워크 오류가 발생했습니다."));
444
+ }, B.send(o);
444
445
  });
445
- N.success(
446
- _.message || "압축 파일이 성공적으로 업로드되었습니다."
446
+ O.success(
447
+ F.message || "압축 파일이 성공적으로 업로드되었습니다."
447
448
  );
448
- const $ = i.map(
449
- (C) => g.find((D) => D.uid === C.uid) ? { ...C, status: "done" } : C
449
+ const w = c.map(
450
+ (S) => g.find((E) => E.uid === S.uid) ? { ...S, status: "done" } : S
450
451
  );
451
- if (m($), o && _.uploadedFiles && Array.isArray(_.uploadedFiles)) {
452
- const C = P();
453
- _.uploadedFiles.forEach((D) => {
454
- const z = {
455
- crprCd: C?.crprCd,
452
+ if (y(w), l && F.uploadedFiles && Array.isArray(F.uploadedFiles)) {
453
+ const S = Q();
454
+ F.uploadedFiles.forEach((E) => {
455
+ const B = {
456
+ crprCd: S?.crprCd,
456
457
  sysCd: __SYS_CD__,
457
- fileGrpKey: e,
458
+ fileGrpKey: r,
458
459
  sub: [
459
460
  {
460
- crprCd: C?.crprCd,
461
+ crprCd: S?.crprCd,
461
462
  sysCd: __SYS_CD__,
462
- fileGrpKey: e,
463
- physFileNm: D.fileNameP,
464
- lgclFileNm: D.fileNameL,
465
- filePath: D.filePath,
466
- fileExtn: D.fileExt,
467
- fileSize: D.fileSize,
463
+ fileGrpKey: r,
464
+ physFileNm: E.fileNameP,
465
+ lgclFileNm: E.fileNameL,
466
+ filePath: E.filePath,
467
+ fileExtn: E.fileExt,
468
+ fileSize: E.fileSize,
468
469
  mltpYn: "Y"
469
470
  }
470
471
  ]
471
472
  };
472
- J(o, z).then((x) => {
473
- const re = i.map((Z) => ({
474
- crprCd: C?.crprCd,
473
+ ee(l, B).then((U) => {
474
+ const Z = c.map((W) => ({
475
+ crprCd: S?.crprCd,
475
476
  sysCd: __SYS_CD__,
476
- fileGrpKey: x.sub[0].fileGrpKey,
477
- fileKey: x.sub[0].fileKey,
478
- lgclFileNm: Z.name,
479
- fileSize: Z.size,
480
- fileExtn: Z.name.split(".").pop(),
481
- fileType: Z.type
477
+ fileGrpKey: U.sub[0].fileGrpKey,
478
+ fileKey: U.sub[0].fileKey,
479
+ lgclFileNm: W.name,
480
+ fileSize: W.size,
481
+ fileExtn: W.name.split(".").pop(),
482
+ fileType: W.type
482
483
  }));
483
- J(n, {
484
+ ee(e, {
484
485
  // 파일 목록에 fileKey를 추가합니다.
485
- sub: re
486
+ sub: Z
486
487
  });
487
- }).catch((x) => {
488
- console.error("후처리 서비스 호출 실패:", x), N.error(
489
- `${D.fileNameL} 파일의 후처리 작업에 실패했습니다.`
488
+ }).catch((U) => {
489
+ console.error("후처리 서비스 호출 실패:", U), O.error(
490
+ `${E.fileNameL} 파일의 후처리 작업에 실패했습니다.`
490
491
  );
491
- }), s && s({
492
- fileNameP: D.fileNameP,
493
- fileNameL: D.fileNameL
492
+ }), d && d({
493
+ fileNameP: E.fileNameP,
494
+ fileNameL: E.fileNameL
494
495
  });
495
496
  });
496
497
  }
497
- } catch (_) {
498
- N.error(_.message || "파일 업로드 중 오류가 발생했습니다.");
499
- const $ = i.map(
500
- (C) => g.find((D) => D.uid === C.uid) ? {
501
- ...C,
498
+ } catch (F) {
499
+ O.error(F.message || "파일 업로드 중 오류가 발생했습니다.");
500
+ const w = c.map(
501
+ (S) => g.find((E) => E.uid === S.uid) ? {
502
+ ...S,
502
503
  status: "error",
503
- response: _.message || "파일 업로드 중 오류가 발생했습니다."
504
- } : C
504
+ response: F.message || "파일 업로드 중 오류가 발생했습니다."
505
+ } : S
505
506
  );
506
- m($);
507
+ y(w);
507
508
  } finally {
508
- L(!1);
509
+ f(!1);
509
510
  }
510
- }, p = {
511
+ }, _ = {
511
512
  multiple: !0,
512
- fileList: i,
513
- beforeUpload: (g) => A(g) ? u && g.size >= u * 1024 * 1024 ? (N.error(
514
- `대용량 첨부 파일 최대 크기는 ${(u / 1024).toFixed(
513
+ fileList: c,
514
+ beforeUpload: (g) => R(g) ? p && g.size >= p * 1024 * 1024 ? (O.error(
515
+ `대용량 첨부 파일 최대 크기는 ${(p / 1024).toFixed(
515
516
  1
516
517
  )}GB입니다.`
517
- ), G.LIST_IGNORE) : !1 : G.LIST_IGNORE,
518
+ ), q.LIST_IGNORE) : !1 : q.LIST_IGNORE,
518
519
  onChange: ({ fileList: g }) => {
519
- const y = new Map(i.map((c) => [c.uid, c]));
520
- g.forEach((c) => {
521
- y.set(c.uid, c);
522
- }), m(Array.from(y.values()));
520
+ const v = new Map(c.map((A) => [A.uid, A]));
521
+ g.forEach((A) => {
522
+ v.set(A.uid, A);
523
+ }), y(Array.from(v.values()));
523
524
  },
524
525
  onRemove: (g) => {
525
- const y = i.filter((c) => c.uid !== g.uid);
526
- m(y);
526
+ const v = c.filter((A) => A.uid !== g.uid);
527
+ y(v);
527
528
  },
528
529
  showUploadList: !1
529
530
  // 수동으로 목록을 렌더링하므로 antd의 기본 목록은 숨깁니다.
530
531
  };
531
- return /* @__PURE__ */ r(
532
- Se,
532
+ return /* @__PURE__ */ a(
533
+ Le,
533
534
  {
534
- spinning: l || f,
535
- tip: f ? "파일 압축 중..." : `파일 업로드 중... ${Y}%`,
536
- children: /* @__PURE__ */ K("div", { className: "bwg-large-uploader-container", children: [
537
- /* @__PURE__ */ r(
538
- Fe,
535
+ spinning: i || b,
536
+ tip: b ? "파일 압축 중..." : `파일 업로드 중... ${D}%`,
537
+ children: /* @__PURE__ */ G("div", { className: "bwg-large-uploader-container", children: [
538
+ /* @__PURE__ */ a(
539
+ Ye,
539
540
  {
540
- title: /* @__PURE__ */ r(oe, { strong: !0, children: t }),
541
- extra: /* @__PURE__ */ r(G, { ...p, children: /* @__PURE__ */ r(X, { icon: /* @__PURE__ */ r(Ye, {}), children: "파일 선택" }) }),
541
+ title: /* @__PURE__ */ a(ae, { strong: !0, children: t }),
542
+ extra: /* @__PURE__ */ a(q, { ..._, children: /* @__PURE__ */ a(te, { icon: /* @__PURE__ */ a(ke, {}), children: "파일 선택" }) }),
542
543
  style: { padding: 0 },
543
- children: /* @__PURE__ */ r(
544
- tt,
544
+ children: /* @__PURE__ */ a(
545
+ rt,
545
546
  {
546
- ...p,
547
+ ..._,
547
548
  style: {
548
549
  border: "none",
549
550
  background: "transparent",
550
551
  padding: 0
551
552
  },
552
- children: /* @__PURE__ */ r("div", { className: "upload-list-container", children: i.length > 0 ? /* @__PURE__ */ r(
553
- ee,
553
+ children: /* @__PURE__ */ a("div", { className: "upload-list-container", children: c.length > 0 ? /* @__PURE__ */ a(
554
+ re,
554
555
  {
555
556
  style: { textAlign: "left" },
556
- dataSource: i,
557
+ dataSource: c,
557
558
  renderItem: (g) => {
558
- const y = g.status === "done", c = g.status === "error";
559
- let F;
560
- return y ? F = /* @__PURE__ */ r(
561
- $e,
559
+ const v = g.status === "done", A = g.status === "error";
560
+ let z;
561
+ return v ? z = /* @__PURE__ */ a(
562
+ je,
562
563
  {
563
564
  style: { color: "#52c41a", fontSize: 14 }
564
565
  }
565
- ) : c ? F = /* @__PURE__ */ r(
566
- _e,
566
+ ) : A ? z = /* @__PURE__ */ a(
567
+ Me,
567
568
  {
568
569
  title: typeof g.response == "string" ? g.response : "업로드 실패",
569
- children: /* @__PURE__ */ r(
570
- Te,
570
+ children: /* @__PURE__ */ a(
571
+ He,
571
572
  {
572
573
  style: { color: "#ff4d4f", fontSize: 14 }
573
574
  }
574
575
  )
575
576
  }
576
- ) : F = /* @__PURE__ */ r(Re, { style: { fontSize: 14 } }), /* @__PURE__ */ r(
577
- ee.Item,
577
+ ) : z = /* @__PURE__ */ a(Ke, { style: { fontSize: 14 } }), /* @__PURE__ */ a(
578
+ re.Item,
578
579
  {
579
580
  actions: [
580
- /* @__PURE__ */ r(oe, { type: "secondary", children: nt(g.size || 0) }, "size"),
581
- /* @__PURE__ */ r(
582
- X,
581
+ /* @__PURE__ */ a(ae, { type: "secondary", children: at(g.size || 0) }, "size"),
582
+ /* @__PURE__ */ a(
583
+ te,
583
584
  {
584
585
  type: "text",
585
- icon: /* @__PURE__ */ r(ze, {}),
586
- onClick: (w) => {
587
- w.stopPropagation(), p.onRemove?.(g);
586
+ icon: /* @__PURE__ */ a(Re, {}),
587
+ onClick: (o) => {
588
+ o.stopPropagation(), _.onRemove?.(g);
588
589
  },
589
- disabled: l || f
590
+ disabled: i || b
590
591
  },
591
592
  "delete"
592
593
  )
593
594
  ],
594
- children: /* @__PURE__ */ r(
595
- ee.Item.Meta,
595
+ children: /* @__PURE__ */ a(
596
+ re.Item.Meta,
596
597
  {
597
- avatar: F,
598
- title: /* @__PURE__ */ r(oe, { type: c ? "danger" : void 0, children: g.name })
598
+ avatar: z,
599
+ title: /* @__PURE__ */ a(ae, { type: A ? "danger" : void 0, children: g.name })
599
600
  }
600
601
  )
601
602
  },
@@ -603,8 +604,8 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
603
604
  );
604
605
  }
605
606
  }
606
- ) : /* @__PURE__ */ K(
607
- ue,
607
+ ) : /* @__PURE__ */ G(
608
+ me,
608
609
  {
609
610
  gap: "middle",
610
611
  align: "center",
@@ -612,8 +613,8 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
612
613
  vertical: !0,
613
614
  style: { padding: "20px 0", minHeight: "120px" },
614
615
  children: [
615
- /* @__PURE__ */ r(Ve, { style: { fontSize: "32px", color: "#999" } }),
616
- /* @__PURE__ */ r(oe, { type: "secondary", children: "업로드할 파일을 선택하거나 이 영역으로 드래그하세요." })
616
+ /* @__PURE__ */ a(Ue, { style: { fontSize: "32px", color: "#999" } }),
617
+ /* @__PURE__ */ a(ae, { type: "secondary", children: "업로드할 파일을 선택하거나 이 영역으로 드래그하세요." })
617
618
  ]
618
619
  }
619
620
  ) })
@@ -621,22 +622,22 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
621
622
  )
622
623
  }
623
624
  ),
624
- i.length > 0 && /* @__PURE__ */ K(
625
- ue,
625
+ c.length > 0 && /* @__PURE__ */ G(
626
+ me,
626
627
  {
627
628
  justify: "flex-end",
628
629
  align: "center",
629
630
  gap: "large",
630
631
  style: { marginTop: 16 },
631
632
  children: [
632
- l && /* @__PURE__ */ r("div", { style: { width: "250px" }, children: /* @__PURE__ */ r(we, { percent: Y, size: "small" }) }),
633
- /* @__PURE__ */ r(
634
- X,
633
+ i && /* @__PURE__ */ a("div", { style: { width: "250px" }, children: /* @__PURE__ */ a(Ie, { percent: D, size: "small" }) }),
634
+ /* @__PURE__ */ a(
635
+ te,
635
636
  {
636
637
  type: "primary",
637
- onClick: S,
638
- disabled: l || f || i.filter((g) => g.status !== "done").length === 0,
639
- icon: /* @__PURE__ */ r(Ue, {}),
638
+ onClick: V,
639
+ disabled: i || b || c.filter((g) => g.status !== "done").length === 0,
640
+ icon: /* @__PURE__ */ a(Te, {}),
640
641
  children: "일괄 업로드"
641
642
  }
642
643
  )
@@ -652,29 +653,29 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
652
653
  if (Array.isArray(t))
653
654
  return t[0].replace(/0/g, "_");
654
655
  if (typeof t == "object" && "mask" in t && "blocks" in t) {
655
- const { mask: e, blocks: s } = t;
656
- return e.split(".").map((o) => {
657
- const a = s?.[o]?.maxLength ?? 3;
658
- return "_".repeat(a);
656
+ const { mask: r, blocks: d } = t;
657
+ return r.split(".").map((l) => {
658
+ const s = d?.[l]?.maxLength ?? 3;
659
+ return "_".repeat(s);
659
660
  }).join(".");
660
661
  }
661
662
  return "";
662
- }, Dt = ({
663
+ }, xt = ({
663
664
  itemProps: t,
664
- inputProps: e,
665
- mask: s
665
+ inputProps: r,
666
+ mask: d
666
667
  }) => {
667
- const o = q(null), n = O.useFormInstance(), a = W(() => ot(s), [s]);
668
- return H(() => {
669
- if (!o.current?.input) return;
670
- const u = typeof s == "string" || Array.isArray(s) ? { mask: s } : s, i = be(o.current.input, u);
671
- return i.on("accept", () => {
672
- n && t?.name && n.setFieldValue(t.name, i.value);
668
+ const l = K(null), e = $.useFormInstance(), s = X(() => ot(d), [d]);
669
+ return P(() => {
670
+ if (!l.current?.input) return;
671
+ const p = typeof d == "string" || Array.isArray(d) ? { mask: d } : d, c = se(l.current.input, p);
672
+ return c.on("accept", () => {
673
+ e && t?.name && e.setFieldValue(t.name, c.value);
673
674
  }), () => {
674
- i.destroy();
675
+ c.destroy();
675
676
  };
676
- }, [s, n, t?.name]), /* @__PURE__ */ r(B, { ...t, children: /* @__PURE__ */ r(te, { ...e, ref: o, placeholder: a }) });
677
- }, at = (t) => {
677
+ }, [d, e, t?.name]), /* @__PURE__ */ a(T, { ...t, children: /* @__PURE__ */ a(J, { ...r, ref: l, placeholder: s }) });
678
+ }, st = (t) => {
678
679
  switch (t) {
679
680
  case "year":
680
681
  return { format: "YYYY", mask: "0000", outputFormat: "YYYY" };
@@ -688,67 +689,69 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
688
689
  outputFormat: "YYYYMMDD"
689
690
  };
690
691
  }
691
- }, kt = ({
692
+ }, At = ({
692
693
  type: t = "date",
693
- itemProps: e = { name: "calendar" },
694
- inputProps: s
694
+ itemProps: r = { name: "calendar" },
695
+ inputProps: d,
696
+ pickerProps: l
695
697
  }) => {
696
- const { format: o, mask: n, outputFormat: a } = at(t), u = q(null), i = q(null), m = q(null), l = O.useFormInstance(), [L, f] = R(!1), [M, Y] = R(!1), I = e?.name, [A, S] = R(null), p = O.useWatch(I, l);
697
- H(() => {
698
- if (!u.current?.input) return;
699
- const c = be(u.current.input, {
700
- mask: n,
698
+ const { format: e, mask: s, outputFormat: p } = st(t), c = K(null), y = K(null), i = K(null), f = $.useFormInstance(), [b, k] = j(!1), [D, Y] = j(!1), R = r?.name, [V, _] = j(null), g = $.useWatch(R, f), v = Se();
699
+ P(() => {
700
+ if (!c.current?.input) return;
701
+ const o = se(c.current.input, {
702
+ mask: s,
701
703
  lazy: !1
702
704
  });
703
- return i.current = c, c.on("accept", () => {
704
- const F = c.value;
705
- F.length > 0 && f(!0);
706
- const w = E(F, o, !0);
707
- F.length === o.length && w.isValid() && (l.setFieldValue(I, c.value), S(w), i.current?.updateValue());
705
+ return y.current = o, o.on("accept", () => {
706
+ const F = o.value;
707
+ F.length > 0 && k(!0);
708
+ const w = N(F, e, !0);
709
+ F.length === e.length && w.isValid() && (f.setFieldValue(R, o.value), _(w), y.current?.updateValue());
708
710
  }), () => {
709
- c.destroy();
711
+ o.destroy();
710
712
  };
711
- }, [o, n]), H(() => {
712
- if (!p) {
713
- S(null);
713
+ }, [e, s]), P(() => {
714
+ if (!g) {
715
+ _(null);
714
716
  return;
715
717
  }
716
- let c = null;
717
- if (typeof p == "string" && p.length === a.length && /^\d+$/.test(p))
718
+ let o = null;
719
+ if (typeof g == "string" && g.length === p.length && /^\d+$/.test(g))
718
720
  if (t === "date") {
719
- const F = p.substring(0, 4), w = p.substring(4, 6), _ = p.substring(6, 8);
720
- c = E(`${F}-${w}-${_}`, o, !0);
721
+ const F = g.substring(0, 4), w = g.substring(4, 6), S = g.substring(6, 8);
722
+ o = N(`${F}-${w}-${S}`, e, !0);
721
723
  } else if (t === "month") {
722
- const F = p.substring(0, 4), w = p.substring(4, 6);
723
- c = E(`${F}-${w}`, o, !0);
724
- } else t === "year" && (c = E(p, o, !0));
724
+ const F = g.substring(0, 4), w = g.substring(4, 6);
725
+ o = N(`${F}-${w}`, e, !0);
726
+ } else t === "year" && (o = N(g, e, !0));
725
727
  else
726
- c = E(p, o, !0);
727
- c && c.isValid() ? S(c) : S(null), Y(!1);
728
- }, [p, o, a, t]);
729
- const g = (c) => {
730
- if (!c) {
731
- S(null), i.current?.updateValue();
728
+ o = N(g, e, !0);
729
+ o && o.isValid() ? _(o) : _(null), Y(!1);
730
+ }, [g, e, p, t]);
731
+ const A = (o) => {
732
+ if (!o) {
733
+ _(null), y.current?.updateValue();
732
734
  return;
733
735
  }
734
- S(c);
735
- const F = c.format(a);
736
- i.current && (i.current.value = F, i.current.updateValue()), Y(!1);
737
- }, y = (c) => {
736
+ _(o);
737
+ const F = o.format(p);
738
+ y.current && (y.current.value = F, y.current.updateValue()), Y(!1);
739
+ }, z = (o) => {
738
740
  setTimeout(() => {
739
- const F = document.activeElement, w = m.current, _ = w?.querySelector(".ant-picker-dropdown");
740
- !(w && (w.contains(F) || w === F || _?.contains(F))) && !(c !== void 0 ? c : L) && console.log("✅ Input과 DatePicker 모두 포커스가 없습니다");
741
+ const F = document.activeElement, w = i.current, S = w?.querySelector(".ant-picker-dropdown");
742
+ !(w && (w.contains(F) || w === F || S?.contains(F))) && !(o !== void 0 ? o : b) && console.log("✅ Input과 DatePicker 모두 포커스가 없습니다");
741
743
  }, 0);
742
744
  };
743
- return /* @__PURE__ */ r(
744
- B,
745
+ return /* @__PURE__ */ a(
746
+ T,
745
747
  {
746
- ...e,
748
+ ...r,
747
749
  name: void 0,
748
- validateStatus: M ? "warning" : void 0,
749
- children: /* @__PURE__ */ r(
750
- se,
750
+ validateStatus: D ? "warning" : void 0,
751
+ children: /* @__PURE__ */ G(
752
+ le,
751
753
  {
754
+ componentSize: v.componentSize,
752
755
  theme: {
753
756
  components: {
754
757
  Input: {
@@ -756,59 +759,63 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
756
759
  }
757
760
  }
758
761
  },
759
- children: /* @__PURE__ */ K("div", { ref: m, style: { position: "relative" }, children: [
760
- /* @__PURE__ */ r(
761
- O.Item,
762
+ children: [
763
+ /* @__PURE__ */ a(
764
+ $.Item,
762
765
  {
763
- name: I,
764
- getValueProps: (c) => ({
765
- value: c ? E(c).format(o) : void 0
766
+ name: R,
767
+ getValueProps: (o) => ({
768
+ value: o ? N(o).format(e) : void 0
766
769
  }),
767
- normalize: (c) => c ? E(c).format(a) : void 0,
770
+ normalize: (o) => o ? N(o).format(p) : void 0,
768
771
  noStyle: !0,
769
- children: /* @__PURE__ */ r(
770
- te,
772
+ children: /* @__PURE__ */ a(
773
+ J,
771
774
  {
772
- ...s,
773
- ref: u,
775
+ ...d,
776
+ ref: c,
774
777
  onFocus: () => {
775
- f(!L), i.current?.updateValue();
778
+ k(!b), y.current?.updateValue();
776
779
  },
777
780
  onBlur: () => {
778
- y();
781
+ z();
779
782
  },
780
- onKeyDown: (c) => {
781
- if (c.key === "Backspace" && f(!0), c.key === "Tab" && f(!1), c.key === "Enter")
782
- if (L) {
783
- const F = i.current?.value || "", w = E(F, o, !0);
784
- F.length === o.length && w.isValid() ? (f(!1), Y(!1)) : Y(!0);
783
+ onKeyDown: (o) => {
784
+ if (o.key === "Backspace" && k(!0), o.key === "Tab" && k(!1), o.key === "Enter")
785
+ if (b) {
786
+ const F = y.current?.value || "", w = N(F, e, !0);
787
+ F.length === e.length && w.isValid() ? (k(!1), Y(!1)) : Y(!0);
785
788
  } else
786
- f(!0);
789
+ k(!0);
790
+ },
791
+ style: {
792
+ width: "65%"
787
793
  },
788
794
  allowClear: !0,
789
- placeholder: n.replace(/0/g, "_"),
790
- suffix: /* @__PURE__ */ r(je, { style: { color: "#d9d9d9" } }),
795
+ placeholder: s.replace(/0/g, "_"),
796
+ suffix: /* @__PURE__ */ a(ue, { style: { color: "#d9d9d9" } }),
791
797
  autoComplete: "off"
792
798
  }
793
799
  )
794
800
  }
795
801
  ),
796
- /* @__PURE__ */ r(
797
- le,
802
+ /* @__PURE__ */ a(
803
+ ie,
798
804
  {
799
- open: L,
805
+ ...l,
806
+ open: b,
800
807
  picker: t,
801
808
  format: {
802
- format: o,
809
+ format: e,
803
810
  type: "mask"
804
811
  },
805
812
  showNow: !0,
806
- value: A,
807
- onChange: g,
808
- onOpenChange: (c) => {
809
- f(c), c || y(!1);
813
+ value: V,
814
+ onChange: A,
815
+ onOpenChange: (o) => {
816
+ k(o), o || z(!1);
810
817
  },
811
- renderExtraFooter: () => M ? /* @__PURE__ */ K(
818
+ renderExtraFooter: () => D ? /* @__PURE__ */ G(
812
819
  "div",
813
820
  {
814
821
  style: {
@@ -822,12 +829,12 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
822
829
  backgroundColor: "#fffbe6"
823
830
  },
824
831
  children: [
825
- /* @__PURE__ */ r(He, {}),
826
- /* @__PURE__ */ r("span", { children: "유효하지 않은 날짜입니다" })
832
+ /* @__PURE__ */ a(Ve, {}),
833
+ /* @__PURE__ */ a("span", { children: "유효하지 않은 날짜입니다" })
827
834
  ]
828
835
  }
829
836
  ) : null,
830
- getPopupContainer: (c) => c.parentElement,
837
+ getPopupContainer: (o) => o.parentElement,
831
838
  style: {
832
839
  position: "absolute",
833
840
  top: 0,
@@ -838,51 +845,481 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
838
845
  }
839
846
  }
840
847
  )
841
- ] })
848
+ ]
842
849
  }
843
850
  )
844
851
  }
845
852
  );
846
- }, { Option: he } = ce, xt = ({ itemProps: t, inputProps: e }) => {
847
- const [s, o] = R([]);
848
- return H(() => {
849
- e?.addField === "ALL" ? o([
853
+ }, { RangePicker: lt } = ie, it = (t) => {
854
+ switch (t) {
855
+ case "year":
856
+ return { format: "YYYY", mask: "0000", outputFormat: "YYYY" };
857
+ case "month":
858
+ return { format: "YYYY-MM", mask: "0000-00", outputFormat: "YYYYMM" };
859
+ case "date":
860
+ default:
861
+ return {
862
+ format: "YYYY-MM-DD",
863
+ mask: "0000-00-00",
864
+ outputFormat: "YYYYMMDD"
865
+ };
866
+ }
867
+ }, Et = ({
868
+ type: t = "date",
869
+ itemProps: r = { name: "dateRange" },
870
+ inputProps: d,
871
+ pickerProps: l
872
+ }) => {
873
+ const { format: e, mask: s, outputFormat: p } = it(t), c = K(null), y = K(null), i = K(null), f = K(null), b = K(null), k = $.useFormInstance(), [D, Y] = j(!1), [R, V] = j(!1), [_, g] = j(null), [v, A] = j(!1), z = K(!1), o = r?.name, [F, w] = j([
874
+ null,
875
+ null
876
+ ]), S = $.useWatch(
877
+ o ? Array.isArray(o) ? [...o, 0] : [o, 0] : void 0,
878
+ k
879
+ ), E = $.useWatch(
880
+ o ? Array.isArray(o) ? [...o, 1] : [o, 1] : void 0,
881
+ k
882
+ ), B = $.useWatch(o, k), U = Se();
883
+ P(() => {
884
+ if (!c.current?.input) return;
885
+ const n = se(c.current.input, {
886
+ mask: s,
887
+ lazy: !1
888
+ });
889
+ return i.current = n, n.on("accept", () => {
890
+ const m = n.value, h = n.unmaskedValue || "";
891
+ if (console.log("🔵 [시작일] accept 이벤트:", {
892
+ maskValue: m,
893
+ unmaskedValue: h,
894
+ length: m.length,
895
+ formatLength: e.length
896
+ }), m.length > 0 && (g("start"), Y(!0), A(!1)), h.length === p.length) {
897
+ const u = N(m, e, !0);
898
+ if (u.isValid()) {
899
+ console.log("🔵 [시작일] 입력 완료 및 검증 통과:", {
900
+ parsed: u.format(e)
901
+ });
902
+ const M = u.format(p);
903
+ z.current = !0;
904
+ const C = Array.isArray(o) ? [...o, 0] : [o, 0];
905
+ k.setFieldValue(C, M), w([u, F[1]]), i.current && i.current.updateValue(), V(!1), setTimeout(() => {
906
+ f.current && (f.current.value = "", f.current.unmaskedValue = "", f.current.updateValue());
907
+ const L = Array.isArray(o) ? [...o, 1] : [o, 1];
908
+ k.getFieldValue(L) || k.setFieldValue(L, void 0), y.current?.focus(), setTimeout(() => {
909
+ if (f.current) {
910
+ const x = f.current.value || "";
911
+ !(f.current.unmaskedValue || "") && !x.replace(/[^0-9]/g, "") && (f.current.value = "", f.current.updateValue());
912
+ }
913
+ }, 10), g("end"), Y(!0), z.current = !1;
914
+ }, 0);
915
+ } else
916
+ l?.allowEmpty ? V(!1) : (console.log("🔵 [시작일] 검증 실패:", { val: m, parsed: u }), V(!0));
917
+ }
918
+ }), () => {
919
+ n.destroy();
920
+ };
921
+ }, [e, s, o]), P(() => {
922
+ if (!y.current?.input) return;
923
+ const n = se(y.current.input, {
924
+ mask: s,
925
+ lazy: !1
926
+ });
927
+ return f.current = n, n.on("accept", () => {
928
+ const m = n.value, h = n.unmaskedValue || "";
929
+ if (console.log("🟢 [종료일] accept 이벤트:", {
930
+ maskValue: m,
931
+ unmaskedValue: h,
932
+ length: m.length,
933
+ formatLength: e.length
934
+ }), h === "" || h.length === 0) {
935
+ const u = Array.isArray(o) ? [...o, 1] : [o, 1];
936
+ k.setFieldValue(u, void 0), w([F[0], null]), f.current && (f.current.value = "", f.current.updateValue()), setTimeout(() => {
937
+ c.current?.focus(), g("start"), Y(!0);
938
+ }, 0);
939
+ return;
940
+ }
941
+ if (m.length > 0 && (g("end"), Y(!0)), m.length < e.length) {
942
+ V(!1);
943
+ return;
944
+ }
945
+ if (h.length === p.length) {
946
+ const u = N(m, e, !0);
947
+ if (u.isValid()) {
948
+ const M = u.format(p);
949
+ console.log("🟢 [종료일] 입력 완료:", {
950
+ parsed: u.format(e),
951
+ formatted: M
952
+ }), z.current = !0;
953
+ const C = Array.isArray(o) ? [...o, 1] : [o, 1];
954
+ k.setFieldValue(C, M), w([F[0], u]), f.current?.updateValue(), setTimeout(() => {
955
+ z.current = !1;
956
+ }, 0);
957
+ } else
958
+ l?.allowEmpty ? V(!1) : (console.log("🟢 [종료일] 검증 실패:", { val: m, parsed: u }), V(!0));
959
+ }
960
+ }), () => {
961
+ n.destroy();
962
+ };
963
+ }, [e, s, o]), P(() => {
964
+ console.log("🟡 [useEffect] form 값 변경 감지:", {
965
+ startFormValue: S,
966
+ endFormValue: E,
967
+ formValue: B
968
+ });
969
+ const n = S ?? (Array.isArray(B) ? B[0] : null), m = E ?? (Array.isArray(B) ? B[1] : null);
970
+ if (n === void 0 && m === void 0 && (!B || !Array.isArray(B))) {
971
+ w([null, null]);
972
+ return;
973
+ }
974
+ const h = (C) => {
975
+ if (!C) return null;
976
+ let L = null;
977
+ if (typeof C == "string" && C.length === p.length && /^\d+$/.test(C))
978
+ if (t === "date") {
979
+ const I = C.substring(0, 4), x = C.substring(4, 6), H = C.substring(6, 8);
980
+ L = N(`${I}-${x}-${H}`, e, !0);
981
+ } else if (t === "month") {
982
+ const I = C.substring(0, 4), x = C.substring(4, 6);
983
+ L = N(`${I}-${x}`, e, !0);
984
+ } else t === "year" && (L = N(C, e, !0));
985
+ else
986
+ L = N(C, e, !0);
987
+ return L && L.isValid() ? L : null;
988
+ }, u = h(n), M = h(m);
989
+ if (console.log("🟡 [useEffect] 파싱 결과:", {
990
+ startParsed: u ? u.format(e) : null,
991
+ endParsed: M ? M.format(e) : null,
992
+ isStartDateFromPicker: v
993
+ }), w([u, M]), z.current) {
994
+ console.log("🟡 [useEffect] 사용자 입력 중 - 마스크 값 업데이트 스킵"), V(!1);
995
+ return;
996
+ }
997
+ if (!v && i.current) {
998
+ const C = i.current.value || "", L = u ? u.format(e) : "", I = i.current.unmaskedValue || "", x = u ? u.format(p) : "";
999
+ console.log("🟡 [useEffect] 시작일 마스크 값 체크:", {
1000
+ currentMaskValue: C,
1001
+ expectedMaskValue: L,
1002
+ unmaskedValue: I,
1003
+ expectedUnmasked: x,
1004
+ shouldUpdate: C === "" || C !== L,
1005
+ canUpdate: I === "" || I === x
1006
+ }), (C === "" || C !== L) && (I === "" || I === x ? (console.log("🟡 [useEffect] 시작일 마스크 값 업데이트:", {
1007
+ before: C,
1008
+ after: u ? u.format(e) : ""
1009
+ }), u ? (i.current.value = u.format(e), i.current.updateValue()) : (i.current.value = "", i.current.updateValue())) : console.log(
1010
+ "🟡 [useEffect] 시작일 마스크 값 업데이트 스킵 (사용자 입력 중)"
1011
+ ));
1012
+ }
1013
+ if (f.current) {
1014
+ const C = f.current.value || "", L = M ? M.format(e) : "", I = f.current.unmaskedValue || "", x = M ? M.format(p) : "";
1015
+ console.log("🟡 [useEffect] 종료일 마스크 값 체크:", {
1016
+ currentMaskValue: C,
1017
+ expectedMaskValue: L,
1018
+ unmaskedValue: I,
1019
+ expectedUnmasked: x,
1020
+ shouldUpdate: C === "" || C !== L,
1021
+ canUpdate: I === "" || I === x
1022
+ }), (C === "" || C !== L) && (I === "" || I === x ? (console.log("🟡 [useEffect] 종료일 마스크 값 업데이트:", {
1023
+ before: C,
1024
+ after: L
1025
+ }), M ? (f.current.value = M.format(e), f.current.updateValue()) : (f.current.value = "", f.current.updateValue())) : console.log(
1026
+ "🟡 [useEffect] 종료일 마스크 값 업데이트 스킵 (사용자 입력 중)"
1027
+ ));
1028
+ }
1029
+ V(!1);
1030
+ }, [S, E, B, e, p, t]);
1031
+ const Z = (n) => {
1032
+ if (console.log("🔴 [RangePicker] 날짜 변경:", {
1033
+ dates: n ? [
1034
+ n[0] ? n[0].format(e) : null,
1035
+ n[1] ? n[1].format(e) : null
1036
+ ] : null,
1037
+ prevRange: [
1038
+ F[0] ? F[0].format(e) : null,
1039
+ F[1] ? F[1].format(e) : null
1040
+ ]
1041
+ }), !n) {
1042
+ w([null, null]), i.current?.updateValue(), f.current?.updateValue();
1043
+ return;
1044
+ }
1045
+ const [m, h] = n, u = F[0], M = m && (!u || !m.isSame(
1046
+ u,
1047
+ t === "year" ? "year" : t === "month" ? "month" : "day"
1048
+ ));
1049
+ if (console.log("🔴 [RangePicker] 시작일 변경 여부:", {
1050
+ isStartDateChanged: M,
1051
+ startDate: m ? m.format(e) : null,
1052
+ prevStartDate: u ? u.format(e) : null
1053
+ }), w([m, h]), M) {
1054
+ console.log("🔴 [RangePicker] 시작일 선택됨 - input 비우기"), A(!0), i.current && (i.current.value = "", i.current.updateValue());
1055
+ const C = m.format(p);
1056
+ console.log("🔴 [RangePicker] form 값 업데이트:", {
1057
+ formatted: C
1058
+ });
1059
+ const L = Array.isArray(o) ? [...o, 0] : [o, 0];
1060
+ k.setFieldValue(L, C);
1061
+ } else !m && i.current ? (A(!1), i.current.value = "", i.current.updateValue()) : A(!1);
1062
+ if (h && f.current) {
1063
+ const C = h.format(p);
1064
+ f.current.value = C, f.current.updateValue();
1065
+ } else !h && f.current && (f.current.value = "", f.current.updateValue());
1066
+ V(!1);
1067
+ }, W = (n) => {
1068
+ setTimeout(() => {
1069
+ const m = document.activeElement, h = b.current, u = h?.querySelector(".ant-picker-dropdown");
1070
+ !(h && (h.contains(m) || h === m || u?.contains(m))) && !(n !== void 0 ? n : D) && (console.log("✅ Input과 RangePicker 모두 포커스가 없습니다"), Y(!1));
1071
+ }, 0);
1072
+ };
1073
+ return /* @__PURE__ */ a(
1074
+ T,
1075
+ {
1076
+ ...r,
1077
+ name: void 0,
1078
+ validateStatus: R ? "warning" : void 0,
1079
+ children: /* @__PURE__ */ G(
1080
+ le,
1081
+ {
1082
+ componentSize: U.componentSize,
1083
+ theme: {
1084
+ components: {
1085
+ Input: {
1086
+ addonBg: "#fff"
1087
+ }
1088
+ }
1089
+ },
1090
+ children: [
1091
+ /* @__PURE__ */ G(
1092
+ "div",
1093
+ {
1094
+ ref: b,
1095
+ style: {
1096
+ display: "flex",
1097
+ alignItems: "center",
1098
+ gap: "8px",
1099
+ width: "100%"
1100
+ },
1101
+ children: [
1102
+ /* @__PURE__ */ a(
1103
+ $.Item,
1104
+ {
1105
+ name: o ? Array.isArray(o) ? [...o, 0] : [o, 0] : void 0,
1106
+ getValueProps: (n) => {
1107
+ if (!n) return { value: void 0 };
1108
+ if (typeof n == "string" && n.length === p.length && /^\d+$/.test(n)) {
1109
+ if (t === "date") {
1110
+ const m = n.substring(0, 4), h = n.substring(4, 6), u = n.substring(6, 8);
1111
+ return { value: `${m}-${h}-${u}` };
1112
+ } else if (t === "month") {
1113
+ const m = n.substring(0, 4), h = n.substring(4, 6);
1114
+ return { value: `${m}-${h}` };
1115
+ } else if (t === "year")
1116
+ return { value: n };
1117
+ }
1118
+ return { value: N(n).format(e) };
1119
+ },
1120
+ normalize: (n) => n ? N(n).format(p) : (l?.allowEmpty, void 0),
1121
+ noStyle: !0,
1122
+ children: /* @__PURE__ */ a(
1123
+ J,
1124
+ {
1125
+ ...d,
1126
+ value: void 0,
1127
+ ref: c,
1128
+ onFocus: () => {
1129
+ if (g("start"), Y(!D), A(!1), i.current) {
1130
+ const n = Array.isArray(o) ? [...o, 0] : [o, 0];
1131
+ k.getFieldValue(n) || (i.current.value = "", i.current.unmaskedValue = ""), i.current.updateValue();
1132
+ }
1133
+ },
1134
+ onBlur: () => {
1135
+ W();
1136
+ },
1137
+ onKeyDown: (n) => {
1138
+ if (n.key === "Backspace" && (g("start"), Y(!0)), n.key === "Enter")
1139
+ if (D && _ === "start") {
1140
+ const m = i.current?.value || "";
1141
+ m.length === e.length ? N(m, e, !0).isValid() ? (Y(!1), V(!1)) : l?.allowEmpty ? V(!1) : V(!0) : V(!1);
1142
+ } else
1143
+ g("start"), Y(!0);
1144
+ },
1145
+ style: {
1146
+ flex: 1
1147
+ },
1148
+ allowClear: !0,
1149
+ placeholder: s.replace(/0/g, "_"),
1150
+ suffix: /* @__PURE__ */ a(ue, { style: { color: "#d9d9d9" } }),
1151
+ autoComplete: "off"
1152
+ }
1153
+ )
1154
+ }
1155
+ ),
1156
+ /* @__PURE__ */ a("span", { style: { color: "#d9d9d9", userSelect: "none" }, children: "~" }),
1157
+ /* @__PURE__ */ a(
1158
+ $.Item,
1159
+ {
1160
+ name: o ? Array.isArray(o) ? [...o, 1] : [o, 1] : void 0,
1161
+ getValueProps: (n) => {
1162
+ if (!n) return { value: void 0 };
1163
+ if (typeof n == "string" && n.length === p.length && /^\d+$/.test(n)) {
1164
+ if (t === "date") {
1165
+ const m = n.substring(0, 4), h = n.substring(4, 6), u = n.substring(6, 8);
1166
+ return { value: `${m}-${h}-${u}` };
1167
+ } else if (t === "month") {
1168
+ const m = n.substring(0, 4), h = n.substring(4, 6);
1169
+ return { value: `${m}-${h}` };
1170
+ } else if (t === "year")
1171
+ return { value: n };
1172
+ }
1173
+ return { value: N(n).format(e) };
1174
+ },
1175
+ normalize: (n) => n ? N(n).format(p) : (l?.allowEmpty, void 0),
1176
+ noStyle: !0,
1177
+ children: /* @__PURE__ */ a(
1178
+ J,
1179
+ {
1180
+ ...d,
1181
+ ref: y,
1182
+ onFocus: () => {
1183
+ if (g("end"), Y(!D), f.current) {
1184
+ f.current.updateValue();
1185
+ const n = f.current.value || "";
1186
+ !(f.current.unmaskedValue || "") && !n.replace(/[^0-9]/g, "") && (f.current.value = "", f.current.updateValue());
1187
+ }
1188
+ },
1189
+ onBlur: () => {
1190
+ W();
1191
+ },
1192
+ onKeyDown: (n) => {
1193
+ if (n.key === "Backspace") {
1194
+ const m = f.current?.value || "", h = f.current?.unmaskedValue || "";
1195
+ if (m === "" || h === "" || m.replace(/[^0-9]/g, "").length <= 1) {
1196
+ n.preventDefault();
1197
+ const u = Array.isArray(o) ? [...o, 1] : [o, 1];
1198
+ k.setFieldValue(u, void 0), w([F[0], null]), f.current && (f.current.value = "", f.current.updateValue()), setTimeout(() => {
1199
+ c.current?.focus(), g("start"), Y(!0);
1200
+ }, 0);
1201
+ return;
1202
+ }
1203
+ g("end"), Y(!0);
1204
+ }
1205
+ if (n.key === "Tab" && Y(!1), n.key === "Enter")
1206
+ if (D && _ === "end") {
1207
+ const m = f.current?.value || "";
1208
+ m.length === e.length ? N(m, e, !0).isValid() ? (Y(!1), V(!1)) : l?.allowEmpty ? V(!1) : V(!0) : V(!1);
1209
+ } else
1210
+ g("end"), Y(!0);
1211
+ },
1212
+ style: {
1213
+ flex: 1
1214
+ },
1215
+ allowClear: !0,
1216
+ onClear: () => {
1217
+ const n = Array.isArray(o) ? [...o, 1] : [o, 1];
1218
+ k.setFieldValue(n, void 0), w([F[0], null]), f.current && (f.current.value = "", f.current.updateValue()), setTimeout(() => {
1219
+ c.current?.focus(), g("start"), Y(!0);
1220
+ }, 0);
1221
+ },
1222
+ placeholder: s.replace(/0/g, "_"),
1223
+ suffix: /* @__PURE__ */ a(ue, { style: { color: "#d9d9d9" } }),
1224
+ autoComplete: "off"
1225
+ }
1226
+ )
1227
+ }
1228
+ )
1229
+ ]
1230
+ }
1231
+ ),
1232
+ /* @__PURE__ */ a(
1233
+ lt,
1234
+ {
1235
+ ...l,
1236
+ open: D,
1237
+ picker: t,
1238
+ format: {
1239
+ format: e,
1240
+ type: "mask"
1241
+ },
1242
+ showNow: !0,
1243
+ value: F,
1244
+ onChange: Z,
1245
+ onOpenChange: (n) => {
1246
+ Y(n), n || W(!1);
1247
+ },
1248
+ renderExtraFooter: () => R ? /* @__PURE__ */ G(
1249
+ "div",
1250
+ {
1251
+ style: {
1252
+ color: "#faad14",
1253
+ paddingLeft: "8px",
1254
+ fontSize: "12px",
1255
+ display: "flex",
1256
+ alignItems: "center",
1257
+ gap: "6px",
1258
+ borderTop: "1px solid #f0f0f0",
1259
+ backgroundColor: "#fffbe6"
1260
+ },
1261
+ children: [
1262
+ /* @__PURE__ */ a(Ve, {}),
1263
+ /* @__PURE__ */ a("span", { children: "유효하지 않은 날짜입니다" })
1264
+ ]
1265
+ }
1266
+ ) : null,
1267
+ getPopupContainer: (n) => n.parentElement,
1268
+ style: {
1269
+ position: "absolute",
1270
+ top: 0,
1271
+ left: 0,
1272
+ pointerEvents: "none",
1273
+ opacity: 0,
1274
+ width: "100%"
1275
+ }
1276
+ }
1277
+ )
1278
+ ]
1279
+ }
1280
+ )
1281
+ }
1282
+ );
1283
+ }, { Option: pe } = de, Bt = ({ itemProps: t, inputProps: r }) => {
1284
+ const [d, l] = j([]);
1285
+ return P(() => {
1286
+ r?.addField === "ALL" ? l([
850
1287
  { label: "전체", value: "" },
851
- ...e?.list || []
852
- ]) : e?.addField === "NULL" ? o([{ label: "", value: "" }, ...e?.list || []]) : o(e?.list || []);
853
- }, [e?.list]), /* @__PURE__ */ r(
854
- B,
1288
+ ...r?.list || []
1289
+ ]) : r?.addField === "NULL" ? l([{ label: "", value: "" }, ...r?.list || []]) : l(r?.list || []);
1290
+ }, [r?.list]), /* @__PURE__ */ a(
1291
+ T,
855
1292
  {
856
1293
  ...t,
857
- getValueProps: (n) => n ? {
858
- value: n && n.indexOf(",") > 0 ? n.split(",") : [n]
1294
+ getValueProps: (e) => e ? {
1295
+ value: e && e.indexOf(",") > 0 ? e.split(",") : [e]
859
1296
  } : {
860
1297
  value: []
861
1298
  },
862
- normalize: (n) => n != null && n != null && n.length > 0 ? n.toString() : "",
863
- children: /* @__PURE__ */ r(ce, { ...e, mode: "multiple", children: s.map((n) => {
864
- const { value: a, label: u } = n;
865
- return e?.printCode ? /* @__PURE__ */ r(he, { value: a, label: u, children: /* @__PURE__ */ r(ae, { children: `[${a}] ${u}` }) }, a) : /* @__PURE__ */ r(he, { value: a, label: u, children: /* @__PURE__ */ r(ae, { children: `${u}` }) }, a);
1299
+ normalize: (e) => e != null && e != null && e.length > 0 ? e.toString() : "",
1300
+ children: /* @__PURE__ */ a(de, { ...r, mode: "multiple", children: d.map((e) => {
1301
+ const { value: s, label: p } = e;
1302
+ return r?.printCode ? /* @__PURE__ */ a(pe, { value: s, label: p, children: /* @__PURE__ */ a(oe, { children: `[${s}] ${p}` }) }, s) : /* @__PURE__ */ a(pe, { value: s, label: p, children: /* @__PURE__ */ a(oe, { children: `${p}` }) }, s);
866
1303
  }) })
867
1304
  }
868
1305
  );
869
- }, vt = ({ itemProps: t, inputProps: e }) => {
870
- const s = (n) => {
871
- let a = n.toString().split(".");
872
- return e?.decimalPoint != null && a[1] != null && e?.decimalPoint > 0 ? a[1].length > e?.decimalPoint ? a[1] = "." + a[1].substring(0, e?.decimalPoint) : a[1] = "." + a[1] : a[1] = "", a[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + a[1];
873
- }, o = (n) => {
874
- let a = n.toString().split(".");
875
- return e?.decimalPoint != null && a[1] != null && e?.decimalPoint > 0 ? a[1].length > e?.decimalPoint ? a[1] = "." + a[1].substring(0, e?.decimalPoint) : a[1] = "." + a[1] : a[1] = "", a[0].replace(/\$\s?|(,*)/g, "") + a[1];
1306
+ }, zt = ({ itemProps: t, inputProps: r }) => {
1307
+ const d = (e) => {
1308
+ let s = e.toString().split(".");
1309
+ return r?.decimalPoint != null && s[1] != null && r?.decimalPoint > 0 ? s[1].length > r?.decimalPoint ? s[1] = "." + s[1].substring(0, r?.decimalPoint) : s[1] = "." + s[1] : s[1] = "", s[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + s[1];
1310
+ }, l = (e) => {
1311
+ let s = e.toString().split(".");
1312
+ return r?.decimalPoint != null && s[1] != null && r?.decimalPoint > 0 ? s[1].length > r?.decimalPoint ? s[1] = "." + s[1].substring(0, r?.decimalPoint) : s[1] = "." + s[1] : s[1] = "", s[0].replace(/\$\s?|(,*)/g, "") + s[1];
876
1313
  };
877
- return /* @__PURE__ */ r(B, { ...t, children: /* @__PURE__ */ r(
878
- Ne,
1314
+ return /* @__PURE__ */ a(T, { ...t, children: /* @__PURE__ */ a(
1315
+ De,
879
1316
  {
880
- ...e,
881
- formatter: (n) => s(n),
882
- parser: (n) => o(n)
1317
+ ...r,
1318
+ formatter: (e) => d(e),
1319
+ parser: (e) => l(e)
883
1320
  }
884
1321
  ) });
885
- }, Bt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, children: /* @__PURE__ */ r(Me.Group, { ...e }) }), { RangePicker: it } = le, ge = {
1322
+ }, Ot = ({ itemProps: t, inputProps: r }) => /* @__PURE__ */ a(T, { ...t, children: /* @__PURE__ */ a(_e.Group, { ...r }) }), { RangePicker: ct } = ie, ye = {
886
1323
  year: { displayFormat: "YYYY", outputFormat: "YYYY" },
887
1324
  month: { displayFormat: "YYYY-MM", outputFormat: "YYYYMM" },
888
1325
  date: { displayFormat: "YYYY-MM-DD", outputFormat: "YYYYMMDD" },
@@ -891,83 +1328,83 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
891
1328
  displayFormat: "YYYY-MM-DD HH:mm",
892
1329
  outputFormat: "YYYYMMDDHHmm"
893
1330
  }
894
- }, Et = ({
1331
+ }, $t = ({
895
1332
  itemProps: t,
896
- inputProps: e,
897
- type: s = "date",
898
- minDate: o,
899
- maxDate: n,
900
- returnType: a = "string"
1333
+ inputProps: r,
1334
+ type: d = "date",
1335
+ minDate: l,
1336
+ maxDate: e,
1337
+ returnType: s = "string"
901
1338
  }) => {
902
- const { displayFormat: u, outputFormat: i } = W(
903
- () => ge[s],
904
- [s]
905
- ), m = W(
906
- () => Object.values(ge).map((l) => l.outputFormat).sort((l, L) => {
907
- if (l.length === L.length) {
908
- if (l === i) return -1;
909
- if (L === i) return 1;
1339
+ const { displayFormat: p, outputFormat: c } = X(
1340
+ () => ye[d],
1341
+ [d]
1342
+ ), y = X(
1343
+ () => Object.values(ye).map((i) => i.outputFormat).sort((i, f) => {
1344
+ if (i.length === f.length) {
1345
+ if (i === c) return -1;
1346
+ if (f === c) return 1;
910
1347
  }
911
- return L.length - l.length;
1348
+ return f.length - i.length;
912
1349
  }),
913
- [i]
1350
+ [c]
914
1351
  // type(outputFormat)이 바뀔 때마다 재정렬
915
1352
  );
916
- return /* @__PURE__ */ r(
917
- B,
1353
+ return /* @__PURE__ */ a(
1354
+ T,
918
1355
  {
919
1356
  ...t,
920
- getValueProps: (l) => ({
1357
+ getValueProps: (i) => ({
921
1358
  // 폼에 저장된 값(문자열 또는 Dayjs)을 RangePicker가 요구하는 Dayjs 배열로 변환
922
- value: l && l.length > 0 ? [
923
- l[0] ? E.isDayjs(l[0]) ? l[0] : E(l[0], m) : null,
924
- l[1] ? E.isDayjs(l[1]) ? l[1] : E(l[1], m) : null
1359
+ value: i && i.length > 0 ? [
1360
+ i[0] ? N.isDayjs(i[0]) ? i[0] : N(i[0], y) : null,
1361
+ i[1] ? N.isDayjs(i[1]) ? i[1] : N(i[1], y) : null
925
1362
  ] : null
926
1363
  }),
927
- normalize: (l) => l ? a === "dayjs" ? [l[0] ?? void 0, l[1] ?? void 0] : [
928
- l[0] ? l[0].format(i) : void 0,
929
- l[1] ? l[1].format(i) : void 0
1364
+ normalize: (i) => i ? s === "dayjs" ? [i[0] ?? void 0, i[1] ?? void 0] : [
1365
+ i[0] ? i[0].format(c) : void 0,
1366
+ i[1] ? i[1].format(c) : void 0
930
1367
  ] : [void 0, void 0],
931
- children: /* @__PURE__ */ r(
932
- it,
1368
+ children: /* @__PURE__ */ a(
1369
+ ct,
933
1370
  {
934
- ...e,
1371
+ ...r,
935
1372
  order: !0,
936
- minDate: o ? E(o, m) : void 0,
937
- maxDate: n ? E(n, m) : void 0,
938
- picker: s === "datetime" ? "date" : s,
939
- showTime: e?.showTime ?? (s === "datetime" || s === "time"),
940
- format: u
1373
+ minDate: l ? N(l, y) : void 0,
1374
+ maxDate: e ? N(e, y) : void 0,
1375
+ picker: d === "datetime" ? "date" : d,
1376
+ showTime: r?.showTime ?? (d === "datetime" || d === "time"),
1377
+ format: p
941
1378
  }
942
1379
  )
943
1380
  }
944
1381
  );
945
- }, pe = te.Search, Ot = (t) => {
946
- const e = O.useFormInstance(), { openPopup: s } = Ee(), o = t.itemProps?.name || [], n = t.popupConfig || {
947
- callback(u) {
948
- Array.isArray(o) && o.length > 1 ? (e.setFieldValue(o[0], u.code), e.setFieldValue(o[1], u.name)) : e.setFieldValue(o, u.code);
1382
+ }, Fe = J.Search, Rt = (t) => {
1383
+ const r = $.useFormInstance(), { openPopup: d } = ze(), l = t.itemProps?.name || [], e = t.popupConfig || {
1384
+ callback(p) {
1385
+ Array.isArray(l) && l.length > 1 ? (r.setFieldValue(l[0], p.code), r.setFieldValue(l[1], p.name)) : r.setFieldValue(l, p.code);
949
1386
  }
950
- }, a = {
1387
+ }, s = {
951
1388
  ...t,
952
1389
  placeholder: typeof t.placeholder == "string" ? t.placeholder : t.placeholder?.[0] || "",
953
- onChange: (u) => {
954
- Array.isArray(o) && o.length > 1 && e.setFieldValue(o[0], ""), t.onChange?.(u);
1390
+ onChange: (p) => {
1391
+ Array.isArray(l) && l.length > 1 && r.setFieldValue(l[0], ""), t.onChange?.(p);
955
1392
  },
956
- onSearch: (u) => {
957
- t.popuCd ? s(t.popuCd, t.popupParams, n) : t.onSearch?.(u);
1393
+ onSearch: (p) => {
1394
+ t.popuCd ? d(t.popuCd, t.popupParams, e) : t.onSearch?.(p);
958
1395
  }
959
1396
  };
960
- return Array.isArray(o) && o.length > 1 ? /* @__PURE__ */ r(B, { ...t.itemProps, name: void 0, children: /* @__PURE__ */ K(ae.Compact, { block: !0, children: [
961
- /* @__PURE__ */ r(
962
- O.Item,
1397
+ return Array.isArray(l) && l.length > 1 ? /* @__PURE__ */ a(T, { ...t.itemProps, name: void 0, children: /* @__PURE__ */ G(oe.Compact, { block: !0, children: [
1398
+ /* @__PURE__ */ a(
1399
+ $.Item,
963
1400
  {
964
- name: o[0],
1401
+ name: l[0],
965
1402
  rules: t.itemProps?.rules,
966
1403
  style: { width: "40%", marginBottom: 0, marginInlineEnd: 0 },
967
1404
  validateStatus: "",
968
1405
  help: "",
969
- children: /* @__PURE__ */ r(
970
- te,
1406
+ children: /* @__PURE__ */ a(
1407
+ J,
971
1408
  {
972
1409
  style: { color: "#999", backgroundColor: "#f5f5f5" },
973
1410
  placeholder: t.placeholder?.[0] || "",
@@ -976,56 +1413,56 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
976
1413
  )
977
1414
  }
978
1415
  ),
979
- /* @__PURE__ */ r(O.Item, { name: o[1], style: { width: "60%", marginBottom: 0 }, children: /* @__PURE__ */ r(
980
- pe,
1416
+ /* @__PURE__ */ a($.Item, { name: l[1], style: { width: "60%", marginBottom: 0 }, children: /* @__PURE__ */ a(
1417
+ Fe,
981
1418
  {
982
1419
  readOnly: t.readOnly,
983
- enterButton: /* @__PURE__ */ r(
984
- X,
1420
+ enterButton: /* @__PURE__ */ a(
1421
+ te,
985
1422
  {
986
- icon: /* @__PURE__ */ r(Ke, {}),
1423
+ icon: /* @__PURE__ */ a(Pe, {}),
987
1424
  disabled: t.readOnly
988
1425
  }
989
1426
  ),
990
- ...a
1427
+ ...s
991
1428
  }
992
1429
  ) })
993
- ] }) }) : /* @__PURE__ */ r(B, { ...t.itemProps, children: /* @__PURE__ */ r(pe, { ...a }) });
994
- }, At = ({
1430
+ ] }) }) : /* @__PURE__ */ a(T, { ...t.itemProps, children: /* @__PURE__ */ a(Fe, { ...s }) });
1431
+ }, Ut = ({
995
1432
  itemProps: t,
996
- selectProps: e = {
1433
+ selectProps: r = {
997
1434
  options: [],
998
1435
  allowClear: !0
999
1436
  }
1000
1437
  }) => {
1001
- const s = O.useFormInstance(), o = !!s, n = W(() => e?.addField === "ALL" ? [{ label: "전체", value: "" }, ...e?.options || []] : e?.addField === "NULL" ? [{ label: "", value: "" }, ...e?.options || []] : e?.options || [], [e.options, e.addField]), a = (m) => {
1002
- e.onChange?.(m);
1003
- }, u = {
1004
- ...e,
1005
- allowClear: e.allowClear ?? !0,
1006
- options: n,
1007
- onChange: a,
1008
- variant: e.variant
1009
- }, i = /* @__PURE__ */ r(ce, { ...u, disabled: e.disabled });
1010
- return e.copyable && !o && console.warn(
1438
+ const d = $.useFormInstance(), l = !!d, e = X(() => r?.addField === "ALL" ? [{ label: "전체", value: "" }, ...r?.options || []] : r?.addField === "NULL" ? [{ label: "", value: "" }, ...r?.options || []] : r?.options || [], [r.options, r.addField]), s = (y) => {
1439
+ r.onChange?.(y);
1440
+ }, p = {
1441
+ ...r,
1442
+ allowClear: r.allowClear ?? !0,
1443
+ options: e,
1444
+ onChange: s,
1445
+ variant: r.variant
1446
+ }, c = /* @__PURE__ */ a(de, { ...p, disabled: r.disabled });
1447
+ return r.copyable && !l && console.warn(
1011
1448
  "BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다."
1012
- ), e.copyable ? /* @__PURE__ */ r(B, { ...t, name: void 0, children: /* @__PURE__ */ K(ae.Compact, { block: !0, children: [
1013
- /* @__PURE__ */ r(
1014
- O.Item,
1449
+ ), r.copyable ? /* @__PURE__ */ a(T, { ...t, name: void 0, children: /* @__PURE__ */ G(oe.Compact, { block: !0, children: [
1450
+ /* @__PURE__ */ a(
1451
+ $.Item,
1015
1452
  {
1016
1453
  name: t?.name,
1017
1454
  rules: t?.rules,
1018
1455
  style: { width: "100%", marginBottom: 0 },
1019
1456
  validateStatus: "",
1020
1457
  help: "",
1021
- children: i
1458
+ children: c
1022
1459
  }
1023
1460
  ),
1024
- /* @__PURE__ */ r(
1025
- Ce.Paragraph,
1461
+ /* @__PURE__ */ a(
1462
+ be.Paragraph,
1026
1463
  {
1027
1464
  copyable: {
1028
- text: o && s?.getFieldValue(t?.name)?.toString() || "",
1465
+ text: l && d?.getFieldValue(t?.name)?.toString() || "",
1029
1466
  tooltips: ["코드복사", "코드복사됨"]
1030
1467
  },
1031
1468
  style: {
@@ -1042,26 +1479,26 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
1042
1479
  }
1043
1480
  }
1044
1481
  )
1045
- ] }) }) : /* @__PURE__ */ r(B, { ...t, children: i });
1046
- }, zt = ({
1482
+ ] }) }) : /* @__PURE__ */ a(T, { ...t, children: c });
1483
+ }, Tt = ({
1047
1484
  itemProps: t,
1048
- inputProps: e = {
1485
+ inputProps: r = {
1049
1486
  format: "YN"
1050
1487
  }
1051
1488
  }) => {
1052
- const s = O.useFormInstance(), o = (n, a) => {
1053
- e.format === "boolean" ? s.setFieldValue(t?.name, n) : s.setFieldValue(t?.name, n ? "Y" : "N"), e.onChange && e.onChange(n, a);
1489
+ const d = $.useFormInstance(), l = (e, s) => {
1490
+ r.format === "boolean" ? d.setFieldValue(t?.name, e) : d.setFieldValue(t?.name, e ? "Y" : "N"), r.onChange && r.onChange(e, s);
1054
1491
  };
1055
- return /* @__PURE__ */ r(
1056
- B,
1492
+ return /* @__PURE__ */ a(
1493
+ T,
1057
1494
  {
1058
1495
  ...t,
1059
- getValueProps: (n) => ({ checked: e.format === "boolean" ? !!n : n === "Y" }),
1060
- normalize: (n) => typeof n == "boolean" ? e.format === "boolean" ? n : n ? "Y" : "N" : e.format === "boolean" ? !!n : n ? "Y" : "N",
1061
- children: /* @__PURE__ */ r(De, { ...e, onChange: (n, a) => o(n, a) })
1496
+ getValueProps: (e) => ({ checked: r.format === "boolean" ? !!e : e === "Y" }),
1497
+ normalize: (e) => typeof e == "boolean" ? r.format === "boolean" ? e : e ? "Y" : "N" : r.format === "boolean" ? !!e : e ? "Y" : "N",
1498
+ children: /* @__PURE__ */ a(Ne, { ...r, onChange: (e, s) => l(e, s) })
1062
1499
  }
1063
1500
  );
1064
- }, { TextArea: st } = te, Vt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, children: /* @__PURE__ */ r(st, { ...e }) }), lt = [
1501
+ }, { TextArea: ut } = J, jt = ({ itemProps: t, inputProps: r }) => /* @__PURE__ */ a(T, { ...t, children: /* @__PURE__ */ a(ut, { ...r }) }), dt = [
1065
1502
  ".pdf",
1066
1503
  ".xlsx",
1067
1504
  ".xls",
@@ -1079,308 +1516,308 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
1079
1516
  ".gif",
1080
1517
  // 압축
1081
1518
  ".zip"
1082
- ], ye = {
1519
+ ], Ce = {
1083
1520
  FILE: "file"
1084
- }, ct = ({
1521
+ }, ft = ({
1085
1522
  originNode: t,
1086
- file: e,
1087
- fileList: s,
1088
- moveFile: o,
1089
- onDrop: n
1523
+ file: r,
1524
+ fileList: d,
1525
+ moveFile: l,
1526
+ onDrop: e
1090
1527
  }) => {
1091
- const a = q(null), [{ handlerId: u }, i] = Xe({
1092
- accept: ye.FILE,
1093
- collect: (f) => ({
1094
- handlerId: f.getHandlerId()
1528
+ const s = K(null), [{ handlerId: p }, c] = Ze({
1529
+ accept: Ce.FILE,
1530
+ collect: (b) => ({
1531
+ handlerId: b.getHandlerId()
1095
1532
  }),
1096
- hover(f, M) {
1097
- if (!a.current)
1533
+ hover(b, k) {
1534
+ if (!s.current)
1098
1535
  return;
1099
- const Y = f.uid, I = e.uid;
1100
- if (Y === I)
1536
+ const D = b.uid, Y = r.uid;
1537
+ if (D === Y)
1101
1538
  return;
1102
- const A = ne(s, { uid: I }), S = ne(s, { uid: Y });
1103
- if (S === -1 || A === -1)
1539
+ const R = ne(d, { uid: Y }), V = ne(d, { uid: D });
1540
+ if (V === -1 || R === -1)
1104
1541
  return;
1105
- const p = a.current.getBoundingClientRect(), g = M.getClientOffset();
1542
+ const _ = s.current.getBoundingClientRect(), g = k.getClientOffset();
1106
1543
  if (!g)
1107
1544
  return;
1108
- const y = (p.bottom - p.top) / 2, c = g.y - p.top;
1109
- S < A && c < y || S > A && c > y || o(Y, I);
1545
+ const v = (_.bottom - _.top) / 2, A = g.y - _.top;
1546
+ V < R && A < v || V > R && A > v || l(D, Y);
1110
1547
  },
1111
1548
  drop() {
1112
- n();
1549
+ e();
1113
1550
  }
1114
- }), [{ isDragging: m }, l] = Ze({
1115
- type: ye.FILE,
1551
+ }), [{ isDragging: y }, i] = Qe({
1552
+ type: Ce.FILE,
1116
1553
  item: () => ({
1117
- uid: e.uid,
1118
- index: ne(s, { uid: e.uid })
1554
+ uid: r.uid,
1555
+ index: ne(d, { uid: r.uid })
1119
1556
  }),
1120
- collect: (f) => ({
1121
- isDragging: f.isDragging()
1557
+ collect: (b) => ({
1558
+ isDragging: b.isDragging()
1122
1559
  })
1123
- }), L = m ? 0 : 1;
1124
- return l(i(a)), /* @__PURE__ */ r("div", { ref: a, style: { opacity: L }, "data-handler-id": u, children: t });
1125
- }, Ut = ({
1560
+ }), f = y ? 0 : 1;
1561
+ return i(c(s)), /* @__PURE__ */ a("div", { ref: s, style: { opacity: f }, "data-handler-id": p, children: t });
1562
+ }, Ht = ({
1126
1563
  itemProps: t,
1127
- fileGrpKey: e,
1128
- onUploadComplete: s,
1129
- onFetchFilesTrxCd: o = "SCMFILE00101",
1130
- onSuccessTrxCd: n = "SCMFILE00102",
1131
- onDeleteFileTrxCd: a = "SCMFILE00103",
1132
- onReorderFilesTrxCd: u = "SCMFILE00104",
1133
- allowedExtensions: i = lt,
1134
- maxFileSize: m = 200,
1135
- showButton: l = !0,
1564
+ fileGrpKey: r,
1565
+ onUploadComplete: d,
1566
+ onFetchFilesTrxCd: l = "SCMFILE00101",
1567
+ onSuccessTrxCd: e = "SCMFILE00102",
1568
+ onDeleteFileTrxCd: s = "SCMFILE00103",
1569
+ onReorderFilesTrxCd: p = "SCMFILE00104",
1570
+ allowedExtensions: c = dt,
1571
+ maxFileSize: y = 200,
1572
+ showButton: i = !0,
1136
1573
  // 기본값으로 true 설정
1137
- multiple: L = !1,
1138
- newFileGrpKeyonModify: f = !1,
1139
- buttonText: M = "파일 선택",
1140
- localOnly: Y = !1,
1141
- onFilesChange: I
1574
+ multiple: f = !1,
1575
+ newFileGrpKeyonModify: b = !1,
1576
+ buttonText: k = "파일 선택",
1577
+ localOnly: D = !1,
1578
+ onFilesChange: Y
1142
1579
  }) => {
1143
- const [A, S] = R([]), p = q(e), g = q([]), y = O.useFormInstance(), F = q(
1144
- Pe(() => {
1145
- if (Y || g.current.length === 0)
1580
+ const [R, V] = j([]), _ = K(r), g = K([]), v = $.useFormInstance(), z = K(
1581
+ Je(() => {
1582
+ if (D || g.current.length === 0)
1146
1583
  return;
1147
- const d = [...g.current];
1148
- if (g.current = [], n) {
1149
- const k = d.map((b) => ({
1150
- crprCd: P()?.crprCd,
1584
+ const n = [...g.current];
1585
+ if (g.current = [], e) {
1586
+ const m = n.map((h) => ({
1587
+ crprCd: Q()?.crprCd,
1151
1588
  sysCd: __SYS_CD__,
1152
- fileGrpKey: p.current,
1153
- physFileNm: b.fileNameP,
1154
- lgclFileNm: b.fileNameL,
1155
- filePath: b.filePath,
1156
- fileExtn: b.fileExt,
1157
- fileSize: b.fileSize,
1589
+ fileGrpKey: _.current,
1590
+ physFileNm: h.fileNameP,
1591
+ lgclFileNm: h.fileNameL,
1592
+ filePath: h.filePath,
1593
+ fileExtn: h.fileExt,
1594
+ fileSize: h.fileSize,
1158
1595
  mltpYn: "N"
1159
1596
  }));
1160
- console.log("newFileGrpKeyonModify", f), console.log(
1597
+ console.log("newFileGrpKeyonModify", b), console.log(
1161
1598
  "newFileGrpKeyonModify",
1162
- f ? 0 : p.current
1163
- ), J(n, {
1164
- crprCd: P()?.crprCd,
1599
+ b ? 0 : _.current
1600
+ ), ee(e, {
1601
+ crprCd: Q()?.crprCd,
1165
1602
  sysCd: __SYS_CD__,
1166
- fileGrpKey: f ? 0 : p.current,
1167
- oldFileGrpKey: p.current,
1168
- newFileGrpKeyonModify: f,
1169
- sub: k
1170
- }).then((b) => {
1171
- if (b?.sub && b.sub.length > 0) {
1172
- const h = b.sub[0].fileGrpKey;
1173
- (!p.current || f) && (p.current = h);
1174
- const V = /* @__PURE__ */ new Map();
1175
- b.sub.forEach((v) => {
1176
- const U = d.find(
1177
- (j) => j.fileNameL === v.lgclFileNm
1603
+ fileGrpKey: b ? 0 : _.current,
1604
+ oldFileGrpKey: _.current,
1605
+ newFileGrpKeyonModify: b,
1606
+ sub: m
1607
+ }).then((h) => {
1608
+ if (h?.sub && h.sub.length > 0) {
1609
+ const u = h.sub[0].fileGrpKey;
1610
+ (!_.current || b) && (_.current = u);
1611
+ const M = /* @__PURE__ */ new Map();
1612
+ h.sub.forEach((I) => {
1613
+ const x = n.find(
1614
+ (H) => H.fileNameL === I.lgclFileNm
1178
1615
  );
1179
- U && V.set(U.tempId, v);
1616
+ x && M.set(x.tempId, I);
1180
1617
  });
1181
- const Q = t?.name;
1182
- ((v) => {
1183
- if (C) {
1184
- const U = y?.getFieldValue(Q) || [], j = v(U);
1185
- y?.setFieldValue(Q, j);
1618
+ const C = t?.name;
1619
+ ((I) => {
1620
+ if (S) {
1621
+ const x = v?.getFieldValue(C) || [], H = I(x);
1622
+ v?.setFieldValue(C, H);
1186
1623
  } else
1187
- S((U) => v(U));
1188
- })((v) => v.map((U) => {
1189
- const j = V.get(U.uid);
1190
- if (j) {
1191
- const de = d.find(
1192
- (Le) => Le.tempId === U.uid
1624
+ V((x) => I(x));
1625
+ })((I) => I.map((x) => {
1626
+ const H = M.get(x.uid);
1627
+ if (H) {
1628
+ const fe = n.find(
1629
+ (we) => we.tempId === x.uid
1193
1630
  );
1194
- return s && de && s({
1195
- ...de,
1196
- fileGrpKey: h,
1197
- fileKey: j.fileKey
1631
+ return d && fe && d({
1632
+ ...fe,
1633
+ fileGrpKey: u,
1634
+ fileKey: H.fileKey
1198
1635
  }), {
1199
- ...U,
1200
- name: j.lgclFileNm,
1201
- fileGrpKey: h,
1202
- fileKey: j.fileKey,
1203
- uid: j.fileKey,
1636
+ ...x,
1637
+ name: H.lgclFileNm,
1638
+ fileGrpKey: u,
1639
+ fileKey: H.fileKey,
1640
+ uid: H.fileKey,
1204
1641
  status: "done",
1205
- url: `/api/download?filePath=${j.filePath}&logicalName=${j.lgclFileNm}`
1642
+ url: `/api/download?filePath=${H.filePath}&logicalName=${H.lgclFileNm}`
1206
1643
  };
1207
1644
  }
1208
- return U;
1645
+ return x;
1209
1646
  }));
1210
1647
  }
1211
- }).catch((b) => {
1212
- console.error("업로드 후처리 서비스 호출 실패:", b), N.error("파일 후처리 중 오류가 발생했습니다.");
1213
- const h = new Set(d.map((T) => T.tempId)), V = t?.name;
1214
- ((T) => {
1215
- if (C) {
1216
- const v = y?.getFieldValue(V) || [], U = T(v);
1217
- y?.setFieldValue(V, U);
1648
+ }).catch((h) => {
1649
+ console.error("업로드 후처리 서비스 호출 실패:", h), O.error("파일 후처리 중 오류가 발생했습니다.");
1650
+ const u = new Set(n.map((L) => L.tempId)), M = t?.name;
1651
+ ((L) => {
1652
+ if (S) {
1653
+ const I = v?.getFieldValue(M) || [], x = L(I);
1654
+ v?.setFieldValue(M, x);
1218
1655
  } else
1219
- S((v) => T(v));
1656
+ V((I) => L(I));
1220
1657
  })(
1221
- (T) => T.map(
1222
- (v) => h.has(v.uid) ? { ...v, status: "error", error: "후처리 실패" } : v
1658
+ (L) => L.map(
1659
+ (I) => u.has(I.uid) ? { ...I, status: "error", error: "후처리 실패" } : I
1223
1660
  )
1224
1661
  );
1225
1662
  });
1226
1663
  }
1227
1664
  }, 500)
1228
1665
  ).current;
1229
- H(() => () => {
1230
- F.cancel();
1231
- }, [F]), H(() => {
1232
- p.current = e;
1233
- }, [e]), H(() => {
1234
- Y || e && o && J(o, {
1235
- crprCd: P()?.crprCd,
1666
+ P(() => () => {
1667
+ z.cancel();
1668
+ }, [z]), P(() => {
1669
+ _.current = r;
1670
+ }, [r]), P(() => {
1671
+ D || r && l && ee(l, {
1672
+ crprCd: Q()?.crprCd,
1236
1673
  sysCd: __SYS_CD__,
1237
- fileGrpKey: e
1238
- }).then((d) => {
1239
- if (d?.sub) {
1240
- const k = d.sub.map((h) => ({
1241
- uid: h.fileKey,
1242
- name: h.lgclFileNm,
1674
+ fileGrpKey: r
1675
+ }).then((n) => {
1676
+ if (n?.sub) {
1677
+ const m = n.sub.map((u) => ({
1678
+ uid: u.fileKey,
1679
+ name: u.lgclFileNm,
1243
1680
  status: "done",
1244
- url: `/api/download?filePath=${h.filePath}&logicalName=${h.lgclFileNm}`
1245
- })), b = t?.name;
1246
- C ? y?.setFieldValue(b, k) : S(k);
1681
+ url: `/api/download?filePath=${u.filePath}&logicalName=${u.lgclFileNm}`
1682
+ })), h = t?.name;
1683
+ S ? v?.setFieldValue(h, m) : V(m);
1247
1684
  } else {
1248
- const k = t?.name;
1249
- C ? y?.setFieldValue(k, []) : S([]);
1685
+ const m = t?.name;
1686
+ S ? v?.setFieldValue(m, []) : V([]);
1250
1687
  }
1251
- }).catch((d) => {
1252
- console.error("파일 목록 조회 서비스 호출에 실패했습니다.", d), N.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
1688
+ }).catch((n) => {
1689
+ console.error("파일 목록 조회 서비스 호출에 실패했습니다.", n), O.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
1253
1690
  });
1254
- }, [e, o]);
1255
- const w = (d, k) => {
1256
- const b = t?.name, h = C ? y?.getFieldValue(b) || [] : A, V = ne(h, { uid: d }), Q = ne(h, { uid: k });
1257
- if (V < 0 || Q < 0) return;
1258
- const T = [...h], [v] = T.splice(V, 1);
1259
- T.splice(Q, 0, v), C ? y?.setFieldValue(b, T) : S(T);
1260
- }, _ = () => {
1261
- if (!Y && e && u) {
1262
- const d = t?.name, b = (C ? y?.getFieldValue(d) || [] : A).map((h) => h.uid);
1263
- J(u, {
1264
- crprCd: P()?.crprCd,
1691
+ }, [r, l]);
1692
+ const o = (n, m) => {
1693
+ const h = t?.name, u = S ? v?.getFieldValue(h) || [] : R, M = ne(u, { uid: n }), C = ne(u, { uid: m });
1694
+ if (M < 0 || C < 0) return;
1695
+ const L = [...u], [I] = L.splice(M, 1);
1696
+ L.splice(C, 0, I), S ? v?.setFieldValue(h, L) : V(L);
1697
+ }, F = () => {
1698
+ if (!D && r && p) {
1699
+ const n = t?.name, h = (S ? v?.getFieldValue(n) || [] : R).map((u) => u.uid);
1700
+ ee(p, {
1701
+ crprCd: Q()?.crprCd,
1265
1702
  sysCd: __SYS_CD__,
1266
- fileGrpKey: e,
1267
- reorderedFileKeys: b
1703
+ fileGrpKey: r,
1704
+ reorderedFileKeys: h
1268
1705
  }).then(() => {
1269
- N.success("파일 순서가 성공적으로 저장되었습니다.");
1270
- }).catch((h) => {
1271
- console.error("파일 순서 저장 서비스 호출 실패:", h), N.error("파일 순서 저장 중 오류가 발생했습니다.");
1706
+ O.success("파일 순서가 성공적으로 저장되었습니다.");
1707
+ }).catch((u) => {
1708
+ console.error("파일 순서 저장 서비스 호출 실패:", u), O.error("파일 순서 저장 중 오류가 발생했습니다.");
1272
1709
  });
1273
1710
  }
1274
- }, $ = (d) => {
1275
- const k = t?.name, b = C ? y?.getFieldValue(k) || [] : A;
1276
- if (!L && b.length > 0)
1277
- return N.error("하나의 파일만 업로드할 수 있습니다."), G.LIST_IGNORE;
1278
- if (i && i.length > 0) {
1279
- const h = `.${d.name.split(".").pop()?.toLowerCase()}`;
1280
- if (!i.includes(h))
1281
- return N.error(
1282
- `${d.name} 파일은 허용되지 않는 확장자입니다. (${i.join(
1711
+ }, w = (n) => {
1712
+ const m = t?.name, h = S ? v?.getFieldValue(m) || [] : R;
1713
+ if (!f && h.length > 0)
1714
+ return O.error("하나의 파일만 업로드할 수 있습니다."), q.LIST_IGNORE;
1715
+ if (c && c.length > 0) {
1716
+ const u = `.${n.name.split(".").pop()?.toLowerCase()}`;
1717
+ if (!c.includes(u))
1718
+ return O.error(
1719
+ `${n.name} 파일은 허용되지 않는 확장자입니다. (${c.join(
1283
1720
  ", "
1284
1721
  )})`
1285
- ), G.LIST_IGNORE;
1722
+ ), q.LIST_IGNORE;
1286
1723
  }
1287
- return m && !(d.size / 1024 / 1024 < m) ? (N.error(`일반업로드의 최대용량은 ${m}MB입니다.`), G.LIST_IGNORE) : !Y;
1288
- }, C = !!t?.name, D = {
1724
+ return y && !(n.size / 1024 / 1024 < y) ? (O.error(`일반업로드의 최대용량은 ${y}MB입니다.`), q.LIST_IGNORE) : !D;
1725
+ }, S = !!t?.name, E = {
1289
1726
  name: "file",
1290
- multiple: L,
1291
- action: Y ? void 0 : "/api/upload",
1292
- beforeUpload: $,
1727
+ multiple: f,
1728
+ action: D ? void 0 : "/api/upload",
1729
+ beforeUpload: w,
1293
1730
  showUploadList: {
1294
- showRemoveIcon: l
1731
+ showRemoveIcon: i
1295
1732
  // showButton 값에 따라 삭제 버튼 표시/숨김
1296
1733
  },
1297
- onChange(d) {
1298
- const { status: k, uid: b } = d.file;
1299
- if (k === "removed") {
1300
- if (!Y && a)
1301
- J(a, {
1302
- crprCd: P()?.crprCd,
1734
+ onChange(n) {
1735
+ const { status: m, uid: h } = n.file;
1736
+ if (m === "removed") {
1737
+ if (!D && s)
1738
+ ee(s, {
1739
+ crprCd: Q()?.crprCd,
1303
1740
  sysCd: __SYS_CD__,
1304
- fileGrpKey: f ? 0 : p.current,
1305
- fileKey: b,
1306
- oldFileGrpKey: p.current,
1307
- newFileGrpKeyonModify: f
1308
- }).then((h) => {
1309
- if (N.success("파일이 성공적으로 삭제되었습니다."), f && (p.current = h.fileGrpKey), C) {
1310
- const V = t?.name;
1311
- y?.setFieldValue(V, d.fileList);
1741
+ fileGrpKey: b ? 0 : _.current,
1742
+ fileKey: h,
1743
+ oldFileGrpKey: _.current,
1744
+ newFileGrpKeyonModify: b
1745
+ }).then((u) => {
1746
+ if (O.success("파일이 성공적으로 삭제되었습니다."), b && (_.current = u.fileGrpKey), S) {
1747
+ const M = t?.name;
1748
+ v?.setFieldValue(M, n.fileList);
1312
1749
  } else
1313
- S(d.fileList);
1314
- I?.(d.fileList), s?.({
1315
- fileGrpKey: h.fileGrpKey
1750
+ V(n.fileList);
1751
+ Y?.(n.fileList), d?.({
1752
+ fileGrpKey: u.fileGrpKey
1316
1753
  });
1317
- }).catch((h) => {
1318
- console.error("파일 삭제 서비스 호출에 실패했습니다.", h), N.error("파일 삭제 중 오류가 발생했습니다.");
1754
+ }).catch((u) => {
1755
+ console.error("파일 삭제 서비스 호출에 실패했습니다.", u), O.error("파일 삭제 중 오류가 발생했습니다.");
1319
1756
  });
1320
1757
  else {
1321
- if (C) {
1322
- const h = t?.name;
1323
- y?.setFieldValue(h, d.fileList);
1758
+ if (S) {
1759
+ const u = t?.name;
1760
+ v?.setFieldValue(u, n.fileList);
1324
1761
  } else
1325
- S(d.fileList);
1326
- I?.(d.fileList);
1762
+ V(n.fileList);
1763
+ Y?.(n.fileList);
1327
1764
  }
1328
1765
  return;
1329
1766
  }
1330
- if (C) {
1331
- const h = t?.name;
1332
- y?.setFieldValue(h, d.fileList);
1767
+ if (S) {
1768
+ const u = t?.name;
1769
+ v?.setFieldValue(u, n.fileList);
1333
1770
  } else
1334
- S(d.fileList);
1335
- if (I?.(d.fileList), k === "done")
1336
- if (!Y && d.file.response?.success) {
1337
- const { uploadedFiles: h } = d.file.response;
1338
- h && Array.isArray(h) && h.length > 0 && (h.forEach((V) => {
1339
- V.tempId = d.file.uid, g.current.push(V);
1340
- }), F()), N.success(
1341
- d.file.response.message || `${d.file.name} 파일이 성공적으로 업로드되었습니다.`
1771
+ V(n.fileList);
1772
+ if (Y?.(n.fileList), m === "done")
1773
+ if (!D && n.file.response?.success) {
1774
+ const { uploadedFiles: u } = n.file.response;
1775
+ u && Array.isArray(u) && u.length > 0 && (u.forEach((M) => {
1776
+ M.tempId = n.file.uid, g.current.push(M);
1777
+ }), z()), O.success(
1778
+ n.file.response.message || `${n.file.name} 파일이 성공적으로 업로드되었습니다.`
1342
1779
  );
1343
1780
  } else
1344
- N.error(
1345
- d.file.response?.message || `${d.file.name} 파일 업로드에 실패했습니다.`
1781
+ O.error(
1782
+ n.file.response?.message || `${n.file.name} 파일 업로드에 실패했습니다.`
1346
1783
  );
1347
- else k === "error" && N.error(
1348
- d.file.response?.message || `${d.file.name} 파일 업로드 중 오류가 발생했습니다.`
1784
+ else m === "error" && O.error(
1785
+ n.file.response?.message || `${n.file.name} 파일 업로드 중 오류가 발생했습니다.`
1349
1786
  );
1350
1787
  },
1351
- itemRender(d, k, b) {
1352
- const h = ve(d, {
1353
- href: k.url || void 0,
1788
+ itemRender(n, m, h) {
1789
+ const u = Ee(n, {
1790
+ href: m.url || void 0,
1354
1791
  title: void 0
1355
1792
  });
1356
- return /* @__PURE__ */ r(
1357
- ct,
1793
+ return /* @__PURE__ */ a(
1794
+ ft,
1358
1795
  {
1359
- originNode: h,
1360
- file: k,
1361
- fileList: b,
1362
- moveFile: w,
1363
- onDrop: _
1796
+ originNode: u,
1797
+ file: m,
1798
+ fileList: h,
1799
+ moveFile: o,
1800
+ onDrop: F
1364
1801
  },
1365
- k.uid
1802
+ m.uid
1366
1803
  );
1367
1804
  }
1368
1805
  };
1369
- C || (D.fileList = A);
1370
- const z = (d) => Array.isArray(d) ? d : d && d.fileList, x = t?.name, re = C ? O.useWatch?.(x, y) : void 0, Z = C ? re || [] : A;
1371
- return /* @__PURE__ */ r(Je, { backend: Qe, children: /* @__PURE__ */ r(
1372
- B,
1806
+ S || (E.fileList = R);
1807
+ const B = (n) => Array.isArray(n) ? n : n && n.fileList, U = t?.name, Z = S ? $.useWatch?.(U, v) : void 0, W = S ? Z || [] : R;
1808
+ return /* @__PURE__ */ a(Xe, { backend: et, children: /* @__PURE__ */ a(
1809
+ T,
1373
1810
  {
1374
1811
  valuePropName: "fileList",
1375
- getValueFromEvent: z,
1812
+ getValueFromEvent: B,
1376
1813
  ...t,
1377
- children: /* @__PURE__ */ r(
1378
- G,
1814
+ children: /* @__PURE__ */ a(
1815
+ q,
1379
1816
  {
1380
1817
  headers: { SYSCD: __SYS_CD__ },
1381
- ...D,
1818
+ ...E,
1382
1819
  listType: "picture",
1383
- children: l && (L || Z.length === 0) && /* @__PURE__ */ r(X, { icon: /* @__PURE__ */ r(Ye, {}), children: M })
1820
+ children: i && (f || W.length === 0) && /* @__PURE__ */ a(te, { icon: /* @__PURE__ */ a(ke, {}), children: k })
1384
1821
  }
1385
1822
  )
1386
1823
  }
@@ -1388,23 +1825,24 @@ const Nt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(B, { ...t, chi
1388
1825
  };
1389
1826
  export {
1390
1827
  Lt as BwgButton,
1391
- St as BwgCheck,
1392
- wt as BwgCheckList,
1393
- It as BwgDatePicker,
1394
- _t as BwgDownload,
1395
- et as BwgForm,
1396
- B as BwgFormItem,
1397
- Nt as BwgInput,
1398
- Mt as BwgLargeUploader,
1399
- Dt as BwgMaskedInput,
1400
- kt as BwgMaskedPicker,
1401
- xt as BwgMultiSelect,
1402
- vt as BwgNumber,
1403
- Bt as BwgRadio,
1404
- Et as BwgRangePicker,
1405
- Ot as BwgSearch,
1406
- At as BwgSelect,
1407
- zt as BwgSwitch,
1408
- Vt as BwgTextArea,
1409
- Ut as BwgUploader
1828
+ It as BwgCheck,
1829
+ vt as BwgCheckList,
1830
+ Mt as BwgDatePicker,
1831
+ Dt as BwgDownload,
1832
+ tt as BwgForm,
1833
+ T as BwgFormItem,
1834
+ _t as BwgInput,
1835
+ Nt as BwgLargeUploader,
1836
+ At as BwgMaskedDate,
1837
+ xt as BwgMaskedInput,
1838
+ Et as BwgMaskedRange,
1839
+ Bt as BwgMultiSelect,
1840
+ zt as BwgNumber,
1841
+ Ot as BwgRadio,
1842
+ $t as BwgRangePicker,
1843
+ Rt as BwgSearch,
1844
+ Ut as BwgSelect,
1845
+ Tt as BwgSwitch,
1846
+ jt as BwgTextArea,
1847
+ Ht as BwgUploader
1410
1848
  };