@bwg-ui/core 1.2.7 → 1.2.9

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 (81) hide show
  1. package/README.md +28 -0
  2. package/dist/chunks/MenuReport-CuAfCZbc.cjs +1 -0
  3. package/dist/chunks/MenuReport-iuRC_snf.js +1244 -0
  4. package/dist/chunks/{common-components-BiUtYMIt.js → common-components-CFIJNFN0.js} +6704 -7999
  5. package/dist/chunks/common-components-CioS_8Bi.cjs +183 -0
  6. package/dist/chunks/{core-CF_HWm44.cjs → core-CA7iRgyb.cjs} +1 -1
  7. package/dist/chunks/{core-Cb5dF0QU.js → core-D18HD1It.js} +1 -1
  8. package/dist/chunks/{enc-base64-Dy-3zKzn.js → enc-base64-CdWu8KMI.js} +2 -2
  9. package/dist/chunks/{enc-base64-CAxIzedh.cjs → enc-base64-DSIiAsI5.cjs} +1 -1
  10. package/dist/chunks/layout-components-C-9ATcL9.js +1616 -0
  11. package/dist/chunks/layout-components-DMR4tl9_.cjs +35 -0
  12. package/dist/chunks/{sha256-DbQnwvPn.cjs → sha256-D5iKSlK6.cjs} +1 -1
  13. package/dist/chunks/{sha256-DKma8qua.js → sha256-DQcqzuys.js} +2 -2
  14. package/dist/components/common/ButtonAccessController.d.ts +5 -0
  15. package/dist/components/common/ButtonAccessController.d.ts.map +1 -0
  16. package/dist/components/common/BwgEditor.d.ts +3 -3
  17. package/dist/components/common/BwgEditor.d.ts.map +1 -1
  18. package/dist/components/common/BwgPopup.d.ts +15 -0
  19. package/dist/components/common/BwgPopup.d.ts.map +1 -1
  20. package/dist/components/common/BwgView.d.ts +2 -23
  21. package/dist/components/common/BwgView.d.ts.map +1 -1
  22. package/dist/components/common/SearchBox.d.ts +1 -57
  23. package/dist/components/common/SearchBox.d.ts.map +1 -1
  24. package/dist/components/common/index.cjs +1 -1
  25. package/dist/components/common/index.d.ts +5 -3
  26. package/dist/components/common/index.d.ts.map +1 -1
  27. package/dist/components/common/index.js +24 -23
  28. package/dist/components/common/type.d.ts +132 -0
  29. package/dist/components/common/type.d.ts.map +1 -0
  30. package/dist/components/guide/index.cjs +1 -1
  31. package/dist/components/guide/index.js +1 -1
  32. package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
  33. package/dist/components/layout/default/LocalPopupContainer.d.ts +3 -0
  34. package/dist/components/layout/default/LocalPopupContainer.d.ts.map +1 -0
  35. package/dist/components/layout/default/PopupContainer.d.ts.map +1 -1
  36. package/dist/components/layout/index.cjs +1 -35
  37. package/dist/components/layout/index.js +13 -1558
  38. package/dist/components/popup/MenuReport.d.ts +2 -5
  39. package/dist/components/popup/MenuReport.d.ts.map +1 -1
  40. package/dist/components/popup/SearchDepartmentP01.d.ts +4 -5
  41. package/dist/components/popup/SearchDepartmentP01.d.ts.map +1 -1
  42. package/dist/components/popup/SearchDepartmentP02.d.ts +3 -5
  43. package/dist/components/popup/SearchDepartmentP02.d.ts.map +1 -1
  44. package/dist/components/popup/SearchEmployeeP01.d.ts +3 -1
  45. package/dist/components/popup/SearchEmployeeP01.d.ts.map +1 -1
  46. package/dist/components/popup/SearchEmployeeP02.d.ts +3 -1
  47. package/dist/components/popup/SearchEmployeeP02.d.ts.map +1 -1
  48. package/dist/components/popup/SearchOrganizationP01.d.ts +2 -4
  49. package/dist/components/popup/SearchOrganizationP01.d.ts.map +1 -1
  50. package/dist/components/popup/SearchOrganizationP02.d.ts +3 -4
  51. package/dist/components/popup/SearchOrganizationP02.d.ts.map +1 -1
  52. package/dist/components/popup/config/localPopupRegistry.d.ts +8 -0
  53. package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -0
  54. package/dist/components/popup/index.cjs +1 -1
  55. package/dist/components/popup/index.d.ts +2 -4
  56. package/dist/components/popup/index.d.ts.map +1 -1
  57. package/dist/components/popup/index.js +1 -1
  58. package/dist/index.cjs +1 -1
  59. package/dist/index.js +238 -217
  60. package/dist/provider/hooks/usePopup.d.ts +2 -1
  61. package/dist/provider/hooks/usePopup.d.ts.map +1 -1
  62. package/dist/provider/index.cjs +1 -1
  63. package/dist/provider/index.js +205 -188
  64. package/dist/stores/index.cjs +2 -2
  65. package/dist/stores/index.js +265 -196
  66. package/dist/stores/popupStore.d.ts +17 -1
  67. package/dist/stores/popupStore.d.ts.map +1 -1
  68. package/dist/stores/userStore.d.ts +16 -2
  69. package/dist/stores/userStore.d.ts.map +1 -1
  70. package/dist/utils/commonUtils.d.ts +77 -6
  71. package/dist/utils/commonUtils.d.ts.map +1 -1
  72. package/dist/utils/gwUtils.d.ts +23 -0
  73. package/dist/utils/gwUtils.d.ts.map +1 -0
  74. package/dist/utils/index.cjs +1 -1
  75. package/dist/utils/index.d.ts +27 -8
  76. package/dist/utils/index.d.ts.map +1 -1
  77. package/dist/utils/index.js +770 -619
  78. package/dist/utils/userUtils.d.ts +6 -0
  79. package/dist/utils/userUtils.d.ts.map +1 -1
  80. package/package.json +4 -4
  81. package/dist/chunks/common-components-DyOLtUJx.cjs +0 -183
@@ -1,9 +1,9 @@
1
- import X from "axios";
2
- import L from "dayjs";
3
- import { g as Q } from "../chunks/common-components-BiUtYMIt.js";
4
- import { notification as U, message as _ } from "antd";
5
- import { useUserStore as O, useMenuViewStore as ie, useLoadingStore as Z, usePopupLoadingStore as J } from "../stores/index.js";
6
- const ce = {
1
+ import ee from "axios";
2
+ import C from "dayjs";
3
+ import { g as te } from "../chunks/common-components-CFIJNFN0.js";
4
+ import { notification as U, message as E } from "antd";
5
+ import { useUserStore as T, useMenuViewStore as le, useLoadingStore as X, usePopupLoadingStore as Q } from "../stores/index.js";
6
+ const de = {
7
7
  // 권한 관련
8
8
  AUTH_BTNS: "SCMSIGN00202",
9
9
  // 버튼 권한 조회
@@ -18,406 +18,437 @@ const ce = {
18
18
  AUTH_BMRK: "SCMBMRK00101"
19
19
  // 즐겨찾기 관리
20
20
  };
21
- let F = {};
22
- function Ie(e) {
23
- F = e, console.log("🔧 Provider 서비스코드 오버라이드 설정:", e);
21
+ let H = {};
22
+ function Le(e) {
23
+ H = e, console.log("🔧 Provider 서비스코드 오버라이드 설정:", e);
24
24
  }
25
- function ue(e) {
26
- return F[e] && F[e].trim() !== "" ? F[e] : ce[e];
25
+ function me(e) {
26
+ return H[e] && H[e].trim() !== "" ? H[e] : de[e];
27
27
  }
28
- function le() {
28
+ function fe() {
29
29
  const e = {};
30
- for (const t of Object.keys(ce))
31
- e[t] = ue(t);
30
+ for (const t of Object.keys(de))
31
+ e[t] = me(t);
32
32
  return e;
33
33
  }
34
- function Pe() {
34
+ function Fe() {
35
35
  console.log("🔧 bwg-core 서비스코드 설정:"), console.log("📋 Provider 설정 > 기본값 순서로 확인");
36
- const e = le();
36
+ const e = fe();
37
37
  for (const [t, r] of Object.entries(e)) {
38
- const o = F[t] ? "Provider 설정" : "기본값";
38
+ const o = H[t] ? "Provider 설정" : "기본값";
39
39
  console.log(` ${t}: ${r} (${o})`);
40
40
  }
41
41
  }
42
- const de = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42
+ const he = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
43
43
  __proto__: null,
44
- getAllServiceCodes: le,
45
- getServiceCode: ue,
46
- logServiceCodeConfig: Pe,
47
- setServiceCodeOverrides: Ie
48
- }, Symbol.toStringTag, { value: "Module" })), Le = () => O.getState().user?.crprCd || null, me = () => O.getState().user?.userId || null, fe = () => O.getState().user?.userNm || null, Ae = () => O.getState().user?.userDvsn || null, Fe = () => O.getState().user?.emplNo || null, he = () => O.getState().user?.dprtCd || null, ge = () => O.getState().user?.dprtNm || null, W = () => O.getState().user?.roleList || null, Re = (e) => {
49
- const t = W();
44
+ getAllServiceCodes: fe,
45
+ getServiceCode: me,
46
+ logServiceCodeConfig: Fe,
47
+ setServiceCodeOverrides: Le
48
+ }, Symbol.toStringTag, { value: "Module" })), ge = () => T.getState().user?.crprCd || null, pe = () => {
49
+ const e = T.getState().user;
50
+ return T.getState().hrInfo?.empNo || e?.userId || null;
51
+ }, ye = () => T.getState().user?.userNm || null, He = () => T.getState().user?.userDvsn || null, Re = () => T.getState().user?.emplNo || null, we = () => {
52
+ const e = T.getState().hrInfo, t = T.getState().user;
53
+ return e?.deptCd || t?.dprtCd || null;
54
+ }, Se = () => T.getState().user?.dprtNm || null, K = () => T.getState().user?.roleList || null, je = (e) => {
55
+ const t = K();
50
56
  return t ? t.includes(e) : !1;
51
- }, Ye = (e) => {
52
- const t = W();
57
+ }, Ve = (e) => {
58
+ const t = K();
53
59
  return t ? e.some((r) => t.includes(r)) : !1;
54
60
  }, ze = (e) => {
55
- const t = W();
61
+ const t = K();
56
62
  return t ? e.every((r) => t.includes(r)) : !1;
57
- }, He = () => O.getState().isLoggedIn, A = () => O.getState().user, je = () => A() !== null, Ve = () => {
58
- const e = fe(), t = me();
63
+ }, Be = () => T.getState().isLoggedIn, L = () => T.getState().user, We = () => L() !== null, qe = () => {
64
+ const e = ye(), t = pe();
59
65
  return e || t || null;
60
- }, Be = () => {
61
- const e = ge(), t = he();
66
+ }, Ke = () => {
67
+ const e = Se(), t = we();
62
68
  return e || (t ? String(t) : null);
63
- }, pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
69
+ }, F = () => T.getState().hrInfo, Ge = () => F()?.jbpsCd || null, Je = () => F()?.jbgdCd || null, Ze = () => F()?.jbdtCd || null, Xe = () => F()?.jbkdCd || null, Qe = () => F()?.wkplCd || null, Me = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
64
70
  __proto__: null,
