@bwg-ui/core 1.3.5 → 1.3.7

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 (74) hide show
  1. package/dist/chunks/{CMSearchIntfGwP01-CuGDAfFM.cjs → CMSearchIntfGwP01-0t3umcc_.cjs} +1 -1
  2. package/dist/chunks/{CMSearchIntfGwP01-DBpDpgQr.js → CMSearchIntfGwP01-DCHZJn2H.js} +1 -1
  3. package/dist/chunks/{MenuReport-yw8tZDUk.cjs → MenuReport-C70mGz2g.cjs} +1 -1
  4. package/dist/chunks/{MenuReport-CCbCy7yt.js → MenuReport-IBdoU2S3.js} +2 -2
  5. package/dist/chunks/common-components-DNgQR-Ge.cjs +1109 -0
  6. package/dist/chunks/{common-components-DtzVj5lz.js → common-components-DeYL3J6X.js} +13058 -13574
  7. package/dist/chunks/layout-components-Bf9IsLUS.cjs +38 -0
  8. package/dist/chunks/{layout-components-ljht1sHh.js → layout-components-DnuV2Psp.js} +831 -759
  9. package/dist/chunks/provider-Bi5OYngn.cjs +1 -0
  10. package/dist/chunks/{provider-Kxea5IoZ.js → provider-Bx4VpaFf.js} +90 -74
  11. package/dist/components/common/BwgGrid.d.ts +31 -8
  12. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  13. package/dist/components/common/BwgView.d.ts.map +1 -1
  14. package/dist/components/common/index.cjs +1 -1
  15. package/dist/components/common/index.js +1 -1
  16. package/dist/components/core/BwgEmpSearch.d.ts +2 -2
  17. package/dist/components/core/BwgEmpSearch.d.ts.map +1 -1
  18. package/dist/components/core/BwgMaskedDate.d.ts.map +1 -1
  19. package/dist/components/core/BwgMaskedRange.d.ts.map +1 -1
  20. package/dist/components/core/index.cjs +1 -1
  21. package/dist/components/core/index.js +211 -208
  22. package/dist/components/guide/index.cjs +1 -1
  23. package/dist/components/guide/index.js +2 -2
  24. package/dist/components/layout/AppWrapper.d.ts +5 -1
  25. package/dist/components/layout/AppWrapper.d.ts.map +1 -1
  26. package/dist/components/layout/BwgCoreLogin.d.ts.map +1 -1
  27. package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
  28. package/dist/components/layout/extension/ContentWrapper.d.ts.map +1 -1
  29. package/dist/components/layout/index.cjs +1 -1
  30. package/dist/components/layout/index.js +1 -1
  31. package/dist/components/pages/board/CMMyBoardM01.d.ts.map +1 -1
  32. package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts.map +1 -1
  33. package/dist/components/popup/SearchOrganizationP01.d.ts.map +1 -1
  34. package/dist/components/popup/SearchOrganizationP02.d.ts.map +1 -1
  35. package/dist/components/popup/index.cjs +1 -1
  36. package/dist/components/popup/index.js +1 -1
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.js +273 -271
  39. package/dist/provider/contexts/PageContentContext.d.ts +23 -0
  40. package/dist/provider/contexts/PageContentContext.d.ts.map +1 -0
  41. package/dist/provider/contexts/index.d.ts +1 -0
  42. package/dist/provider/contexts/index.d.ts.map +1 -1
  43. package/dist/provider/index.cjs +1 -1
  44. package/dist/provider/index.js +21 -19
  45. package/dist/public/realgrid/css/realgrid-style-custom.css +6 -10
  46. package/dist/stores/index.cjs +1 -1
  47. package/dist/stores/index.js +1 -1
  48. package/dist/styles/assets/images/backgrounds/kiam_login_bg.png +0 -0
  49. package/dist/styles/assets/images/header/icon/ico-bell.svg +3 -3
  50. package/dist/styles/assets/images/header/icon/ico-logout.svg +10 -10
  51. package/dist/styles/assets/images/header/icon/ico-setting.svg +4 -4
  52. package/dist/styles/assets/images/header/icon/ico-sidebar-arrow.svg +3 -3
  53. package/dist/styles/components_02.css +35 -0
  54. package/dist/styles/global.css +9 -1
  55. package/dist/styles/index.css +3 -0
  56. package/dist/styles/layout.css +14 -4
  57. package/dist/styles/layout_02.css +99 -0
  58. package/dist/styles/login.css +7 -44
  59. package/dist/styles/login_02.css +35 -0
  60. package/dist/utils/apiUtils.d.ts.map +1 -1
  61. package/dist/utils/index.cjs +1 -1
  62. package/dist/utils/index.d.ts +16 -22
  63. package/dist/utils/index.d.ts.map +1 -1
  64. package/dist/utils/index.js +1253 -1222
  65. package/dist/utils/messageUtils.d.ts +36 -48
  66. package/dist/utils/messageUtils.d.ts.map +1 -1
  67. package/dist/utils/modalUtils.d.ts +68 -0
  68. package/dist/utils/modalUtils.d.ts.map +1 -0
  69. package/dist/utils/notificationUtils.d.ts +50 -41
  70. package/dist/utils/notificationUtils.d.ts.map +1 -1
  71. package/package.json +1 -1
  72. package/dist/chunks/common-components-CbkWoYfX.cjs +0 -1111
  73. package/dist/chunks/layout-components-BzLAGXiu.cjs +0 -38
  74. package/dist/chunks/provider-r4mkv5Zs.cjs +0 -1
@@ -1,38 +1,38 @@
1
- import { jsxs as s, jsx as e, Fragment as j } from "react/jsx-runtime";
2
- import { o as ze, C as Ae, S as ge, n as He, m as $e } from "./provider-Kxea5IoZ.js";
3
- import { Routes as Se, Route as U, Navigate as Fe, useNavigate as fe, useLocation as We } from "react-router-dom";
4
- import { G as Ge, B as Ve, Q as Ke } from "./common-components-DtzVj5lz.js";
5
- import { Spin as q, Layout as Q, Button as B, ConfigProvider as Le, Flex as re, Slider as ce, Divider as ke, Switch as Ze, Modal as Ue, Popover as Ye, Avatar as qe, Dropdown as Qe, Tabs as Xe, Tooltip as ee, AutoComplete as Je, Input as ue, Segmented as et, Menu as pe, Result as Me, Space as Y, Typography as be, Empty as de, Breadcrumb as tt, Form as Z, Checkbox as nt, Card as Te } from "antd";
6
- import { lazy as A, useEffect as E, useRef as X, useCallback as R, useMemo as F, useState as z, createElement as Be, memo as ye, cloneElement as rt, Component as ot, Suspense as se } from "react";
7
- import { useUserStore as De, useLogout as it, useMenuViewStore as D, useMenuModelStore as le, useFavoriteStore as st, usePopupStore as Ce, useLogin as lt, useSystemStore as oe, useSsoLogin as at } from "../stores/index.js";
1
+ import { jsxs as i, jsx as e, Fragment as j } from "react/jsx-runtime";
2
+ import { p as Ae, C as ze, S as ge, o as He, n as $e, P as Fe, m as Ge } from "./provider-Bx4VpaFf.js";
3
+ import { lazy as z, useEffect as E, useRef as q, useCallback as R, useMemo as F, useState as A, createElement as Le, memo as fe, cloneElement as We, Component as Ve, Suspense as se } from "react";
4
+ import { Routes as Me, Route as U, Navigate as Ke, useNavigate as be, useLocation as Ze } from "react-router-dom";
5
+ import { G as Ue, B as Ye, Q as qe } from "./common-components-DeYL3J6X.js";
6
+ import { setGlobalModalStyle as Qe, setGlobalNotificationStyle as Xe, setGlobalMessageStyle as Je, getTodateString as xe, getUserId as Ne } from "../utils/index.js";
7
+ import { Spin as Q, Layout as X, Button as B, ConfigProvider as ye, Flex as re, Slider as ce, Divider as Pe, Switch as et, Modal as tt, Popover as nt, Avatar as rt, Dropdown as ot, Tabs as it, Tooltip as ee, AutoComplete as st, Input as ue, Segmented as at, Menu as pe, Result as Te, Space as Y, Typography as Ce, Empty as de, Breadcrumb as lt, Form as Z, Checkbox as ct, Card as Be } from "antd";
8
+ import { useUserStore as De, useLogout as dt, useMenuViewStore as O, useMenuModelStore as ae, useFavoriteStore as ht, usePopupStore as ve, useLogin as ut, useSystemStore as oe, useSsoLogin as pt } from "../stores/index.js";
8
9
  import * as ie from "@ant-design/icons";