65
- getCrprCd: Le,
66
- getDepartmentInfo: Be,
67
- getDisplayName: Ve,
68
- getDprtCd: he,
69
- getDprtNm: ge,
70
- getEmplNo: Fe,
71
- getRoleList: W,
72
- getUserDvsn: Ae,
73
- getUserId: me,
74
- getUserInfo: A,
75
- getUserNm: fe,
71
+ getCrprCd: ge,
72
+ getDepartmentInfo: Ke,
73
+ getDisplayName: qe,
74
+ getDprtCd: we,
75
+ getDprtNm: Se,
76
+ getEmplNo: Re,
77
+ getHrInfo: F,
78
+ getJbdtCd: Ze,
79
+ getJbgdCd: Je,
80
+ getJbkdCd: Xe,
81
+ getJbpsCd: Ge,
82
+ getRoleList: K,
83
+ getUserDvsn: He,
84
+ getUserId: pe,
85
+ getUserInfo: L,
86
+ getUserNm: ye,
87
+ getWkplCd: Qe,
76
88
  hasAllRoles: ze,
77
- hasAnyRole: Ye,
78
- hasRole: Re,
79
- hasUserInfo: je,
80
- isLoggedIn: He
89
+ hasAnyRole: Ve,
90
+ hasRole: je,
91
+ hasUserInfo: We,
92
+ isLoggedIn: Be
81
93
  }, Symbol.toStringTag, { value: "Module" }));
82
- var H = { exports: {} }, We = H.exports, se;
83
- function qe() {
84
- return se || (se = 1, (function(e, t) {
94
+ var z = { exports: {} }, et = z.exports, ie;
95
+ function tt() {
96
+ return ie || (ie = 1, (function(e, t) {
85
97
  (function(r, o) {
86
98
  e.exports = o();
87
- })(We, (function() {
88
- return function(r, o, a) {
99
+ })(et, (function() {
100
+ return function(r, o, n) {
89
101
  r = r || {};
90
- var m = o.prototype, p = { future: "in %s", past: "%s ago", s: "a few seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", M: "a month", MM: "%d months", y: "a year", yy: "%d years" };
91
- function x(y, d, l, i) {
92
- return m.fromToBase(y, d, l, i);
102
+ var f = o.prototype, h = { future: "in %s", past: "%s ago", s: "a few seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", M: "a month", MM: "%d months", y: "a year", yy: "%d years" };
103
+ function M(g, m, l, a) {
104
+ return f.fromToBase(g, m, l, a);
93
105
  }
94
- a.en.relativeTime = p, m.fromToBase = function(y, d, l, i, c) {
95
- for (var n, s, u, f = l.$locale().relativeTime || p, g = r.thresholds || [{ l: "s", r: 44, d: "second" }, { l: "m", r: 89 }, { l: "mm", r: 44, d: "minute" }, { l: "h", r: 89 }, { l: "hh", r: 21, d: "hour" }, { l: "d", r: 35 }, { l: "dd", r: 25, d: "day" }, { l: "M", r: 45 }, { l: "MM", r: 10, d: "month" }, { l: "y", r: 17 }, { l: "yy", d: "year" }], w = g.length, v = 0; v < w; v += 1) {
96
- var S = g[v];
97
- S.d && (n = i ? a(y).diff(l, S.d, !0) : l.diff(y, S.d, !0));
98
- var C = (r.rounding || Math.round)(Math.abs(n));
99
- if (u = n > 0, C <= S.r || !S.r) {
100
- C <= 1 && v > 0 && (S = g[v - 1]);
101
- var M = f[S.l];
102
- c && (C = c("" + C)), s = typeof M == "string" ? M.replace("%d", C) : M(C, d, S.l, u);
106
+ n.en.relativeTime = h, f.fromToBase = function(g, m, l, a, c) {
107
+ for (var i, s, u, p = l.$locale().relativeTime || h, y = r.thresholds || [{ l: "s", r: 44, d: "second" }, { l: "m", r: 89 }, { l: "mm", r: 44, d: "minute" }, { l: "h", r: 89 }, { l: "hh", r: 21, d: "hour" }, { l: "d", r: 35 }, { l: "dd", r: 25, d: "day" }, { l: "M", r: 45 }, { l: "MM", r: 10, d: "month" }, { l: "y", r: 17 }, { l: "yy", d: "year" }], w = y.length, v = 0; v < w; v += 1) {
108
+ var S = y[v];
109
+ S.d && (i = a ? n(g).diff(l, S.d, !0) : l.diff(g, S.d, !0));
110
+ var $ = (r.rounding || Math.round)(Math.abs(i));
111
+ if (u = i > 0, $ <= S.r || !S.r) {
112
+ $ <= 1 && v > 0 && (S = y[v - 1]);
113
+ var b = p[S.l];
114
+ c && ($ = c("" + $)), s = typeof b == "string" ? b.replace("%d", $) : b($, m, S.l, u);
103
115
  break;
104
116
  }
105
117
  }
106
- if (d) return s;
107
- var b = u ? f.future : f.past;
108
- return typeof b == "function" ? b(s) : b.replace("%s", s);
109
- }, m.to = function(y, d) {
110
- return x(y, d, this, !0);
111
- }, m.from = function(y, d) {
112
- return x(y, d, this);
118
+ if (m) return s;
119
+ var D = u ? p.future : p.past;
120
+ return typeof D == "function" ? D(s) : D.replace("%s", s);
121
+ }, f.to = function(g, m) {
122
+ return M(g, m, this, !0);
123
+ }, f.from = function(g, m) {
124
+ return M(g, m, this);
113
125
  };
114
- var h = function(y) {
115
- return y.$u ? a.utc() : a();
126
+ var d = function(g) {
127
+ return g.$u ? n.utc() : n();
116
128
  };
117
- m.toNow = function(y) {
118
- return this.to(h(this), y);
119
- }, m.fromNow = function(y) {
120
- return this.from(h(this), y);
129
+ f.toNow = function(g) {
130
+ return this.to(d(this), g);
131
+ }, f.fromNow = function(g) {
132
+ return this.from(d(this), g);
121
133
  };
122
134
  };
123
135
  }));
124
- })(H)), H.exports;
136
+ })(z)), z.exports;
125
137
  }
126
- var Ke = /* @__PURE__ */ qe();
127
- const Ge = /* @__PURE__ */ Q(Ke);
128
- var j = { exports: {} }, Ze = j.exports, ne;
129
- function Je() {
130
- return ne || (ne = 1, (function(e, t) {
138
+ var rt = /* @__PURE__ */ tt();
139
+ const ot = /* @__PURE__ */ te(rt);
140
+ var B = { exports: {} }, st = B.exports, ce;
141
+ function nt() {
142
+ return ce || (ce = 1, (function(e, t) {
131
143
  (function(r, o) {
132
144
  e.exports = o();
133
- })(Ze, (function() {
145
+ })(st, (function() {
134
146
  var r = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, o = {};
135
- return function(a, m, p) {
136
- var x, h = function(i, c, n) {
137
- n === void 0 && (n = {});
138
- var s = new Date(i), u = (function(f, g) {
139
- g === void 0 && (g = {});
140
- var w = g.timeZoneName || "short", v = f + "|" + w, S = o[v];
141
- return S || (S = new Intl.DateTimeFormat("en-US", { hour12: !1, timeZone: f, year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: w }), o[v] = S), S;
142
- })(c, n);
147
+ return function(n, f, h) {
148
+ var M, d = function(a, c, i) {
149
+ i === void 0 && (i = {});
150
+ var s = new Date(a), u = (function(p, y) {
151
+ y === void 0 && (y = {});
152
+ var w = y.timeZoneName || "short", v = p + "|" + w, S = o[v];
153
+ return S || (S = new Intl.DateTimeFormat("en-US", { hour12: !1, timeZone: p, year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: w }), o[v] = S), S;
154
+ })(c, i);
143
155
  return u.formatToParts(s);
144
- }, y = function(i, c) {
145
- for (var n = h(i, c), s = [], u = 0; u < n.length; u += 1) {
146
- var f = n[u], g = f.type, w = f.value, v = r[g];
156
+ }, g = function(a, c) {
157
+ for (var i = d(a, c), s = [], u = 0; u < i.length; u += 1) {
158
+ var p = i[u], y = p.type, w = p.value, v = r[y];
147
159
  v >= 0 && (s[v] = parseInt(w, 10));
148
160
  }
149
- var S = s[3], C = S === 24 ? 0 : S, M = s[0] + "-" + s[1] + "-" + s[2] + " " + C + ":" + s[4] + ":" + s[5] + ":000", b = +i;
150
- return (p.utc(M).valueOf() - (b -= b % 1e3)) / 6e4;
151
- }, d = m.prototype;
152
- d.tz = function(i, c) {
153
- i === void 0 && (i = x);
154
- var n, s = this.utcOffset(), u = this.toDate(), f = u.toLocaleString("en-US", { timeZone: i }), g = Math.round((u - new Date(f)) / 1e3 / 60), w = 15 * -Math.round(u.getTimezoneOffset() / 15) - g;
155
- if (!Number(w)) n = this.utcOffset(0, c);
156
- else if (n = p(f, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(w, !0), c) {
157
- var v = n.utcOffset();
158
- n = n.add(s - v, "minute");
161
+ var S = s[3], $ = S === 24 ? 0 : S, b = s[0] + "-" + s[1] + "-" + s[2] + " " + $ + ":" + s[4] + ":" + s[5] + ":000", D = +a;
162
+ return (h.utc(b).valueOf() - (D -= D % 1e3)) / 6e4;
163
+ }, m = f.prototype;
164
+ m.tz = function(a, c) {
165
+ a === void 0 && (a = M);
166
+ var i, s = this.utcOffset(), u = this.toDate(), p = u.toLocaleString("en-US", { timeZone: a }), y = Math.round((u - new Date(p)) / 1e3 / 60), w = 15 * -Math.round(u.getTimezoneOffset() / 15) - y;
167
+ if (!Number(w)) i = this.utcOffset(0, c);
168
+ else if (i = h(p, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(w, !0), c) {
169
+ var v = i.utcOffset();
170
+ i = i.add(s - v, "minute");
159
171
  }
160
- return n.$x.$timezone = i, n;
161
- }, d.offsetName = function(i) {
162
- var c = this.$x.$timezone || p.tz.guess(), n = h(this.valueOf(), c, { timeZoneName: i }).find((function(s) {
172
+ return i.$x.$timezone = a, i;
173
+ }, m.offsetName = function(a) {
174
+ var c = this.$x.$timezone || h.tz.guess(), i = d(this.valueOf(), c, { timeZoneName: a }).find((function(s) {
163
175
  return s.type.toLowerCase() === "timezonename";
164
176
  }));
165
- return n && n.value;
177
+ return i && i.value;
166
178
  };
167
- var l = d.startOf;
168
- d.startOf = function(i, c) {
169
- if (!this.$x || !this.$x.$timezone) return l.call(this, i, c);
170
- var n = p(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
171
- return l.call(n, i, c).tz(this.$x.$timezone, !0);
172
- }, p.tz = function(i, c, n) {
173
- var s = n && c, u = n || c || x, f = y(+p(), u);
174
- if (typeof i != "string") return p(i).tz(u);
175
- var g = (function(C, M, b) {
176
- var N = C - 60 * M * 1e3, I = y(N, b);
177
- if (M === I) return [N, M];
178
- var G = y(N -= 60 * (I - M) * 1e3, b);
179
- return I === G ? [N, I] : [C - 60 * Math.min(I, G) * 1e3, Math.max(I, G)];
180
- })(p.utc(i, s).valueOf(), f, u), w = g[0], v = g[1], S = p(w).utcOffset(v);
179
+ var l = m.startOf;
180
+ m.startOf = function(a, c) {
181
+ if (!this.$x || !this.$x.$timezone) return l.call(this, a, c);
182
+ var i = h(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
183
+ return l.call(i, a, c).tz(this.$x.$timezone, !0);
184
+ }, h.tz = function(a, c, i) {
185
+ var s = i && c, u = i || c || M, p = g(+h(), u);
186
+ if (typeof a != "string") return h(a).tz(u);
187
+ var y = (function($, b, D) {
188
+ var Y = $ - 60 * b * 1e3, P = g(Y, D);
189
+ if (b === P) return [Y, b];
190
+ var Z = g(Y -= 60 * (P - b) * 1e3, D);
191
+ return P === Z ? [Y, P] : [$ - 60 * Math.min(P, Z) * 1e3, Math.max(P, Z)];
192
+ })(h.utc(a, s).valueOf(), p, u), w = y[0], v = y[1], S = h(w).utcOffset(v);
181
193
  return S.$x.$timezone = u, S;
182
- }, p.tz.guess = function() {
194
+ }, h.tz.guess = function() {
183
195
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
184
- }, p.tz.setDefault = function(i) {
185
- x = i;
196
+ }, h.tz.setDefault = function(a) {
197
+ M = a;
186
198
  };
187
199
  };
188
200
  }));
189
- })(j)), j.exports;
201
+ })(B)), B.exports;
190
202
  }
191
- var Xe = /* @__PURE__ */ Je();
192
- const Qe = /* @__PURE__ */ Q(Xe);
193
- var V = { exports: {} }, et = V.exports, ae;
194
- function tt() {
195
- return ae || (ae = 1, (function(e, t) {
203
+ var at = /* @__PURE__ */ nt();
204
+ const it = /* @__PURE__ */ te(at);
205
+ var W = { exports: {} }, ct = W.exports, ue;
206
+ function ut() {
207
+ return ue || (ue = 1, (function(e, t) {
196
208
  (function(r, o) {
197
209
  e.exports = o();
198
- })(et, (function() {
199
- var r = "minute", o = /[+-]\d\d(?::?\d\d)?/g, a = /([+-]|\d\d)/g;
200
- return function(m, p, x) {
201
- var h = p.prototype;
202
- x.utc = function(s) {
210
+ })(ct, (function() {
211
+ var r = "minute", o = /[+-]\d\d(?::?\d\d)?/g, n = /([+-]|\d\d)/g;
212
+ return function(f, h, M) {
213
+ var d = h.prototype;
214
+ M.utc = function(s) {
203
215
  var u = { date: s, utc: !0, args: arguments };
204
- return new p(u);
205
- }, h.utc = function(s) {
206
- var u = x(this.toDate(), { locale: this.$L, utc: !0 });
216
+ return new h(u);
217
+ }, d.utc = function(s) {
218
+ var u = M(this.toDate(), { locale: this.$L, utc: !0 });
207
219
  return s ? u.add(this.utcOffset(), r) : u;
208
- }, h.local = function() {
209
- return x(this.toDate(), { locale: this.$L, utc: !1 });
220
+ }, d.local = function() {
221
+ return M(this.toDate(), { locale: this.$L, utc: !1 });
210
222
  };
211
- var y = h.parse;
212
- h.parse = function(s) {
213
- s.utc && (this.$u = !0), this.$utils().u(s.$offset) || (this.$offset = s.$offset), y.call(this, s);
223
+ var g = d.parse;
224
+ d.parse = function(s) {
225
+ s.utc && (this.$u = !0), this.$utils().u(s.$offset) || (this.$offset = s.$offset), g.call(this, s);
214
226
  };
215
- var d = h.init;
216
- h.init = function() {
227
+ var m = d.init;
228
+ d.init = function() {
217
229
  if (this.$u) {
218
230
  var s = this.$d;
219
231
  this.$y = s.getUTCFullYear(), this.$M = s.getUTCMonth(), this.$D = s.getUTCDate(), this.$W = s.getUTCDay(), this.$H = s.getUTCHours(), this.$m = s.getUTCMinutes(), this.$s = s.getUTCSeconds(), this.$ms = s.getUTCMilliseconds();
220
- } else d.call(this);
232
+ } else m.call(this);
221
233
  };
222
- var l = h.utcOffset;
223
- h.utcOffset = function(s, u) {
224
- var f = this.$utils().u;
225
- if (f(s)) return this.$u ? 0 : f(this.$offset) ? l.call(this) : this.$offset;
234
+ var l = d.utcOffset;
235
+ d.utcOffset = function(s, u) {
236
+ var p = this.$utils().u;
237
+ if (p(s)) return this.$u ? 0 : p(this.$offset) ? l.call(this) : this.$offset;
226
238
  if (typeof s == "string" && (s = (function(S) {
227
239
  S === void 0 && (S = "");
228
- var C = S.match(o);
229
- if (!C) return null;
230
- var M = ("" + C[0]).match(a) || ["-", 0, 0], b = M[0], N = 60 * +M[1] + +M[2];
231
- return N === 0 ? 0 : b === "+" ? N : -N;
240
+ var $ = S.match(o);
241
+ if (!$) return null;
242
+ var b = ("" + $[0]).match(n) || ["-", 0, 0], D = b[0], Y = 60 * +b[1] + +b[2];
243
+ return Y === 0 ? 0 : D === "+" ? Y : -Y;
232
244
  })(s), s === null)) return this;
233
- var g = Math.abs(s) <= 16 ? 60 * s : s;
234
- if (g === 0) return this.utc(u);
245
+ var y = Math.abs(s) <= 16 ? 60 * s : s;
246
+ if (y === 0) return this.utc(u);
235
247
  var w = this.clone();
236
- if (u) return w.$offset = g, w.$u = !1, w;
248
+ if (u) return w.$offset = y, w.$u = !1, w;
237
249
  var v = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
238
- return (w = this.local().add(g + v, r)).$offset = g, w.$x.$localOffset = v, w;
250
+ return (w = this.local().add(y + v, r)).$offset = y, w.$x.$localOffset = v, w;
239
251
  };
240
- var i = h.format;
241
- h.format = function(s) {
252
+ var a = d.format;
253
+ d.format = function(s) {
242
254
  var u = s || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
243
- return i.call(this, u);
244
- }, h.valueOf = function() {
255
+ return a.call(this, u);
256
+ }, d.valueOf = function() {
245
257
  var s = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
246
258
  return this.$d.valueOf() - 6e4 * s;
247
- }, h.isUTC = function() {
259
+ }, d.isUTC = function() {
248
260
  return !!this.$u;
249
- }, h.toISOString = function() {
261
+ }, d.toISOString = function() {
250
262
  return this.toDate().toISOString();
251
- }, h.toString = function() {
263
+ }, d.toString = function() {
252
264
  return this.toDate().toUTCString();
253
265
  };
254
- var c = h.toDate;
255
- h.toDate = function(s) {
256
- return s === "s" && this.$offset ? x(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : c.call(this);
266
+ var c = d.toDate;
267
+ d.toDate = function(s) {
268
+ return s === "s" && this.$offset ? M(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : c.call(this);
257
269
  };
258
- var n = h.diff;
259
- h.diff = function(s, u, f) {
260
- if (s && this.$u === s.$u) return n.call(this, s, u, f);
261
- var g = this.local(), w = x(s).local();
262
- return n.call(g, w, u, f);
270
+ var i = d.diff;
271
+ d.diff = function(s, u, p) {
272
+ if (s && this.$u === s.$u) return i.call(this, s, u, p);
273
+ var y = this.local(), w = M(s).local();
274
+ return i.call(y, w, u, p);
263
275
  };
264
276
  };
265
277
  }));
266
- })(V)), V.exports;
278
+ })(W)), W.exports;
267
279
  }
268
- var rt = /* @__PURE__ */ tt();
269
- const ot = /* @__PURE__ */ Q(rt), st = "ui_theme", nt = (e) => typeof e == "string", at = (e) => typeof e == "number" && !isNaN(e), it = (e) => typeof e == "boolean", ct = (e) => typeof e == "function", ut = (e) => e !== null && typeof e == "object", lt = (e) => Array.isArray(e), dt = (e) => e === null, mt = (e) => e === void 0, ft = (e) => e == null, ht = (e, t) => {
280
+ var lt = /* @__PURE__ */ ut();
281
+ const dt = /* @__PURE__ */ te(lt), mt = "ui_theme", ft = (e) => typeof e == "string", ht = (e) => typeof e == "number" && !isNaN(e), gt = (e) => typeof e == "boolean", pt = (e) => typeof e == "function", yt = (e) => e !== null && typeof e == "object", wt = (e) => Array.isArray(e), St = (e) => e === null, Mt = (e) => e === void 0, vt = (e) => e == null, Ct = (e, t) => {
270
282
  let r = 0;
271
283
  return (...o) => {
272
- const a = Date.now();
273
- a - r >= t && (r = a, e(...o));
284
+ const n = Date.now();
285
+ n - r >= t && (r = n, e(...o));
274
286
  };
275
- }, gt = (e, t) => {
287
+ }, xt = (e, t) => {
276
288
  let r;
277
289
  return (...o) => {
278
290
  clearTimeout(r), r = setTimeout(() => e(...o), t);
279
291
  };
280
- }, pt = async (e) => {
292
+ }, $t = async (e) => {
281
293
  try {
282
294
  return await navigator.clipboard.writeText(e), !0;
283
295
  } catch (t) {
284
296
  return console.error("Error copying to clipboard:", t), !1;
285
297
  }
286
- }, q = () => {
298
+ }, G = () => {
287
299
  const e = window.innerWidth;
288
300
  return e < 768 ? "mobile" : e < 1024 ? "tablet" : "desktop";
289
- }, yt = () => q() === "mobile", wt = () => q() === "tablet", St = () => q() === "desktop", vt = () => "#" + Math.floor(Math.random() * 16777215).toString(16), K = (e) => !e || e.length === 0, xt = (e) => [...new Set(e)], $t = (e) => {
290
- if (!K(e))
301
+ }, bt = () => G() === "mobile", Tt = () => G() === "tablet", Dt = () => G() === "desktop", kt = () => "#" + Math.floor(Math.random() * 16777215).toString(16), J = (e) => !e || e.length === 0, Ot = (e) => [...new Set(e)], Yt = (e) => {
302
+ if (!J(e))
291
303
  return Math.max(...e);
292
- }, Ct = (e) => {
293
- if (!K(e))
304
+ }, It = (e) => {
305
+ if (!J(e))
294
306
  return Math.min(...e);
295
- }, Mt = (e) => {
296
- if (!K(e))
307
+ }, Nt = (e) => {
308
+ if (!J(e))
297
309
  return e.reduce((t, r) => t + r, 0) / e.length;
298
- }, bt = (e) => e.reduce((t, r) => t + r, 0), Tt = (e, t) => e.filter(t).length, kt = (e) => [...e].reverse(), Ot = (e) => {
310
+ }, _t = (e) => e.reduce((t, r) => t + r, 0), Ut = (e, t) => e.filter(t).length, Et = (e) => [...e].reverse(), Pt = (e) => {
299
311
  const t = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
300
312
  return e.forEach((o) => {
301
313
  t.has(o) ? r.add(o) : t.add(o);
302
314
  }), Array.from(r);
303
- }, Nt = (e, t) => Math.random() * (t - e) + e, Dt = (e, t, r) => Math.min(Math.max(e, t), r), Ut = (e, t = 0) => Math.round(e * Math.pow(10, t)) / Math.pow(10, t), _t = (e, t) => {
315
+ }, At = (e, t) => Math.random() * (t - e) + e, Lt = (e, t, r) => Math.min(Math.max(e, t), r), Ft = (e, t = 0) => Math.round(e * Math.pow(10, t)) / Math.pow(10, t), Ht = (e, t) => {
304
316
  try {
305
317
  sessionStorage.setItem(e, JSON.stringify(t));
306
318
  } catch (r) {
307
319
  console.error("Error saving to sessionStorage:", r);
308
320
  }
309
- }, Et = (e, t) => {
321
+ }, Rt = (e, t) => {
310
322
  try {
311
323
  const r = sessionStorage.getItem(e);
312
324
  return r ? JSON.parse(r) : t || null;
313
325
  } catch (r) {
314
326
  return console.error("Error reading from sessionStorage:", r), t || null;
315
327
  }
316
- }, It = (e) => {
328
+ }, jt = (e) => {
317
329
  try {
318
330
  sessionStorage.removeItem(e);
319
331
  } catch (t) {
320
332
  console.error("Error removing from sessionStorage:", t);
321
333
  }
322
- }, Pt = () => {
334
+ }, Vt = () => {
323
335
  try {
324
336
  sessionStorage.clear();
325
337
  } catch (e) {
326
338
  console.error("Error clearing sessionStorage:", e);
327
339
  }
328
- }, Lt = (e, t, r = 30) => {
340
+ }, zt = (e, t, r = 30) => {
329
341
  const o = /* @__PURE__ */ new Date();
330
342
  o.setTime(o.getTime() + r * 24 * 60 * 60 * 1e3), document.cookie = `${e}=${t};expires=${o.toUTCString()};path=/`;
331
- }, At = (e) => {
343
+ }, Bt = (e) => {
332
344
  const t = e + "=", r = document.cookie.split(";");
333
345
  for (let o = 0; o < r.length; o++) {
334
- let a = r[o];
335
- for (; a.charAt(0) === " "; ) a = a.substring(1, a.length);
336
- if (a.indexOf(t) === 0) return a.substring(t.length, a.length);
346
+ let n = r[o];
347
+ for (; n.charAt(0) === " "; ) n = n.substring(1, n.length);
348
+ if (n.indexOf(t) === 0) return n.substring(t.length, n.length);
337
349
  }
338
350
  return null;
339
- }, Ft = (e) => {
351
+ }, Wt = (e) => {
340
352
  document.cookie = `${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`;
341
- }, ye = (e) => typeof e != "string" ? !e : e.trim().length === 0, Rt = (e, t) => ye(e) ? t : e || "", Yt = (e) => e.replace(/-([a-z])/g, (t) => t[1].toUpperCase()), zt = (e) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e), Ht = (e) => {
353
+ }, ve = (e) => typeof e != "string" ? !e : e.trim().length === 0, qt = (e, t) => ve(e) ? t : e || "", Kt = (e) => e.replace(/-([a-z])/g, (t) => t[1].toUpperCase()), Gt = (e) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e), Jt = (e) => {
342
354
  try {
343
355
  return new URL(e), !0;
344
356
  } catch {
345
357
  return !1;
346
358
  }
347
- }, jt = (e, t, r = " ") => e.padStart(t, r), Vt = (e, t, r = " ") => e.padEnd(t, r), we = (e, t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") => {
359
+ }, Zt = (e, t, r = " ") => e.padStart(t, r), Xt = (e, t, r = " ") => e.padEnd(t, r), Ce = (e, t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") => {
348
360
  let r = "";
349
361
  for (let o = 0; o < e; o++)
350
362
  r += t.charAt(Math.floor(Math.random() * t.length));
351
363
  return r;
352
- }, Bt = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
364
+ }, Qt = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
353
365
  const t = Math.random() * 16 | 0;
354
366
  return (e === "x" ? t : t & 3 | 8).toString(16);
355
- }), Se = (e = 32) => {
356
- const r = Bt().replace(/-/g, "");
357
- return e >= 32 ? r + we(e - 32, "0123456789abcdef") : r.substring(0, e);
367
+ }), re = (e = 32) => {
368
+ const r = Qt().replace(/-/g, "");
369
+ return e >= 32 ? r + Ce(e - 32, "0123456789abcdef") : r.substring(0, e);
358
370
  };
359
- async function Wt(e) {
371
+ async function er(e) {
360
372
  const [{ default: t }, { default: r }] = await Promise.all([
361
- import("../chunks/sha256-DKma8qua.js").then((o) => o.s),
362
- import("../chunks/enc-base64-Dy-3zKzn.js").then((o) => o.e)
373
+ import("../chunks/sha256-DQcqzuys.js").then((o) => o.s),
374
+ import("../chunks/enc-base64-CdWu8KMI.js").then((o) => o.e)
363
375
  ]);
364
376
  return t(e).toString(r);
365
377
  }
366
- L.extend(Ge);
367
- L.extend(ot);
368
- L.extend(Qe);
369
- L.locale("ko");
370
- const qt = () => L(), Kt = (e = "YYYY-MM-DD") => L().format(e), ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
378
+ C.extend(ot);
379
+ C.extend(dt);
380
+ C.extend(it);
381
+ C.locale("ko");
382
+ const I = "YYYYMMDD", tr = () => C(), xe = (e = I) => C().format(e), rr = (e) => C(e, I, !0).isValid(), or = (e) => C(e, "YYYY", !0).isValid(), sr = (e) => C(e, "YYYYMM", !0).isValid(), nr = (e) => C(e, "YYYYMMDDHHmmss", !0).isValid(), ar = (e, t = "CM") => {
383
+ let r = "";
384
+ return t == "CM" ? r = "YYYYMMDD" : t == "C" ? r = "YYYY.MM.DD" : t == "H" ? r = "YYYY년 MM월 DD일" : t == "D" ? r = "YYYY-MM-DD" : t == "S" ? r = "YYYY/MM/DD" : t == "M" ? r = "YYYY-MM" : t == "YM" ? r = "YYYY년 MM월" : t == "DT" ? r = "YYYY-MM-DD HH:mm:ss" : t == "T" ? r = "HH:mm:ss" : t == "HM" && (r = "HH:mm"), C(e).format(r);
385
+ }, ir = (e, t = "month") => C(e).endOf(t).format(I), cr = (e, t = "month") => C(e).startOf(t).format(I), ur = (e, t) => C(e).add(t, "month").format(I), lr = (e, t) => C(e).add(t, "day").format(I), dr = (e, t) => C(e).diff(t, "day"), mr = (e = I) => {
386
+ const t = C(e), r = C();
387
+ let o = r.year() - t.year();
388
+ return (r.month() < t.month() || r.month() === t.month() && r.date() < t.date()) && o--, o;
389
+ }, $e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
371
390
  __proto__: null,
372
- THEME_COOKIE_NAME: st,
373
- arrAverage: Mt,
374
- arrCount: Tt,
375
- arrMax: $t,
376
- arrMin: Ct,
377
- arrReverse: kt,
378
- arrSum: bt,
379
- arrUnique: xt,
380
- clamp: Dt,
381
- clearSessionStorage: Pt,
382
- copyToClipboard: pt,
383
- debounce: gt,
384
- deleteCookie: Ft,
385
- duplicates: Ot,
386
- encryptSha256: Wt,
387
- generateRandomColor: vt,
388
- generateRandomString: we,
389
- generateUID: Se,
390
- getCookie: At,
391
- getCurrentDate: qt,
392
- getCurrentDateString: Kt,
393
- getDeviceType: q,
394
- getSessionStorage: Et,
395
- isArray: lt,
396
- isBoolean: it,
397
- isDesktop: St,
398
- isEmpty: ye,
399
- isEmptyArray: K,
400
- isFunction: ct,
401
- isMobile: yt,
402
- isNull: dt,
403
- isNullOrUndefined: ft,
404
- isNumber: at,
405
- isObject: ut,
406
- isSafeEmpty: Rt,
407
- isString: nt,
408
- isTablet: wt,
409
- isUndefined: mt,
410
- isValidEmail: zt,
411
- isValidUrl: Ht,
412
- padLeft: jt,
413
- padRight: Vt,
414
- random: Nt,
415
- removeSessionStorage: It,
416
- round: Ut,
417
- setCookie: Lt,
418
- setSessionStorage: _t,
419
- throttle: ht,
420
- toCamelCase: Yt
391
+ COMMON_DATE_FORMAT: I,
392
+ THEME_COOKIE_NAME: mt,
393
+ addDays: lr,
394
+ addMonths: ur,
395
+ arrAverage: Nt,
396
+ arrCount: Ut,
397
+ arrMax: Yt,
398
+ arrMin: It,
399
+ arrReverse: Et,
400
+ arrSum: _t,
401
+ arrUnique: Ot,
402
+ clamp: Lt,
403
+ clearSessionStorage: Vt,
404
+ copyToClipboard: $t,
405
+ datetimeFormat: ar,
406
+ debounce: xt,
407
+ deleteCookie: Wt,
408
+ diffDays: dr,
409
+ duplicates: Pt,
410
+ encryptSha256: er,
411
+ generateRandomColor: kt,
412
+ generateRandomString: Ce,
413
+ generateUID: re,
414
+ getAge: mr,
415
+ getCookie: Bt,
416
+ getCurrentDate: tr,
417
+ getCurrentDateString: xe,
418
+ getDeviceType: G,
419
+ getLastDateByDiv: ir,
420
+ getSessionStorage: Rt,
421
+ getStartDateByDiv: cr,
422
+ isArray: wt,
423
+ isBoolean: gt,
424
+ isDesktop: Dt,
425
+ isEmpty: ve,
426
+ isEmptyArray: J,
427
+ isFunction: pt,
428
+ isMobile: bt,
429
+ isNull: St,
430
+ isNullOrUndefined: vt,
431
+ isNumber: ht,
432
+ isObject: yt,
433
+ isSafeEmpty: qt,
434
+ isString: ft,
435
+ isTablet: Tt,
436
+ isUndefined: Mt,
437
+ isValidDate: rr,
438
+ isValidDateTime: nr,
439
+ isValidEmail: Gt,
440
+ isValidUrl: Jt,
441
+ isValidYear: or,
442
+ isValidYearMonth: sr,
443
+ padLeft: Zt,
444
+ padRight: Xt,
445
+ random: At,
446
+ removeSessionStorage: jt,
447
+ round: Ft,
448
+ setCookie: zt,
449
+ setSessionStorage: Ht,
450
+ throttle: Ct,
451
+ toCamelCase: Kt
421
452
  }, Symbol.toStringTag, { value: "Module" })), R = (() => {
422
453
  try {
423
454
  if (import.meta.env.DEV)
@@ -426,41 +457,41 @@ const qt = () => L(), Kt = (e = "YYYY-MM-DD") => L().format(e), ve = /* @__PURE_
426
457
  }
427
458
  return !1;
428
459
  })();
429
- let xe = [], $e = [];
430
- function Gt(e) {
431
- e.devHosts && (xe = e.devHosts), e.prodHosts && ($e = e.prodHosts);
460
+ let be = [], Te = [];
461
+ function fr(e) {
462
+ e.devHosts && (be = e.devHosts), e.prodHosts && (Te = e.prodHosts);
432
463
  }
433
- function Ce() {
464
+ function De() {
434
465
  if (typeof window < "u" && window.location)
435
466
  return window.location.hostname;
436
467
  }
437
- const Me = (() => {
438
- const e = Ce();
439
- return !!(e && xe.includes(e));
440
- })(), be = (() => {
441
- const e = Ce();
442
- return !!(e && $e.includes(e));
468
+ const ke = (() => {
469
+ const e = De();
470
+ return !!(e && be.includes(e));
471
+ })(), Oe = (() => {
472
+ const e = De();
473
+ return !!(e && Te.includes(e));
443
474
  })();
444
- function Zt() {
445
- return R ? "X" : Me ? "D" : be ? "P" : "X";
475
+ function hr() {
476
+ return R ? "X" : ke ? "D" : Oe ? "P" : "X";
446
477
  }
447
- const Te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
478
+ const Ye = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
448
479
  __proto__: null,
449
- configureEnvUtils: Gt,
450
- getEnvCode: Zt,
451
- isDev: Me,
480
+ configureEnvUtils: fr,
481
+ getEnvCode: hr,
482
+ isDev: ke,
452
483
  isLocal: R,
453
- isProd: be
454
- }, Symbol.toStringTag, { value: "Module" })), T = {
484
+ isProd: Oe
485
+ }, Symbol.toStringTag, { value: "Module" })), k = {
455
486
  duration: 4.5,
456
487
  // 4.5초
457
488
  placement: "topRight"
458
489
  };
459
- class P {
490
+ class A {
460
491
  constructor() {
461
492
  }
462
493
  static getInstance() {
463
- return P.instance || (P.instance = new P()), P.instance;
494
+ return A.instance || (A.instance = new A()), A.instance;
464
495
  }
465
496
  /**
466
497
  * BwgError 전용 에러 알림
@@ -470,14 +501,14 @@ class P {
470
501
  const {
471
502
  message: r,
472
503
  description: o,
473
- duration: a = T.duration,
474
- placement: m = T.placement
504
+ duration: n = k.duration,
505
+ placement: f = k.placement
475
506
  } = t;
476
507
  U.error({
477
508
  message: `${r}`,
478
509
  description: o || "오류가 발생했습니다. 다시 시도해주세요.",
479
- duration: a,
480
- placement: m,
510
+ duration: n,
511
+ placement: f,
481
512
  style: {
482
513
  borderLeft: "4px solid #ff4d4f",
483
514
  backgroundColor: "#fff2f0"
@@ -491,8 +522,8 @@ class P {
491
522
  U.success({
492
523
  message: `${t}`,
493
524
  description: r,
494
- duration: o || T.duration,
495
- placement: T.placement
525
+ duration: o || k.duration,
526
+ placement: k.placement
496
527
  });
497
528
  }
498
529
  /**
@@ -502,8 +533,8 @@ class P {
502
533
  U.info({
503
534
  message: `${t}`,
504
535
  description: r,
505
- duration: o || T.duration,
506
- placement: T.placement
536
+ duration: o || k.duration,
537
+ placement: k.placement
507
538
  });
508
539
  }
509
540
  /**
@@ -513,8 +544,8 @@ class P {
513
544
  U.warning({
514
545
  message: `${t}`,
515
546
  description: r,
516
- duration: o || T.duration,
517
- placement: T.placement
547
+ duration: o || k.duration,
548
+ placement: k.placement
518
549
  });
519
550
  }
520
551
  /**
@@ -524,8 +555,8 @@ class P {
524
555
  U.error({
525
556
  message: `${t}`,
526
557
  description: r,
527
- duration: o || T.duration,
528
- placement: T.placement
558
+ duration: o || k.duration,
559
+ placement: k.placement
529
560
  });
530
561
  }
531
562
  /**
@@ -541,50 +572,50 @@ class P {
541
572
  U.destroy();
542
573
  }
543
574
  }
544
- const D = P.getInstance(), ee = (e) => {
545
- D.showBwgError(e);
546
- }, Jt = (e, t, r) => {
547
- D.showSuccess(e, t, r);
548
- }, te = (e, t, r) => {
549
- D.showInfo(e, t, r);
550
- }, re = (e, t, r) => {
551
- D.showWarning(e, t, r);
552
- }, Xt = (e, t, r) => {
553
- D.showError(e, t, r);
554
- }, Qt = () => {
555
- D.destroy();
556
- }, er = (e) => {
557
- D.close(e);
558
- }, ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
575
+ const N = A.getInstance(), oe = (e) => {
576
+ N.showBwgError(e);
577
+ }, gr = (e, t, r) => {
578
+ N.showSuccess(e, t, r);
579
+ }, se = (e, t, r) => {
580
+ N.showInfo(e, t, r);
581
+ }, ne = (e, t, r) => {
582
+ N.showWarning(e, t, r);
583
+ }, pr = (e, t, r) => {
584
+ N.showError(e, t, r);
585
+ }, yr = () => {
586
+ N.destroy();
587
+ }, wr = (e) => {
588
+ N.close(e);
589
+ }, Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
559
590
  __proto__: null,
560
- closeNotification: er,
561
- destroyNotifications: Qt,
562
- notiBwgError: ee,
563
- notiError: Xt,
564
- notiInfo: te,
565
- notiSuccess: Jt,
566
- notiWarning: re,
567
- notificationService: D
591
+ closeNotification: wr,
592
+ destroyNotifications: yr,
593
+ notiBwgError: oe,
594
+ notiError: pr,
595
+ notiInfo: se,
596
+ notiSuccess: gr,
597
+ notiWarning: ne,
598
+ notificationService: N
568
599
  }, Symbol.toStringTag, { value: "Module" }));
569
- let k = null;
570
- const oe = async (e) => {
571
- if (k === null)
600
+ let O = null;
601
+ const ae = async (e) => {
602
+ if (O === null)
572
603
  if (e === void 0)
573
604
  try {
574
- let r = (await X.get("/api/ip")).data.trim();
575
- r = r.replace(/\s+/g, ""), k = r;
605
+ let r = (await ee.get("/api/ip")).data.trim();
606
+ r = r.replace(/\s+/g, ""), O = r;
576
607
  } catch (t) {
577
- console.warn("IP 가져오기 실패:", t), k = "unknown";
608
+ console.warn("IP 가져오기 실패:", t), O = "unknown";
578
609
  }
579
610
  else
580
- k = e;
581
- }, tr = () => k, rr = async () => (console.log("IP 검증 비활성화됨 (성능 최적화)"), k || "unknown");
582
- class $ extends Error {
583
- constructor(t, r, o, a, m) {
584
- super(t), this.name = "ApiError", this.detailMsg = r, this.response = o, this.msgCd = a, this.errorType = m, Error.captureStackTrace && Error.captureStackTrace(this, $);
611
+ O = e;
612
+ }, Sr = () => O, Mr = async () => (console.log("IP 검증 비활성화됨 (성능 최적화)"), O || "unknown");
613
+ class x extends Error {
614
+ constructor(t, r, o, n, f) {
615
+ super(t), this.name = "ApiError", this.detailMsg = r, this.response = o, this.msgCd = n, this.errorType = f, Error.captureStackTrace && Error.captureStackTrace(this, x);
585
616
  }
586
617
  }
587
- const B = {
618
+ const q = {
588
619
  method: "POST",
589
620
  timeout: 3e4,
590
621
  // 30초
@@ -595,18 +626,18 @@ const B = {
595
626
  showError: !0,
596
627
  retryCount: 0,
597
628
  retryDelay: 1e3
598
- }, Y = X.create({
599
- timeout: B.timeout,
600
- withCredentials: B.withCredentials,
629
+ }, j = ee.create({
630
+ timeout: q.timeout,
631
+ withCredentials: q.withCredentials,
601
632
  headers: {
602
633
  "Content-Type": "application/json; charset=utf-8",
603
634
  Accept: "application/json; charset=utf-8",
604
- "Apm-Guid": Se()
635
+ "Apm-Guid": re()
605
636
  }
606
637
  });
607
- Y.interceptors.request.use(
638
+ j.interceptors.request.use(
608
639
  (e) => {
609
- e.showLoading && !e.isPopup && Z.getState().showLoading(), e.showLoading && e.isPopup && J.getState().showLoading();
640
+ e.showLoading && !e.isPopup && X.getState().showLoading(), e.showLoading && e.isPopup && Q.getState().showLoading();
610
641
  let t = "UNKNOWN";
611
642
  (/* @__PURE__ */ new Date()).getTime();
612
643
  try {
@@ -615,30 +646,30 @@ Y.interceptors.request.use(
615
646
  console.warn("trxCd/guid 추출 실패:", o);
616
647
  }
617
648
  e.trxCd = t, e.requestStartTime = Date.now(), console.log(
618
- `🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${A()?.userId}]`
649
+ `🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${L()?.userId}]`
619
650
  );
620
651
  const r = localStorage.getItem("accessToken");
621
652
  return r && (e.headers.Authorization = `Bearer ${r}`), e.headers["Content-Type"] = "application/json; charset=UTF-8", e.headers.Accept = "application/json; charset=UTF-8", e;
622
653
  },
623
654
  (e) => (console.error("❌ 요청 인터셉터 에러:", e), Promise.reject(e))
624
655
  );
625
- Y.interceptors.response.use(
656
+ j.interceptors.response.use(
626
657
  (e) => {
627
- e.config.showLoading && !e.config.isPopup && Z.getState().hideLoading(), e.config.isPopup && J.getState().hideLoading();
658
+ e.config.showLoading && !e.config.isPopup && X.getState().hideLoading(), e.config.isPopup && Q.getState().hideLoading();
628
659
  let t = "UNKNOWN", r = "UNKNOWN";
629
660
  const o = (/* @__PURE__ */ new Date()).getTime();
630
661
  try {
631
662
  e.config.trxCd && (t = e.config.trxCd), e.config.guid ? r = e.config.guid : e.data && e.data.header && e.data.header.trxCd ? (t = e.data.header.trxCd, r = e.data.header.guid || "UNKNOWN") : e.config.data && e.config.data.header ? (t = e.config.data.header.trxCd || "UNKNOWN", r = e.config.data.header.guid || "UNKNOWN") : e.config.params && e.config.params.header && (t = e.config.params.header.trxCd || "UNKNOWN", r = e.config.params.header.guid || "UNKNOWN");
632
- } catch (m) {
633
- console.warn("trxCd/guid 추출 실패:", m);
663
+ } catch (f) {
664
+ console.warn("trxCd/guid 추출 실패:", f);
634
665
  }
635
- let a = 0;
636
- return e.config.requestStartTime && (a = o - e.config.requestStartTime), console.log(
637
- `✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${a}ms)`
666
+ let n = 0;
667
+ return e.config.requestStartTime && (n = o - e.config.requestStartTime), console.log(
668
+ `✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${n}ms)`
638
669
  ), e;
639
670
  },
640
671
  async (e) => {
641
- if (e.config && e.config.showLoading && !e.config.isPopup && Z.getState().hideLoading(), e.config && e.config.isPopup && J.getState().hideLoading(), console.error("❌ API 응답 에러:", e), R && console.error("🚨 Error Details:", {
672
+ if (e.config && e.config.showLoading && !e.config.isPopup && X.getState().hideLoading(), e.config && e.config.isPopup && Q.getState().hideLoading(), console.error("❌ API 응답 에러:", e), R && console.error("🚨 Error Details:", {
642
673
  message: e.message,
643
674
  status: e.response?.status,
644
675
  statusText: e.response?.statusText,
@@ -652,7 +683,7 @@ Y.interceptors.response.use(
652
683
  const t = localStorage.getItem("refreshToken");
653
684
  if (t)
654
685
  try {
655
- const r = await X.post("/auth/refresh", {
686
+ const r = await ee.post("/auth/refresh", {
656
687
  refreshToken: t
657
688
  });
658
689
  if (r.data.accessToken) {
@@ -662,7 +693,7 @@ Y.interceptors.response.use(
662
693
  );
663
694
  const o = e.config;
664
695
  if (o)
665
- return o.headers.Authorization = `Bearer ${r.data.accessToken}`, Y(o);
696
+ return o.headers.Authorization = `Bearer ${r.data.accessToken}`, j(o);
666
697
  }
667
698
  } catch {
668
699
  localStorage.removeItem("accessToken"), localStorage.removeItem("refreshToken"), window.location.href = "/login";
@@ -671,19 +702,19 @@ Y.interceptors.response.use(
671
702
  return Promise.reject(e);
672
703
  }
673
704
  );
674
- const E = async (e, t, r) => {
705
+ const _ = async (e, t, r) => {
675
706
  try {
676
707
  const o = {
677
- ...B,
708
+ ...q,
678
709
  ...r
679
- }, { activeMenuId: a } = ie.getState();
680
- if (k === null) {
710
+ }, { activeMenuId: n } = le.getState();
711
+ if (O === null) {
681
712
  const l = Date.now();
682
- await oe();
683
- const i = Date.now();
684
- console.log(`[INFO] IP 조회 소요시간: ${i - l}ms`);
713
+ await ae();
714
+ const a = Date.now();
715
+ console.log(`[INFO] IP 조회 소요시간: ${a - l}ms`);
685
716
  }
686
- const m = {
717
+ const f = {
687
718
  method: o.method,
688
719
  url: "/api/service",
689
720
  timeout: o.timeout,
@@ -691,155 +722,155 @@ const E = async (e, t, r) => {
691
722
  showLoading: o.showLoading,
692
723
  isPopup: o.isPopup
693
724
  };
694
- o.headers && (m.headers = o.headers);
695
- const p = k || "unknown", x = __APP_CD__, h = __SYS_CD__, y = {
725
+ o.headers && (f.headers = o.headers);
726
+ const h = O || "unknown", M = __APP_CD__, d = __SYS_CD__, g = {
696
727
  header: {
697
728
  trxCd: e,
698
- userInfo: A(),
699
- clientIp: p,
729
+ userInfo: L(),
730
+ clientIp: h,
700
731
  // 클라이언트 IP 추가 (서버에서 재확인 권장)
701
732
  domainId: "DEFAULT",
702
- appCd: x,
703
- sysCd: h,
704
- screenId: a
733
+ appCd: M,
734
+ sysCd: d,
735
+ screenId: n
705
736
  },
706
737
  // data: bxmEncrypt(JSON.stringify(data)),
707
738
  data: t
708
739
  };
709
- o.method === "GET" ? m.params = y || o.params : (m.data = y || o.data, o.params && (m.params = o.params));
710
- let d;
740
+ o.method === "GET" ? f.params = g || o.params : (f.data = g || o.data, o.params && (f.params = o.params));
741
+ let m;
711
742
  for (let l = 0; l <= (o.retryCount || 0); l++)
712
743
  try {
713
- const i = await Y(m);
714
- if (i.data.header?.resCd == 0) {
715
- for (const c in i.data)
744
+ const a = await j(f);
745
+ if (a.data.header?.resCd == 0) {
746
+ for (const c in a.data)
716
747
  if (c !== "header")
717
- return i.data[c];
748
+ return a.data[c];
718
749
  return {};
719
750
  } else {
720
- const c = i.data.header, n = c?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", s = c?.msgs?.detailMsgs || n, u = c?.msgCd, f = c?.msgs?.type;
721
- throw new $(n, s, i, u, f);
751
+ const c = a.data.header, i = c?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", s = c?.msgs?.detailMsgs || i, u = c?.msgCd, p = c?.msgs?.type;
752
+ throw new x(i, s, a, u, p);
722
753
  }
723
- } catch (i) {
724
- if (i.isAxiosError && i.response) {
725
- const c = i, n = c.response, s = n.data, u = s?.header?.msgs?.basicMsg || c.message || // 실패 시 Axios 에러 메시지 사용
726
- "서버에서 오류가 발생했습니다.", f = s?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
727
- (typeof n.data == "string" ? n.data : JSON.stringify(n.data)) || u, g = s?.header?.msgCd, w = s?.header?.msgs?.type;
728
- d = new $(
754
+ } catch (a) {
755
+ if (a.isAxiosError && a.response) {
756
+ const c = a, i = c.response, s = i.data, u = s?.header?.msgs?.basicMsg || c.message || // 실패 시 Axios 에러 메시지 사용
757
+ "서버에서 오류가 발생했습니다.", p = s?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
758
+ (typeof i.data == "string" ? i.data : JSON.stringify(i.data)) || u, y = s?.header?.msgCd, w = s?.header?.msgs?.type;
759
+ m = new x(
729
760
  u,
730
- f,
731
- n,
732
- g,
761
+ p,
762
+ i,
763
+ y,
733
764
  w
734
765
  );
735
766
  } else
736
- d = i;
737
- if (i.isAxiosError && Oe(i) && l < (o.retryCount || 0)) {
738
- await Ne(o.retryDelay || 1e3);
767
+ m = a;
768
+ if (a.isAxiosError && Ne(a) && l < (o.retryCount || 0)) {
769
+ await _e(o.retryDelay || 1e3);
739
770
  continue;
740
771
  }
741
772
  break;
742
773
  }
743
- if (d) {
774
+ if (m) {
744
775
  if (o.showError) {
745
- const l = d instanceof $ ? d.message : "요청 처리 중 오류가 발생했습니다.", i = d instanceof $ ? d.msgCd : "요청 처리 중 오류가 발생했습니다.", c = d instanceof $ ? d.detailMsg : d.message, n = d instanceof $ ? d.errorType : "";
746
- i?.startsWith("BXM") ? ee({
776
+ const l = m instanceof x ? m.message : "요청 처리 중 오류가 발생했습니다.", a = m instanceof x ? m.msgCd : "요청 처리 중 오류가 발생했습니다.", c = m instanceof x ? m.detailMsg : m.message, i = m instanceof x ? m.errorType : "";
777
+ a?.startsWith("BXM") ? oe({
747
778
  message: l,
748
779
  description: c,
749
780
  duration: 5
750
- }) : n == "I" ? te(l, c, 5) : re(l, c, 5);
781
+ }) : i == "I" ? se(l, c, 5) : ne(l, c, 5);
751
782
  }
752
- throw d;
783
+ throw m;
753
784
  }
754
785
  throw new Error("알 수 없는 API 오류가 발생했습니다.");
755
786
  } catch (o) {
756
787
  throw console.error("callService 최종 에러:", o), o;
757
788
  }
758
- }, or = async (e, t, r, o) => {
789
+ }, vr = async (e, t, r, o) => {
759
790
  try {
760
- const a = {
761
- ...B,
791
+ const n = {
792
+ ...q,
762
793
  ...o
763
- }, { activeMenuId: m } = ie.getState();
764
- if (k === null) {
765
- const i = Date.now();
766
- await oe();
794
+ }, { activeMenuId: f } = le.getState();
795
+ if (O === null) {
796
+ const a = Date.now();
797
+ await ae();
767
798
  const c = Date.now();
768
- console.log(`[INFO] IP 조회 소요시간: ${c - i}ms`);
799
+ console.log(`[INFO] IP 조회 소요시간: ${c - a}ms`);
769
800
  }
770
- const p = {
771
- method: a.method,
801
+ const h = {
802
+ method: n.method,
772
803
  url: "/api/" + e + "/service",
773
- timeout: a.timeout,
774
- withCredentials: a.withCredentials,
775
- showLoading: a.showLoading,
776
- isPopup: a.isPopup
804
+ timeout: n.timeout,
805
+ withCredentials: n.withCredentials,
806
+ showLoading: n.showLoading,
807
+ isPopup: n.isPopup
777
808
  };
778
- a.headers && (p.headers = a.headers);
779
- const x = k || "unknown", h = __APP_CD__, y = __SYS_CD__, d = {
809
+ n.headers && (h.headers = n.headers);
810
+ const M = O || "unknown", d = __APP_CD__, g = __SYS_CD__, m = {
780
811
  header: {
781
812
  trxCd: t,
782
- userInfo: A(),
783
- clientIp: x,
813
+ userInfo: L(),
814
+ clientIp: M,
784
815
  // 클라이언트 IP 추가 (서버에서 재확인 권장)
785
816
  domainId: "DEFAULT",
786
- appCd: h,
787
- sysCd: y,
788
- screenId: m
817
+ appCd: d,
818
+ sysCd: g,
819
+ screenId: f
789
820
  },
790
821
  // data: bxmEncrypt(JSON.stringify(data)),
791
822
  data: r
792
823
  };
793
- R && console.log("__BWG_LOCAL__ 테스트 입니다. ", R), a.method === "GET" ? p.params = d || a.params : (p.data = d || a.data, a.params && (p.params = a.params));
824
+ R && console.log("__BWG_LOCAL__ 테스트 입니다. ", R), n.method === "GET" ? h.params = m || n.params : (h.data = m || n.data, n.params && (h.params = n.params));
794
825
  let l;
795
- for (let i = 0; i <= (a.retryCount || 0); i++)
826
+ for (let a = 0; a <= (n.retryCount || 0); a++)
796
827
  try {
797
- const c = await Y(p);
828
+ const c = await j(h);
798
829
  if (c.data.header?.resCd == 0) {
799
- for (const n in c.data)
800
- if (n !== "header")
801
- return c.data[n];
830
+ for (const i in c.data)
831
+ if (i !== "header")
832
+ return c.data[i];
802
833
  return {};
803
834
  } else {
804
- const n = c.data.header, s = n?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", u = n?.msgs?.detailMsgs || s, f = n?.msgCd, g = n?.msgs?.type;
805
- throw new $(s, u, c, f, g);
835
+ const i = c.data.header, s = i?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", u = i?.msgs?.detailMsgs || s, p = i?.msgCd, y = i?.msgs?.type;
836
+ throw new x(s, u, c, p, y);
806
837
  }
807
838
  } catch (c) {
808
839
  if (c.isAxiosError && c.response) {
809
- const n = c, s = n.response, u = s.data, f = u?.header?.msgs?.basicMsg || n.message || // 실패 시 Axios 에러 메시지 사용
810
- "서버에서 오류가 발생했습니다.", g = u?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
811
- (typeof s.data == "string" ? s.data : JSON.stringify(s.data)) || f, w = u?.header?.msgCd, v = u?.header?.msgs?.type;
812
- l = new $(
813
- f,
814
- g,
840
+ const i = c, s = i.response, u = s.data, p = u?.header?.msgs?.basicMsg || i.message || // 실패 시 Axios 에러 메시지 사용
841
+ "서버에서 오류가 발생했습니다.", y = u?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
842
+ (typeof s.data == "string" ? s.data : JSON.stringify(s.data)) || p, w = u?.header?.msgCd, v = u?.header?.msgs?.type;
843
+ l = new x(
844
+ p,
845
+ y,
815
846
  s,
816
847
  w,
817
848
  v
818
849
  );
819
850
  } else
820
851
  l = c;
821
- if (c.isAxiosError && Oe(c) && i < (a.retryCount || 0)) {
822
- await Ne(a.retryDelay || 1e3);
852
+ if (c.isAxiosError && Ne(c) && a < (n.retryCount || 0)) {
853
+ await _e(n.retryDelay || 1e3);
823
854
  continue;
824
855
  }
825
856
  break;
826
857
  }
827
858
  if (l) {
828
- if (a.showError) {
829
- const i = l instanceof $ ? l.message : "요청 처리 중 오류가 발생했습니다.", c = l instanceof $ ? l.msgCd : "요청 처리 중 오류가 발생했습니다.", n = l instanceof $ ? l.detailMsg : l.message, s = l instanceof $ ? l.errorType : "";
830
- c?.startsWith("BXM") ? ee({
831
- message: i,
832
- description: n,
859
+ if (n.showError) {
860
+ const a = l instanceof x ? l.message : "요청 처리 중 오류가 발생했습니다.", c = l instanceof x ? l.msgCd : "요청 처리 중 오류가 발생했습니다.", i = l instanceof x ? l.detailMsg : l.message, s = l instanceof x ? l.errorType : "";
861
+ c?.startsWith("BXM") ? oe({
862
+ message: a,
863
+ description: i,
833
864
  duration: 5
834
- }) : s == "I" ? te(i, n, 5) : re(i, n, 5);
865
+ }) : s == "I" ? se(a, i, 5) : ne(a, i, 5);
835
866
  }
836
867
  throw l;
837
868
  }
838
869
  throw new Error("알 수 없는 API 오류가 발생했습니다.");
839
- } catch (a) {
840
- throw console.error("callService 최종 에러:", a), a;
870
+ } catch (n) {
871
+ throw console.error("callService 최종 에러:", n), n;
841
872
  }
842
- }, Oe = (e) => !e.response || e.response.status >= 500 && e.response.status < 600, Ne = (e) => new Promise((t) => setTimeout(t, e)), sr = (e, t, r) => E(e, t, { ...r, method: "GET" }), nr = (e, t, r) => E(e, t, { ...r, method: "POST" }), ar = (e, t, r) => E(e, t, { ...r, method: "PUT" }), ir = (e, t, r) => E(e, t, { ...r, method: "DELETE" }), cr = (e, t, r) => E(e, t, { ...r, method: "PATCH" }), ur = async (e, t, r) => {
873
+ }, Ne = (e) => !e.response || e.response.status >= 500 && e.response.status < 600, _e = (e) => new Promise((t) => setTimeout(t, e)), Cr = (e, t, r) => _(e, t, { ...r, method: "GET" }), xr = (e, t, r) => _(e, t, { ...r, method: "POST" }), $r = (e, t, r) => _(e, t, { ...r, method: "PUT" }), br = (e, t, r) => _(e, t, { ...r, method: "DELETE" }), Tr = (e, t, r) => _(e, t, { ...r, method: "PATCH" }), Dr = async (e, t, r) => {
843
874
  try {
844
875
  const o = await fetch("/api/permissions", {
845
876
  method: "POST",
@@ -858,28 +889,28 @@ const E = async (e, t, r) => {
858
889
  } catch (o) {
859
890
  throw console.error("권한 확인 서비스 오류:", o), o;
860
891
  }
861
- }, De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
892
+ }, Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
862
893
  __proto__: null,
863
- ApiError: $,
864
- apiDelete: ir,
865
- apiGet: sr,
866
- apiPatch: cr,
867
- apiPost: nr,
868
- apiPut: ar,
869
- callService: E,
870
- callService_SYSCD: or,
871
- getClientIp: tr,
872
- getPermissionService: ur,
873
- setClientIp: oe,
874
- verifyClientIp: rr
875
- }, Symbol.toStringTag, { value: "Module" })), lr = (e, t, r = "text/plain") => {
876
- const o = new Blob([e], { type: r }), a = URL.createObjectURL(o), m = document.createElement("a");
877
- m.href = a, m.download = t, document.body.appendChild(m), m.click(), document.body.removeChild(m), URL.revokeObjectURL(a);
894
+ ApiError: x,
895
+ apiDelete: br,
896
+ apiGet: Cr,
897
+ apiPatch: Tr,
898
+ apiPost: xr,
899
+ apiPut: $r,
900
+ callService: _,
901
+ callService_SYSCD: vr,
902
+ getClientIp: Sr,
903
+ getPermissionService: Dr,
904
+ setClientIp: ae,
905
+ verifyClientIp: Mr
906
+ }, Symbol.toStringTag, { value: "Module" })), kr = (e, t, r = "text/plain") => {
907
+ const o = new Blob([e], { type: r }), n = URL.createObjectURL(o), f = document.createElement("a");
908
+ f.href = n, f.download = t, document.body.appendChild(f), f.click(), document.body.removeChild(f), URL.revokeObjectURL(n);
878
909
  };
879
- async function dr(e) {
910
+ async function Or(e) {
880
911
  try {
881
- return await E("SCMFILE00101", {
882
- crprCd: A()?.crprCd,
912
+ return await _("SCMFILE00101", {
913
+ crprCd: L()?.crprCd,
883
914
  sysCd: __SYS_CD__,
884
915
  fileKey: e
885
916
  }).then((r) => {
@@ -888,73 +919,73 @@ async function dr(e) {
888
919
  throw console.error("논리파일명이 없습니다."), new Error("논리 파일명 누락");
889
920
  if (!o.filePath)
890
921
  throw console.error("파일 경로가 없습니다."), new Error("파일 경로 누락");
891
- const a = `api/download?filePath=${encodeURIComponent(
922
+ const n = `api/download?filePath=${encodeURIComponent(
892
923
  o.filePath
893
924
  )}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;
894
- return window.open(a, "_blank"), { success: !0, message: "파일 다운로드 요청 성공" };
925
+ return window.open(n, "_blank"), { success: !0, message: "파일 다운로드 요청 성공" };
895
926
  });
896
927
  } catch (t) {
897
928
  throw console.error("downloadByFileKey 함수 실행 중 오류 발생:", t), t;
898
929
  }
899
930
  }
900
- const Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
931
+ const Ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
901
932
  __proto__: null,
902
- downloadByFileKey: dr,
903
- downloadFile: lr
904
- }, Symbol.toStringTag, { value: "Module" })), _e = (e, t = 3) => {
905
- _.success({
933
+ downloadByFileKey: Or,
934
+ downloadFile: kr
935
+ }, Symbol.toStringTag, { value: "Module" })), Pe = (e, t = 3) => {
936
+ E.success({
906
937
  content: e,
907
938
  duration: t
908
939
  });
909
- }, z = (e, t = 5) => {
910
- _.error({
940
+ }, V = (e, t = 5) => {
941
+ E.error({
911
942
  content: e,
912
943
  duration: t
913
944
  });
914
- }, mr = (e, t = 4) => {
915
- _.warning({
945
+ }, Yr = (e, t = 4) => {
946
+ E.warning({
916
947
  content: e,
917
948
  duration: t
918
949
  });
919
- }, fr = (e, t = 3) => {
920
- _.info({
950
+ }, Ir = (e, t = 3) => {
951
+ E.info({
921
952
  content: e,
922
953
  duration: t
923
954
  });
924
- }, hr = (e = "처리중...") => _.loading({
955
+ }, Nr = (e = "처리중...") => E.loading({
925
956
  content: e,
926
957
  duration: 0
927
958
  // 수동으로 닫을 때까지 유지
928
- }), gr = (e) => {
929
- _.destroy(e);
930
- }, pr = () => {
931
- _.destroy();
932
- }, yr = (e, t = "처리 중 오류가 발생했습니다.") => {
959
+ }), _r = (e) => {
960
+ E.destroy(e);
961
+ }, Ur = () => {
962
+ E.destroy();
963
+ }, Er = (e, t = "처리 중 오류가 발생했습니다.") => {
933
964
  const r = e?.response?.data?.message || e?.message || t;
934
- z(r);
935
- }, wr = (e = "저장") => {
936
- _e(`${e}이 완료되었습니다.`);
937
- }, Sr = (e = "저장") => {
938
- z(`${e} 중 오류가 발생했습니다.`);
939
- }, vr = (e) => {
940
- z(`이미 사용중인 ${e}입니다.`);
941
- }, xr = (e) => {
942
- z(`${e}을(를) 입력해주세요.`);
943
- }, Ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
965
+ V(r);
966
+ }, Pr = (e = "저장") => {
967
+ Pe(`${e}이 완료되었습니다.`);
968
+ }, Ar = (e = "저장") => {
969
+ V(`${e} 중 오류가 발생했습니다.`);
970
+ }, Lr = (e) => {
971
+ V(`이미 사용중인 ${e}입니다.`);
972
+ }, Fr = (e) => {
973
+ V(`${e}을(를) 입력해주세요.`);
974
+ }, Ae = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
944
975
  __proto__: null,
945
- closeAllMessages: pr,
946
- closeMessage: gr,
947
- showApiError: yr,
948
- showDuplicateError: vr,
949
- showError: z,
950
- showInfo: fr,
951
- showLoading: hr,
952
- showRequiredError: xr,
953
- showSaveError: Sr,
954
- showSaveSuccess: wr,
955
- showSuccess: _e,
956
- showWarning: mr
957
- }, Symbol.toStringTag, { value: "Module" })), $r = {
976
+ closeAllMessages: Ur,
977
+ closeMessage: _r,
978
+ showApiError: Er,
979
+ showDuplicateError: Lr,
980
+ showError: V,
981
+ showInfo: Ir,
982
+ showLoading: Nr,
983
+ showRequiredError: Fr,
984
+ showSaveError: Ar,
985
+ showSaveSuccess: Pr,
986
+ showSuccess: Pe,
987
+ showWarning: Yr
988
+ }, Symbol.toStringTag, { value: "Module" })), Hr = {
958
989
  /*************************************************************************************************************************************************
959
990
  * RealGrid2 use
960
991
  *************************************************************************************************************************************************/
@@ -1254,135 +1285,255 @@ const Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1254
1285
  bg_gray01: {
1255
1286
  background: "#cdcdcd"
1256
1287
  }
1257
- }, Or = De, Nr = ve, Dr = Te, Ur = Ue, _r = Ee, Er = ke, Ir = de, Pr = pe, Lr = {
1258
- ...De,
1259
- ...ve,
1260
- ...Te,
1288
+ }, Rr = async (e) => {
1289
+ if (e.map((t) => {
1290
+ t.status = "uploading", t.percent = 10, console.log(t);
1291
+ }), !e || !Array.isArray(e) || e.length === 0) {
1292
+ alert("업로드할 파일을 선택해주세요.");
1293
+ return;
1294
+ }
1295
+ try {
1296
+ const t = {
1297
+ //로컬 VM 설정-----------------------------------------
1298
+ // sftpHost: "localhost",
1299
+ // sftpPort: "2222",
1300
+ // sftpUsername: "admin",
1301
+ // sftpPassword: "admin",
1302
+ // remoteDir: "/home/admin/test",
1303
+ // useOriginalName: "true",
1304
+ //-------------------------------------------
1305
+ remoteDir: "/home/krxuser/bkrx/files/testForGW",
1306
+ useOriginalName: "true"
1307
+ }, r = e.map(async (h, M) => {
1308
+ const d = new FormData();
1309
+ Object.entries(t).forEach(([l, a]) => {
1310
+ d.append(l, a);
1311
+ });
1312
+ const g = h.originFileObj;
1313
+ d.append("file", g);
1314
+ const m = await fetch("/api/gw-sftp", {
1315
+ method: "POST",
1316
+ body: d
1317
+ });
1318
+ return m.ok ? (console.log(e), e.map(
1319
+ (l) => l === h ? {
1320
+ ...l,
1321
+ status: "success",
1322
+ percent: 100
1323
+ } : l
1324
+ )) : h.status = "done", { index: M, response: m, fileName: g.name };
1325
+ }), o = await Promise.all(r), n = o.filter((h) => h.response.ok).length, f = o.length - n;
1326
+ if (n === o.length)
1327
+ return alert(`${n}개 파일 업로드가 완료되었습니다.`), {
1328
+ result: "success",
1329
+ message: `${n}개 파일 업로드가 완료되었습니다.`,
1330
+ successCount: n,
1331
+ failCount: f
1332
+ };
1333
+ if (n > 0) {
1334
+ const h = `${n}개 성공, ${f}개 실패`;
1335
+ return alert(h), {
1336
+ result: "partial",
1337
+ message: h,
1338
+ successCount: n,
1339
+ failCount: f
1340
+ };
1341
+ }
1342
+ return alert("모든 파일 업로드에 실패했습니다."), {
1343
+ result: "error",
1344
+ message: "모든 파일 업로드에 실패했습니다.",
1345
+ successCount: n,
1346
+ failCount: f
1347
+ };
1348
+ } catch {
1349
+ return alert("파일 업로드 중 오류가 발생했습니다."), {
1350
+ result: "error",
1351
+ message: "파일 업로드 중 오류가 발생했습니다."
1352
+ };
1353
+ }
1354
+ }, qr = async (e, t, r) => {
1355
+ const {
1356
+ trxCd: o = "SCMINTF00102",
1357
+ connInfo: n = {},
1358
+ openDraft: f = !0,
1359
+ draftUrlBase: h = "https://dev.bwg.co.kr:5510",
1360
+ windowFeatures: M = "width=1000,height=600"
1361
+ } = r || {}, d = e ?? {}, g = Array.isArray(t) ? t : void 0;
1362
+ if (g && Array.isArray(g) && g.length > 0) {
1363
+ const a = await Rr(g);
1364
+ if (!a || a.result !== "success")
1365
+ throw new Error(a?.message || "파일 업로드 실패");
1366
+ }
1367
+ const m = {
1368
+ crprCd: ge(),
1369
+ aprvKey: d.aprvKey || re(),
1370
+ sysCd: __SYS_CD__,
1371
+ draftDt: xe("YYYYMMDD"),
1372
+ /**
1373
+ * 해당 그룹웨어 연계데이터는 추후 추가수정 필요
1374
+ * +) 기안연계가 DB로 넣는것 외에 soap를 통한 파라미터 전달 & SAP방식 등등 여러개로 나눠진다고함..
1375
+ * 해당 내용들은 공통화하기 힘들어 json & rest 방식으로 연계만 공통화 할듯함.
1376
+ */
1377
+ fileInfoList: g,
1378
+ // 그룹웨어 파일연계
1379
+ connInfo: n,
1380
+ // 그룹웨어 기안연계
1381
+ ...d
1382
+ }, l = await _(o, m);
1383
+ if (f && d?.aprvKey) {
1384
+ const a = `${h}?key=${d.aprvKey}&docTitle=${d.docTitle}`;
1385
+ window.open(a, "_blank", M);
1386
+ }
1387
+ return l;
1388
+ }, Kr = Ue, Gr = $e, Jr = Ye, Zr = Ee, Xr = Ae, Qr = Ie, eo = he, to = Me, ro = {
1261
1389
  ...Ue,
1390
+ ...$e,
1391
+ ...Ye,
1262
1392
  ...Ee,
1263
- ...ke,
1264
- ...de,
1265
- ...pe,
1266
- realFormat: $r
1393
+ ...Ae,
1394
+ ...Ie,
1395
+ ...he,
1396
+ ...Me,
1397
+ realFormat: Hr
1267
1398
  };
1268
1399
  export {
1269
- $ as ApiError,
1270
- st as THEME_COOKIE_NAME,
1271
- ir as apiDelete,
1272
- sr as apiGet,
1273
- cr as apiPatch,
1274
- nr as apiPost,
1275
- ar as apiPut,
1276
- Or as apiUtils,
1277
- Mt as arrAverage,
1278
- Tt as arrCount,
1279
- $t as arrMax,
1280
- Ct as arrMin,
1281
- kt as arrReverse,
1282
- bt as arrSum,
1283
- xt as arrUnique,
1284
- Lr as bwgUtils,
1285
- E as callService,
1286
- or as callService_SYSCD,
1287
- Dt as clamp,
1288
- Pt as clearSessionStorage,
1289
- pr as closeAllMessages,
1290
- gr as closeMessage,
1291
- er as closeNotification,
1292
- Nr as commonUtils,
1293
- Gt as configureEnvUtils,
1294
- pt as copyToClipboard,
1295
- gt as debounce,
1296
- Lr as default,
1297
- Ft as deleteCookie,
1298
- Qt as destroyNotifications,
1299
- dr as downloadByFileKey,
1300
- lr as downloadFile,
1301
- Ot as duplicates,
1302
- Wt as encryptSha256,
1303
- Dr as envUtils,
1304
- Ur as fileUtils,
1305
- vt as generateRandomColor,
1306
- we as generateRandomString,
1307
- Se as generateUID,
1308
- le as getAllServiceCodes,
1309
- tr as getClientIp,
1310
- At as getCookie,
1311
- Le as getCrprCd,
1312
- qt as getCurrentDate,
1313
- Kt as getCurrentDateString,
1314
- Be as getDepartmentInfo,
1315
- q as getDeviceType,
1316
- Ve as getDisplayName,
1317
- he as getDprtCd,
1318
- ge as getDprtNm,
1319
- Fe as getEmplNo,
1320
- Zt as getEnvCode,
1321
- ur as getPermissionService,
1322
- W as getRoleList,
1323
- ue as getServiceCode,
1324
- Et as getSessionStorage,
1325
- Ae as getUserDvsn,
1326
- me as getUserId,
1327
- A as getUserInfo,
1328
- fe as getUserNm,
1400
+ x as ApiError,
1401
+ I as COMMON_DATE_FORMAT,
1402
+ mt as THEME_COOKIE_NAME,
1403
+ lr as addDays,
1404
+ ur as addMonths,
1405
+ br as apiDelete,
1406
+ Cr as apiGet,
1407
+ Tr as apiPatch,
1408
+ xr as apiPost,
1409
+ $r as apiPut,
1410
+ Kr as apiUtils,
1411
+ Nt as arrAverage,
1412
+ Ut as arrCount,
1413
+ Yt as arrMax,
1414
+ It as arrMin,
1415
+ Et as arrReverse,
1416
+ _t as arrSum,
1417
+ Ot as arrUnique,
1418
+ ro as bwgUtils,
1419
+ _ as callService,
1420
+ vr as callService_SYSCD,
1421
+ Lt as clamp,
1422
+ Vt as clearSessionStorage,
1423
+ Ur as closeAllMessages,
1424
+ _r as closeMessage,
1425
+ wr as closeNotification,
1426
+ Gr as commonUtils,
1427
+ fr as configureEnvUtils,
1428
+ $t as copyToClipboard,
1429
+ ar as datetimeFormat,
1430
+ xt as debounce,
1431
+ ro as default,
1432
+ Wt as deleteCookie,
1433
+ yr as destroyNotifications,
1434
+ dr as diffDays,
1435
+ Or as downloadByFileKey,
1436
+ kr as downloadFile,
1437
+ Pt as duplicates,
1438
+ er as encryptSha256,
1439
+ Jr as envUtils,
1440
+ Zr as fileUtils,
1441
+ kt as generateRandomColor,
1442
+ Ce as generateRandomString,
1443
+ re as generateUID,
1444
+ mr as getAge,
1445
+ fe as getAllServiceCodes,
1446
+ Sr as getClientIp,
1447
+ Bt as getCookie,
1448
+ ge as getCrprCd,
1449
+ tr as getCurrentDate,
1450
+ xe as getCurrentDateString,
1451
+ Ke as getDepartmentInfo,
1452
+ G as getDeviceType,
1453
+ qe as getDisplayName,
1454
+ we as getDprtCd,
1455
+ Se as getDprtNm,
1456
+ Re as getEmplNo,
1457
+ hr as getEnvCode,
1458
+ F as getHrInfo,
1459
+ Ze as getJbdtCd,
1460
+ Je as getJbgdCd,
1461
+ Xe as getJbkdCd,
1462
+ Ge as getJbpsCd,
1463
+ ir as getLastDateByDiv,
1464
+ Dr as getPermissionService,
1465
+ K as getRoleList,
1466
+ me as getServiceCode,
1467
+ Rt as getSessionStorage,
1468
+ cr as getStartDateByDiv,
1469
+ He as getUserDvsn,
1470
+ pe as getUserId,
1471
+ L as getUserInfo,
1472
+ ye as getUserNm,
1473
+ Qe as getWkplCd,
1329
1474
  ze as hasAllRoles,
1330
- Ye as hasAnyRole,
1331
- Re as hasRole,
1332
- je as hasUserInfo,
1333
- lt as isArray,
1334
- it as isBoolean,
1335
- St as isDesktop,
1336
- Me as isDev,
1337
- ye as isEmpty,
1338
- K as isEmptyArray,
1339
- ct as isFunction,
1475
+ Ve as hasAnyRole,
1476
+ je as hasRole,
1477
+ We as hasUserInfo,
1478
+ wt as isArray,
1479
+ gt as isBoolean,
1480
+ Dt as isDesktop,
1481
+ ke as isDev,
1482
+ ve as isEmpty,
1483
+ J as isEmptyArray,
1484
+ pt as isFunction,
1340
1485
  R as isLocal,
1341
- He as isLoggedIn,
1342
- yt as isMobile,
1343
- dt as isNull,
1344
- ft as isNullOrUndefined,
1345
- at as isNumber,
1346
- ut as isObject,
1347
- be as isProd,
1348
- Rt as isSafeEmpty,
1349
- nt as isString,
1350
- wt as isTablet,
1351
- mt as isUndefined,
1352
- zt as isValidEmail,
1353
- Ht as isValidUrl,
1354
- Pe as logServiceCodeConfig,
1355
- _r as messageUtils,
1356
- ee as notiBwgError,
1357
- Xt as notiError,
1358
- te as notiInfo,
1359
- Jt as notiSuccess,
1360
- re as notiWarning,
1361
- D as notificationService,
1362
- Er as notificationUtils,
1363
- jt as padLeft,
1364
- Vt as padRight,
1365
- Nt as random,
1366
- $r as realFormat,
1367
- It as removeSessionStorage,
1368
- Ut as round,
1369
- Ir as serviceUtils,
1370
- oe as setClientIp,
1371
- Lt as setCookie,
1372
- Ie as setServiceCodeOverrides,
1373
- _t as setSessionStorage,
1374
- yr as showApiError,
1375
- vr as showDuplicateError,
1376
- z as showError,
1377
- fr as showInfo,
1378
- hr as showLoading,
1379
- xr as showRequiredError,
1380
- Sr as showSaveError,
1381
- wr as showSaveSuccess,
1382
- _e as showSuccess,
1383
- mr as showWarning,
1384
- ht as throttle,
1385
- Yt as toCamelCase,
1386
- Pr as userUtils,
1387
- rr as verifyClientIp
1486
+ Be as isLoggedIn,
1487
+ bt as isMobile,
1488
+ St as isNull,
1489
+ vt as isNullOrUndefined,
1490
+ ht as isNumber,
1491
+ yt as isObject,
1492
+ Oe as isProd,
1493
+ qt as isSafeEmpty,
1494
+ ft as isString,
1495
+ Tt as isTablet,
1496
+ Mt as isUndefined,
1497
+ rr as isValidDate,
1498
+ nr as isValidDateTime,
1499
+ Gt as isValidEmail,
1500
+ Jt as isValidUrl,
1501
+ or as isValidYear,
1502
+ sr as isValidYearMonth,
1503
+ Fe as logServiceCodeConfig,
1504
+ Xr as messageUtils,
1505
+ oe as notiBwgError,
1506
+ pr as notiError,
1507
+ se as notiInfo,
1508
+ gr as notiSuccess,
1509
+ ne as notiWarning,
1510
+ N as notificationService,
1511
+ Qr as notificationUtils,
1512
+ Zt as padLeft,
1513
+ Xt as padRight,
1514
+ At as random,
1515
+ Hr as realFormat,
1516
+ jt as removeSessionStorage,
1517
+ Ft as round,
1518
+ eo as serviceUtils,
1519
+ ae as setClientIp,
1520
+ zt as setCookie,
1521
+ Le as setServiceCodeOverrides,
1522
+ Ht as setSessionStorage,
1523
+ Er as showApiError,
1524
+ Lr as showDuplicateError,
1525
+ V as showError,
1526
+ Ir as showInfo,
1527
+ Nr as showLoading,
1528
+ Fr as showRequiredError,
1529
+ Ar as showSaveError,
1530
+ Pr as showSaveSuccess,
1531
+ Pe as showSuccess,
1532
+ Yr as showWarning,
1533
+ qr as submitGwApproval,
1534
+ Ct as throttle,
1535
+ Kt as toCamelCase,
1536
+ Rr as uploadFilesViaSftp,
1537
+ to as userUtils,
1538
+ Mr as verifyClientIp
1388
1539
  };