9
- import { UserOutlined as ct, StepBackwardOutlined as dt, LeftOutlined as ht, RightOutlined as ut, StepForwardOutlined as pt, CloseOutlined as Ee, MenuUnfoldOutlined as mt, MenuFoldOutlined as gt, ExclamationCircleOutlined as ft, WarningOutlined as bt, StarOutlined as yt, FolderOpenOutlined as Ct, ReloadOutlined as we, ExclamationCircleTwoTone as ve, CheckCircleTwoTone as _e, LoginOutlined as wt } from "@ant-design/icons";
10
- import { getTodateString as xe, getUserId as Ne } from "../utils/index.js";
11
- import { useSensors as vt, useSensor as kt, PointerSensor as xt, DndContext as Nt, closestCenter as It } from "@dnd-kit/core";
12
- import { restrictToHorizontalAxis as Pt } from "@dnd-kit/modifiers";
13
- import { arrayMove as St, SortableContext as Lt, horizontalListSortingStrategy as Mt, useSortable as Tt } from "@dnd-kit/sortable";
14
- const Bt = A(
15
- () => import("./MenuReport-CCbCy7yt.js")
16
- ), Dt = A(
17
- () => import("./common-components-DtzVj5lz.js").then((n) => n.$)
18
- ), Et = A(
19
- () => import("./common-components-DtzVj5lz.js").then((n) => n.a0)
20
- ), _t = A(
21
- () => import("./common-components-DtzVj5lz.js").then((n) => n.a1)
22
- ), Ot = A(
23
- () => import("./common-components-DtzVj5lz.js").then((n) => n.a2)
24
- ), Rt = A(
25
- () => import("./common-components-DtzVj5lz.js").then((n) => n.a4)
26
- ), jt = A(
27
- () => import("./CMSearchIntfGwP01-DBpDpgQr.js")
28
- ), zt = A(
29
- () => import("./common-components-DtzVj5lz.js").then((n) => n.a5)
30
- ), At = A(
31
- () => import("./common-components-DtzVj5lz.js").then((n) => n.a3)
32
- ), Ht = {
10
+ import { UserOutlined as mt, StepBackwardOutlined as gt, LeftOutlined as ft, RightOutlined as bt, StepForwardOutlined as yt, CloseOutlined as Ee, MenuUnfoldOutlined as Ct, MenuFoldOutlined as vt, ExclamationCircleOutlined as wt, WarningOutlined as kt, StarOutlined as xt, FolderOpenOutlined as Nt, ReloadOutlined as we, ExclamationCircleTwoTone as ke, CheckCircleTwoTone as _e, LoginOutlined as Pt } from "@ant-design/icons";
11
+ import { useSensors as It, useSensor as St, PointerSensor as Lt, DndContext as Mt, closestCenter as Tt } from "@dnd-kit/core";
12
+ import { restrictToHorizontalAxis as Bt } from "@dnd-kit/modifiers";
13
+ import { arrayMove as Dt, SortableContext as Et, horizontalListSortingStrategy as _t, useSortable as Ot } from "@dnd-kit/sortable";
14
+ const Rt = z(
15
+ () => import("./MenuReport-IBdoU2S3.js")
16
+ ), jt = z(
17
+ () => import("./common-components-DeYL3J6X.js").then((n) => n.$)
18
+ ), At = z(
19
+ () => import("./common-components-DeYL3J6X.js").then((n) => n.a0)
20
+ ), zt = z(
21
+ () => import("./common-components-DeYL3J6X.js").then((n) => n.a1)
22
+ ), Ht = z(
23
+ () => import("./common-components-DeYL3J6X.js").then((n) => n.a2)
24
+ ), $t = z(
25
+ () => import("./common-components-DeYL3J6X.js").then((n) => n.a4)
26
+ ), Ft = z(
27
+ () => import("./CMSearchIntfGwP01-DCHZJn2H.js")
28
+ ), Gt = z(
29
+ () => import("./common-components-DeYL3J6X.js").then((n) => n.a5)
30
+ ), Wt = z(
31
+ () => import("./common-components-DeYL3J6X.js").then((n) => n.a3)
32
+ ), Vt = {
33
33
  // 게시판/문의
34
34
  CORE_REPORT: {
35
- component: Bt,
35
+ component: Rt,
36
36
  defaultConfig: {
37
37
  title: "게시판/문의",
38
38
  width: 1200,
@@ -41,7 +41,7 @@ const Bt = A(
41
41
  },
42
42
  // 조직/부서 검색류
43
43
  CORE_DEPARTMENT_01: {
44
- component: Dt,
44
+ component: jt,
45
45
  defaultConfig: {
46
46
  title: "부서 검색",
47
47
  width: 620,
@@ -49,7 +49,7 @@ const Bt = A(
49
49
  }
50
50
  },
51
51
  CORE_DEPARTMENT_02: {
52
- component: Et,
52
+ component: At,
53
53
  defaultConfig: {
54
54
  title: "부서 검색",
55
55
  width: 620,
@@ -57,7 +57,7 @@ const Bt = A(
57
57
  }
58
58
  },
59
59
  CORE_ORGANIZATION_01: {
60
- component: _t,
60
+ component: zt,
61
61
  defaultConfig: {
62
62
  title: "조직 검색",
63
63
  width: 620,
@@ -65,7 +65,7 @@ const Bt = A(
65
65
  }
66
66
  },
67
67
  CORE_ORGANIZATION_02: {
68
- component: Ot,
68
+ component: Ht,
69
69
  defaultConfig: {
70
70
  title: "조직 검색",
71
71
  width: 1e3,
@@ -73,7 +73,7 @@ const Bt = A(
73
73
  }
74
74
  },
75
75
  CORE_PRGR_02: {
76
- component: Rt,
76
+ component: $t,
77
77
  defaultConfig: {
78
78
  title: "프로그램 검색",
79
79
  width: 700,
@@ -81,7 +81,7 @@ const Bt = A(
81
81
  }
82
82
  },
83
83
  CORE_GW_DRAFTS: {
84
- component: jt,
84
+ component: Ft,
85
85
  defaultConfig: {
86
86
  title: "기안 목록",
87
87
  width: 1e3,
@@ -89,7 +89,7 @@ const Bt = A(
89
89
  }
90
90
  },
91
91
  CORE_ADDRESS_01: {
92
- component: zt,
92
+ component: Gt,
93
93
  defaultConfig: {
94
94
  title: "주소 검색",
95
95
  width: 750,
@@ -97,7 +97,7 @@ const Bt = A(
97
97
  }
98
98
  },
99
99
  CORE_HOLIDAY_01: {
100
- component: At,
100
+ component: Wt,
101
101
  defaultConfig: {
102
102
  title: "휴일 검색",
103
103
  width: 750,
@@ -105,7 +105,7 @@ const Bt = A(
105
105
  }
106
106
  }
107
107
  }, Ie = "bwg-dot-line-wave-v4";
108
- function $t() {
108
+ function Kt() {
109
109
  if (typeof document > "u" || document.getElementById(Ie)) return;
110
110
  const n = document.createElement("style");
111
111
  n.id = Ie, n.textContent = `
@@ -144,53 +144,53 @@ function $t() {
144
144
  }
145
145
  `, document.head.appendChild(n);
146
146
  }
147
- const Ft = ({
147
+ const Zt = ({
148
148
  colors: n = ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
149
149
  count: t,
150
150
  size: r = 12,
151
151
  gap: o = 10,
152
- amp: l = 16,
153
- speedMs: a = 900,
152
+ amp: a = 16,
153
+ speedMs: l = 900,
154
154
  direction: g = "ltr",
155
- phase: h = 0.7
155
+ phase: c = 0.7
156
156
  }) => {
157
157
  E(() => {
158
- $t();
158
+ Kt();
159
159
  }, []);
160
- const u = t ?? n.length, f = Array.from({ length: u }), p = {
160
+ const u = t ?? n.length, b = Array.from({ length: u }), f = {
161
161
  "--bwg-size": `${r}px`,
162
162
  "--bwg-gap": `${o}px`,
163
- "--bwg-amp": `${l}px`,
164
- "--bwg-speed": `${a}ms`
165
- }, N = a / u * h;
163
+ "--bwg-amp": `${a}px`,
164
+ "--bwg-speed": `${l}ms`
165
+ }, P = l / u * c;
166
166
  return /* @__PURE__ */ e(
167
167
  "span",
168
168
  {
169
169
  className: "bwg-dotline",
170
170
  role: "img",
171
171
  "aria-label": "loading",
172
- style: p,
173
- children: f.map((d, c) => /* @__PURE__ */ e(
172
+ style: f,
173
+ children: b.map((m, h) => /* @__PURE__ */ e(
174
174
  "span",
175
175
  {
176
176
  className: "dot",
177
177
  style: {
178
- backgroundColor: n[c % n.length],
179
- animationDelay: g === "ltr" ? `${c * N}ms` : `${(u - 1 - c) * N}ms`
178
+ backgroundColor: n[h % n.length],
179
+ animationDelay: g === "ltr" ? `${h * P}ms` : `${(u - 1 - h) * P}ms`
180
180
  }
181
181
  },
182
- c
182
+ h
183
183
  ))
184
184
  }
185
185
  );
186
- }, Sn = ({
186
+ }, En = ({
187
187
  spin: n = null,
188
188
  text: t = "인증중...",
189
189
  dimStyle: r = "dark"
190
190
  }) => {
191
191
  if (!(n ?? !0)) return null;
192
- const a = r === "dark";
193
- return /* @__PURE__ */ s(
192
+ const l = r === "dark";
193
+ return /* @__PURE__ */ i(
194
194
  "div",
195
195
  {
196
196
  className: "loading-overlay",
@@ -203,8 +203,8 @@ const Ft = ({
203
203
  alignItems: "center",
204
204
  gap: 8,
205
205
  padding: "8px 12px",
206
- background: a ? "rgba(0, 0, 0, 0.6)" : "rgba(255, 255, 255, 0.85)",
207
- color: a ? "#fff" : "#333",
206
+ background: l ? "rgba(0, 0, 0, 0.6)" : "rgba(255, 255, 255, 0.85)",
207
+ color: l ? "#fff" : "#333",
208
208
  backdropFilter: "blur(4px)",
209
209
  zIndex: 1e4
210
210
  },
@@ -213,10 +213,10 @@ const Ft = ({
213
213
  role: "status",
214
214
  children: [
215
215
  /* @__PURE__ */ e(
216
- q,
216
+ Q,
217
217
  {
218
218
  indicator: /* @__PURE__ */ e(
219
- Ft,
219
+ Zt,
220
220
  {
221
221
  colors: ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
222
222
  size: 12,
@@ -233,20 +233,30 @@ const Ft = ({
233
233
  ]
234
234
  }
235
235
  );
236
- }, Ln = ({
236
+ }, _n = ({
237
237
  routes: n,
238
238
  useCommonProvider: t = !0,
239
- useServiceProvider: r = !0
239
+ useServiceProvider: r = !0,
240
+ modalStyle: o,
241
+ notificationStyle: a,
242
+ messageStyle: l
240
243
  }) => {
241
- let l = /* @__PURE__ */ s(Se, { children: [
242
- /* @__PURE__ */ e(U, { path: "/", element: /* @__PURE__ */ e(Fe, { to: "/login" }) }),
244
+ E(() => {
245
+ o && Qe(o);
246
+ }, [o]), E(() => {
247
+ a && Xe(a);
248
+ }, [a]), E(() => {
249
+ l && Je(l);
250
+ }, [l]);
251
+ let c = /* @__PURE__ */ i(Me, { children: [
252
+ /* @__PURE__ */ e(U, { path: "/", element: /* @__PURE__ */ e(Ke, { to: "/login" }) }),
243
253
  /* @__PURE__ */ e(U, { path: "/ssoLogin", element: n.ssoLogin }),
244
254
  /* @__PURE__ */ e(U, { path: "/login", element: n.login }),
245
255
  /* @__PURE__ */ e(U, { path: "/main/*", element: n.main }),
246
256
  /* @__PURE__ */ e(U, { path: "/sessionNotice", element: n.sessionNotice })
247
257
  ] });
248
- return r && (l = /* @__PURE__ */ e(ze, { children: l })), t && (l = /* @__PURE__ */ e(Ae, { children: l })), /* @__PURE__ */ e(Ge, { children: l });
249
- }, { Content: Wt } = Q, Oe = ({
258
+ return r && (c = /* @__PURE__ */ e(Ae, { children: c })), t && (c = /* @__PURE__ */ e(ze, { children: c })), /* @__PURE__ */ e(Ue, { children: c });
259
+ }, { Content: Ut } = X, Oe = ({
250
260
  config: n = {},
251
261
  children: t
252
262
  }) => {
@@ -262,11 +272,11 @@ const Ft = ({
262
272
  ...n
263
273
  };
264
274
  return /* @__PURE__ */ e(
265
- Wt,
275
+ Ut,
266
276
  {
267
277
  className: r.wrapper.className,
268
278
  style: r.wrapper.style,
269
- children: /* @__PURE__ */ e(Ve, { children: /* @__PURE__ */ e(
279
+ children: /* @__PURE__ */ e(Ye, { children: /* @__PURE__ */ e(
270
280
  "div",
271
281
  {
272
282
  className: r.body.className,
@@ -276,7 +286,7 @@ const Ft = ({
276
286
  ) })
277
287
  }
278
288
  );
279
- }, Gt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.9998%2019.9993V20.9993C11.9998%2021.3932%2012.0774%2021.7833%2012.2282%2022.1473C12.3789%2022.5112%2012.5999%2022.8419%2012.8785%2023.1205C13.157%2023.399%2013.4877%2023.62%2013.8517%2023.7708C14.2156%2023.9215%2014.6057%2023.9991%2014.9997%2023.9991C15.3936%2023.9991%2015.7837%2023.9215%2016.1477%2023.7708C16.5116%2023.62%2016.8423%2023.399%2017.1209%2023.1205C17.3994%2022.8419%2017.6204%2022.5112%2017.7712%2022.1473C17.9219%2021.7833%2017.9995%2021.3932%2017.9995%2020.9993V19.9993M20.9994%2011.9997C20.9994%2014.9996%2022.9993%2019.9993%2022.9993%2019.9993H7.00006C7.00006%2019.9993%208.99996%2015.9995%208.99996%2011.9997C8.99996%208.73187%2011.7318%206%2014.9997%206C18.2675%206%2020.9994%208.73187%2020.9994%2011.9997Z'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", Vt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_93_4488)'%3e%3cpath%20d='M18%207H21C22.1046%207%2023%207.89543%2023%209V21C23%2022.1046%2022.1046%2023%2021%2023H18M11%2011L7%2015M7%2015L11%2019M7%2015L19%2015'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_93_4488'%3e%3crect%20width='30'%20height='30'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", Kt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%206H16C16.5523%206%2017%206.44772%2017%207V7.56879C17%207.99659%2017.2871%208.36825%2017.6822%208.53228C18.0775%208.69638%2018.5377%208.63384%2018.8403%208.33123L19.2426%207.92891C19.6331%207.53838%2020.2663%207.53838%2020.6568%207.92891L22.071%209.34312C22.4616%209.73365%2022.4615%2010.3668%2022.071%2010.7573L21.6688%2011.1596C21.3661%2011.4622%2021.3036%2011.9225%2021.4677%2012.3177C21.6317%2012.7129%2022.0034%2013%2022.4313%2013L23%2013C23.5523%2013%2024%2013.4477%2024%2014V16C24%2016.5523%2023.5523%2017%2023%2017H22.4312C22.0034%2017%2021.6318%2017.2871%2021.4677%2017.6822C21.3036%2018.0775%2021.3661%2018.5377%2021.6688%2018.8403L22.071%2019.2426C22.4616%2019.6331%2022.4616%2020.2663%2022.071%2020.6568L20.6568%2022.071C20.2663%2022.4616%2019.6331%2022.4616%2019.2426%2022.071L18.8403%2021.6688C18.5377%2021.3661%2018.0775%2021.3036%2017.6822%2021.4677C17.2871%2021.6318%2017%2022.0034%2017%2022.4312V23C17%2023.5523%2016.5523%2024%2016%2024H14C13.4477%2024%2013%2023.5523%2013%2023V22.4313C13%2022.0034%2012.7129%2021.6317%2012.3177%2021.4677C11.9225%2021.3036%2011.4622%2021.3661%2011.1596%2021.6688L10.7573%2022.071C10.3668%2022.4616%209.73363%2022.4616%209.34311%2022.071L7.92889%2020.6568C7.53837%2020.2663%207.53837%2019.6331%207.92889%2019.2426L8.33123%2018.8403C8.63384%2018.5377%208.69638%2018.0775%208.53228%2017.6822C8.36825%2017.2871%207.99659%2017%207.56879%2017H7C6.44772%2017%206%2016.5523%206%2016V14C6%2013.4477%206.44772%2013%207%2013L7.56877%2013C7.99658%2013%208.36825%2012.7129%208.53229%2012.3178C8.6964%2011.9225%208.63386%2011.4623%208.33123%2011.1597L7.92891%2010.7573C7.53838%2010.3668%207.53838%209.73365%207.92891%209.34313L9.34312%207.92891C9.73365%207.53839%2010.3668%207.53839%2010.7573%207.92891L11.1597%208.33123C11.4623%208.63386%2011.9225%208.6964%2012.3178%208.53229C12.7129%208.36825%2013%207.99658%2013%207.56876V7C13%206.44772%2013.4477%206%2014%206Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3cpath%20d='M17%2015C17%2016.1046%2016.1046%2017%2015%2017C13.8954%2017%2013%2016.1046%2013%2015C13%2013.8954%2013.8954%2013%2015%2013C16.1046%2013%2017%2013.8954%2017%2015Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3c/svg%3e", { Header: Zt } = Q, { confirm: Ut } = Ue, te = {
289
+ }, Yt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.9998%2019.9993V20.9993C11.9998%2021.3932%2012.0774%2021.7833%2012.2282%2022.1473C12.3789%2022.5112%2012.5999%2022.8419%2012.8785%2023.1205C13.157%2023.399%2013.4877%2023.62%2013.8517%2023.7708C14.2156%2023.9215%2014.6057%2023.9991%2014.9997%2023.9991C15.3936%2023.9991%2015.7837%2023.9215%2016.1477%2023.7708C16.5116%2023.62%2016.8423%2023.399%2017.1209%2023.1205C17.3994%2022.8419%2017.6204%2022.5112%2017.7712%2022.1473C17.9219%2021.7833%2017.9995%2021.3932%2017.9995%2020.9993V19.9993M20.9994%2011.9997C20.9994%2014.9996%2022.9993%2019.9993%2022.9993%2019.9993H7.00006C7.00006%2019.9993%208.99996%2015.9995%208.99996%2011.9997C8.99996%208.73187%2011.7318%206%2014.9997%206C18.2675%206%2020.9994%208.73187%2020.9994%2011.9997Z'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", qt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_93_4488)'%3e%3cpath%20d='M18%207H21C22.1046%207%2023%207.89543%2023%209V21C23%2022.1046%2022.1046%2023%2021%2023H18M11%2011L7%2015M7%2015L11%2019M7%2015L19%2015'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_93_4488'%3e%3crect%20width='30'%20height='30'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", Qt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%206H16C16.5523%206%2017%206.44772%2017%207V7.56879C17%207.99659%2017.2871%208.36825%2017.6822%208.53228C18.0775%208.69638%2018.5377%208.63384%2018.8403%208.33123L19.2426%207.92891C19.6331%207.53838%2020.2663%207.53838%2020.6568%207.92891L22.071%209.34312C22.4616%209.73365%2022.4615%2010.3668%2022.071%2010.7573L21.6688%2011.1596C21.3661%2011.4622%2021.3036%2011.9225%2021.4677%2012.3177C21.6317%2012.7129%2022.0034%2013%2022.4313%2013L23%2013C23.5523%2013%2024%2013.4477%2024%2014V16C24%2016.5523%2023.5523%2017%2023%2017H22.4312C22.0034%2017%2021.6318%2017.2871%2021.4677%2017.6822C21.3036%2018.0775%2021.3661%2018.5377%2021.6688%2018.8403L22.071%2019.2426C22.4616%2019.6331%2022.4616%2020.2663%2022.071%2020.6568L20.6568%2022.071C20.2663%2022.4616%2019.6331%2022.4616%2019.2426%2022.071L18.8403%2021.6688C18.5377%2021.3661%2018.0775%2021.3036%2017.6822%2021.4677C17.2871%2021.6318%2017%2022.0034%2017%2022.4312V23C17%2023.5523%2016.5523%2024%2016%2024H14C13.4477%2024%2013%2023.5523%2013%2023V22.4313C13%2022.0034%2012.7129%2021.6317%2012.3177%2021.4677C11.9225%2021.3036%2011.4622%2021.3661%2011.1596%2021.6688L10.7573%2022.071C10.3668%2022.4616%209.73363%2022.4616%209.34311%2022.071L7.92889%2020.6568C7.53837%2020.2663%207.53837%2019.6331%207.92889%2019.2426L8.33123%2018.8403C8.63384%2018.5377%208.69638%2018.0775%208.53228%2017.6822C8.36825%2017.2871%207.99659%2017%207.56879%2017H7C6.44772%2017%206%2016.5523%206%2016V14C6%2013.4477%206.44772%2013%207%2013L7.56877%2013C7.99658%2013%208.36825%2012.7129%208.53229%2012.3178C8.6964%2011.9225%208.63386%2011.4623%208.33123%2011.1597L7.92891%2010.7573C7.53838%2010.3668%207.53838%209.73365%207.92891%209.34313L9.34312%207.92891C9.73365%207.53839%2010.3668%207.53839%2010.7573%207.92891L11.1597%208.33123C11.4623%208.63386%2011.9225%208.6964%2012.3178%208.53229C12.7129%208.36825%2013%207.99658%2013%207.56876V7C13%206.44772%2013.4477%206%2014%206Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3cpath%20d='M17%2015C17%2016.1046%2016.1046%2017%2015%2017C13.8954%2017%2013%2016.1046%2013%2015C13%2013.8954%2013.8954%2013%2015%2013C16.1046%2013%2017%2013.8954%2017%2015Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3c/svg%3e", { Header: Xt } = X, { confirm: Jt } = tt, te = {
280
290
  light: {
281
291
  headerBg: "#ffffff",
282
292
  headerText: "#000000",
@@ -366,53 +376,53 @@ const Ft = ({
366
376
  ...n.logo
367
377
  },
368
378
  right: r
369
- }, l = fe(), a = X(null), g = it(() => l("/login", { replace: !0 })), {
370
- componentSize: h,
379
+ }, a = be(), l = q(null), g = dt(() => a("/login", { replace: !0 })), {
380
+ componentSize: c,
371
381
  setComponentSize: u,
372
- gridSize: f,
373
- setGridSize: p,
374
- spacingSize: N,
375
- setSpacingSize: d,
376
- enableProtectWrapper: c,
377
- setEnableProtectWrapper: I,
378
- theme: k,
379
- setTheme: m,
380
- clearAllGridLayouts: C
381
- } = De(), S = 1, _ = 2, O = 2, x = (b, L) => {
382
+ gridSize: b,
383
+ setGridSize: f,
384
+ spacingSize: P,
385
+ setSpacingSize: m,
386
+ enableProtectWrapper: h,
387
+ setEnableProtectWrapper: S,
388
+ theme: y,
389
+ setTheme: d,
390
+ clearAllGridLayouts: p
391
+ } = De(), I = 1, D = 2, _ = 2, x = (C, L) => {
382
392
  try {
383
- if (!/^[a-zA-Z0-9-]+$/.test(b) || !/^[#a-zA-Z0-9()\s,.-]+$/.test(L)) return;
384
- document.documentElement.style.setProperty(b, L);
385
- } catch (v) {
386
- console.error("CSS variable setting failed:", v);
393
+ if (!/^[a-zA-Z0-9-]+$/.test(C) || !/^[#a-zA-Z0-9()\s,.-]+$/.test(L)) return;
394
+ document.documentElement.style.setProperty(C, L);
395
+ } catch (k) {
396
+ console.error("CSS variable setting failed:", k);
387
397
  }
388
- }, $ = (b) => {
389
- if (!te[b]) return;
390
- m(b);
391
- const L = { ...te[b] };
398
+ }, $ = (C) => {
399
+ if (!te[C]) return;
400
+ d(C);
401
+ const L = { ...te[C] };
392
402
  x("--header-bg", L.headerBg), x("--header-text", L.headerText), x("--sidebar-bg", L.sidebarBg), x("--sidebar-text", L.sidebarText), x("--button-primary", L.buttonPrimary), x("--button-primary-hover", L.buttonPrimaryHover), x("--button-primary-active", L.buttonPrimaryActive), x("--button-default", L.buttonDefault), x("--button-default-hover", L.buttonDefaultHover), x("--button-default-border", L.buttonDefaultBorder), x(
393
403
  "--button-permission-border",
394
404
  L.buttonPermissionBorder
395
- ), a.current && a.current.setAttribute("data-theme", b), document.documentElement.setAttribute("data-theme", b);
405
+ ), l.current && l.current.setAttribute("data-theme", C), document.documentElement.setAttribute("data-theme", C);
396
406
  };
397
407
  E(() => {
398
- if (k && te[k]) {
399
- const b = { ...te[k] };
400
- x("--header-bg", b.headerBg), x("--header-text", b.headerText), x("--sidebar-bg", b.sidebarBg), x("--sidebar-text", b.sidebarText), x("--button-primary", b.buttonPrimary), x("--button-primary-hover", b.buttonPrimaryHover), x(
408
+ if (y && te[y]) {
409
+ const C = { ...te[y] };
410
+ x("--header-bg", C.headerBg), x("--header-text", C.headerText), x("--sidebar-bg", C.sidebarBg), x("--sidebar-text", C.sidebarText), x("--button-primary", C.buttonPrimary), x("--button-primary-hover", C.buttonPrimaryHover), x(
401
411
  "--button-primary-active",
402
- b.buttonPrimaryActive
403
- ), x("--button-default", b.buttonDefault), x("--button-default-hover", b.buttonDefaultHover), x(
412
+ C.buttonPrimaryActive
413
+ ), x("--button-default", C.buttonDefault), x("--button-default-hover", C.buttonDefaultHover), x(
404
414
  "--button-default-border",
405
- b.buttonDefaultBorder
415
+ C.buttonDefaultBorder
406
416
  ), x(
407
417
  "--button-permission-border",
408
- b.buttonPermissionBorder
409
- ), a.current && a.current.setAttribute("data-theme", k), document.documentElement.setAttribute("data-theme", k);
418
+ C.buttonPermissionBorder
419
+ ), l.current && l.current.setAttribute("data-theme", y), document.documentElement.setAttribute("data-theme", y);
410
420
  } else
411
421
  $("modern");
412
- }, [k]);
422
+ }, [y]);
413
423
  const K = () => {
414
424
  g();
415
- }, H = () => /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [
425
+ }, H = () => /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [
416
426
  /* @__PURE__ */ e("g", { clipPath: "url(#clip0_1424_1089)", children: /* @__PURE__ */ e(
417
427
  "path",
418
428
  {
@@ -425,7 +435,7 @@ const Ft = ({
425
435
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1424_1089", children: /* @__PURE__ */ e("rect", { width: "20", height: "20", fill: "white" }) }) })
426
436
  ] });
427
437
  xe ? xe("HH:mm:ss") : (/* @__PURE__ */ new Date()).toLocaleTimeString("ko-KR");
428
- const J = /* @__PURE__ */ s(
438
+ const J = /* @__PURE__ */ i(
429
439
  "div",
430
440
  {
431
441
  className: "theme-setting-popover",
@@ -433,7 +443,7 @@ const Ft = ({
433
443
  minWidth: "320px"
434
444
  },
435
445
  children: [
436
- /* @__PURE__ */ s(
446
+ /* @__PURE__ */ i(
437
447
  "div",
438
448
  {
439
449
  style: {
@@ -444,7 +454,7 @@ const Ft = ({
444
454
  },
445
455
  children: [
446
456
  /* @__PURE__ */ e("div", { className: "sub-title", style: { marginBottom: 10 }, children: "테마 선택" }),
447
- /* @__PURE__ */ s(
457
+ /* @__PURE__ */ i(
448
458
  "div",
449
459
  {
450
460
  style: {
@@ -457,22 +467,22 @@ const Ft = ({
457
467
  /* @__PURE__ */ e(
458
468
  B,
459
469
  {
460
- className: `theme-swatch-btn theme-swatch-modern ${k === "modern" ? "active" : ""}`,
470
+ className: `theme-swatch-btn theme-swatch-modern ${y === "modern" ? "active" : ""}`,
461
471
  type: "text",
462
472
  size: "small",
463
473
  onClick: () => $("modern")
464
474
  },
465
475
  "modern"
466
476
  ),
467
- Object.entries(te).filter(([b]) => b !== "modern").map(([b, L]) => /* @__PURE__ */ e(
477
+ Object.entries(te).filter(([C]) => C !== "modern").map(([C, L]) => /* @__PURE__ */ e(
468
478
  B,
469
479
  {
470
- className: `theme-swatch-btn theme-swatch-${b} ${k === b ? "active" : ""}`,
480
+ className: `theme-swatch-btn theme-swatch-${C} ${y === C ? "active" : ""}`,
471
481
  type: "text",
472
482
  size: "small",
473
- onClick: () => $(b)
483
+ onClick: () => $(C)
474
484
  },
475
- b
485
+ C
476
486
  ))
477
487
  ]
478
488
  }
@@ -480,8 +490,8 @@ const Ft = ({
480
490
  ]
481
491
  }
482
492
  ),
483
- /* @__PURE__ */ s(
484
- Le,
493
+ /* @__PURE__ */ i(
494
+ ye,
485
495
  {
486
496
  theme: {
487
497
  components: {
@@ -504,14 +514,14 @@ const Ft = ({
504
514
  }
505
515
  },
506
516
  children: [
507
- /* @__PURE__ */ s("div", { style: {
517
+ /* @__PURE__ */ i("div", { style: {
508
518
  display: "flex",
509
519
  flexDirection: "column",
510
520
  gap: 20,
511
521
  padding: "0 10px"
512
522
  }, children: [
513
- /* @__PURE__ */ s("div", { children: [
514
- /* @__PURE__ */ s(
523
+ /* @__PURE__ */ i("div", { children: [
524
+ /* @__PURE__ */ i(
515
525
  re,
516
526
  {
517
527
  justify: "space-between",
@@ -525,8 +535,8 @@ const Ft = ({
525
535
  type: "text",
526
536
  size: "small",
527
537
  icon: /* @__PURE__ */ e(H, {}),
528
- onClick: () => u(S),
529
- disabled: h === S,
538
+ onClick: () => u(I),
539
+ disabled: c === I,
530
540
  style: { padding: "0", gap: "3px", height: "20px", lineHeight: "20px" },
531
541
  children: "초기화"
532
542
  }
@@ -539,16 +549,16 @@ const Ft = ({
539
549
  {
540
550
  className: "theme-ctrl-slider",
541
551
  marks: he,
542
- value: h,
552
+ value: c,
543
553
  min: 0,
544
554
  max: 2,
545
555
  step: 1,
546
- onChange: (b) => u(b)
556
+ onChange: (C) => u(C)
547
557
  }
548
558
  )
549
559
  ] }),
550
- /* @__PURE__ */ s("div", { children: [
551
- /* @__PURE__ */ s(
560
+ /* @__PURE__ */ i("div", { children: [
561
+ /* @__PURE__ */ i(
552
562
  re,
553
563
  {
554
564
  justify: "space-between",
@@ -562,8 +572,8 @@ const Ft = ({
562
572
  type: "text",
563
573
  size: "small",
564
574
  icon: /* @__PURE__ */ e(H, {}),
565
- onClick: () => p(_),
566
- disabled: f === _,
575
+ onClick: () => f(D),
576
+ disabled: b === D,
567
577
  style: { padding: "0", gap: "3px", height: "20px", lineHeight: "20px" },
568
578
  children: "초기화"
569
579
  }
@@ -576,16 +586,16 @@ const Ft = ({
576
586
  {
577
587
  className: "theme-ctrl-slider",
578
588
  marks: he,
579
- value: f,
589
+ value: b,
580
590
  min: 0,
581
591
  max: 2,
582
592
  step: 1,
583
- onChange: (b) => p(b)
593
+ onChange: (C) => f(C)
584
594
  }
585
595
  )
586
596
  ] }),
587
- /* @__PURE__ */ s("div", { children: [
588
- /* @__PURE__ */ s(
597
+ /* @__PURE__ */ i("div", { children: [
598
+ /* @__PURE__ */ i(
589
599
  re,
590
600
  {
591
601
  justify: "space-between",
@@ -599,8 +609,8 @@ const Ft = ({
599
609
  type: "text",
600
610
  size: "small",
601
611
  icon: /* @__PURE__ */ e(H, {}),
602
- onClick: () => d(O),
603
- disabled: N === O,
612
+ onClick: () => m(_),
613
+ disabled: P === _,
604
614
  style: { padding: "0", gap: "3px", height: "20px", lineHeight: "20px" },
605
615
  children: "초기화"
606
616
  }
@@ -613,17 +623,17 @@ const Ft = ({
613
623
  {
614
624
  className: "theme-ctrl-slider",
615
625
  marks: he,
616
- value: N,
626
+ value: P,
617
627
  min: 0,
618
628
  max: 2,
619
629
  step: 1,
620
- onChange: (b) => d(b)
630
+ onChange: (C) => m(C)
621
631
  }
622
632
  )
623
633
  ] })
624
634
  ] }),
625
- /* @__PURE__ */ e(ke, { style: { margin: "20px 0 15px", borderBlockStart: "1px solid #dddddd" } }),
626
- /* @__PURE__ */ s(
635
+ /* @__PURE__ */ e(Pe, { style: { margin: "20px 0 15px", borderBlockStart: "1px solid #dddddd" } }),
636
+ /* @__PURE__ */ i(
627
637
  "div",
628
638
  {
629
639
  style: {
@@ -635,10 +645,10 @@ const Ft = ({
635
645
  children: [
636
646
  /* @__PURE__ */ e("span", { className: "sub-title", children: "화면 보호 활성화" }),
637
647
  /* @__PURE__ */ e(
638
- Ze,
648
+ et,
639
649
  {
640
- checked: c,
641
- onChange: I
650
+ checked: h,
651
+ onChange: S
642
652
  }
643
653
  )
644
654
  ]
@@ -647,7 +657,7 @@ const Ft = ({
647
657
  ]
648
658
  }
649
659
  ),
650
- /* @__PURE__ */ e(ke, { style: { margin: "15px 0 20px", borderBlockStart: "1px solid #dddddd" } }),
660
+ /* @__PURE__ */ e(Pe, { style: { margin: "15px 0 20px", borderBlockStart: "1px solid #dddddd" } }),
651
661
  /* @__PURE__ */ e("div", { style: { textAlign: "right" }, children: /* @__PURE__ */ e(
652
662
  B,
653
663
  {
@@ -656,11 +666,11 @@ const Ft = ({
656
666
  size: "small",
657
667
  icon: /* @__PURE__ */ e(H, {}),
658
668
  onClick: () => {
659
- Ut({
669
+ Jt({
660
670
  title: "전체 그리드 레이아웃 초기화",
661
671
  content: "임의 변경한 그리드 레이아웃 변경사항을 초기화하시겠습니까? 기존 열려있는 화면들은 다시 열어야 적용됩니다.",
662
672
  onOk() {
663
- C();
673
+ p();
664
674
  }
665
675
  });
666
676
  },
@@ -670,8 +680,8 @@ const Ft = ({
670
680
  ]
671
681
  }
672
682
  );
673
- return /* @__PURE__ */ s(
674
- Zt,
683
+ return /* @__PURE__ */ i(
684
+ Xt,
675
685
  {
676
686
  className: o.wrapper.className,
677
687
  style: { ...o.wrapper.style },
@@ -687,7 +697,7 @@ const Ft = ({
687
697
  t && /* @__PURE__ */ e(
688
698
  "div",
689
699
  {
690
- className: "header-center",
700
+ className: "header-center top-menu-wrap",
691
701
  style: {
692
702
  flex: 1,
693
703
  display: "flex",
@@ -697,7 +707,7 @@ const Ft = ({
697
707
  children: t
698
708
  }
699
709
  ),
700
- /* @__PURE__ */ s(
710
+ /* @__PURE__ */ i(
701
711
  "div",
702
712
  {
703
713
  className: "header-right",
@@ -706,29 +716,29 @@ const Ft = ({
706
716
  minWidth: o.right?.minWidth
707
717
  },
708
718
  children: [
709
- o.right?.items?.map((b, L) => /* @__PURE__ */ e("div", { children: b }, L)),
719
+ o.right?.items?.map((C, L) => /* @__PURE__ */ e("div", { children: C }, L)),
710
720
  o.right?.alarm?.visible && /* @__PURE__ */ e(
711
721
  B,
712
722
  {
713
723
  type: "text",
714
- icon: /* @__PURE__ */ e("img", { src: Gt, alt: "알림" }),
724
+ icon: /* @__PURE__ */ e("img", { src: Yt, alt: "알림" }),
715
725
  className: "alarm-btn",
716
726
  onClick: o.right?.alarm?.onClick
717
727
  }
718
728
  ),
719
729
  o.right?.theme?.visible && /* @__PURE__ */ e(
720
- Ye,
730
+ nt,
721
731
  {
722
732
  content: J,
723
733
  title: /* @__PURE__ */ e("span", { style: { display: "inline-block", fontSize: 16, color: "var(--text-primary)", lineHeight: "30px", marginBottom: "2px" }, children: "개인 설정" }),
724
734
  trigger: "click",
725
735
  placement: "bottomRight",
726
- onOpenChange: (b) => o.right?.theme?.onOpenChange?.(b),
736
+ onOpenChange: (C) => o.right?.theme?.onOpenChange?.(C),
727
737
  children: /* @__PURE__ */ e(
728
738
  B,
729
739
  {
730
740
  type: "text",
731
- icon: /* @__PURE__ */ e("img", { src: Kt, alt: "개인설정" }),
741
+ icon: /* @__PURE__ */ e("img", { src: Qt, alt: "개인설정" }),
732
742
  className: "theme-btn",
733
743
  onClick: o.right?.theme?.onClick
734
744
  }
@@ -739,15 +749,15 @@ const Ft = ({
739
749
  B,
740
750
  {
741
751
  type: "text",
742
- icon: /* @__PURE__ */ e("img", { src: Vt, alt: "로그아웃" }),
752
+ icon: /* @__PURE__ */ e("img", { src: qt, alt: "로그아웃" }),
743
753
  onClick: o.right?.logout?.onClick || K,
744
754
  className: "logout-btn"
745
755
  }
746
756
  ),
747
757
  o.right?.avatar?.visible && /* @__PURE__ */ e(
748
- qe,
758
+ rt,
749
759
  {
750
- icon: /* @__PURE__ */ e(ct, {}),
760
+ icon: /* @__PURE__ */ e(mt, {}),
751
761
  className: "avatar",
752
762
  style: {
753
763
  width: o.right?.avatar?.width,
@@ -801,60 +811,60 @@ const Ft = ({
801
811
  return t + " " + r + "ms " + o;
802
812
  }
803
813
  }
804
- }), Yt = ye(
814
+ }), en = fe(
805
815
  ({ className: n, ...t }) => {
806
- const r = X(null), {
816
+ const r = q(null), {
807
817
  attributes: o,
808
- listeners: l,
809
- transform: a,
818
+ listeners: a,
819
+ transform: l,
810
820
  transition: g,
811
- isDragging: h,
821
+ isDragging: c,
812
822
  setNodeRef: u
813
- } = Tt({ id: t["data-node-key"] }), [f, p] = z();
823
+ } = Ot({ id: t["data-node-key"] }), [b, f] = A();
814
824
  E(() => {
815
- const C = r.current;
816
- if (C)
817
- if (h) {
818
- const S = Math.round(C.getBoundingClientRect().width);
819
- p(S);
825
+ const p = r.current;
826
+ if (p)
827
+ if (c) {
828
+ const I = Math.round(p.getBoundingClientRect().width);
829
+ f(I);
820
830
  } else
821
- p(void 0);
822
- }, [h]);
823
- const N = {
831
+ f(void 0);
832
+ }, [c]);
833
+ const P = {
824
834
  ...t.style,
825
- transform: a ? me.Transform.toString(a) : void 0,
835
+ transform: l ? me.Transform.toString(l) : void 0,
826
836
  transition: g ?? "transform 0.16s ease",
827
837
  cursor: "grab",
828
838
  userSelect: "none",
829
839
  willChange: "transform",
830
840
  // ✅ 드래그 중 픽셀 폭 고정 (flex 재계산 억제)
831
- width: f ?? void 0,
832
- minWidth: f ?? void 0,
833
- maxWidth: f ?? void 0,
834
- flex: f !== void 0 ? "0 0 auto" : void 0
835
- }, d = t.children, c = d.props?.className || "", m = t["data-gubun"] === "C" ? c ? `${c} tab-special` : "tab-special" : c;
836
- return rt(d, {
837
- ref: (C) => {
838
- r.current !== C && (r.current = C), u(C);
841
+ width: b ?? void 0,
842
+ minWidth: b ?? void 0,
843
+ maxWidth: b ?? void 0,
844
+ flex: b !== void 0 ? "0 0 auto" : void 0
845
+ }, m = t.children, h = m.props?.className || "", d = t["data-gubun"] === "C" ? h ? `${h} tab-special` : "tab-special" : h;
846
+ return We(m, {
847
+ ref: (p) => {
848
+ r.current !== p && (r.current = p), u(p);
839
849
  },
840
- className: m,
841
- style: N,
850
+ className: d,
851
+ style: P,
842
852
  ...o,
843
- ...l
853
+ ...a
844
854
  });
845
855
  }
846
- ), qt = ye(function({
856
+ ), tn = fe(function({
847
857
  config: t,
848
858
  isFirst: r,
849
859
  isLast: o,
850
- canCloseAll: l,
851
- onFirst: a,
860
+ canCloseAll: a,
861
+ onFirst: l,
852
862
  onPrev: g,
853
- onNext: h,
863
+ onNext: c,
854
864
  onLast: u,
855
- onCloseAll: f
865
+ onCloseAll: b
856
866
  }) {
857
- return /* @__PURE__ */ s("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
867
+ return /* @__PURE__ */ i("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
858
868
  /* @__PURE__ */ e(
859
869
  ee,
860
870
  {
@@ -867,8 +877,8 @@ const Ft = ({
867
877
  className: t.buttons?.className,
868
878
  style: t.buttons?.style,
869
879
  size: "small",
870
- icon: /* @__PURE__ */ e(dt, {}),
871
- onClick: a,
880
+ icon: /* @__PURE__ */ e(gt, {}),
881
+ onClick: l,
872
882
  disabled: r
873
883
  }
874
884
  )
@@ -886,7 +896,7 @@ const Ft = ({
886
896
  className: t.buttons?.className,
887
897
  style: t.buttons?.style,
888
898
  size: "small",
889
- icon: /* @__PURE__ */ e(ht, {}),
899
+ icon: /* @__PURE__ */ e(ft, {}),
890
900
  onClick: g,
891
901
  disabled: r
892
902
  }
@@ -905,8 +915,8 @@ const Ft = ({
905
915
  className: t.buttons?.className,
906
916
  style: t.buttons?.style,
907
917
  size: "small",
908
- icon: /* @__PURE__ */ e(ut, {}),
909
- onClick: h,
918
+ icon: /* @__PURE__ */ e(bt, {}),
919
+ onClick: c,
910
920
  disabled: o
911
921
  }
912
922
  )
@@ -924,7 +934,7 @@ const Ft = ({
924
934
  className: t.buttons?.className,
925
935
  style: t.buttons?.style,
926
936
  size: "small",
927
- icon: /* @__PURE__ */ e(pt, {}),
937
+ icon: /* @__PURE__ */ e(yt, {}),
928
938
  onClick: u,
929
939
  disabled: o
930
940
  }
@@ -944,14 +954,14 @@ const Ft = ({
944
954
  style: t.buttons?.style,
945
955
  size: "small",
946
956
  icon: /* @__PURE__ */ e(Ee, {}),
947
- onClick: f,
948
- disabled: !l
957
+ onClick: b,
958
+ disabled: !a
949
959
  }
950
960
  )
951
961
  }
952
962
  )
953
963
  ] });
954
- }), Qt = ({
964
+ }), nn = ({
955
965
  config: n = {}
956
966
  }) => {
957
967
  const t = {
@@ -979,53 +989,53 @@ const Ft = ({
979
989
  ...n?.nav
980
990
  },
981
991
  ...n
982
- }, r = D((i) => i.tabs), o = D((i) => i.activeMenuId), l = D((i) => i.pinnedTabs), a = D((i) => i.focusTab), g = D((i) => i.closeTab), h = D((i) => i.reorderTabs), u = D((i) => i.togglePinTab), f = D((i) => i.refreshTab), p = D((i) => i.closeOtherTabs), N = D((i) => i.closeRightTabs);
983
- D((i) => i.closeAllTabs);
984
- const d = vt(
985
- kt(xt, { activationConstraint: { distance: 6 } })
986
- ), c = (i) => {
987
- a(i);
988
- }, I = (i, w) => {
989
- w === "remove" && typeof i == "string" && g(i);
990
- }, k = () => {
991
- r.length > 0 && a(r[0].key);
992
- }, m = () => {
992
+ }, r = O((s) => s.tabs), o = O((s) => s.activeMenuId), a = O((s) => s.pinnedTabs), l = O((s) => s.focusTab), g = O((s) => s.closeTab), c = O((s) => s.reorderTabs), u = O((s) => s.togglePinTab), b = O((s) => s.refreshTab), f = O((s) => s.closeOtherTabs), P = O((s) => s.closeRightTabs);
993
+ O((s) => s.closeAllTabs);
994
+ const m = It(
995
+ St(Lt, { activationConstraint: { distance: 6 } })
996
+ ), h = (s) => {
997
+ l(s);
998
+ }, S = (s, w) => {
999
+ w === "remove" && typeof s == "string" && g(s);
1000
+ }, y = () => {
1001
+ r.length > 0 && l(r[0].key);
1002
+ }, d = () => {
993
1003
  if (!o || r.length <= 1) return;
994
- const i = r.findIndex((w) => w.key === o);
995
- i > 0 && a(r[i - 1].key);
996
- }, C = () => {
1004
+ const s = r.findIndex((w) => w.key === o);
1005
+ s > 0 && l(r[s - 1].key);
1006
+ }, p = () => {
997
1007
  if (!o || r.length <= 1) return;
998
- const i = r.findIndex((w) => w.key === o);
999
- i < r.length - 1 && a(r[i + 1].key);
1000
- }, S = () => {
1001
- r.length > 0 && a(r[r.length - 1].key);
1002
- }, _ = () => {
1003
- r.forEach((i) => {
1004
- l.has(i.key) || g(i.key);
1008
+ const s = r.findIndex((w) => w.key === o);
1009
+ s < r.length - 1 && l(r[s + 1].key);
1010
+ }, I = () => {
1011
+ r.length > 0 && l(r[r.length - 1].key);
1012
+ }, D = () => {
1013
+ r.forEach((s) => {
1014
+ a.has(s.key) || g(s.key);
1005
1015
  });
1006
- }, O = R((i) => (w) => {
1016
+ }, _ = R((s) => (w) => {
1007
1017
  w.preventDefault(), w.stopPropagation();
1008
1018
  }, []), x = R(
1009
- (i) => {
1010
- const w = l.has(i), M = r.findIndex((ne) => ne.key === i), T = M >= 0 && M < r.length - 1, W = r.length > 1;
1019
+ (s) => {
1020
+ const w = a.has(s), M = r.findIndex((ne) => ne.key === s), T = M >= 0 && M < r.length - 1, G = r.length > 1;
1011
1021
  return [
1012
1022
  {
1013
1023
  key: "close",
1014
1024
  label: "닫기",
1015
- icon: /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1025
+ icon: /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1016
1026
  /* @__PURE__ */ e("g", { "clip-path": "url(#clip0_1409_1182)", children: /* @__PURE__ */ e("path", { d: "M16.2 5.80005L5.79004 16.21M5.80004 5.80005L16.21 16.21", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }) }),
1017
1027
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1182", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1018
1028
  ] }),
1019
1029
  onClick: () => {
1020
- w || g(i);
1030
+ w || g(s);
1021
1031
  },
1022
1032
  disabled: w
1023
1033
  },
1024
1034
  {
1025
1035
  key: "pin",
1026
1036
  label: w ? "고정 해제" : "고정",
1027
- icon: w ? /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1028
- /* @__PURE__ */ s("g", { "clip-path": "url(#clip0_1409_1222)", children: [
1037
+ icon: w ? /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1038
+ /* @__PURE__ */ i("g", { "clip-path": "url(#clip0_1409_1222)", children: [
1029
1039
  /* @__PURE__ */ e("path", { d: "M8.19998 8.28992C7.38998 8.41992 6.60998 8.78992 5.97998 9.41992L12.58 16.0199C13.2 15.3999 13.57 14.6299 13.7 13.8199", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1030
1040
  /* @__PURE__ */ e("path", { d: "M13.7601 10.9099L16.2101 8.45993L13.5501 5.79993L11.1001 8.24993", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1031
1041
  /* @__PURE__ */ e("path", { d: "M12.4502 4.70996L17.2902 9.54996", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
@@ -1033,8 +1043,8 @@ const Ft = ({
1033
1043
  /* @__PURE__ */ e("path", { d: "M5.27979 5.27991L16.7198 16.7199", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" })
1034
1044
  ] }),
1035
1045
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1222", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1036
- ] }) : /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1037
- /* @__PURE__ */ s("g", { "clip-path": "url(#clip0_1409_1186)", children: [
1046
+ ] }) : /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1047
+ /* @__PURE__ */ i("g", { "clip-path": "url(#clip0_1409_1186)", children: [
1038
1048
  /* @__PURE__ */ e("path", { d: "M13.32 11.3399L16.2 8.45993L13.54 5.79993L10.66 8.67993C9.13998 7.91993 7.24998 8.15993 5.97998 9.41993L12.58 16.0199C13.85 14.7499 14.08 12.8599 13.32 11.3399Z", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1039
1049
  /* @__PURE__ */ e("path", { d: "M12.4502 4.70996L17.2902 9.54996", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1040
1050
  /* @__PURE__ */ e("path", { d: "M9.27996 12.72L4.70996 17.29", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" })
@@ -1042,18 +1052,18 @@ const Ft = ({
1042
1052
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1186", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1043
1053
  ] }),
1044
1054
  onClick: () => {
1045
- u(i);
1055
+ u(s);
1046
1056
  }
1047
1057
  },
1048
1058
  {
1049
1059
  key: "refresh",
1050
1060
  label: "새로고침",
1051
- icon: /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1061
+ icon: /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1052
1062
  /* @__PURE__ */ e("g", { "clip-path": "url(#clip0_1409_1193)", children: /* @__PURE__ */ e("path", { d: "M16.1801 13.13C15.7801 14.25 15.0401 15.22 14.0401 15.87C13.0501 16.53 11.8701 16.85 10.6801 16.78C9.49009 16.71 8.36009 16.26 7.45009 15.49C6.54009 14.72 5.91009 13.68 5.64009 12.52C5.38009 11.36 5.50009 10.15 5.98009 9.05996C6.47009 7.96996 7.29009 7.07996 8.33009 6.49996C9.37009 5.91996 10.5701 5.69996 11.7501 5.86996C13.7401 6.14996 15.0501 7.58996 16.4701 8.85996M16.4901 5.20996V8.86996H12.8301", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }) }),
1053
1063
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1193", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1054
1064
  ] }),
1055
1065
  onClick: () => {
1056
- f(i);
1066
+ b(s);
1057
1067
  }
1058
1068
  },
1059
1069
  {
@@ -1062,8 +1072,8 @@ const Ft = ({
1062
1072
  {
1063
1073
  key: "closeOthers",
1064
1074
  label: "다른 탭 닫기",
1065
- icon: /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1066
- /* @__PURE__ */ s("g", { "clip-path": "url(#clip0_1409_1197)", children: [
1075
+ icon: /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1076
+ /* @__PURE__ */ i("g", { "clip-path": "url(#clip0_1409_1197)", children: [
1067
1077
  /* @__PURE__ */ e("path", { d: "M4.52979 5.74005V16.2601C4.52979 16.7101 4.88979 17.0701 5.33979 17.0701H16.6698C17.1198 17.0701 17.4798 16.7101 17.4798 16.2601V8.17005C17.4798 7.72005 17.1198 7.36005 16.6698 7.36005H12.6898C12.3898 7.36005 12.1098 7.23005 11.9198 7.00005L10.4398 5.22005C10.2898 5.04005 10.0598 4.93005 9.81978 4.93005H5.33979C4.88979 4.93005 4.52979 5.29005 4.52979 5.74005Z", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1068
1078
  /* @__PURE__ */ e("path", { d: "M13.3598 7.36011H4.52979", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1069
1079
  /* @__PURE__ */ e("path", { d: "M12.7897 10.4301L9.19971 14.0201M9.20971 10.4301L12.7997 14.0201", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" })
@@ -1071,15 +1081,15 @@ const Ft = ({
1071
1081
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1197", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1072
1082
  ] }),
1073
1083
  onClick: () => {
1074
- p(i);
1084
+ f(s);
1075
1085
  },
1076
- disabled: !W
1086
+ disabled: !G
1077
1087
  },
1078
1088
  {
1079
1089
  key: "closeRight",
1080
1090
  label: "우측 탭 닫기",
1081
- icon: /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1082
- /* @__PURE__ */ s("g", { "clip-path": "url(#clip0_1409_1204)", children: [
1091
+ icon: /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1092
+ /* @__PURE__ */ i("g", { "clip-path": "url(#clip0_1409_1204)", children: [
1083
1093
  /* @__PURE__ */ e("path", { d: "M16.3402 10.53V16.51C16.3402 17.05 15.9302 17.49 15.4302 17.49H5.40023C4.90023 17.49 4.49023 17.05 4.49023 16.51V7.73C4.49023 7.19 4.90023 6.75 5.40023 6.75H10.1702", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1084
1094
  /* @__PURE__ */ e("path", { d: "M12.33 11.4301L8.5 15.2601M8.5 11.4301L12.33 15.2601", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1085
1095
  /* @__PURE__ */ e("path", { d: "M12.1699 6.76001H17.4199", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
@@ -1090,15 +1100,15 @@ const Ft = ({
1090
1100
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1204", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1091
1101
  ] }),
1092
1102
  onClick: () => {
1093
- N(i);
1103
+ P(s);
1094
1104
  },
1095
1105
  disabled: !T
1096
1106
  },
1097
1107
  {
1098
1108
  key: "closeAll",
1099
1109
  label: "전체 닫기",
1100
- icon: /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1101
- /* @__PURE__ */ s("g", { "clip-path": "url(#clip0_1409_1215)", children: [
1110
+ icon: /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1111
+ /* @__PURE__ */ i("g", { "clip-path": "url(#clip0_1409_1215)", children: [
1102
1112
  /* @__PURE__ */ e("path", { d: "M14.8405 10.15L10.2305 14.76M10.2305 10.15L14.8405 14.76", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1103
1113
  /* @__PURE__ */ e("path", { d: "M16.5101 7.47998H8.56006C8.00777 7.47998 7.56006 7.9277 7.56006 8.47998V16.43C7.56006 16.9823 8.00777 17.43 8.56006 17.43H16.5101C17.0623 17.43 17.5101 16.9823 17.5101 16.43V8.47998C17.5101 7.9277 17.0623 7.47998 16.5101 7.47998Z", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1104
1114
  /* @__PURE__ */ e("path", { d: "M5.53023 14.81C4.95023 14.81 4.49023 14.34 4.49023 13.77V5.89999C4.49023 5.31999 4.96023 4.85999 5.53023 4.85999H13.4002C13.9802 4.85999 14.4402 5.32999 14.4402 5.89999", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" })
@@ -1106,7 +1116,7 @@ const Ft = ({
1106
1116
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1215", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1107
1117
  ] }),
1108
1118
  onClick: () => {
1109
- _();
1119
+ D();
1110
1120
  },
1111
1121
  disabled: r.length === 0
1112
1122
  }
@@ -1114,28 +1124,28 @@ const Ft = ({
1114
1124
  },
1115
1125
  [
1116
1126
  r,
1117
- l,
1127
+ a,
1118
1128
  g,
1119
1129
  u,
1130
+ b,
1120
1131
  f,
1121
- p,
1122
- N
1132
+ P
1123
1133
  ]
1124
- ), $ = o ? r.findIndex((i) => i.key === o) : -1, K = $ === 0, H = $ === r.length - 1, J = F(
1125
- () => r.map((i) => {
1126
- const w = l.has(i.key);
1134
+ ), $ = o ? r.findIndex((s) => s.key === o) : -1, K = $ === 0, H = $ === r.length - 1, J = F(
1135
+ () => r.map((s) => {
1136
+ const w = a.has(s.key);
1127
1137
  return {
1128
- key: i.key,
1129
- label: /* @__PURE__ */ s("span", { className: "menu-tabs-text", style: { position: "relative" }, children: [
1130
- w && /* @__PURE__ */ s("svg", { className: "tabs-pin-icon", xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1131
- /* @__PURE__ */ s("g", { "clip-path": "url(#clip0_1413_1595)", children: [
1138
+ key: s.key,
1139
+ label: /* @__PURE__ */ i("span", { className: "menu-tabs-text", style: { position: "relative" }, children: [
1140
+ w && /* @__PURE__ */ i("svg", { className: "tabs-pin-icon", xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1141
+ /* @__PURE__ */ i("g", { "clip-path": "url(#clip0_1413_1595)", children: [
1132
1142
  /* @__PURE__ */ e("path", { d: "M13.32 11.3399L16.2 8.45993L13.54 5.79993L10.66 8.67993C9.13998 7.91993 7.24998 8.15993 5.97998 9.41993L12.58 16.0199C13.85 14.7499 14.08 12.8599 13.32 11.3399Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1133
1143
  /* @__PURE__ */ e("path", { d: "M12.4502 4.70996L17.2902 9.54996", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1134
1144
  /* @__PURE__ */ e("path", { d: "M9.27996 12.72L4.70996 17.29", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })
1135
1145
  ] }),
1136
1146
  /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1413_1595", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1137
1147
  ] }),
1138
- i.label
1148
+ s.label
1139
1149
  ] }),
1140
1150
  closable: !w,
1141
1151
  // 고정된 탭은 닫을 수 없음
@@ -1143,55 +1153,55 @@ const Ft = ({
1143
1153
  // 컨텐츠는 Main 쪽에서 렌더 → 여기선 헤더만 필요
1144
1154
  };
1145
1155
  }),
1146
- [r, l]
1147
- ), [b, L] = z(null), v = R(({ active: i }) => {
1156
+ [r, a]
1157
+ ), [C, L] = A(null), k = R(({ active: s }) => {
1148
1158
  L(null);
1149
- }, []), P = R(
1150
- ({ active: i, over: w }) => {
1151
- if (!w || i.id === w.id) return;
1152
- const M = r.findIndex((G) => G.key === i.id), T = r.findIndex((G) => G.key === w.id);
1159
+ }, []), N = R(
1160
+ ({ active: s, over: w }) => {
1161
+ if (!w || s.id === w.id) return;
1162
+ const M = r.findIndex((W) => W.key === s.id), T = r.findIndex((W) => W.key === w.id);
1153
1163
  if (M < 0 || T < 0 || M === T) return;
1154
- const W = r.map((G) => G.key), ne = St(W, M, T);
1155
- h?.(ne);
1164
+ const G = r.map((W) => W.key), ne = Dt(G, M, T);
1165
+ c?.(ne);
1156
1166
  },
1157
- [r, h]
1158
- ), y = R(
1159
- (i, w) => /* @__PURE__ */ e(
1160
- Nt,
1167
+ [r, c]
1168
+ ), v = R(
1169
+ (s, w) => /* @__PURE__ */ e(
1170
+ Mt,
1161
1171
  {
1162
- sensors: d,
1163
- onDragStart: v,
1164
- onDragEnd: P,
1165
- collisionDetection: It,
1166
- modifiers: [Pt],
1172
+ sensors: m,
1173
+ onDragStart: k,
1174
+ onDragEnd: N,
1175
+ collisionDetection: Tt,
1176
+ modifiers: [Bt],
1167
1177
  children: /* @__PURE__ */ e(
1168
- Lt,
1178
+ Et,
1169
1179
  {
1170
1180
  items: r.map((M) => M.key),
1171
- strategy: Mt,
1172
- children: /* @__PURE__ */ e(w, { ...i, children: (M) => {
1173
- const T = M.key, W = b === T, G = r.find((ae) => ae.key === T)?.gubun;
1181
+ strategy: _t,
1182
+ children: /* @__PURE__ */ e(w, { ...s, children: (M) => {
1183
+ const T = M.key, G = C === T, W = r.find((le) => le.key === T)?.gubun;
1174
1184
  return /* @__PURE__ */ e(
1175
- Qe,
1185
+ ot,
1176
1186
  {
1177
1187
  rootClassName: "menu-tabs-dropdown",
1178
1188
  menu: { items: x(T) },
1179
1189
  trigger: ["contextMenu"],
1180
- open: W,
1181
- onOpenChange: (ae) => {
1182
- L(ae ? T : null);
1190
+ open: G,
1191
+ onOpenChange: (le) => {
1192
+ L(le ? T : null);
1183
1193
  },
1184
1194
  children: /* @__PURE__ */ e(
1185
1195
  "span",
1186
1196
  {
1187
- onContextMenu: O(T),
1197
+ onContextMenu: _(T),
1188
1198
  style: { display: "inline-block", width: "100%", height: "100%" },
1189
- children: /* @__PURE__ */ Be(
1190
- Yt,
1199
+ children: /* @__PURE__ */ Le(
1200
+ en,
1191
1201
  {
1192
1202
  ...M.props,
1193
1203
  key: M.key,
1194
- "data-gubun": G
1204
+ "data-gubun": W
1195
1205
  },
1196
1206
  M
1197
1207
  )
@@ -1205,13 +1215,13 @@ const Ft = ({
1205
1215
  }
1206
1216
  ),
1207
1217
  [
1208
- d,
1209
- v,
1210
- P,
1218
+ m,
1219
+ k,
1220
+ N,
1211
1221
  r,
1212
- b,
1222
+ C,
1213
1223
  x,
1214
- O
1224
+ _
1215
1225
  ]
1216
1226
  );
1217
1227
  return /* @__PURE__ */ e(
@@ -1223,36 +1233,36 @@ const Ft = ({
1223
1233
  display: r.length === 0 ? "none" : "block"
1224
1234
  },
1225
1235
  children: /* @__PURE__ */ e(
1226
- Xe,
1236
+ it,
1227
1237
  {
1228
1238
  type: "editable-card",
1229
1239
  activeKey: o || void 0,
1230
- onChange: c,
1231
- onEdit: I,
1240
+ onChange: h,
1241
+ onEdit: S,
1232
1242
  className: t.tabs.className,
1233
1243
  style: t.tabs.style,
1234
1244
  hideAdd: !0,
1235
1245
  items: J,
1236
1246
  tabBarExtraContent: /* @__PURE__ */ e(
1237
- qt,
1247
+ tn,
1238
1248
  {
1239
1249
  config: t?.nav,
1240
1250
  isFirst: !!K,
1241
1251
  isLast: !!H,
1242
1252
  canCloseAll: r.length > 0,
1243
- onFirst: k,
1244
- onPrev: m,
1245
- onNext: C,
1246
- onLast: S,
1247
- onCloseAll: _
1253
+ onFirst: y,
1254
+ onPrev: d,
1255
+ onNext: p,
1256
+ onLast: I,
1257
+ onCloseAll: D
1248
1258
  }
1249
1259
  ),
1250
- renderTabBar: y
1260
+ renderTabBar: v
1251
1261
  }
1252
1262
  )
1253
1263
  }
1254
1264
  );
1255
- }, { Sider: Xt } = Q, Jt = ({
1265
+ }, { Sider: rn } = X, on = ({
1256
1266
  config: n = {}
1257
1267
  }) => {
1258
1268
  const t = {
@@ -1294,15 +1304,15 @@ const Ft = ({
1294
1304
  ...n?.style
1295
1305
  },
1296
1306
  ...n
1297
- }, [r, o] = z(""), [l, a] = z(
1307
+ }, [r, o] = A(""), [a, l] = A(
1298
1308
  "category"
1299
- ), [g, h] = z([]), { activeMenuId: u, sidebarCollapsed: f, openTabFromMenu: p, toggleSidebar: N } = D(), { menuList: d, isLoading: c, error: I, findMenuById: k, flatMenuList: m } = le(), { nodes: C, treeNodes: S, loadFavoritesIfNeeded: _ } = st(), O = F(() => {
1300
- const v = [], P = (y, i = 0) => {
1301
- if (y.menuGbCd === t.menuGubunCode.program && y.scrnPath) {
1302
- const w = " ".repeat(i), M = y.menuNo || "";
1303
- v.push({
1304
- value: y.menuId,
1305
- label: /* @__PURE__ */ s(
1309
+ ), [g, c] = A([]), { activeMenuId: u, sidebarCollapsed: b, openTabFromMenu: f, toggleSidebar: P } = O(), { menuList: m, isLoading: h, error: S, findMenuById: y, flatMenuList: d } = ae(), { nodes: p, treeNodes: I, loadFavoritesIfNeeded: D } = ht(), _ = F(() => {
1310
+ const k = [], N = (v, s = 0) => {
1311
+ if (v.menuGbCd === t.menuGubunCode.program && v.scrnPath) {
1312
+ const w = " ".repeat(s), M = v.menuNo || "";
1313
+ k.push({
1314
+ value: v.menuId,
1315
+ label: /* @__PURE__ */ i(
1306
1316
  "div",
1307
1317
  {
1308
1318
  style: {
@@ -1311,9 +1321,9 @@ const Ft = ({
1311
1321
  alignItems: "center"
1312
1322
  },
1313
1323
  children: [
1314
- /* @__PURE__ */ s("span", { children: [
1324
+ /* @__PURE__ */ i("span", { children: [
1315
1325
  w,
1316
- y.menuNm
1326
+ v.menuNm
1317
1327
  ] }),
1318
1328
  /* @__PURE__ */ e(
1319
1329
  "span",
@@ -1332,59 +1342,59 @@ const Ft = ({
1332
1342
  ]
1333
1343
  }
1334
1344
  ),
1335
- menuItem: y
1345
+ menuItem: v
1336
1346
  });
1337
1347
  }
1338
- y.children && y.children.length > 0 && y.children.forEach((w) => P(w, i + 1));
1348
+ v.children && v.children.length > 0 && v.children.forEach((w) => N(w, s + 1));
1339
1349
  };
1340
- return d.forEach((y) => P(y)), v;
1341
- }, [d]), x = F(() => r.trim() ? O.filter((v) => {
1342
- const P = v.menuItem.menuNm.toLowerCase(), y = String(v.menuItem.menuNo || "미지정").toLowerCase(), i = r.toLowerCase();
1343
- return P.includes(i) || y.includes(i);
1344
- }) : [], [O, r]), $ = (v) => {
1345
- if (!v || typeof v != "string") {
1346
- console.warn("Invalid menu selection value:", v);
1350
+ return m.forEach((v) => N(v)), k;
1351
+ }, [m]), x = F(() => r.trim() ? _.filter((k) => {
1352
+ const N = k.menuItem.menuNm.toLowerCase(), v = String(k.menuItem.menuNo || "미지정").toLowerCase(), s = r.toLowerCase();
1353
+ return N.includes(s) || v.includes(s);
1354
+ }) : [], [_, r]), $ = (k) => {
1355
+ if (!k || typeof k != "string") {
1356
+ console.warn("Invalid menu selection value:", k);
1347
1357
  return;
1348
1358
  }
1349
- if (!/^[a-zA-Z0-9_-]+$/.test(v)) {
1350
- console.warn("Invalid menu ID format:", v);
1359
+ if (!/^[a-zA-Z0-9_-]+$/.test(k)) {
1360
+ console.warn("Invalid menu ID format:", k);
1351
1361
  return;
1352
1362
  }
1353
- const P = O.find(
1354
- (y) => y.value === v
1363
+ const N = _.find(
1364
+ (v) => v.value === k
1355
1365
  );
1356
- if (P) {
1357
- const { menuItem: y } = P;
1358
- if (!y || !y.menuId || !y.menuNm) {
1359
- console.warn("Invalid menu item:", y);
1366
+ if (N) {
1367
+ const { menuItem: v } = N;
1368
+ if (!v || !v.menuId || !v.menuNm) {
1369
+ console.warn("Invalid menu item:", v);
1360
1370
  return;
1361
1371
  }
1362
- y.menuGbCd === t.menuGubunCode.program && y.scrnPath ? (console.log(
1372
+ v.menuGbCd === t.menuGubunCode.program && v.scrnPath ? (console.log(
1363
1373
  "✅ 검색으로 프로그램 메뉴 선택 - 탭 추가 및 setCurrentProgram 호출"
1364
1374
  ), console.log(
1365
1375
  "메뉴명:",
1366
- y.menuNm,
1376
+ v.menuNm,
1367
1377
  "경로:",
1368
- y.scrnPath,
1378
+ v.scrnPath,
1369
1379
  "scrnId:",
1370
- y.scrnId
1371
- ), p(y)) : (y.menuGbCd === t.menuGubunCode.mainMenu || y.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", y.menuNm, "menuGbCd:", y.menuGbCd)), o("");
1380
+ v.scrnId
1381
+ ), f(v)) : (v.menuGbCd === t.menuGubunCode.mainMenu || v.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", v.menuNm, "menuGbCd:", v.menuGbCd)), o("");
1372
1382
  }
1373
1383
  }, K = R(
1374
- (v) => {
1375
- const P = k(v);
1376
- P?.menuGbCd === t.menuGubunCode.program && (console.log(
1384
+ (k) => {
1385
+ const N = y(k);
1386
+ N?.menuGbCd === t.menuGubunCode.program && (console.log(
1377
1387
  "메뉴명:",
1378
- P.menuNm,
1388
+ N.menuNm,
1379
1389
  "경로:",
1380
- P.scrnPath,
1390
+ N.scrnPath,
1381
1391
  "scrnId:",
1382
- P.scrnId
1383
- ), p(P));
1392
+ N.scrnId
1393
+ ), f(N));
1384
1394
  },
1385
- [k, p, t.menuGubunCode.program]
1386
- ), H = R((v) => v.map((P) => ({
1387
- key: P.menuId,
1395
+ [y, f, t.menuGubunCode.program]
1396
+ ), H = R((k) => k.map((N) => ({
1397
+ key: N.menuId,
1388
1398
  label: /* @__PURE__ */ e(
1389
1399
  "div",
1390
1400
  {
@@ -1393,19 +1403,19 @@ const Ft = ({
1393
1403
  justifyContent: "space-between",
1394
1404
  alignItems: "center"
1395
1405
  },
1396
- children: /* @__PURE__ */ e("span", { children: P.menuNm })
1406
+ children: /* @__PURE__ */ e("span", { children: N.menuNm })
1397
1407
  }
1398
1408
  ),
1399
- icon: J(P.iconCd, P.menuGbCd),
1400
- children: P.children && P.children.length > 0 ? H(P.children) : void 0
1401
- })), []), J = (v, P) => {
1402
- if (v) {
1403
- const y = ie[v];
1404
- if (y)
1405
- return /* @__PURE__ */ e(y, {});
1409
+ icon: J(N.iconCd, N.menuGbCd),
1410
+ children: N.children && N.children.length > 0 ? H(N.children) : void 0
1411
+ })), []), J = (k, N) => {
1412
+ if (k) {
1413
+ const v = ie[k];
1414
+ if (v)
1415
+ return /* @__PURE__ */ e(v, {});
1406
1416
  }
1407
- if (P)
1408
- switch (P) {
1417
+ if (N)
1418
+ switch (N) {
1409
1419
  case t.menuGubunCode.mainMenu:
1410
1420
  return /* @__PURE__ */ e(ie.HomeOutlined, {});
1411
1421
  case t.menuGubunCode.subMenu:
@@ -1416,66 +1426,66 @@ const Ft = ({
1416
1426
  return null;
1417
1427
  }
1418
1428
  return null;
1419
- }, b = R(
1420
- (v) => {
1421
- if (d.length === 0) return [];
1422
- const P = (i) => {
1423
- if (i)
1424
- return typeof i == "string" ? C[i] : i;
1425
- }, y = (i) => {
1426
- if (i.type === "M") {
1427
- const w = i, M = k(w.menuId) || void 0, T = !!M, W = T ? `${M?.menuNm ?? w.menuNm ?? w.menuId}` : `${w.menuNm ?? w.menuId} (삭제됨)`;
1429
+ }, C = R(
1430
+ (k) => {
1431
+ if (m.length === 0) return [];
1432
+ const N = (s) => {
1433
+ if (s)
1434
+ return typeof s == "string" ? p[s] : s;
1435
+ }, v = (s) => {
1436
+ if (s.type === "M") {
1437
+ const w = s, M = y(w.menuId) || void 0, T = !!M, G = T ? `${M?.menuNm ?? w.menuNm ?? w.menuId}` : `${w.menuNm ?? w.menuId} (삭제됨)`;
1428
1438
  return {
1429
1439
  key: w.menuId,
1430
- label: W,
1431
- icon: T ? void 0 : /* @__PURE__ */ e(bt, { style: { color: "#faad14" } })
1440
+ label: G,
1441
+ icon: T ? void 0 : /* @__PURE__ */ e(kt, { style: { color: "#faad14" } })
1432
1442
  };
1433
1443
  } else {
1434
- const w = i, M = (w.children ?? []).map(P).filter(Boolean).map(y);
1444
+ const w = s, M = (w.children ?? []).map(N).filter(Boolean).map(v);
1435
1445
  return {
1436
1446
  key: w.bkmkId,
1437
1447
  label: w.bkmkNm ?? w.bkmkId,
1438
- icon: w.prntBkmkId === "-" ? /* @__PURE__ */ e(yt, {}) : /* @__PURE__ */ e(Ct, {}),
1448
+ icon: w.prntBkmkId === "-" ? /* @__PURE__ */ e(xt, {}) : /* @__PURE__ */ e(Nt, {}),
1439
1449
  children: M
1440
1450
  // 빈 배열이면 자동으로 말아줌
1441
1451
  };
1442
1452
  }
1443
1453
  };
1444
- return v.map(y);
1454
+ return k.map(v);
1445
1455
  },
1446
- [k, C, d]
1456
+ [y, p, m]
1447
1457
  ), L = F(
1448
- () => b(S),
1449
- [b, S, C]
1458
+ () => C(I),
1459
+ [C, I, p]
1450
1460
  );
1451
1461
  return E(() => {
1452
- Ne() && _(Ne());
1453
- }, [_]), E(() => {
1454
- l === "category" && o("");
1455
- }, [l]), E(() => {
1456
- if (!u || l !== "category") return;
1457
- const P = ((y) => {
1458
- const i = [], w = new Map(m.map((T) => [T.menuId, T]));
1459
- let M = y;
1462
+ Ne() && D(Ne());
1463
+ }, [D]), E(() => {
1464
+ a === "category" && o("");
1465
+ }, [a]), E(() => {
1466
+ if (!u || a !== "category") return;
1467
+ const N = ((v) => {
1468
+ const s = [], w = new Map(d.map((T) => [T.menuId, T]));
1469
+ let M = v;
1460
1470
  for (; M; ) {
1461
1471
  const T = w.get(M);
1462
1472
  if (!T) break;
1463
1473
  if (T.menuPrntId && T.menuPrntId !== "-" && T.menuPrntId !== "")
1464
- i.push(T.menuPrntId), M = T.menuPrntId;
1474
+ s.push(T.menuPrntId), M = T.menuPrntId;
1465
1475
  else
1466
1476
  break;
1467
1477
  }
1468
- return i;
1478
+ return s;
1469
1479
  })(u);
1470
- P.length > 0 && h((y) => {
1471
- const i = /* @__PURE__ */ new Set([...y, ...P]);
1472
- return Array.from(i);
1480
+ N.length > 0 && c((v) => {
1481
+ const s = /* @__PURE__ */ new Set([...v, ...N]);
1482
+ return Array.from(s);
1473
1483
  });
1474
- }, [u, l, m]), /* @__PURE__ */ s(
1475
- Xt,
1484
+ }, [u, a, d]), /* @__PURE__ */ i(
1485
+ rn,
1476
1486
  {
1477
1487
  className: t.className.wrapper,
1478
- collapsed: t.collapsed || f,
1488
+ collapsed: t.collapsed || b,
1479
1489
  trigger: null,
1480
1490
  width: t.width || 230,
1481
1491
  children: [
@@ -1503,7 +1513,7 @@ const Ft = ({
1503
1513
  B,
1504
1514
  {
1505
1515
  type: "text",
1506
- icon: t.collapsed || f ? /* @__PURE__ */ e(mt, {}) : /* @__PURE__ */ e(gt, {}),
1516
+ icon: t.collapsed || b ? /* @__PURE__ */ e(Ct, {}) : /* @__PURE__ */ e(vt, {}),
1507
1517
  style: {
1508
1518
  fontSize: "12px",
1509
1519
  color: "#787878",
@@ -1515,19 +1525,19 @@ const Ft = ({
1515
1525
  justifyContent: "center",
1516
1526
  borderRadius: "0 10px 10px 0"
1517
1527
  },
1518
- onClick: N
1528
+ onClick: P
1519
1529
  }
1520
1530
  )
1521
1531
  }
1522
1532
  ),
1523
- !(t.collapsed || f) && /* @__PURE__ */ e(
1533
+ !(t.collapsed || b) && /* @__PURE__ */ e(
1524
1534
  "div",
1525
1535
  {
1526
1536
  style: {
1527
1537
  padding: 10
1528
1538
  },
1529
1539
  children: /* @__PURE__ */ e(
1530
- Je,
1540
+ st,
1531
1541
  {
1532
1542
  value: r,
1533
1543
  options: x,
@@ -1570,7 +1580,7 @@ const Ft = ({
1570
1580
  )
1571
1581
  }
1572
1582
  ),
1573
- !(t.collapsed || f) && /* @__PURE__ */ e(
1583
+ !(t.collapsed || b) && /* @__PURE__ */ e(
1574
1584
  "div",
1575
1585
  {
1576
1586
  style: {
@@ -1579,18 +1589,18 @@ const Ft = ({
1579
1589
  marginBottom: "10px"
1580
1590
  },
1581
1591
  children: /* @__PURE__ */ e(
1582
- et,
1592
+ at,
1583
1593
  {
1584
1594
  className: t.className.segmented.wrapper,
1585
1595
  options: [
1586
1596
  {
1587
- label: /* @__PURE__ */ s(j, { children: [
1597
+ label: /* @__PURE__ */ i(j, { children: [
1588
1598
  /* @__PURE__ */ e(
1589
1599
  "span",
1590
1600
  {
1591
1601
  className: t.className.segmented.item,
1592
1602
  style: { display: "flex", alignItems: "center" },
1593
- children: /* @__PURE__ */ s(
1603
+ children: /* @__PURE__ */ i(
1594
1604
  "svg",
1595
1605
  {
1596
1606
  xmlns: "http://www.w3.org/2000/svg",
@@ -1639,7 +1649,7 @@ const Ft = ({
1639
1649
  value: "category"
1640
1650
  },
1641
1651
  {
1642
- label: /* @__PURE__ */ s(j, { children: [
1652
+ label: /* @__PURE__ */ i(j, { children: [
1643
1653
  /* @__PURE__ */ e(
1644
1654
  "span",
1645
1655
  {
@@ -1671,9 +1681,9 @@ const Ft = ({
1671
1681
  value: "favorite"
1672
1682
  }
1673
1683
  ],
1674
- value: l,
1675
- onChange: (v) => {
1676
- a(v);
1684
+ value: a,
1685
+ onChange: (k) => {
1686
+ l(k);
1677
1687
  },
1678
1688
  style: {
1679
1689
  width: "100%"
@@ -1683,8 +1693,8 @@ const Ft = ({
1683
1693
  )
1684
1694
  }
1685
1695
  ),
1686
- /* @__PURE__ */ s("div", { className: t.className.sider.content, children: [
1687
- c && /* @__PURE__ */ s(
1696
+ /* @__PURE__ */ i("div", { className: t.className.sider.content, children: [
1697
+ h && /* @__PURE__ */ i(
1688
1698
  "div",
1689
1699
  {
1690
1700
  className: t.className.sider.loading,
@@ -1696,7 +1706,7 @@ const Ft = ({
1696
1706
  },
1697
1707
  children: [
1698
1708
  /* @__PURE__ */ e(
1699
- Le,
1709
+ ye,
1700
1710
  {
1701
1711
  theme: {
1702
1712
  components: {
@@ -1705,7 +1715,7 @@ const Ft = ({
1705
1715
  }
1706
1716
  }
1707
1717
  },
1708
- children: /* @__PURE__ */ e(q, { size: "default" })
1718
+ children: /* @__PURE__ */ e(Q, { size: "default" })
1709
1719
  }
1710
1720
  ),
1711
1721
  /* @__PURE__ */ e(
@@ -1719,16 +1729,16 @@ const Ft = ({
1719
1729
  ]
1720
1730
  }
1721
1731
  ),
1722
- I && /* @__PURE__ */ s("div", { className: t.className.sider.error, children: [
1732
+ S && /* @__PURE__ */ i("div", { className: t.className.sider.error, children: [
1723
1733
  /* @__PURE__ */ e(
1724
- ft,
1734
+ wt,
1725
1735
  {
1726
1736
  className: t.className.sider.errorIcon
1727
1737
  }
1728
1738
  ),
1729
1739
  /* @__PURE__ */ e("div", { className: t.className.sider.errorText, children: "메뉴 로드 실패" })
1730
1740
  ] }),
1731
- !c && !I && l === "category" && d.length === 0 && /* @__PURE__ */ e(
1741
+ !h && !S && a === "category" && m.length === 0 && /* @__PURE__ */ e(
1732
1742
  "div",
1733
1743
  {
1734
1744
  style: {
@@ -1740,7 +1750,7 @@ const Ft = ({
1740
1750
  children: "메뉴가 없습니다"
1741
1751
  }
1742
1752
  ),
1743
- !c && !I && l === "favorite" && L.length === 0 && /* @__PURE__ */ e(
1753
+ !h && !S && a === "favorite" && L.length === 0 && /* @__PURE__ */ e(
1744
1754
  "div",
1745
1755
  {
1746
1756
  style: {
@@ -1752,23 +1762,23 @@ const Ft = ({
1752
1762
  children: "즐겨찾기된 메뉴가 없습니다"
1753
1763
  }
1754
1764
  ),
1755
- !c && !I && l === "category" && d.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1765
+ !h && !S && a === "category" && m.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1756
1766
  pe,
1757
1767
  {
1758
1768
  theme: "light",
1759
1769
  mode: "inline",
1760
- items: H(d),
1770
+ items: H(m),
1761
1771
  className: t.className.sider.menu,
1762
1772
  selectedKeys: [u || ""],
1763
1773
  openKeys: g,
1764
- onOpenChange: h,
1765
- onClick: (v) => K(v.key),
1766
- onDoubleClick: (v) => {
1767
- v.preventDefault(), v.stopPropagation();
1774
+ onOpenChange: c,
1775
+ onClick: (k) => K(k.key),
1776
+ onDoubleClick: (k) => {
1777
+ k.preventDefault(), k.stopPropagation();
1768
1778
  }
1769
1779
  }
1770
1780
  ) }),
1771
- !c && !I && l === "favorite" && L.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1781
+ !h && !S && a === "favorite" && L.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1772
1782
  pe,
1773
1783
  {
1774
1784
  theme: "light",
@@ -1776,9 +1786,9 @@ const Ft = ({
1776
1786
  items: L,
1777
1787
  className: t.className.sider.menu,
1778
1788
  selectedKeys: [u || ""],
1779
- onClick: (v) => K(v.key),
1780
- onDoubleClick: (v) => {
1781
- v.preventDefault(), v.stopPropagation();
1789
+ onClick: (k) => K(k.key),
1790
+ onDoubleClick: (k) => {
1791
+ k.preventDefault(), k.stopPropagation();
1782
1792
  }
1783
1793
  }
1784
1794
  ) })
@@ -1787,7 +1797,7 @@ const Ft = ({
1787
1797
  }
1788
1798
  );
1789
1799
  };
1790
- class en extends ot {
1800
+ class sn extends Ve {
1791
1801
  constructor(t) {
1792
1802
  super(t), this.resetError = () => {
1793
1803
  this.setState({ hasError: !1, error: void 0, errorInfo: void 0 });
@@ -1803,7 +1813,7 @@ class en extends ot {
1803
1813
  });
1804
1814
  }
1805
1815
  render() {
1806
- return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ s(
1816
+ return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ i(
1807
1817
  "div",
1808
1818
  {
1809
1819
  style: {
@@ -1817,7 +1827,7 @@ class en extends ot {
1817
1827
  },
1818
1828
  children: [
1819
1829
  /* @__PURE__ */ e(
1820
- Me,
1830
+ Te,
1821
1831
  {
1822
1832
  status: "error",
1823
1833
  title: "컴포넌트 로딩 중 오류가 발생했습니다",
@@ -1837,7 +1847,7 @@ class en extends ot {
1837
1847
  ]
1838
1848
  }
1839
1849
  ),
1840
- this.state.error && /* @__PURE__ */ s(
1850
+ this.state.error && /* @__PURE__ */ i(
1841
1851
  "details",
1842
1852
  {
1843
1853
  style: {
@@ -1872,13 +1882,13 @@ class en extends ot {
1872
1882
  ) : this.props.children;
1873
1883
  }
1874
1884
  }
1875
- const tn = ({
1885
+ const an = ({
1876
1886
  isActive: n,
1877
1887
  instance: t,
1878
1888
  params: r
1879
1889
  }) => {
1880
- const { activeMenuId: o, closeTab: l } = D(), a = () => {
1881
- o && l(o);
1890
+ const { activeMenuId: o, closeTab: a } = O(), l = () => {
1891
+ o && a(o);
1882
1892
  };
1883
1893
  return t ? /* @__PURE__ */ e(
1884
1894
  "div",
@@ -1894,7 +1904,7 @@ const tn = ({
1894
1904
  transition: "opacity 0.2s ease-in-out",
1895
1905
  pointerEvents: n ? "auto" : "none"
1896
1906
  },
1897
- children: /* @__PURE__ */ e(en, { children: /* @__PURE__ */ e(se, { fallback: null, children: t && Be(t, { params: r }) }) })
1907
+ children: /* @__PURE__ */ e(sn, { children: /* @__PURE__ */ e(se, { fallback: null, children: t && Le(t, { params: r }) }) })
1898
1908
  }
1899
1909
  ) : /* @__PURE__ */ e(
1900
1910
  "div",
@@ -1925,20 +1935,20 @@ const tn = ({
1925
1935
  padding: 24
1926
1936
  },
1927
1937
  children: /* @__PURE__ */ e(
1928
- Me,
1938
+ Te,
1929
1939
  {
1930
- icon: /* @__PURE__ */ e(ve, { twoToneColor: "#69b1ff" }),
1940
+ icon: /* @__PURE__ */ e(ke, { twoToneColor: "#69b1ff" }),
1931
1941
  status: "warning",
1932
1942
  title: "등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",
1933
- subTitle: /* @__PURE__ */ e(be.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1934
- extra: /* @__PURE__ */ e(Y, { children: /* @__PURE__ */ e(B, { icon: /* @__PURE__ */ e(Ee, {}), onClick: a, children: "탭 닫기" }) })
1943
+ subTitle: /* @__PURE__ */ e(Ce.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1944
+ extra: /* @__PURE__ */ e(Y, { children: /* @__PURE__ */ e(B, { icon: /* @__PURE__ */ e(Ee, {}), onClick: l, children: "탭 닫기" }) })
1935
1945
  }
1936
1946
  )
1937
1947
  }
1938
1948
  )
1939
1949
  }
1940
1950
  );
1941
- }, nn = ye(tn), rn = ({
1951
+ }, ln = fe(an), cn = ({
1942
1952
  menuGubunCode: n = {
1943
1953
  mainMenu: "MAIN",
1944
1954
  subMenu: "SUB",
@@ -1948,15 +1958,15 @@ const tn = ({
1948
1958
  style: r,
1949
1959
  routeMap: o
1950
1960
  }) => {
1951
- const { menuList: l, findMenuById: a, flatMenuList: g } = le(), { activeMenuId: h } = D(), u = fe(), [f, p] = z([]), N = R(
1952
- (k, m) => {
1953
- if (k) {
1954
- const C = ie[k];
1955
- if (C)
1956
- return /* @__PURE__ */ e(C, {});
1961
+ const { menuList: a, findMenuById: l, flatMenuList: g } = ae(), { activeMenuId: c } = O(), u = be(), [b, f] = A([]), P = R(
1962
+ (y, d) => {
1963
+ if (y) {
1964
+ const p = ie[y];
1965
+ if (p)
1966
+ return /* @__PURE__ */ e(p, {});
1957
1967
  }
1958
- if (m)
1959
- switch (m) {
1968
+ if (d)
1969
+ switch (d) {
1960
1970
  case n.mainMenu:
1961
1971
  return /* @__PURE__ */ e(ie.HomeOutlined, {});
1962
1972
  default:
@@ -1965,70 +1975,70 @@ const tn = ({
1965
1975
  return null;
1966
1976
  },
1967
1977
  [n]
1968
- ), d = R(
1969
- (k) => k.map((m) => {
1970
- const C = m.children && m.children.length === 1 && m.children[0].menuGbCd === n.program;
1978
+ ), m = R(
1979
+ (y) => y.map((d) => {
1980
+ const p = d.children && d.children.length === 1 && d.children[0].menuGbCd === n.program;
1971
1981
  return {
1972
- key: m.menuId,
1973
- label: m.menuNm,
1974
- icon: N(m.iconCd, m.menuGbCd),
1982
+ key: d.menuId,
1983
+ label: d.menuNm,
1984
+ icon: P(d.iconCd, d.menuGbCd),
1975
1985
  // children이 1개이고 program이면 드롭다운 없음, 2개 이상이면 드롭다운 표시
1976
- children: m.children && m.children.length > 0 && !C ? d(m.children) : void 0
1986
+ children: d.children && d.children.length > 0 && !p ? m(d.children) : void 0
1977
1987
  };
1978
1988
  }),
1979
- [N, n]
1980
- ), c = F(() => d(l), [l, d]), I = R(
1981
- (k) => {
1982
- const m = a(k.key);
1983
- if (m) {
1984
- if (m.children && m.children.length === 1 && m.children[0].menuGbCd === n.program) {
1985
- const C = m.children[0];
1986
- let S = o?.[C.menuId] || C.scrnPath || "/";
1987
- S === "/" ? S = "/main" : S.startsWith("/main") || (S = S.startsWith("/") ? `/main${S}` : `/main/${S}`), u(S);
1989
+ [P, n]
1990
+ ), h = F(() => m(a), [a, m]), S = R(
1991
+ (y) => {
1992
+ const d = l(y.key);
1993
+ if (d) {
1994
+ if (d.children && d.children.length === 1 && d.children[0].menuGbCd === n.program) {
1995
+ const p = d.children[0];
1996
+ let I = o?.[p.menuId] || p.scrnPath || "/";
1997
+ I === "/" ? I = "/main" : I.startsWith("/main") || (I = I.startsWith("/") ? `/main${I}` : `/main/${I}`), u(I);
1988
1998
  return;
1989
1999
  }
1990
- if (m.menuGbCd === n.program && m.scrnPath) {
1991
- let C = o?.[m.menuId] || m.scrnPath || "/";
1992
- C === "/" ? C = "/main" : C.startsWith("/main") || (C = C.startsWith("/") ? `/main${C}` : `/main/${C}`), u(C);
2000
+ if (d.menuGbCd === n.program && d.scrnPath) {
2001
+ let p = o?.[d.menuId] || d.scrnPath || "/";
2002
+ p === "/" ? p = "/main" : p.startsWith("/main") || (p = p.startsWith("/") ? `/main${p}` : `/main/${p}`), u(p);
1993
2003
  return;
1994
2004
  }
1995
2005
  }
1996
2006
  },
1997
- [a, n, u, o]
2007
+ [l, n, u, o]
1998
2008
  );
1999
2009
  return E(() => {
2000
- if (!h || t !== "vertical") return;
2001
- const m = ((C) => {
2002
- const S = [], _ = new Map(g.map((x) => [x.menuId, x]));
2003
- let O = C;
2004
- for (; O; ) {
2005
- const x = _.get(O);
2010
+ if (!c || t !== "vertical") return;
2011
+ const d = ((p) => {
2012
+ const I = [], D = new Map(g.map((x) => [x.menuId, x]));
2013
+ let _ = p;
2014
+ for (; _; ) {
2015
+ const x = D.get(_);
2006
2016
  if (!x) break;
2007
2017
  if (x.menuPrntId && x.menuPrntId !== "-" && x.menuPrntId !== "")
2008
- S.push(x.menuPrntId), O = x.menuPrntId;
2018
+ I.push(x.menuPrntId), _ = x.menuPrntId;
2009
2019
  else
2010
2020
  break;
2011
2021
  }
2012
- return S;
2013
- })(h);
2014
- m.length > 0 && p((C) => {
2015
- const S = /* @__PURE__ */ new Set([...C, ...m]);
2016
- return Array.from(S);
2022
+ return I;
2023
+ })(c);
2024
+ d.length > 0 && f((p) => {
2025
+ const I = /* @__PURE__ */ new Set([...p, ...d]);
2026
+ return Array.from(I);
2017
2027
  });
2018
- }, [h, t, g]), /* @__PURE__ */ e(
2028
+ }, [c, t, g]), /* @__PURE__ */ e(
2019
2029
  pe,
2020
2030
  {
2021
2031
  mode: t,
2022
2032
  theme: "light",
2023
- items: c,
2024
- selectedKeys: [h || ""],
2025
- openKeys: t === "vertical" ? f : void 0,
2026
- onOpenChange: t === "vertical" ? p : void 0,
2027
- onClick: I,
2033
+ items: h,
2034
+ selectedKeys: [c || ""],
2035
+ openKeys: t === "vertical" ? b : void 0,
2036
+ onOpenChange: t === "vertical" ? f : void 0,
2037
+ onClick: S,
2028
2038
  style: r
2029
2039
  }
2030
2040
  );
2031
- }, on = () => /* @__PURE__ */ s(j, { children: [
2041
+ }, dn = () => /* @__PURE__ */ i(j, { children: [
2032
2042
  /* @__PURE__ */ e(
2033
2043
  "link",
2034
2044
  {
@@ -2038,48 +2048,48 @@ const tn = ({
2038
2048
  }
2039
2049
  ),
2040
2050
  /* @__PURE__ */ e("div", { className: "LandingContainer-wrap", children: /* @__PURE__ */ e("div", { className: "inner", children: /* @__PURE__ */ e("div", { className: "content" }) }) })
2041
- ] }), sn = (n, t) => {
2051
+ ] }), hn = (n, t) => {
2042
2052
  console.log("createPopupViewLoader 호출 - popupUrl:", n);
2043
- const o = ((l) => {
2044
- if (l.startsWith("/src/pages/views/popup/")) {
2045
- const h = l + ".tsx";
2046
- return console.log(`팝업 URL 변환: ${l} -> ${h}`), h;
2053
+ const o = ((a) => {
2054
+ if (a.startsWith("/src/pages/views/popup/")) {
2055
+ const c = a + ".tsx";
2056
+ return console.log(`팝업 URL 변환: ${a} -> ${c}`), c;
2047
2057
  }
2048
- const g = `/src/pages/views/popup/${l.startsWith("/") ? l.substring(1) : l}.tsx`;
2049
- return console.log(`팝업 URL 변환: ${l} -> ${g}`), g;
2058
+ const g = `/src/pages/views/popup/${a.startsWith("/") ? a.substring(1) : a}.tsx`;
2059
+ return console.log(`팝업 URL 변환: ${a} -> ${g}`), g;
2050
2060
  })(n);
2051
2061
  return !o || !t?.glob || !t.glob[o] ? (console.warn(`팝업 뷰를 찾을 수 없습니다: ${n} (${o})`), console.warn("사용 가능한 팝업 뷰들:", Object.keys(t?.glob || {})), null) : t.glob[o];
2052
- }, ln = ({ popup: n, modules: t }) => {
2053
- const [r, o] = z(null), [l, a] = z(!1), [g, h] = z(null), u = () => {
2054
- console.log("PopupArea - handleClose:", n.popupId), Ce.getState().closePopup(n.popupId);
2062
+ }, un = ({ popup: n, modules: t }) => {
2063
+ const [r, o] = A(null), [a, l] = A(!1), [g, c] = A(null), u = () => {
2064
+ console.log("PopupArea - handleClose:", n.popupId), ve.getState().closePopup(n.popupId);
2055
2065
  };
2056
2066
  return E(() => {
2057
2067
  (async () => {
2058
- console.log("팝업 뷰 로드 시작:", n.popupUrl), a(!0), h(null);
2068
+ console.log("팝업 뷰 로드 시작:", n.popupUrl), l(!0), c(null);
2059
2069
  try {
2060
- const p = sn(n.popupUrl, t);
2061
- if (!p) {
2062
- const c = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
2063
- console.error(c), h(c), a(!1);
2070
+ const f = hn(n.popupUrl, t);
2071
+ if (!f) {
2072
+ const h = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
2073
+ console.error(h), c(h), l(!1);
2064
2074
  return;
2065
2075
  }
2066
2076
  console.log("팝업 뷰 모듈 로드 중...");
2067
- const N = await p();
2068
- console.log("팝업 뷰 모듈 로드 완료:", N);
2069
- const d = N.default;
2070
- if (console.log("팝업 뷰 컴포넌트:", d), !d)
2077
+ const P = await f();
2078
+ console.log("팝업 뷰 모듈 로드 완료:", P);
2079
+ const m = P.default;
2080
+ if (console.log("팝업 뷰 컴포넌트:", m), !m)
2071
2081
  throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");
2072
- o(() => d), console.log("팝업 뷰 설정 완료");
2073
- } catch (p) {
2074
- console.error("팝업 뷰 로드 실패:", p), h(p instanceof Error ? p.message : "팝업 뷰 로드 실패");
2082
+ o(() => m), console.log("팝업 뷰 설정 완료");
2083
+ } catch (f) {
2084
+ console.error("팝업 뷰 로드 실패:", f), c(f instanceof Error ? f.message : "팝업 뷰 로드 실패");
2075
2085
  } finally {
2076
- a(!1);
2086
+ l(!1);
2077
2087
  }
2078
2088
  })();
2079
- }, [n.popupUrl]), l ? /* @__PURE__ */ s("div", { className: "popup-loading", children: [
2080
- /* @__PURE__ */ e(q, { size: "large" }),
2089
+ }, [n.popupUrl]), a ? /* @__PURE__ */ i("div", { className: "popup-loading", children: [
2090
+ /* @__PURE__ */ e(Q, { size: "large" }),
2081
2091
  /* @__PURE__ */ e("p", { children: "팝업을 로드하는 중..." })
2082
- ] }) : g ? /* @__PURE__ */ s("div", { className: "popup-error", children: [
2092
+ ] }) : g ? /* @__PURE__ */ i("div", { className: "popup-error", children: [
2083
2093
  /* @__PURE__ */ e(de, { description: g, image: de.PRESENTED_IMAGE_SIMPLE }),
2084
2094
  /* @__PURE__ */ e(
2085
2095
  B,
@@ -2092,8 +2102,8 @@ const tn = ({
2092
2102
  ] }) : r ? /* @__PURE__ */ e(
2093
2103
  se,
2094
2104
  {
2095
- fallback: /* @__PURE__ */ s("div", { className: "popup-loading", children: [
2096
- /* @__PURE__ */ e(q, { size: "large" }),
2105
+ fallback: /* @__PURE__ */ i("div", { className: "popup-loading", children: [
2106
+ /* @__PURE__ */ e(Q, { size: "large" }),
2097
2107
  /* @__PURE__ */ e("p", { children: "컴포넌트를 로드하는 중..." })
2098
2108
  ] }),
2099
2109
  children: /* @__PURE__ */ e(
@@ -2109,13 +2119,13 @@ const tn = ({
2109
2119
  )
2110
2120
  }
2111
2121
  ) : /* @__PURE__ */ e("div", { className: "popup-empty", children: /* @__PURE__ */ e(de, { description: "팝업 내용을 불러올 수 없습니다." }) });
2112
- }, an = ({ modules: n }) => {
2113
- const { popups: t } = Ce();
2122
+ }, pn = ({ modules: n }) => {
2123
+ const { popups: t } = ve();
2114
2124
  return t.length === 0 ? null : /* @__PURE__ */ e(j, { children: t.map((r) => {
2115
2125
  if (r.isLocal || r.popupCode.startsWith("CORE_"))
2116
2126
  return null;
2117
- const o = r.config || {}, l = o.width || r.width || 800, a = o.height || r.height || 600, g = o.title || r.popupTitle, h = r.buttonList?.map((u, f) => ({
2118
- key: u.btnId || `btn_${f}`,
2127
+ const o = r.config || {}, a = o.width || r.width || 800, l = o.height || r.height || 600, g = o.title || r.popupTitle, c = r.buttonList?.map((u, b) => ({
2128
+ key: u.btnId || `btn_${b}`,
2119
2129
  text: u.btnNm,
2120
2130
  type: u.btnId === "CLOSE" ? "default" : "primary",
2121
2131
  disabled: u.enblYn !== "Y",
@@ -2125,53 +2135,53 @@ const tn = ({
2125
2135
  popupId: r.popupId,
2126
2136
  popupCode: r.popupCode,
2127
2137
  title: g,
2128
- width: l,
2129
- height: a,
2130
- buttons: h
2131
- }), /* @__PURE__ */ e(ge, { children: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(ln, { popup: r, modules: n }) }, r.popupId) }, `sbp-${r.popupId}`);
2138
+ width: a,
2139
+ height: l,
2140
+ buttons: c
2141
+ }), /* @__PURE__ */ e(ge, { children: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(un, { popup: r, modules: n }) }, r.popupId) }, `sbp-${r.popupId}`);
2132
2142
  }) });
2133
2143
  }, je = () => {
2134
- const { popups: n, closePopup: t } = Ce();
2144
+ const { popups: n, closePopup: t } = ve();
2135
2145
  return /* @__PURE__ */ e(j, { children: n.map((r) => {
2136
2146
  if (!(r.isLocal || r.popupCode.startsWith("CORE_"))) return null;
2137
- const o = Ht[r.popupCode];
2147
+ const o = Vt[r.popupCode];
2138
2148
  if (!o) return null;
2139
- const l = o.component;
2140
- return /* @__PURE__ */ e(ge, { children: /* @__PURE__ */ e(se, { fallback: null, children: /* @__PURE__ */ e(l, { popup: r, onClose: () => t(r.popupId) }) }, r.popupId) }, `sbp-${r.popupId}`);
2149
+ const a = o.component;
2150
+ return /* @__PURE__ */ e(ge, { children: /* @__PURE__ */ e(se, { fallback: null, children: /* @__PURE__ */ e(a, { popup: r, onClose: () => t(r.popupId) }) }, r.popupId) }, `sbp-${r.popupId}`);
2141
2151
  }) });
2142
- }, cn = (n) => ({
2152
+ }, mn = (n) => ({
2143
2153
  position: "absolute",
2144
2154
  inset: 0,
2145
2155
  visibility: n ? "visible" : "hidden",
2146
2156
  opacity: n ? 1 : 0,
2147
2157
  transition: "opacity 0.2s ease-in-out",
2148
2158
  pointerEvents: n ? "auto" : "none"
2149
- }), dn = ({ once: n = !0 }) => {
2150
- const { lock: t } = $e(), r = X(!1);
2159
+ }), gn = ({ once: n = !0 }) => {
2160
+ const { lock: t } = $e(), r = q(!1);
2151
2161
  return E(() => {
2152
2162
  n && r.current || (r.current = !0, t());
2153
2163
  }, [n, t]), null;
2154
- }, hn = ({ isActive: n, flagged: t, tabKey: r, onUnlock: o, children: l }) => {
2155
- const a = X(null), [g, h] = z(!1), u = R((p) => {
2156
- a.current = p, h(!!p);
2157
- }, []), f = cn(n);
2158
- return /* @__PURE__ */ e("div", { ref: u, style: f, children: g ? /* @__PURE__ */ s(
2164
+ }, fn = ({ isActive: n, flagged: t, tabKey: r, onUnlock: o, children: a }) => {
2165
+ const l = q(null), [g, c] = A(!1), u = R((f) => {
2166
+ l.current = f, c(!!f);
2167
+ }, []), b = mn(n);
2168
+ return /* @__PURE__ */ e("div", { ref: u, style: b, children: g ? /* @__PURE__ */ i(
2159
2169
  He,
2160
2170
  {
2161
2171
  idleMs: Number.POSITIVE_INFINITY,
2162
2172
  persistLocked: !1,
2163
2173
  overlayScope: "scoped",
2164
2174
  overlayPosition: "absolute",
2165
- eventTarget: a.current,
2175
+ eventTarget: l.current,
2166
2176
  overlayId: `tab-overlay-${r}`,
2167
2177
  onUnlock: async () => (o(), !0),
2168
2178
  children: [
2169
- n && t ? /* @__PURE__ */ e(dn, { once: !0 }) : null,
2170
- l
2179
+ n && t ? /* @__PURE__ */ e(gn, { once: !0 }) : null,
2180
+ a
2171
2181
  ]
2172
2182
  }
2173
- ) : l });
2174
- }, Mn = ({
2183
+ ) : a });
2184
+ }, On = ({
2175
2185
  config: n = {},
2176
2186
  modules: t = {
2177
2187
  view: {
@@ -2182,53 +2192,53 @@ const tn = ({
2182
2192
  }
2183
2193
  }
2184
2194
  }) => {
2185
- const r = X(
2195
+ const r = q(
2186
2196
  /* @__PURE__ */ new Map()
2187
2197
  ), {
2188
2198
  tabs: o,
2189
- tabParams: l,
2190
- activeMenuId: a,
2199
+ tabParams: a,
2200
+ activeMenuId: l,
2191
2201
  tabProtectFlag: g,
2192
- refreshTabKey: h,
2202
+ refreshTabKey: c,
2193
2203
  clearProtectFlagForKey: u
2194
- } = D(), { enableProtectWrapper: f } = De(), p = R(
2195
- (d) => {
2196
- const c = r.current.get(d.key);
2197
- if (c) return c;
2198
- const I = d.gubun === "M" ? `${t.view.path}${d.menuItem?.scrnPath}.tsx` : `${t.view.path}${d.componentItem?.scrnPath}.tsx`;
2199
- let k = t.view?.glob?.[I];
2200
- if (!k && typeof import.meta < "u" && typeof import.meta.glob == "function" && (k = (/* @__PURE__ */ Object.assign({}))[I]), k) {
2201
- const m = A(
2202
- k
2204
+ } = O(), { enableProtectWrapper: b } = De(), f = R(
2205
+ (m) => {
2206
+ const h = r.current.get(m.key);
2207
+ if (h) return h;
2208
+ const S = m.gubun === "M" ? `${t.view.path}${m.menuItem?.scrnPath}.tsx` : `${t.view.path}${m.componentItem?.scrnPath}.tsx`;
2209
+ let y = t.view?.glob?.[S];
2210
+ if (!y && typeof import.meta < "u" && typeof import.meta.glob == "function" && (y = (/* @__PURE__ */ Object.assign({}))[S]), y) {
2211
+ const d = z(
2212
+ y
2203
2213
  );
2204
- return r.current.set(d.key, m), m;
2214
+ return r.current.set(m.key, d), d;
2205
2215
  }
2206
2216
  return null;
2207
2217
  },
2208
2218
  [t.view?.glob]
2209
- ), N = X({});
2219
+ ), P = q({});
2210
2220
  return E(() => {
2211
- const d = N.current, c = h;
2212
- Object.keys(c).forEach((I) => {
2213
- const k = d[I], m = c[I];
2214
- k !== m && r.current.delete(I);
2215
- }), N.current = { ...c };
2216
- }, [h]), E(() => {
2217
- const d = (c) => {
2218
- if (c.key === "F5" || c.ctrlKey && c.key === "r" || c.ctrlKey && c.shiftKey && c.key === "R")
2219
- return c.preventDefault(), !1;
2221
+ const m = P.current, h = c;
2222
+ Object.keys(h).forEach((S) => {
2223
+ const y = m[S], d = h[S];
2224
+ y !== d && r.current.delete(S);
2225
+ }), P.current = { ...h };
2226
+ }, [c]), E(() => {
2227
+ const m = (h) => {
2228
+ if (h.key === "F5" || h.ctrlKey && h.key === "r" || h.ctrlKey && h.shiftKey && h.key === "R" || h.ctrlKey && h.key === "s")
2229
+ return h.preventDefault(), !1;
2220
2230
  };
2221
- return window.addEventListener("keydown", d, !0), () => {
2222
- window.removeEventListener("keydown", d, !0);
2231
+ return window.addEventListener("keydown", m, !0), () => {
2232
+ window.removeEventListener("keydown", m, !0);
2223
2233
  };
2224
- }, []), /* @__PURE__ */ s(Q, { className: "main-layout", children: [
2234
+ }, []), /* @__PURE__ */ i(X, { className: "main-layout", children: [
2225
2235
  /* @__PURE__ */ e(Re, { config: n?.header }),
2226
- /* @__PURE__ */ s(Q, { children: [
2227
- /* @__PURE__ */ e(Jt, { config: n?.sidebar }),
2228
- /* @__PURE__ */ s("div", { className: "content-container", children: [
2229
- /* @__PURE__ */ e(Qt, { config: n?.menuTab }),
2230
- /* @__PURE__ */ s(Oe, { config: n?.content, children: [
2231
- /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ s(
2236
+ /* @__PURE__ */ i(X, { children: [
2237
+ /* @__PURE__ */ e(on, { config: n?.sidebar }),
2238
+ /* @__PURE__ */ i("div", { className: "content-container", children: [
2239
+ /* @__PURE__ */ e(nn, { config: n?.menuTab }),
2240
+ /* @__PURE__ */ i(Oe, { config: n?.content, children: [
2241
+ /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ i(
2232
2242
  "div",
2233
2243
  {
2234
2244
  style: {
@@ -2237,40 +2247,40 @@ const tn = ({
2237
2247
  height: "100%"
2238
2248
  },
2239
2249
  children: [
2240
- o.map((d) => {
2241
- const c = p(d), I = a === d.key, k = !!g?.[d.key], m = l[d.key] || {}, C = h[d.key], S = C !== void 0 ? `${d.key}-${C}` : d.key, _ = /* @__PURE__ */ e(
2242
- nn,
2250
+ o.map((m) => {
2251
+ const h = f(m), S = l === m.key, y = !!g?.[m.key], d = a[m.key] || {}, p = c[m.key], I = p !== void 0 ? `${m.key}-${p}` : m.key, D = /* @__PURE__ */ e(
2252
+ ln,
2243
2253
  {
2244
- isActive: I,
2245
- instance: c || void 0,
2246
- params: m
2254
+ isActive: S,
2255
+ instance: h || void 0,
2256
+ params: d
2247
2257
  },
2248
- S
2258
+ I
2249
2259
  );
2250
- return /* @__PURE__ */ e(ge, { children: f ? /* @__PURE__ */ e(
2251
- hn,
2260
+ return /* @__PURE__ */ e(ge, { children: b ? /* @__PURE__ */ e(
2261
+ fn,
2252
2262
  {
2253
- isActive: I,
2254
- flagged: k,
2255
- tabKey: d.key,
2256
- onUnlock: () => u(d.key),
2257
- children: _
2263
+ isActive: S,
2264
+ flagged: y,
2265
+ tabKey: m.key,
2266
+ onUnlock: () => u(m.key),
2267
+ children: D
2258
2268
  },
2259
- d.key
2260
- ) : _ }, `sbp-${d.key}`);
2269
+ m.key
2270
+ ) : D }, `sbp-${m.key}`);
2261
2271
  }),
2262
- (!a || o.length === 0) && /* @__PURE__ */ e(on, {})
2272
+ (!l || o.length === 0) && /* @__PURE__ */ e(dn, {})
2263
2273
  ]
2264
2274
  }
2265
2275
  ) }),
2266
2276
  /* @__PURE__ */ e(je, {}),
2267
- /* @__PURE__ */ e(an, { modules: t?.popup })
2277
+ /* @__PURE__ */ e(pn, { modules: t?.popup })
2268
2278
  ] })
2269
2279
  ] })
2270
2280
  ] }),
2271
- (n?.quickService?.visible ?? !0) && /* @__PURE__ */ e(Ke, {})
2281
+ (n?.quickService?.visible ?? !0) && /* @__PURE__ */ e(qe, {})
2272
2282
  ] });
2273
- }, un = ({
2283
+ }, bn = ({
2274
2284
  children: n,
2275
2285
  menuGubunCode: t = {
2276
2286
  mainMenu: "CMPRGRM",
@@ -2280,98 +2290,125 @@ const tn = ({
2280
2290
  routeMap: r,
2281
2291
  routes: o
2282
2292
  }) => {
2283
- const l = We(), a = fe(), { flatMenuList: g, findMenuById: h } = le(), u = F(() => {
2284
- const p = l.pathname, N = p.replace(/^\/main/, "") || "/";
2293
+ const a = Ze(), l = be(), { flatMenuList: g, findMenuById: c } = ae(), { title: u, extra: b } = Ge(), f = F(() => {
2294
+ const h = a.pathname, S = h.replace(/^\/main/, "") || "/";
2285
2295
  if (r) {
2286
- const d = Object.keys(r).find(
2287
- (I) => r[I] === p
2296
+ const y = Object.keys(r).find(
2297
+ (p) => r[p] === h
2288
2298
  );
2299
+ if (y)
2300
+ return c(y);
2301
+ const d = Object.keys(r).find((p) => (r[p].replace(/^\/main/, "") || "/") === S);
2289
2302
  if (d)
2290
- return h(d);
2291
- const c = Object.keys(r).find((I) => (r[I].replace(/^\/main/, "") || "/") === N);
2292
- if (c)
2293
- return h(c);
2303
+ return c(d);
2294
2304
  }
2295
2305
  return g.find(
2296
- (d) => d.menuGbCd === t.program && d.scrnPath && (d.scrnPath === N || d.scrnPath === p || p.endsWith(d.scrnPath) || N === d.scrnPath)
2306
+ (y) => y.menuGbCd === t.program && y.scrnPath && (y.scrnPath === S || y.scrnPath === h || h.endsWith(y.scrnPath) || S === y.scrnPath)
2297
2307
  );
2298
2308
  }, [
2299
- l.pathname,
2309
+ a.pathname,
2300
2310
  g,
2301
2311
  t.program,
2302
2312
  r,
2303
- h
2304
- ]), f = F(() => {
2305
- if (!u)
2313
+ c
2314
+ ]), P = F(() => {
2315
+ if (!f)
2306
2316
  return [];
2307
- const p = [], N = (c) => {
2308
- if (!c || !c.menuPrntId || c.menuPrntId === "-")
2317
+ const h = [], S = (d) => {
2318
+ if (!d || !d.menuPrntId || d.menuPrntId === "-")
2309
2319
  return [];
2310
- const I = h(c.menuPrntId);
2311
- return I ? [...N(I), I] : [];
2320
+ const p = c(d.menuPrntId);
2321
+ return p ? [...S(p), p] : [];
2312
2322
  };
2313
- return N(u).forEach((c) => {
2314
- if (c.menuGbCd === t.mainMenu || c.menuGbCd === t.subMenu) {
2315
- let I;
2316
- if (r && c.menuId && (I = r[c.menuId]), !I && o && c.scrnPath) {
2317
- const k = c.scrnPath.startsWith("/") ? c.scrnPath : `/${c.scrnPath}`, m = Object.keys(o).find(
2318
- (C) => C === k || C === `/main${k}`
2323
+ return S(f).forEach((d) => {
2324
+ if (d.menuGbCd === t.mainMenu || d.menuGbCd === t.subMenu) {
2325
+ let p;
2326
+ if (r && d.menuId && (p = r[d.menuId]), !p && o && d.scrnPath) {
2327
+ const I = d.scrnPath.startsWith("/") ? d.scrnPath : `/${d.scrnPath}`, D = Object.keys(o).find(
2328
+ (_) => _ === I || _ === `/main${I}`
2319
2329
  );
2320
- m && (I = m.startsWith("/main") ? m : `/main${m.startsWith("/") ? m : `/${m}`}`);
2330
+ D && (p = D.startsWith("/main") ? D : `/main${D.startsWith("/") ? D : `/${D}`}`);
2321
2331
  }
2322
- p.push({
2323
- title: c.menuNm,
2324
- onClick: I ? () => a(I) : void 0
2332
+ h.push({
2333
+ title: d.menuNm,
2334
+ onClick: p ? () => l(p) : void 0
2325
2335
  });
2326
2336
  }
2327
- }), p.push({
2328
- title: u.menuNm
2329
- }), p;
2330
- }, [u, t, a, h]);
2331
- return /* @__PURE__ */ s(
2332
- "div",
2333
- {
2334
- style: {
2335
- height: "100%",
2336
- padding: "15px 20px"
2337
- },
2338
- children: [
2339
- /* @__PURE__ */ e(
2340
- tt,
2341
- {
2342
- separator: ">",
2343
- items: f,
2344
- style: { marginBottom: "16px" }
2345
- }
2346
- ),
2347
- /* @__PURE__ */ e("div", { children: n })
2348
- ]
2349
- }
2350
- );
2351
- }, Tn = ({ config: n = {} }) => {
2352
- const t = n?.header?.menu, r = t?.visible !== !1, o = t?.routes, l = F(() => {
2337
+ }), h.push({
2338
+ title: f.menuNm
2339
+ }), h;
2340
+ }, [f, t, l, c]), m = u !== void 0 ? u : f?.menuNm || "타이틀";
2341
+ return /* @__PURE__ */ i("div", { className: "admin-page-inner", children: [
2342
+ /* @__PURE__ */ i("div", { className: "page-header", children: [
2343
+ /* @__PURE__ */ e(
2344
+ lt,
2345
+ {
2346
+ className: "admin-breadcrumb",
2347
+ separator: /* @__PURE__ */ e(
2348
+ "svg",
2349
+ {
2350
+ xmlns: "http://www.w3.org/2000/svg",
2351
+ width: "20",
2352
+ height: "20",
2353
+ viewBox: "0 0 16 16",
2354
+ fill: "none",
2355
+ children: /* @__PURE__ */ e(
2356
+ "path",
2357
+ {
2358
+ d: "M6.66675 11.3333L10.0001 7.99996L6.66675 4.66663",
2359
+ stroke: "#9A9A9A",
2360
+ "stroke-linecap": "round",
2361
+ "stroke-linejoin": "round"
2362
+ }
2363
+ )
2364
+ }
2365
+ ),
2366
+ items: P,
2367
+ style: { marginBottom: "15px" }
2368
+ }
2369
+ ),
2370
+ /* @__PURE__ */ i(
2371
+ "div",
2372
+ {
2373
+ style: {
2374
+ display: "flex",
2375
+ justifyContent: "space-between",
2376
+ alignItems: "center",
2377
+ gap: "16px"
2378
+ },
2379
+ children: [
2380
+ /* @__PURE__ */ e("h2", { className: "page-title", style: { margin: 0, flex: 1 }, children: m }),
2381
+ b && /* @__PURE__ */ e("div", { style: { flexShrink: 0 }, children: b })
2382
+ ]
2383
+ }
2384
+ )
2385
+ ] }),
2386
+ /* @__PURE__ */ e("div", { className: "page-main-content", children: n })
2387
+ ] });
2388
+ }, yn = (n) => /* @__PURE__ */ e(Fe, { children: /* @__PURE__ */ e(bn, { ...n }) }), Rn = ({ config: n = {} }) => {
2389
+ const t = n?.header?.menu, r = t?.visible !== !1, o = t?.routes, a = F(() => {
2353
2390
  if (!o) return;
2354
- const a = {}, { flatMenuList: g } = le.getState();
2355
- return g.forEach((h) => {
2356
- if (h.menuGbCd === t?.menuGubunCode?.program && h.scrnPath) {
2357
- const u = h.scrnPath.startsWith("/") ? h.scrnPath : `/${h.scrnPath}`, f = Object.keys(o).find((p) => {
2358
- const N = p === "/" ? "/" : p.startsWith("/") ? p : `/${p}`;
2359
- return N === u || N === `/main${u}` || u === N.replace(/^\/main/, "");
2391
+ const l = {}, { flatMenuList: g } = ae.getState();
2392
+ return g.forEach((c) => {
2393
+ if (c.menuGbCd === t?.menuGubunCode?.program && c.scrnPath) {
2394
+ const u = c.scrnPath.startsWith("/") ? c.scrnPath : `/${c.scrnPath}`, b = Object.keys(o).find((f) => {
2395
+ const P = f === "/" ? "/" : f.startsWith("/") ? f : `/${f}`;
2396
+ return P === u || P === `/main${u}` || u === P.replace(/^\/main/, "");
2360
2397
  });
2361
- if (f) {
2362
- const p = f === "/" ? "/main" : f.startsWith("/main") ? f : `/main${f.startsWith("/") ? f : `/${f}`}`;
2363
- a[h.menuId] = p;
2398
+ if (b) {
2399
+ const f = b === "/" ? "/main" : b.startsWith("/main") ? b : `/main${b.startsWith("/") ? b : `/${b}`}`;
2400
+ l[c.menuId] = f;
2364
2401
  }
2365
2402
  }
2366
- }), a;
2403
+ }), l;
2367
2404
  }, [o, t?.menuGubunCode?.program]);
2368
- return /* @__PURE__ */ s(Q, { className: "main-layout", children: [
2405
+ return /* @__PURE__ */ i(X, { className: "admin-layout", children: [
2369
2406
  /* @__PURE__ */ e(Re, { config: n?.header, children: r && /* @__PURE__ */ e(
2370
- rn,
2407
+ cn,
2371
2408
  {
2372
2409
  menuGubunCode: t?.menuGubunCode,
2373
2410
  mode: t?.style?.mode || "horizontal",
2374
- routeMap: l,
2411
+ routeMap: a,
2375
2412
  style: {
2376
2413
  border: "none",
2377
2414
  backgroundColor: "transparent",
@@ -2381,8 +2418,8 @@ const tn = ({
2381
2418
  }
2382
2419
  }
2383
2420
  ) }),
2384
- /* @__PURE__ */ e("div", { className: "content-container", children: /* @__PURE__ */ s(Oe, { config: n?.content, children: [
2385
- /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ e(
2421
+ /* @__PURE__ */ e("div", { className: "admin-content-container", children: /* @__PURE__ */ i(Oe, { config: n?.content, children: [
2422
+ /* @__PURE__ */ e("div", { className: "admin-view-container", children: /* @__PURE__ */ e(
2386
2423
  "div",
2387
2424
  {
2388
2425
  style: {
@@ -2390,23 +2427,23 @@ const tn = ({
2390
2427
  width: "100%",
2391
2428
  height: "100%"
2392
2429
  },
2393
- children: /* @__PURE__ */ e(se, { fallback: /* @__PURE__ */ e("div", { children: "Loading..." }), children: /* @__PURE__ */ e(Se, { children: Object.entries(o || {}).map(([a, g]) => {
2394
- const h = a === "/" ? "" : a.replace(/^\/main/, "").replace(/^\//, "") || "";
2430
+ children: /* @__PURE__ */ e(se, { fallback: /* @__PURE__ */ e("div", { children: "Loading..." }), children: /* @__PURE__ */ e(Me, { children: Object.entries(o || {}).map(([l, g]) => {
2431
+ const c = l === "/" ? "" : l.replace(/^\/main/, "").replace(/^\//, "") || "";
2395
2432
  return /* @__PURE__ */ e(
2396
2433
  U,
2397
2434
  {
2398
- path: h,
2435
+ path: c,
2399
2436
  element: /* @__PURE__ */ e(
2400
- un,
2437
+ yn,
2401
2438
  {
2402
2439
  menuGubunCode: t?.menuGubunCode,
2403
- routeMap: l,
2440
+ routeMap: a,
2404
2441
  routes: o,
2405
2442
  children: /* @__PURE__ */ e(g, {})
2406
2443
  }
2407
2444
  )
2408
2445
  },
2409
- a
2446
+ l
2410
2447
  );
2411
2448
  }) }) })
2412
2449
  }
@@ -2415,90 +2452,125 @@ const tn = ({
2415
2452
  ] }) })
2416
2453
  ] });
2417
2454
  };
2418
- function Bn({
2455
+ function jn({
2419
2456
  config: n,
2420
2457
  ui: t
2421
2458
  }) {
2422
- const { loading: r, capsOn: o, prefills: l, onKeyDown: a, doLogin: g } = lt(n), h = (u) => g(u);
2459
+ const { loading: r, capsOn: o, prefills: a, onKeyDown: l, doLogin: g } = ut(n), c = (u) => g(u);
2423
2460
  return E(() => {
2424
2461
  oe.getState().systemMap.length === 0 && oe.getState().fetchSystemMap();
2425
- }, []), /* @__PURE__ */ e(j, { children: t({ onSubmit: h, loading: r, capsOn: o, onKeyDown: a, prefills: l }) });
2462
+ }, []), /* @__PURE__ */ e(j, { children: t({ onSubmit: c, loading: r, capsOn: o, onKeyDown: l, prefills: a }) });
2426
2463
  }
2427
- function Dn({
2464
+ function An({
2428
2465
  onSubmit: n,
2429
2466
  loading: t,
2430
2467
  capsOn: r,
2431
2468
  onKeyDown: o,
2432
- prefills: l,
2433
- labels: a = {
2469
+ prefills: a,
2470
+ labels: l = {
2434
2471
  id: "ID 혹은 사번",
2435
2472
  pw: "비밀번호",
2436
2473
  remember: "Remember me",
2437
2474
  login: "로그인"
2438
2475
  },
2439
2476
  header: g,
2440
- footer: h
2477
+ footer: c
2441
2478
  }) {
2442
2479
  const [u] = Z.useForm();
2443
2480
  return E(() => {
2444
- l && (l.id || l.pswr) && u.setFieldsValue({ id: l.id, pswr: l.pswr });
2445
- }, [l, u]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ s("div", { className: "login_wrap", children: [
2481
+ a && (a.id || a.pswr) && u.setFieldsValue({ id: a.id, pswr: a.pswr });
2482
+ }, [a, u]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ i("div", { className: "login_wrap", children: [
2446
2483
  g || /* @__PURE__ */ e("div", { className: "logo_box" }),
2447
2484
  /* @__PURE__ */ e("div", { className: "login_title" }),
2448
- /* @__PURE__ */ e(Z, { form: u, onFinish: n, className: "login-form", children: /* @__PURE__ */ s(re, { vertical: !0, children: [
2449
- /* @__PURE__ */ e(
2450
- Z.Item,
2451
- {
2452
- name: "id",
2453
- rules: [
2454
- { required: !0, message: "아이디를 입력해주세요." },
2455
- {
2456
- whitespace: !0,
2457
- message: "아이디는 공백이 들어갈 수 없습니다."
2458
- }
2459
- ],
2460
- children: /* @__PURE__ */ e(ue, { allowClear: !0, placeholder: a.id, onKeyDown: o })
2461
- }
2462
- ),
2463
- /* @__PURE__ */ e(
2464
- Z.Item,
2465
- {
2466
- name: "pswr",
2467
- rules: [{ required: !0, message: "비밀번호를 입력하세요." }],
2468
- children: /* @__PURE__ */ e(
2469
- ue.Password,
2470
- {
2471
- allowClear: !0,
2472
- placeholder: a.pw,
2473
- onKeyDown: o
2485
+ /* @__PURE__ */ e(
2486
+ ye,
2487
+ {
2488
+ theme: {
2489
+ components: {
2490
+ Card: {
2491
+ bodyPadding: 40
2492
+ },
2493
+ Button: {
2494
+ controlHeight: 40,
2495
+ colorPrimary: "#6449fc",
2496
+ colorPrimaryActive: "#7163c3",
2497
+ colorPrimaryHover: "#7163c3",
2498
+ borderRadius: 50,
2499
+ fontWeight: 600
2500
+ },
2501
+ Input: {
2502
+ colorBorder: "var(--border-color)",
2503
+ hoverBorderColor: "#bdbd1ff",
2504
+ borderRadiusLG: 6,
2505
+ fontSize: 14
2506
+ },
2507
+ Checkbox: {
2508
+ colorPrimary: "#6377d1",
2509
+ colorPrimaryBorder: "#6377d1",
2510
+ colorPrimaryHover: "#6449fc",
2511
+ colorText: "var(--text-primary)",
2512
+ fontSize: 13
2474
2513
  }
2475
- )
2476
- }
2477
- ),
2478
- /* @__PURE__ */ e(Z.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(nt, { children: a.remember }) }),
2479
- /* @__PURE__ */ e("div", { className: r ? "caps-lock caps-lock-on" : "caps-lock", children: r ? "Caps Lock On" : "Caps Lock Off" }),
2480
- /* @__PURE__ */ e(Z.Item, { children: /* @__PURE__ */ e(B, { type: "primary", htmlType: "submit", loading: t, block: !0, children: a.login }) })
2481
- ] }) }),
2482
- h
2514
+ }
2515
+ },
2516
+ children: /* @__PURE__ */ e(Z, { form: u, onFinish: n, className: "login-form", children: /* @__PURE__ */ i(re, { vertical: !0, gap: 50, children: [
2517
+ /* @__PURE__ */ i("div", { className: "login-form-item-group", children: [
2518
+ /* @__PURE__ */ e(
2519
+ Z.Item,
2520
+ {
2521
+ name: "id",
2522
+ rules: [
2523
+ { required: !0, message: "아이디를 입력해주세요." },
2524
+ {
2525
+ whitespace: !0,
2526
+ message: "아이디는 공백이 들어갈 수 없습니다."
2527
+ }
2528
+ ],
2529
+ children: /* @__PURE__ */ e(ue, { allowClear: !0, placeholder: l.id, onKeyDown: o })
2530
+ }
2531
+ ),
2532
+ /* @__PURE__ */ e(
2533
+ Z.Item,
2534
+ {
2535
+ name: "pswr",
2536
+ rules: [{ required: !0, message: "비밀번호를 입력하세요." }],
2537
+ children: /* @__PURE__ */ e(
2538
+ ue.Password,
2539
+ {
2540
+ allowClear: !0,
2541
+ placeholder: l.pw,
2542
+ onKeyDown: o
2543
+ }
2544
+ )
2545
+ }
2546
+ ),
2547
+ /* @__PURE__ */ e(Z.Item, { name: "remember", valuePropName: "checked", style: { marginBottom: 0 }, children: /* @__PURE__ */ e(ct, { children: l.remember }) }),
2548
+ /* @__PURE__ */ e("div", { className: r ? "caps-lock caps-lock-on" : "caps-lock", children: r ? "Caps Lock On" : "Caps Lock Off" })
2549
+ ] }),
2550
+ /* @__PURE__ */ e(Z.Item, { style: { marginBottom: 0 }, children: /* @__PURE__ */ e(B, { type: "primary", htmlType: "submit", loading: t, block: !0, style: { borderRadius: "50px" }, children: l.login }) })
2551
+ ] }) })
2552
+ }
2553
+ ),
2554
+ c
2483
2555
  ] }) });
2484
2556
  }
2485
- const { Text: V, Title: pn } = be;
2486
- function En({
2557
+ const { Text: V, Title: Cn } = Ce;
2558
+ function zn({
2487
2559
  loginConfig: n,
2488
2560
  loginParams: t,
2489
2561
  mainLogo: r,
2490
2562
  systemLogo: o,
2491
- onGoLogin: l,
2492
- onGoMain: a
2563
+ onGoLogin: a,
2564
+ onGoMain: l
2493
2565
  }) {
2494
- const { loginStatus: g, doSsoLogin: h } = at(n);
2566
+ const { loginStatus: g, doSsoLogin: c } = pt(n);
2495
2567
  E(() => {
2496
2568
  u();
2497
2569
  }, [t.userId]);
2498
- const u = () => h(t), f = ({
2499
- children: N
2500
- }) => /* @__PURE__ */ s(
2501
- pn,
2570
+ const u = () => c(t), b = ({
2571
+ children: P
2572
+ }) => /* @__PURE__ */ i(
2573
+ Cn,
2502
2574
  {
2503
2575
  level: 4,
2504
2576
  style: {
@@ -2510,41 +2582,41 @@ function En({
2510
2582
  children: [
2511
2583
  o && o,
2512
2584
  " ",
2513
- N
2585
+ P
2514
2586
  ]
2515
2587
  }
2516
- ), p = () => g === "LOADING" ? /* @__PURE__ */ s(j, { children: [
2517
- /* @__PURE__ */ e(q, { size: "large", style: { margin: "10px 0" } }),
2518
- /* @__PURE__ */ s("div", { children: [
2519
- /* @__PURE__ */ e(f, { children: "로그인 중입니다." }),
2520
- /* @__PURE__ */ s(V, { children: [
2588
+ ), f = () => g === "LOADING" ? /* @__PURE__ */ i(j, { children: [
2589
+ /* @__PURE__ */ e(Q, { size: "large", style: { margin: "10px 0" } }),
2590
+ /* @__PURE__ */ i("div", { children: [
2591
+ /* @__PURE__ */ e(b, { children: "로그인 중입니다." }),
2592
+ /* @__PURE__ */ i(V, { children: [
2521
2593
  "인증 정보를 확인하는 중입니다.",
2522
2594
  /* @__PURE__ */ e("br", {}),
2523
2595
  "브라우저 창을 닫지 말아 주세요."
2524
2596
  ] })
2525
2597
  ] }),
2526
2598
  /* @__PURE__ */ e(V, { type: "secondary", style: { fontSize: 12 }, children: "인증이 완료되면 자동으로 다음 화면으로 이동합니다." }),
2527
- /* @__PURE__ */ e(B, { style: { marginTop: 8 }, onClick: l, children: "로그인 화면" })
2528
- ] }) : g === "SUCCESS" ? /* @__PURE__ */ s(j, { children: [
2599
+ /* @__PURE__ */ e(B, { style: { marginTop: 8 }, onClick: a, children: "로그인 화면" })
2600
+ ] }) : g === "SUCCESS" ? /* @__PURE__ */ i(j, { children: [
2529
2601
  /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(_e, { twoToneColor: "#52c41a" }) }),
2530
- /* @__PURE__ */ s("div", { children: [
2531
- /* @__PURE__ */ e(f, { children: "로그인에 성공했습니다." }),
2602
+ /* @__PURE__ */ i("div", { children: [
2603
+ /* @__PURE__ */ e(b, { children: "로그인에 성공했습니다." }),
2532
2604
  /* @__PURE__ */ e(V, { children: "잠시만 기다려 주세요." })
2533
2605
  ] }),
2534
2606
  /* @__PURE__ */ e(V, { type: "secondary", style: { fontSize: 12 }, children: "잠시 후 자동으로 다음 화면으로 이동합니다." }),
2535
- /* @__PURE__ */ e(Y, { style: { marginTop: 8, justifyContent: "center" }, children: /* @__PURE__ */ e(B, { type: "primary", onClick: a, children: "바로 이동하기" }) })
2536
- ] }) : g === "FAIL" ? /* @__PURE__ */ s(j, { children: [
2537
- /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(ve, { twoToneColor: "#ff4d4f" }) }),
2538
- /* @__PURE__ */ s("div", { children: [
2539
- /* @__PURE__ */ e(f, { children: "로그인에 실패했습니다." }),
2540
- /* @__PURE__ */ s(V, { children: [
2607
+ /* @__PURE__ */ e(Y, { style: { marginTop: 8, justifyContent: "center" }, children: /* @__PURE__ */ e(B, { type: "primary", onClick: l, children: "바로 이동하기" }) })
2608
+ ] }) : g === "FAIL" ? /* @__PURE__ */ i(j, { children: [
2609
+ /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(ke, { twoToneColor: "#ff4d4f" }) }),
2610
+ /* @__PURE__ */ i("div", { children: [
2611
+ /* @__PURE__ */ e(b, { children: "로그인에 실패했습니다." }),
2612
+ /* @__PURE__ */ i(V, { children: [
2541
2613
  "인증 과정에서 오류가 발생했습니다.",
2542
2614
  /* @__PURE__ */ e("br", {}),
2543
2615
  "다시 시도해 주세요."
2544
2616
  ] })
2545
2617
  ] }),
2546
2618
  /* @__PURE__ */ e(V, { type: "secondary", style: { fontSize: 12 }, children: "문제가 지속되면 관리자에게 문의해 주세요." }),
2547
- /* @__PURE__ */ s(Y, { style: { marginTop: 8, justifyContent: "center" }, children: [
2619
+ /* @__PURE__ */ i(Y, { style: { marginTop: 8, justifyContent: "center" }, children: [
2548
2620
  /* @__PURE__ */ e(
2549
2621
  B,
2550
2622
  {
@@ -2554,10 +2626,10 @@ function En({
2554
2626
  children: "다시 시도"
2555
2627
  }
2556
2628
  ),
2557
- /* @__PURE__ */ e(B, { onClick: l, icon: /* @__PURE__ */ e(wt, {}), children: "로그인 화면" })
2629
+ /* @__PURE__ */ e(B, { onClick: a, icon: /* @__PURE__ */ e(Pt, {}), children: "로그인 화면" })
2558
2630
  ] })
2559
- ] }) : /* @__PURE__ */ s(j, { children: [
2560
- /* @__PURE__ */ e(q, { size: "large", style: { margin: "10px 0" } }),
2631
+ ] }) : /* @__PURE__ */ i(j, { children: [
2632
+ /* @__PURE__ */ e(Q, { size: "large", style: { margin: "10px 0" } }),
2561
2633
  /* @__PURE__ */ e(V, { children: "로그인 상태를 확인하는 중입니다." })
2562
2634
  ] });
2563
2635
  return E(() => {
@@ -2573,7 +2645,7 @@ function En({
2573
2645
  background: "#f5f5f5"
2574
2646
  },
2575
2647
  children: /* @__PURE__ */ e(
2576
- Te,
2648
+ Be,
2577
2649
  {
2578
2650
  style: {
2579
2651
  width: 420,
@@ -2582,28 +2654,28 @@ function En({
2582
2654
  borderRadius: 16,
2583
2655
  boxShadow: "0 8px 24px rgba(0,0,0,0.06)"
2584
2656
  },
2585
- children: /* @__PURE__ */ s(Y, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2657
+ children: /* @__PURE__ */ i(Y, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2586
2658
  /* @__PURE__ */ e("div", { children: r && r }),
2587
- p()
2659
+ f()
2588
2660
  ] })
2589
2661
  }
2590
2662
  )
2591
2663
  }
2592
2664
  );
2593
2665
  }
2594
- const { Text: Pe, Title: mn } = be;
2595
- function _n({
2666
+ const { Text: Se, Title: vn } = Ce;
2667
+ function Hn({
2596
2668
  mode: n,
2597
2669
  mainLogo: t,
2598
2670
  systemLogo: r,
2599
2671
  newUserId: o,
2600
- onContinue: l,
2601
- onGoLogin: a
2672
+ onContinue: a,
2673
+ onGoLogin: l
2602
2674
  }) {
2603
2675
  const g = ({
2604
- children: p
2605
- }) => /* @__PURE__ */ s(
2606
- mn,
2676
+ children: f
2677
+ }) => /* @__PURE__ */ i(
2678
+ vn,
2607
2679
  {
2608
2680
  level: 4,
2609
2681
  style: {
@@ -2616,10 +2688,10 @@ function _n({
2616
2688
  children: [
2617
2689
  r && r,
2618
2690
  " ",
2619
- p
2691
+ f
2620
2692
  ]
2621
2693
  }
2622
- ), { title: h, desc: u, subDesc: f } = n === "SESSION_CHANGED" ? {
2694
+ ), { title: c, desc: u, subDesc: b } = n === "SESSION_CHANGED" ? {
2623
2695
  title: "세션이 변경되었습니다.",
2624
2696
  desc: `이 브라우저에서 다른 계정으로 다시 로그인되었습니다.
2625
2697
  현재 창에서는 이전 계정을 더 이상 사용할 수 없습니다.`,
@@ -2641,7 +2713,7 @@ function _n({
2641
2713
  background: "#f5f5f5"
2642
2714
  },
2643
2715
  children: /* @__PURE__ */ e(
2644
- Te,
2716
+ Be,
2645
2717
  {
2646
2718
  style: {
2647
2719
  width: 450,
@@ -2650,24 +2722,24 @@ function _n({
2650
2722
  borderRadius: 16,
2651
2723
  boxShadow: "0 8px 24px rgba(0,0,0,0.06)"
2652
2724
  },
2653
- children: /* @__PURE__ */ s(Y, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2725
+ children: /* @__PURE__ */ i(Y, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2654
2726
  /* @__PURE__ */ e("div", { children: t && t }),
2655
- /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(ve, { twoToneColor: "#faad14" }) }),
2656
- /* @__PURE__ */ s("div", { children: [
2657
- /* @__PURE__ */ e(g, { children: h }),
2658
- /* @__PURE__ */ e(Pe, { children: u.split(`
2659
- `).map((p, N) => /* @__PURE__ */ s("span", { children: [
2660
- p,
2727
+ /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(ke, { twoToneColor: "#faad14" }) }),
2728
+ /* @__PURE__ */ i("div", { children: [
2729
+ /* @__PURE__ */ e(g, { children: c }),
2730
+ /* @__PURE__ */ e(Se, { children: u.split(`
2731
+ `).map((f, P) => /* @__PURE__ */ i("span", { children: [
2732
+ f,
2661
2733
  /* @__PURE__ */ e("br", {})
2662
- ] }, N)) })
2734
+ ] }, P)) })
2663
2735
  ] }),
2664
- /* @__PURE__ */ e(Pe, { type: "secondary", style: { fontSize: 12 }, children: f }),
2665
- /* @__PURE__ */ e(Y, { style: { marginTop: 8, justifyContent: "center" }, children: l && o && /* @__PURE__ */ s(
2736
+ /* @__PURE__ */ e(Se, { type: "secondary", style: { fontSize: 12 }, children: b }),
2737
+ /* @__PURE__ */ e(Y, { style: { marginTop: 8, justifyContent: "center" }, children: a && o && /* @__PURE__ */ i(
2666
2738
  B,
2667
2739
  {
2668
2740
  type: "primary",
2669
2741
  icon: /* @__PURE__ */ e(_e, {}),
2670
- onClick: l,
2742
+ onClick: a,
2671
2743
  children: [
2672
2744
  o,
2673
2745
  " 계정으로 계속 사용"
@@ -2681,23 +2753,23 @@ function _n({
2681
2753
  );
2682
2754
  }
2683
2755
  export {
2684
- Ln as A,
2685
- Mn as B,
2686
- nn as C,
2687
- Dn as D,
2688
- rn as H,
2689
- Sn as L,
2690
- an as P,
2691
- Tn as a,
2692
- Bn as b,
2693
- En as c,
2694
- _n as d,
2695
- on as e,
2756
+ _n as A,
2757
+ On as B,
2758
+ ln as C,
2759
+ An as D,
2760
+ cn as H,
2761
+ En as L,
2762
+ pn as P,
2763
+ Rn as a,
2764
+ jn as b,
2765
+ zn as c,
2766
+ Hn as d,
2767
+ dn as e,
2696
2768
  Oe as f,
2697
2769
  Re as g,
2698
- Qt as h,
2699
- Jt as i,
2700
- un as j,
2701
- hn as k,
2702
- Ht as l
2770
+ nn as h,
2771
+ on as i,
2772
+ yn as j,
2773
+ fn as k,
2774
+ Vt as l
2703
2775
  };