@bwg-ui/core 1.3.3 → 1.3.5

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 (72) hide show
  1. package/dist/chunks/CMSearchIntfGwP01-CuGDAfFM.cjs +1 -0
  2. package/dist/chunks/{CMSearchIntfGwP01-Co6lrDf9.js → CMSearchIntfGwP01-DBpDpgQr.js} +21 -21
  3. package/dist/chunks/{MenuReport-BTtoDFz-.js → MenuReport-CCbCy7yt.js} +250 -228
  4. package/dist/chunks/MenuReport-yw8tZDUk.cjs +1 -0
  5. package/dist/chunks/common-components-CbkWoYfX.cjs +1111 -0
  6. package/dist/chunks/{common-components-0IMhPxxg.js → common-components-DtzVj5lz.js} +10904 -10757
  7. package/dist/chunks/layout-components-BzLAGXiu.cjs +38 -0
  8. package/dist/chunks/{layout-components-DphZY34c.js → layout-components-ljht1sHh.js} +954 -856
  9. package/dist/chunks/{provider-VCa8UGvF.js → provider-Kxea5IoZ.js} +57 -54
  10. package/dist/chunks/provider-r4mkv5Zs.cjs +1 -0
  11. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  12. package/dist/components/common/BwgView.d.ts.map +1 -1
  13. package/dist/components/common/SearchBox.d.ts +2 -0
  14. package/dist/components/common/SearchBox.d.ts.map +1 -1
  15. package/dist/components/common/index.cjs +1 -1
  16. package/dist/components/common/index.js +1 -1
  17. package/dist/components/core/BwgDatePicker.d.ts.map +1 -1
  18. package/dist/components/core/BwgEmpSearch.d.ts +1 -1
  19. package/dist/components/core/BwgEmpSearch.d.ts.map +1 -1
  20. package/dist/components/core/BwgMaskedDate.d.ts.map +1 -1
  21. package/dist/components/core/BwgMaskedRange.d.ts.map +1 -1
  22. package/dist/components/core/index.cjs +1 -1
  23. package/dist/components/core/index.d.ts +2 -0
  24. package/dist/components/core/index.d.ts.map +1 -1
  25. package/dist/components/core/index.js +1973 -22
  26. package/dist/components/guide/index.cjs +1 -1
  27. package/dist/components/guide/index.js +14 -14
  28. package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
  29. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  30. package/dist/components/layout/custom/ConfigurableMenuTab.d.ts.map +1 -1
  31. package/dist/components/layout/custom/ConfigurableSidebar.d.ts.map +1 -1
  32. package/dist/components/layout/index.cjs +1 -1
  33. package/dist/components/layout/index.js +1 -1
  34. package/dist/components/pages/board/CMAdminBoardM01.d.ts.map +1 -1
  35. package/dist/components/pages/board/CMMyBoardM01.d.ts.map +1 -1
  36. package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts.map +1 -1
  37. package/dist/components/pages/syst/SystemCodeManage.d.ts.map +1 -1
  38. package/dist/components/popup/MenuReport.d.ts.map +1 -1
  39. package/dist/components/popup/index.cjs +1 -1
  40. package/dist/components/popup/index.d.ts.map +1 -1
  41. package/dist/components/popup/index.js +1 -1
  42. package/dist/index.cjs +1 -1
  43. package/dist/index.js +242 -240
  44. package/dist/provider/contexts/SearchBoxContext.d.ts +20 -0
  45. package/dist/provider/contexts/SearchBoxContext.d.ts.map +1 -1
  46. package/dist/provider/index.cjs +1 -1
  47. package/dist/provider/index.js +5 -5
  48. package/dist/stores/favoriteStore.d.ts.map +1 -1
  49. package/dist/stores/index.cjs +2 -2
  50. package/dist/stores/index.js +208 -207
  51. package/dist/stores/loginStore.d.ts +4 -8
  52. package/dist/stores/loginStore.d.ts.map +1 -1
  53. package/dist/stores/popupStore.d.ts.map +1 -1
  54. package/dist/styles/components.css +107 -37
  55. package/dist/styles/layout.css +59 -5
  56. package/dist/styles/variables.css +6 -0
  57. package/dist/utils/commonUtils.d.ts +5 -1
  58. package/dist/utils/commonUtils.d.ts.map +1 -1
  59. package/dist/utils/index.cjs +1 -1
  60. package/dist/utils/index.d.ts +1 -0
  61. package/dist/utils/index.d.ts.map +1 -1
  62. package/dist/utils/index.js +986 -954
  63. package/package.json +1 -1
  64. package/dist/chunks/CMSearchIntfGwP01-Do_ZDjmX.cjs +0 -1
  65. package/dist/chunks/MenuReport-Bn5NyNel.cjs +0 -1
  66. package/dist/chunks/common-components-Csd3OioX.cjs +0 -1109
  67. package/dist/chunks/core-components-CX6NGtTh.cjs +0 -1
  68. package/dist/chunks/core-components-Ckwf4Rd7.js +0 -1969
  69. package/dist/chunks/layout-components-BMLp8YAy.cjs +0 -38
  70. package/dist/chunks/provider-DrboIg2C.cjs +0 -1
  71. package/dist/components/popup/SearchAddress.d.ts +0 -3
  72. package/dist/components/popup/SearchAddress.d.ts.map +0 -1
@@ -1,38 +1,38 @@
1
- import { jsxs as l, jsx as e, Fragment as A } from "react/jsx-runtime";
2
- import { o as $e, C as We, S as Ce, n as Fe, m as Ge } from "./provider-VCa8UGvF.js";
3
- import { Routes as Le, Route as Y, Navigate as _e, useNavigate as ve, useLocation as je } from "react-router-dom";
4
- import { G as He, B as Ve, Q as Ke } from "./common-components-0IMhPxxg.js";
5
- import { Spin as Q, Layout as X, Button as B, Divider as he, Flex as ie, Slider as me, Switch as Ue, Modal as Ze, Popover as Ye, Avatar as qe, Dropdown as Qe, Tabs as Xe, Tooltip as te, AutoComplete as Je, Input as fe, Segmented as et, ConfigProvider as tt, Menu as be, Result as Me, Space as q, Typography as xe, Empty as pe, Breadcrumb as nt, Form as Z, Checkbox as rt, Card as Be } from "antd";
6
- import { lazy as W, useEffect as E, useRef as J, useCallback as z, useMemo as _, useState as $, createElement as Oe, memo as we, cloneElement as ot, Component as it, Suspense as le } from "react";
7
- import { useUserStore as Ee, useLogout as st, useMenuViewStore as O, useMenuModelStore as ce, useFavoriteStore as at, usePopupStore as ke, useLogin as lt, useSystemStore as se, useSsoLogin as ct } from "../stores/index.js";
8
- import * as ae from "@ant-design/icons";
9
- import { UndoOutlined as oe, UserOutlined as dt, CloseOutlined as ne, PushpinOutlined as ut, ReloadOutlined as de, RestOutlined as ht, PushpinTwoTone as mt, StepBackwardOutlined as pt, LeftOutlined as gt, RightOutlined as ft, StepForwardOutlined as bt, MenuUnfoldOutlined as yt, MenuFoldOutlined as Ct, ExclamationCircleOutlined as vt, WarningOutlined as xt, StarOutlined as wt, FolderOpenOutlined as kt, ExclamationCircleTwoTone as Ie, CheckCircleTwoTone as De, LoginOutlined as It } from "@ant-design/icons";
10
- import { getTodateString as Ne, colorFormat as Nt, getUserId as Se } from "../utils/index.js";
11
- import { useSensors as St, useSensor as Pt, PointerSensor as Tt, DndContext as Lt, closestCenter as Mt } from "@dnd-kit/core";
12
- import { restrictToHorizontalAxis as Bt } from "@dnd-kit/modifiers";
13
- import { arrayMove as Ot, SortableContext as Et, horizontalListSortingStrategy as Dt, useSortable as Rt } from "@dnd-kit/sortable";
14
- const zt = W(
15
- () => import("./MenuReport-BTtoDFz-.js")
16
- ), At = W(
17
- () => import("./common-components-0IMhPxxg.js").then((n) => n.$)
18
- ), $t = W(
19
- () => import("./common-components-0IMhPxxg.js").then((n) => n.a0)
20
- ), Wt = W(
21
- () => import("./common-components-0IMhPxxg.js").then((n) => n.a1)
22
- ), Ft = W(
23
- () => import("./common-components-0IMhPxxg.js").then((n) => n.a2)
24
- ), Gt = W(
25
- () => import("./common-components-0IMhPxxg.js").then((n) => n.a4)
26
- ), _t = W(
27
- () => import("./CMSearchIntfGwP01-Co6lrDf9.js")
28
- ), jt = W(
29
- () => import("./common-components-0IMhPxxg.js").then((n) => n.a5)
30
- ), Ht = W(
31
- () => import("./common-components-0IMhPxxg.js").then((n) => n.a3)
32
- ), Vt = {
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";
8
+ 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 = {
33
33
  // 게시판/문의
34
34
  CORE_REPORT: {
35
- component: zt,
35
+ component: Bt,
36
36
  defaultConfig: {
37
37
  title: "게시판/문의",
38
38
  width: 1200,
@@ -41,7 +41,7 @@ const zt = W(
41
41
  },
42
42
  // 조직/부서 검색류
43
43
  CORE_DEPARTMENT_01: {
44
- component: At,
44
+ component: Dt,
45
45
  defaultConfig: {
46
46
  title: "부서 검색",
47
47
  width: 620,
@@ -49,7 +49,7 @@ const zt = W(
49
49
  }
50
50
  },
51
51
  CORE_DEPARTMENT_02: {
52
- component: $t,
52
+ component: Et,
53
53
  defaultConfig: {
54
54
  title: "부서 검색",
55
55
  width: 620,
@@ -57,7 +57,7 @@ const zt = W(
57
57
  }
58
58
  },
59
59
  CORE_ORGANIZATION_01: {
60
- component: Wt,
60
+ component: _t,
61
61
  defaultConfig: {
62
62
  title: "조직 검색",
63
63
  width: 620,
@@ -65,7 +65,7 @@ const zt = W(
65
65
  }
66
66
  },
67
67
  CORE_ORGANIZATION_02: {
68
- component: Ft,
68
+ component: Ot,
69
69
  defaultConfig: {
70
70
  title: "조직 검색",
71
71
  width: 1e3,
@@ -73,7 +73,7 @@ const zt = W(
73
73
  }
74
74
  },
75
75
  CORE_PRGR_02: {
76
- component: Gt,
76
+ component: Rt,
77
77
  defaultConfig: {
78
78
  title: "프로그램 검색",
79
79
  width: 700,
@@ -81,7 +81,7 @@ const zt = W(
81
81
  }
82
82
  },
83
83
  CORE_GW_DRAFTS: {
84
- component: _t,
84
+ component: jt,
85
85
  defaultConfig: {
86
86
  title: "기안 목록",
87
87
  width: 1e3,
@@ -89,7 +89,7 @@ const zt = W(
89
89
  }
90
90
  },
91
91
  CORE_ADDRESS_01: {
92
- component: jt,
92
+ component: zt,
93
93
  defaultConfig: {
94
94
  title: "주소 검색",
95
95
  width: 750,
@@ -97,18 +97,18 @@ const zt = W(
97
97
  }
98
98
  },
99
99
  CORE_HOLIDAY_01: {
100
- component: Ht,
100
+ component: At,
101
101
  defaultConfig: {
102
102
  title: "휴일 검색",
103
103
  width: 750,
104
104
  height: 800
105
105
  }
106
106
  }
107
- }, Pe = "bwg-dot-line-wave-v4";
108
- function Kt() {
109
- if (typeof document > "u" || document.getElementById(Pe)) return;
107
+ }, Ie = "bwg-dot-line-wave-v4";
108
+ function $t() {
109
+ if (typeof document > "u" || document.getElementById(Ie)) return;
110
110
  const n = document.createElement("style");
111
- n.id = Pe, n.textContent = `
111
+ n.id = Ie, n.textContent = `
112
112
  .bwg-dotline {
113
113
  display: inline-flex;
114
114
  align-items: center;
@@ -144,53 +144,53 @@ function Kt() {
144
144
  }
145
145
  `, document.head.appendChild(n);
146
146
  }
147
- const Ut = ({
147
+ const Ft = ({
148
148
  colors: n = ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
149
149
  count: t,
150
150
  size: r = 12,
151
151
  gap: o = 10,
152
- amp: s = 16,
152
+ amp: l = 16,
153
153
  speedMs: a = 900,
154
154
  direction: g = "ltr",
155
- phase: c = 0.7
155
+ phase: h = 0.7
156
156
  }) => {
157
157
  E(() => {
158
- Kt();
158
+ $t();
159
159
  }, []);
160
- const u = t ?? n.length, y = Array.from({ length: u }), h = {
160
+ const u = t ?? n.length, f = Array.from({ length: u }), p = {
161
161
  "--bwg-size": `${r}px`,
162
162
  "--bwg-gap": `${o}px`,
163
- "--bwg-amp": `${s}px`,
163
+ "--bwg-amp": `${l}px`,
164
164
  "--bwg-speed": `${a}ms`
165
- }, k = a / u * c;
165
+ }, N = a / u * h;
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: h,
173
- children: y.map((d, p) => /* @__PURE__ */ e(
172
+ style: p,
173
+ children: f.map((d, c) => /* @__PURE__ */ e(
174
174
  "span",
175
175
  {
176
176
  className: "dot",
177
177
  style: {
178
- backgroundColor: n[p % n.length],
179
- animationDelay: g === "ltr" ? `${p * k}ms` : `${(u - 1 - p) * k}ms`
178
+ backgroundColor: n[c % n.length],
179
+ animationDelay: g === "ltr" ? `${c * N}ms` : `${(u - 1 - c) * N}ms`
180
180
  }
181
181
  },
182
- p
182
+ c
183
183
  ))
184
184
  }
185
185
  );
186
- }, On = ({
186
+ }, Sn = ({
187
187
  spin: n = null,
188
188
  text: t = "인증중...",
189
189
  dimStyle: r = "dark"
190
190
  }) => {
191
191
  if (!(n ?? !0)) return null;
192
192
  const a = r === "dark";
193
- return /* @__PURE__ */ l(
193
+ return /* @__PURE__ */ s(
194
194
  "div",
195
195
  {
196
196
  className: "loading-overlay",
@@ -213,10 +213,10 @@ const Ut = ({
213
213
  role: "status",
214
214
  children: [
215
215
  /* @__PURE__ */ e(
216
- Q,
216
+ q,
217
217
  {
218
218
  indicator: /* @__PURE__ */ e(
219
- Ut,
219
+ Ft,
220
220
  {
221
221
  colors: ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
222
222
  size: 12,
@@ -233,20 +233,20 @@ const Ut = ({
233
233
  ]
234
234
  }
235
235
  );
236
- }, En = ({
236
+ }, Ln = ({
237
237
  routes: n,
238
238
  useCommonProvider: t = !0,
239
239
  useServiceProvider: r = !0
240
240
  }) => {
241
- let s = /* @__PURE__ */ l(Le, { children: [
242
- /* @__PURE__ */ e(Y, { path: "/", element: /* @__PURE__ */ e(_e, { to: "/login" }) }),
243
- /* @__PURE__ */ e(Y, { path: "/ssoLogin", element: n.ssoLogin }),
244
- /* @__PURE__ */ e(Y, { path: "/login", element: n.login }),
245
- /* @__PURE__ */ e(Y, { path: "/main/*", element: n.main }),
246
- /* @__PURE__ */ e(Y, { path: "/sessionNotice", element: n.sessionNotice })
241
+ let l = /* @__PURE__ */ s(Se, { children: [
242
+ /* @__PURE__ */ e(U, { path: "/", element: /* @__PURE__ */ e(Fe, { to: "/login" }) }),
243
+ /* @__PURE__ */ e(U, { path: "/ssoLogin", element: n.ssoLogin }),
244
+ /* @__PURE__ */ e(U, { path: "/login", element: n.login }),
245
+ /* @__PURE__ */ e(U, { path: "/main/*", element: n.main }),
246
+ /* @__PURE__ */ e(U, { path: "/sessionNotice", element: n.sessionNotice })
247
247
  ] });
248
- return r && (s = /* @__PURE__ */ e($e, { children: s })), t && (s = /* @__PURE__ */ e(We, { children: s })), /* @__PURE__ */ e(He, { children: s });
249
- }, { Content: Zt } = X, Re = ({
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 = ({
250
250
  config: n = {},
251
251
  children: t
252
252
  }) => {
@@ -262,7 +262,7 @@ const Ut = ({
262
262
  ...n
263
263
  };
264
264
  return /* @__PURE__ */ e(
265
- Zt,
265
+ Wt,
266
266
  {
267
267
  className: r.wrapper.className,
268
268
  style: r.wrapper.style,
@@ -276,7 +276,7 @@ const Ut = ({
276
276
  ) })
277
277
  }
278
278
  );
279
- }, 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 } = Ze, F = {
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 = {
280
280
  light: {
281
281
  headerBg: "#ffffff",
282
282
  headerText: "#000000",
@@ -329,11 +329,11 @@ const Ut = ({
329
329
  buttonDefaultBorder: "#dddddd",
330
330
  buttonPermissionBorder: "#bdb1ff"
331
331
  }
332
- }, ge = {
332
+ }, he = {
333
333
  0: "작게",
334
334
  1: "보통",
335
335
  2: "크게"
336
- }, ze = ({ config: n = {}, children: t }) => {
336
+ }, Re = ({ config: n = {}, children: t }) => {
337
337
  const r = {
338
338
  gap: 14,
339
339
  minWidth: 200,
@@ -366,273 +366,312 @@ const Ut = ({
366
366
  ...n.logo
367
367
  },
368
368
  right: r
369
- }, s = ve(), a = J(null), g = st(() => s("/login", { replace: !0 })), {
370
- componentSize: c,
369
+ }, l = fe(), a = X(null), g = it(() => l("/login", { replace: !0 })), {
370
+ componentSize: h,
371
371
  setComponentSize: u,
372
- gridSize: y,
373
- setGridSize: h,
374
- spacingSize: k,
372
+ gridSize: f,
373
+ setGridSize: p,
374
+ spacingSize: N,
375
375
  setSpacingSize: d,
376
- enableProtectWrapper: p,
376
+ enableProtectWrapper: c,
377
377
  setEnableProtectWrapper: I,
378
- theme: b,
378
+ theme: k,
379
379
  setTheme: m,
380
- clearAllGridLayouts: v
381
- } = Ee(), T = 1, D = 2, R = 2, w = (f, P) => {
380
+ clearAllGridLayouts: C
381
+ } = De(), S = 1, _ = 2, O = 2, x = (b, L) => {
382
382
  try {
383
- if (!/^[a-zA-Z0-9-]+$/.test(f) || !/^[#a-zA-Z0-9()\s,.-]+$/.test(P)) return;
384
- document.documentElement.style.setProperty(f, P);
385
- } catch (N) {
386
- console.error("CSS variable setting failed:", N);
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);
387
387
  }
388
- }, G = (f) => {
389
- if (!F[f]) return;
390
- m(f);
391
- const P = { ...F[f] };
392
- w("--header-bg", P.headerBg), w("--header-text", P.headerText), w("--sidebar-bg", P.sidebarBg), w("--sidebar-text", P.sidebarText), w("--button-primary", P.buttonPrimary), w("--button-primary-hover", P.buttonPrimaryHover), w("--button-primary-active", P.buttonPrimaryActive), w("--button-default", P.buttonDefault), w("--button-default-hover", P.buttonDefaultHover), w("--button-default-border", P.buttonDefaultBorder), w(
388
+ }, $ = (b) => {
389
+ if (!te[b]) return;
390
+ m(b);
391
+ const L = { ...te[b] };
392
+ 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
393
  "--button-permission-border",
394
- P.buttonPermissionBorder
395
- ), a.current && a.current.setAttribute("data-theme", f), document.documentElement.setAttribute("data-theme", f);
394
+ L.buttonPermissionBorder
395
+ ), a.current && a.current.setAttribute("data-theme", b), document.documentElement.setAttribute("data-theme", b);
396
396
  };
397
397
  E(() => {
398
- if (b && F[b]) {
399
- const f = { ...F[b] };
400
- w("--header-bg", f.headerBg), w("--header-text", f.headerText), w("--sidebar-bg", f.sidebarBg), w("--sidebar-text", f.sidebarText), w("--button-primary", f.buttonPrimary), w("--button-primary-hover", f.buttonPrimaryHover), w(
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(
401
401
  "--button-primary-active",
402
- f.buttonPrimaryActive
403
- ), w("--button-default", f.buttonDefault), w("--button-default-hover", f.buttonDefaultHover), w(
402
+ b.buttonPrimaryActive
403
+ ), x("--button-default", b.buttonDefault), x("--button-default-hover", b.buttonDefaultHover), x(
404
404
  "--button-default-border",
405
- f.buttonDefaultBorder
406
- ), w(
405
+ b.buttonDefaultBorder
406
+ ), x(
407
407
  "--button-permission-border",
408
- f.buttonPermissionBorder
409
- ), a.current && a.current.setAttribute("data-theme", b), document.documentElement.setAttribute("data-theme", b);
408
+ b.buttonPermissionBorder
409
+ ), a.current && a.current.setAttribute("data-theme", k), document.documentElement.setAttribute("data-theme", k);
410
410
  } else
411
- G("modern");
412
- }, [b]);
411
+ $("modern");
412
+ }, [k]);
413
413
  const K = () => {
414
414
  g();
415
- };
416
- Ne ? Ne("HH:mm:ss") : (/* @__PURE__ */ new Date()).toLocaleTimeString("ko-KR");
417
- const U = F[b]?.headerBg || "#f3f4ff", ee = /* @__PURE__ */ l(
415
+ }, H = () => /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [
416
+ /* @__PURE__ */ e("g", { clipPath: "url(#clip0_1424_1089)", children: /* @__PURE__ */ e(
417
+ "path",
418
+ {
419
+ d: "M15.1801 12.13C14.7801 13.25 14.0401 14.22 13.0401 14.87C12.0501 15.53 10.8701 15.85 9.68009 15.78C8.49009 15.71 7.36009 15.26 6.45009 14.49C5.54009 13.72 4.91009 12.68 4.64009 11.52C4.38009 10.36 4.50009 9.14996 4.98009 8.05996C5.47009 6.96996 6.29009 6.07996 7.33009 5.49996C8.37009 4.91996 9.57009 4.69996 10.7501 4.86996C12.7401 5.14996 14.0501 6.58996 15.4701 7.85996M15.4901 4.20996V7.86996H11.8301",
420
+ stroke: "currentColor",
421
+ strokeLinecap: "round",
422
+ strokeLinejoin: "round"
423
+ }
424
+ ) }),
425
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1424_1089", children: /* @__PURE__ */ e("rect", { width: "20", height: "20", fill: "white" }) }) })
426
+ ] });
427
+ xe ? xe("HH:mm:ss") : (/* @__PURE__ */ new Date()).toLocaleTimeString("ko-KR");
428
+ const J = /* @__PURE__ */ s(
418
429
  "div",
419
430
  {
431
+ className: "theme-setting-popover",
420
432
  style: {
421
- padding: "16px",
422
- backgroundColor: U,
423
- borderRadius: "8px",
424
433
  minWidth: "320px"
425
434
  },
426
435
  children: [
427
- /* @__PURE__ */ l("div", { style: { marginBottom: "16px" }, children: [
428
- /* @__PURE__ */ e(
429
- "div",
430
- {
431
- style: { marginBottom: "12px", fontSize: "14px", fontWeight: 500 },
432
- children: "테마 선택"
433
- }
434
- ),
435
- /* @__PURE__ */ l(
436
- "div",
437
- {
438
- style: {
439
- display: "grid",
440
- gridTemplateColumns: "1fr 1fr",
441
- gap: "8px",
442
- marginBottom: "8px"
443
- },
444
- children: [
445
- /* @__PURE__ */ e(
446
- B,
447
- {
448
- type: b === "modern" ? "primary" : "default",
449
- size: "small",
450
- onClick: () => G("modern"),
451
- style: {
452
- width: "100%",
453
- backgroundColor: b === "modern" ? F.modern.headerBg : void 0,
454
- color: b === "modern" ? F.modern.headerText : void 0,
455
- borderColor: b === "modern" ? F.modern.headerBg : void 0
456
- },
457
- children: "모던"
458
- },
459
- "modern"
460
- ),
461
- Object.entries(F).filter(([f]) => f !== "modern").map(([f, P]) => /* @__PURE__ */ e(
462
- B,
463
- {
464
- type: b === f ? "primary" : "default",
465
- size: "small",
466
- onClick: () => G(f),
467
- style: {
468
- width: "100%",
469
- backgroundColor: b === f ? P.headerBg : void 0,
470
- color: b === f ? P.headerText : void 0,
471
- borderColor: b === f ? P.headerBg : void 0
472
- },
473
- children: f
474
- },
475
- f
476
- ))
477
- ]
478
- }
479
- )
480
- ] }),
481
- /* @__PURE__ */ e(he, { style: { margin: "16px 0" } }),
482
- /* @__PURE__ */ l("div", { style: { marginBottom: "16px" }, children: [
483
- /* @__PURE__ */ l(
484
- ie,
485
- {
486
- justify: "space-between",
487
- align: "center",
488
- style: { marginBottom: "8px" },
489
- children: [
490
- /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "컴포넌트 크기" }),
491
- /* @__PURE__ */ e(
492
- B,
493
- {
494
- type: "text",
495
- size: "small",
496
- icon: /* @__PURE__ */ e(oe, {}),
497
- onClick: () => u(T),
498
- disabled: c === T,
499
- style: { padding: "0 4px" }
500
- }
501
- )
502
- ]
503
- }
504
- ),
505
- /* @__PURE__ */ e(
506
- me,
507
- {
508
- marks: ge,
509
- value: c,
510
- min: 0,
511
- max: 2,
512
- step: 1,
513
- onChange: (f) => u(f)
514
- }
515
- )
516
- ] }),
517
- /* @__PURE__ */ l("div", { style: { marginBottom: "16px" }, children: [
518
- /* @__PURE__ */ l(
519
- ie,
520
- {
521
- justify: "space-between",
522
- align: "center",
523
- style: { marginBottom: "8px" },
524
- children: [
525
- /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "그리드 크기" }),
526
- /* @__PURE__ */ e(
527
- B,
528
- {
529
- type: "text",
530
- size: "small",
531
- icon: /* @__PURE__ */ e(oe, {}),
532
- onClick: () => h(D),
533
- disabled: y === D,
534
- style: { padding: "0 4px" }
535
- }
536
- )
537
- ]
538
- }
539
- ),
540
- /* @__PURE__ */ e(
541
- me,
542
- {
543
- marks: ge,
544
- value: y,
545
- min: 0,
546
- max: 2,
547
- step: 1,
548
- onChange: (f) => h(f)
549
- }
550
- )
551
- ] }),
552
- /* @__PURE__ */ l("div", { style: { marginBottom: "16px" }, children: [
553
- /* @__PURE__ */ l(
554
- ie,
555
- {
556
- justify: "space-between",
557
- align: "center",
558
- style: { marginBottom: "8px" },
559
- children: [
560
- /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "여백 조정" }),
561
- /* @__PURE__ */ e(
562
- B,
563
- {
564
- type: "text",
565
- size: "small",
566
- icon: /* @__PURE__ */ e(oe, {}),
567
- onClick: () => d(R),
568
- disabled: k === R,
569
- style: { padding: "0 4px" }
570
- }
571
- )
572
- ]
573
- }
574
- ),
575
- /* @__PURE__ */ e(
576
- me,
577
- {
578
- marks: ge,
579
- value: k,
580
- min: 0,
581
- max: 2,
582
- step: 1,
583
- onChange: (f) => d(f)
584
- }
585
- )
586
- ] }),
587
- /* @__PURE__ */ e(he, { style: { margin: "16px 0" } }),
588
- /* @__PURE__ */ l(
436
+ /* @__PURE__ */ s(
589
437
  "div",
590
438
  {
591
439
  style: {
592
- marginBottom: "16px",
593
- display: "flex",
594
- justifyContent: "space-between",
595
- alignItems: "center"
440
+ padding: "10px",
441
+ backgroundColor: "#f5f6fb",
442
+ borderRadius: "6px",
443
+ marginBottom: "20px"
596
444
  },
597
445
  children: [
598
- /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "화면 보호 활성화" }),
599
- /* @__PURE__ */ e(
600
- Ue,
446
+ /* @__PURE__ */ e("div", { className: "sub-title", style: { marginBottom: 10 }, children: "테마 선택" }),
447
+ /* @__PURE__ */ s(
448
+ "div",
601
449
  {
602
- checked: p,
603
- onChange: I
450
+ style: {
451
+ display: "flex",
452
+ alignItems: "center",
453
+ justifyContent: "right",
454
+ gap: "10px"
455
+ },
456
+ children: [
457
+ /* @__PURE__ */ e(
458
+ B,
459
+ {
460
+ className: `theme-swatch-btn theme-swatch-modern ${k === "modern" ? "active" : ""}`,
461
+ type: "text",
462
+ size: "small",
463
+ onClick: () => $("modern")
464
+ },
465
+ "modern"
466
+ ),
467
+ Object.entries(te).filter(([b]) => b !== "modern").map(([b, L]) => /* @__PURE__ */ e(
468
+ B,
469
+ {
470
+ className: `theme-swatch-btn theme-swatch-${b} ${k === b ? "active" : ""}`,
471
+ type: "text",
472
+ size: "small",
473
+ onClick: () => $(b)
474
+ },
475
+ b
476
+ ))
477
+ ]
604
478
  }
605
479
  )
606
480
  ]
607
481
  }
608
482
  ),
609
- /* @__PURE__ */ e(he, { style: { margin: "16px 0" } }),
610
- /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(
483
+ /* @__PURE__ */ s(
484
+ Le,
485
+ {
486
+ theme: {
487
+ components: {
488
+ Slider: {
489
+ dotActiveBorderColor: "var(--primary-color)",
490
+ dotBorderColor: "#d9d9d9",
491
+ dotSize: 8,
492
+ handleActiveColor: "var(--primary-color)",
493
+ handleActiveOutlineColor: "rgba(var(--primary-color-rgb),0.2)",
494
+ handleLineWidth: 0,
495
+ handleSize: 12,
496
+ railBg: "#e0e2e5",
497
+ trackBg: "var(--primary-color)",
498
+ trackHoverBg: "var(--button-solid-hover)"
499
+ },
500
+ Switch: {
501
+ colorPrimary: "var(--switch-primary)",
502
+ colorPrimaryHover: "var(--switch-primary)"
503
+ }
504
+ }
505
+ },
506
+ children: [
507
+ /* @__PURE__ */ s("div", { style: {
508
+ display: "flex",
509
+ flexDirection: "column",
510
+ gap: 20,
511
+ padding: "0 10px"
512
+ }, children: [
513
+ /* @__PURE__ */ s("div", { children: [
514
+ /* @__PURE__ */ s(
515
+ re,
516
+ {
517
+ justify: "space-between",
518
+ align: "center",
519
+ children: [
520
+ /* @__PURE__ */ e("span", { className: "sub-title", children: "컴포넌트 크기" }),
521
+ /* @__PURE__ */ e(
522
+ B,
523
+ {
524
+ className: "bwg-btn",
525
+ type: "text",
526
+ size: "small",
527
+ icon: /* @__PURE__ */ e(H, {}),
528
+ onClick: () => u(S),
529
+ disabled: h === S,
530
+ style: { padding: "0", gap: "3px", height: "20px", lineHeight: "20px" },
531
+ children: "초기화"
532
+ }
533
+ )
534
+ ]
535
+ }
536
+ ),
537
+ /* @__PURE__ */ e(
538
+ ce,
539
+ {
540
+ className: "theme-ctrl-slider",
541
+ marks: he,
542
+ value: h,
543
+ min: 0,
544
+ max: 2,
545
+ step: 1,
546
+ onChange: (b) => u(b)
547
+ }
548
+ )
549
+ ] }),
550
+ /* @__PURE__ */ s("div", { children: [
551
+ /* @__PURE__ */ s(
552
+ re,
553
+ {
554
+ justify: "space-between",
555
+ align: "center",
556
+ children: [
557
+ /* @__PURE__ */ e("span", { className: "sub-title", children: "그리드 크기" }),
558
+ /* @__PURE__ */ e(
559
+ B,
560
+ {
561
+ className: "bwg-btn",
562
+ type: "text",
563
+ size: "small",
564
+ icon: /* @__PURE__ */ e(H, {}),
565
+ onClick: () => p(_),
566
+ disabled: f === _,
567
+ style: { padding: "0", gap: "3px", height: "20px", lineHeight: "20px" },
568
+ children: "초기화"
569
+ }
570
+ )
571
+ ]
572
+ }
573
+ ),
574
+ /* @__PURE__ */ e(
575
+ ce,
576
+ {
577
+ className: "theme-ctrl-slider",
578
+ marks: he,
579
+ value: f,
580
+ min: 0,
581
+ max: 2,
582
+ step: 1,
583
+ onChange: (b) => p(b)
584
+ }
585
+ )
586
+ ] }),
587
+ /* @__PURE__ */ s("div", { children: [
588
+ /* @__PURE__ */ s(
589
+ re,
590
+ {
591
+ justify: "space-between",
592
+ align: "center",
593
+ children: [
594
+ /* @__PURE__ */ e("span", { className: "sub-title", children: "여백 조정" }),
595
+ /* @__PURE__ */ e(
596
+ B,
597
+ {
598
+ className: "bwg-btn",
599
+ type: "text",
600
+ size: "small",
601
+ icon: /* @__PURE__ */ e(H, {}),
602
+ onClick: () => d(O),
603
+ disabled: N === O,
604
+ style: { padding: "0", gap: "3px", height: "20px", lineHeight: "20px" },
605
+ children: "초기화"
606
+ }
607
+ )
608
+ ]
609
+ }
610
+ ),
611
+ /* @__PURE__ */ e(
612
+ ce,
613
+ {
614
+ className: "theme-ctrl-slider",
615
+ marks: he,
616
+ value: N,
617
+ min: 0,
618
+ max: 2,
619
+ step: 1,
620
+ onChange: (b) => d(b)
621
+ }
622
+ )
623
+ ] })
624
+ ] }),
625
+ /* @__PURE__ */ e(ke, { style: { margin: "20px 0 15px", borderBlockStart: "1px solid #dddddd" } }),
626
+ /* @__PURE__ */ s(
627
+ "div",
628
+ {
629
+ style: {
630
+ display: "flex",
631
+ justifyContent: "space-between",
632
+ alignItems: "center",
633
+ padding: "0 10px"
634
+ },
635
+ children: [
636
+ /* @__PURE__ */ e("span", { className: "sub-title", children: "화면 보호 활성화" }),
637
+ /* @__PURE__ */ e(
638
+ Ze,
639
+ {
640
+ checked: c,
641
+ onChange: I
642
+ }
643
+ )
644
+ ]
645
+ }
646
+ )
647
+ ]
648
+ }
649
+ ),
650
+ /* @__PURE__ */ e(ke, { style: { margin: "15px 0 20px", borderBlockStart: "1px solid #dddddd" } }),
651
+ /* @__PURE__ */ e("div", { style: { textAlign: "right" }, children: /* @__PURE__ */ e(
611
652
  B,
612
653
  {
654
+ className: "bwg-btn",
613
655
  type: "default",
614
- danger: !0,
615
656
  size: "small",
616
- icon: /* @__PURE__ */ e(oe, {}),
657
+ icon: /* @__PURE__ */ e(H, {}),
617
658
  onClick: () => {
618
- Jt({
659
+ Ut({
619
660
  title: "전체 그리드 레이아웃 초기화",
620
661
  content: "임의 변경한 그리드 레이아웃 변경사항을 초기화하시겠습니까? 기존 열려있는 화면들은 다시 열어야 적용됩니다.",
621
662
  onOk() {
622
- v();
663
+ C();
623
664
  }
624
665
  });
625
666
  },
626
- block: !0,
627
- style: { fontSize: "12px" },
628
667
  children: "전체 그리드 레이아웃 초기화"
629
668
  }
630
669
  ) })
631
670
  ]
632
671
  }
633
672
  );
634
- return /* @__PURE__ */ l(
635
- Xt,
673
+ return /* @__PURE__ */ s(
674
+ Zt,
636
675
  {
637
676
  className: o.wrapper.className,
638
677
  style: { ...o.wrapper.style },
@@ -658,7 +697,7 @@ const Ut = ({
658
697
  children: t
659
698
  }
660
699
  ),
661
- /* @__PURE__ */ l(
700
+ /* @__PURE__ */ s(
662
701
  "div",
663
702
  {
664
703
  className: "header-right",
@@ -667,12 +706,12 @@ const Ut = ({
667
706
  minWidth: o.right?.minWidth
668
707
  },
669
708
  children: [
670
- o.right?.items?.map((f, P) => /* @__PURE__ */ e("div", { children: f }, P)),
709
+ o.right?.items?.map((b, L) => /* @__PURE__ */ e("div", { children: b }, L)),
671
710
  o.right?.alarm?.visible && /* @__PURE__ */ e(
672
711
  B,
673
712
  {
674
713
  type: "text",
675
- icon: /* @__PURE__ */ e("img", { src: Yt, alt: "알림" }),
714
+ icon: /* @__PURE__ */ e("img", { src: Gt, alt: "알림" }),
676
715
  className: "alarm-btn",
677
716
  onClick: o.right?.alarm?.onClick
678
717
  }
@@ -680,16 +719,16 @@ const Ut = ({
680
719
  o.right?.theme?.visible && /* @__PURE__ */ e(
681
720
  Ye,
682
721
  {
683
- content: ee,
684
- title: "개인 설정",
722
+ content: J,
723
+ title: /* @__PURE__ */ e("span", { style: { display: "inline-block", fontSize: 16, color: "var(--text-primary)", lineHeight: "30px", marginBottom: "2px" }, children: "개인 설정" }),
685
724
  trigger: "click",
686
725
  placement: "bottomRight",
687
- onOpenChange: (f) => o.right?.theme?.onOpenChange?.(f),
726
+ onOpenChange: (b) => o.right?.theme?.onOpenChange?.(b),
688
727
  children: /* @__PURE__ */ e(
689
728
  B,
690
729
  {
691
730
  type: "text",
692
- icon: /* @__PURE__ */ e("img", { src: Qt, alt: "개인설정" }),
731
+ icon: /* @__PURE__ */ e("img", { src: Kt, alt: "개인설정" }),
693
732
  className: "theme-btn",
694
733
  onClick: o.right?.theme?.onClick
695
734
  }
@@ -700,7 +739,7 @@ const Ut = ({
700
739
  B,
701
740
  {
702
741
  type: "text",
703
- icon: /* @__PURE__ */ e("img", { src: qt, alt: "로그아웃" }),
742
+ icon: /* @__PURE__ */ e("img", { src: Vt, alt: "로그아웃" }),
704
743
  onClick: o.right?.logout?.onClick || K,
705
744
  className: "logout-btn"
706
745
  }
@@ -708,7 +747,7 @@ const Ut = ({
708
747
  o.right?.avatar?.visible && /* @__PURE__ */ e(
709
748
  qe,
710
749
  {
711
- icon: /* @__PURE__ */ e(dt, {}),
750
+ icon: /* @__PURE__ */ e(ct, {}),
712
751
  className: "avatar",
713
752
  style: {
714
753
  width: o.right?.avatar?.width,
@@ -723,7 +762,7 @@ const Ut = ({
723
762
  ]
724
763
  }
725
764
  );
726
- }, ye = /* @__PURE__ */ Object.freeze({
765
+ }, me = /* @__PURE__ */ Object.freeze({
727
766
  Translate: {
728
767
  toString(n) {
729
768
  if (!n)
@@ -749,7 +788,7 @@ const Ut = ({
749
788
  Transform: {
750
789
  toString(n) {
751
790
  if (n)
752
- return [ye.Translate.toString(n), ye.Scale.toString(n)].join(" ");
791
+ return [me.Translate.toString(n), me.Scale.toString(n)].join(" ");
753
792
  }
754
793
  },
755
794
  Transition: {
@@ -762,62 +801,62 @@ const Ut = ({
762
801
  return t + " " + r + "ms " + o;
763
802
  }
764
803
  }
765
- }), en = we(
804
+ }), Yt = ye(
766
805
  ({ className: n, ...t }) => {
767
- const r = J(null), {
806
+ const r = X(null), {
768
807
  attributes: o,
769
- listeners: s,
808
+ listeners: l,
770
809
  transform: a,
771
810
  transition: g,
772
- isDragging: c,
811
+ isDragging: h,
773
812
  setNodeRef: u
774
- } = Rt({ id: t["data-node-key"] }), [y, h] = $();
813
+ } = Tt({ id: t["data-node-key"] }), [f, p] = z();
775
814
  E(() => {
776
- const v = r.current;
777
- if (v)
778
- if (c) {
779
- const T = Math.round(v.getBoundingClientRect().width);
780
- h(T);
815
+ const C = r.current;
816
+ if (C)
817
+ if (h) {
818
+ const S = Math.round(C.getBoundingClientRect().width);
819
+ p(S);
781
820
  } else
782
- h(void 0);
783
- }, [c]);
784
- const k = {
821
+ p(void 0);
822
+ }, [h]);
823
+ const N = {
785
824
  ...t.style,
786
- transform: a ? ye.Transform.toString(a) : void 0,
825
+ transform: a ? me.Transform.toString(a) : void 0,
787
826
  transition: g ?? "transform 0.16s ease",
788
827
  cursor: "grab",
789
828
  userSelect: "none",
790
829
  willChange: "transform",
791
830
  // ✅ 드래그 중 픽셀 폭 고정 (flex 재계산 억제)
792
- width: y ?? void 0,
793
- minWidth: y ?? void 0,
794
- maxWidth: y ?? void 0,
795
- flex: y !== void 0 ? "0 0 auto" : void 0
796
- }, d = t.children, p = d.props?.className || "", m = t["data-gubun"] === "C" ? p ? `${p} tab-special` : "tab-special" : p;
797
- return ot(d, {
798
- ref: (v) => {
799
- r.current !== v && (r.current = v), u(v);
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);
800
839
  },
801
840
  className: m,
802
- style: k,
841
+ style: N,
803
842
  ...o,
804
- ...s
843
+ ...l
805
844
  });
806
845
  }
807
- ), tn = we(function({
846
+ ), qt = ye(function({
808
847
  config: t,
809
848
  isFirst: r,
810
849
  isLast: o,
811
- canCloseAll: s,
850
+ canCloseAll: l,
812
851
  onFirst: a,
813
852
  onPrev: g,
814
- onNext: c,
853
+ onNext: h,
815
854
  onLast: u,
816
- onCloseAll: y
855
+ onCloseAll: f
817
856
  }) {
818
- return /* @__PURE__ */ l("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
857
+ return /* @__PURE__ */ s("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
819
858
  /* @__PURE__ */ e(
820
- te,
859
+ ee,
821
860
  {
822
861
  title: "첫 번째 탭",
823
862
  className: t.tooltip?.className,
@@ -828,7 +867,7 @@ const Ut = ({
828
867
  className: t.buttons?.className,
829
868
  style: t.buttons?.style,
830
869
  size: "small",
831
- icon: /* @__PURE__ */ e(pt, {}),
870
+ icon: /* @__PURE__ */ e(dt, {}),
832
871
  onClick: a,
833
872
  disabled: r
834
873
  }
@@ -836,7 +875,7 @@ const Ut = ({
836
875
  }
837
876
  ),
838
877
  /* @__PURE__ */ e(
839
- te,
878
+ ee,
840
879
  {
841
880
  title: "이전 탭",
842
881
  className: t.tooltip?.className,
@@ -847,7 +886,7 @@ const Ut = ({
847
886
  className: t.buttons?.className,
848
887
  style: t.buttons?.style,
849
888
  size: "small",
850
- icon: /* @__PURE__ */ e(gt, {}),
889
+ icon: /* @__PURE__ */ e(ht, {}),
851
890
  onClick: g,
852
891
  disabled: r
853
892
  }
@@ -855,7 +894,7 @@ const Ut = ({
855
894
  }
856
895
  ),
857
896
  /* @__PURE__ */ e(
858
- te,
897
+ ee,
859
898
  {
860
899
  title: "다음 탭",
861
900
  className: t.tooltip?.className,
@@ -866,15 +905,15 @@ const Ut = ({
866
905
  className: t.buttons?.className,
867
906
  style: t.buttons?.style,
868
907
  size: "small",
869
- icon: /* @__PURE__ */ e(ft, {}),
870
- onClick: c,
908
+ icon: /* @__PURE__ */ e(ut, {}),
909
+ onClick: h,
871
910
  disabled: o
872
911
  }
873
912
  )
874
913
  }
875
914
  ),
876
915
  /* @__PURE__ */ e(
877
- te,
916
+ ee,
878
917
  {
879
918
  title: "마지막 탭",
880
919
  className: t.tooltip?.className,
@@ -885,7 +924,7 @@ const Ut = ({
885
924
  className: t.buttons?.className,
886
925
  style: t.buttons?.style,
887
926
  size: "small",
888
- icon: /* @__PURE__ */ e(bt, {}),
927
+ icon: /* @__PURE__ */ e(pt, {}),
889
928
  onClick: u,
890
929
  disabled: o
891
930
  }
@@ -893,7 +932,7 @@ const Ut = ({
893
932
  }
894
933
  ),
895
934
  /* @__PURE__ */ e(
896
- te,
935
+ ee,
897
936
  {
898
937
  title: "모든 탭 닫기",
899
938
  className: t.tooltip?.className,
@@ -904,15 +943,15 @@ const Ut = ({
904
943
  className: t.buttons?.className,
905
944
  style: t.buttons?.style,
906
945
  size: "small",
907
- icon: /* @__PURE__ */ e(ne, {}),
908
- onClick: y,
909
- disabled: !s
946
+ icon: /* @__PURE__ */ e(Ee, {}),
947
+ onClick: f,
948
+ disabled: !l
910
949
  }
911
950
  )
912
951
  }
913
952
  )
914
953
  ] });
915
- }), nn = ({
954
+ }), Qt = ({
916
955
  config: n = {}
917
956
  }) => {
918
957
  const t = {
@@ -940,49 +979,68 @@ const Ut = ({
940
979
  ...n?.nav
941
980
  },
942
981
  ...n
943
- }, r = O((i) => i.tabs), o = O((i) => i.activeMenuId), s = O((i) => i.pinnedTabs), a = O((i) => i.focusTab), g = O((i) => i.closeTab), c = O((i) => i.reorderTabs), u = O((i) => i.togglePinTab), y = O((i) => i.refreshTab), h = O((i) => i.closeOtherTabs), k = O((i) => i.closeRightTabs);
944
- O((i) => i.closeAllTabs);
945
- const d = St(
946
- Pt(Tt, { activationConstraint: { distance: 6 } })
947
- ), p = (i) => {
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) => {
948
987
  a(i);
949
- }, I = (i, x) => {
950
- x === "remove" && typeof i == "string" && g(i);
951
- }, b = () => {
988
+ }, I = (i, w) => {
989
+ w === "remove" && typeof i == "string" && g(i);
990
+ }, k = () => {
952
991
  r.length > 0 && a(r[0].key);
953
992
  }, m = () => {
954
993
  if (!o || r.length <= 1) return;
955
- const i = r.findIndex((x) => x.key === o);
994
+ const i = r.findIndex((w) => w.key === o);
956
995
  i > 0 && a(r[i - 1].key);
957
- }, v = () => {
996
+ }, C = () => {
958
997
  if (!o || r.length <= 1) return;
959
- const i = r.findIndex((x) => x.key === o);
998
+ const i = r.findIndex((w) => w.key === o);
960
999
  i < r.length - 1 && a(r[i + 1].key);
961
- }, T = () => {
1000
+ }, S = () => {
962
1001
  r.length > 0 && a(r[r.length - 1].key);
963
- }, D = () => {
1002
+ }, _ = () => {
964
1003
  r.forEach((i) => {
965
- s.has(i.key) || g(i.key);
1004
+ l.has(i.key) || g(i.key);
966
1005
  });
967
- }, R = z((i) => (x) => {
968
- x.preventDefault(), x.stopPropagation();
969
- }, []), w = z(
1006
+ }, O = R((i) => (w) => {
1007
+ w.preventDefault(), w.stopPropagation();
1008
+ }, []), x = R(
970
1009
  (i) => {
971
- const x = s.has(i), L = r.findIndex((re) => re.key === i), M = L >= 0 && L < r.length - 1, j = r.length > 1;
1010
+ const w = l.has(i), M = r.findIndex((ne) => ne.key === i), T = M >= 0 && M < r.length - 1, W = r.length > 1;
972
1011
  return [
973
1012
  {
974
1013
  key: "close",
975
1014
  label: "닫기",
976
- icon: /* @__PURE__ */ e(ne, {}),
1015
+ icon: /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1016
+ /* @__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
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1182", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1018
+ ] }),
977
1019
  onClick: () => {
978
- x || g(i);
1020
+ w || g(i);
979
1021
  },
980
- disabled: x
1022
+ disabled: w
981
1023
  },
982
1024
  {
983
1025
  key: "pin",
984
- label: x ? "고정 해제" : "고정",
985
- icon: /* @__PURE__ */ e(ut, {}),
1026
+ 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: [
1029
+ /* @__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
+ /* @__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
+ /* @__PURE__ */ e("path", { d: "M12.4502 4.70996L17.2902 9.54996", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1032
+ /* @__PURE__ */ e("path", { d: "M9.27996 12.72L4.70996 17.29", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1033
+ /* @__PURE__ */ e("path", { d: "M5.27979 5.27991L16.7198 16.7199", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" })
1034
+ ] }),
1035
+ /* @__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: [
1038
+ /* @__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
+ /* @__PURE__ */ e("path", { d: "M12.4502 4.70996L17.2902 9.54996", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1040
+ /* @__PURE__ */ e("path", { d: "M9.27996 12.72L4.70996 17.29", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" })
1041
+ ] }),
1042
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1186", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1043
+ ] }),
986
1044
  onClick: () => {
987
1045
  u(i);
988
1046
  }
@@ -990,9 +1048,12 @@ const Ut = ({
990
1048
  {
991
1049
  key: "refresh",
992
1050
  label: "새로고침",
993
- icon: /* @__PURE__ */ e(de, {}),
1051
+ icon: /* @__PURE__ */ s("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", children: [
1052
+ /* @__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
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1193", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1054
+ ] }),
994
1055
  onClick: () => {
995
- y(i);
1056
+ f(i);
996
1057
  }
997
1058
  },
998
1059
  {
@@ -1001,27 +1062,51 @@ const Ut = ({
1001
1062
  {
1002
1063
  key: "closeOthers",
1003
1064
  label: "다른 탭 닫기",
1004
- icon: /* @__PURE__ */ e(ne, {}),
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: [
1067
+ /* @__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
+ /* @__PURE__ */ e("path", { d: "M13.3598 7.36011H4.52979", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1069
+ /* @__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" })
1070
+ ] }),
1071
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1197", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1072
+ ] }),
1005
1073
  onClick: () => {
1006
- h(i);
1074
+ p(i);
1007
1075
  },
1008
- disabled: !j
1076
+ disabled: !W
1009
1077
  },
1010
1078
  {
1011
1079
  key: "closeRight",
1012
1080
  label: "우측 탭 닫기",
1013
- icon: /* @__PURE__ */ e(ne, {}),
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: [
1083
+ /* @__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
+ /* @__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
+ /* @__PURE__ */ e("path", { d: "M12.1699 6.76001H17.4199", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1086
+ /* @__PURE__ */ e("path", { d: "M17.4201 6.75996L15.3701 4.70996", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1087
+ /* @__PURE__ */ e("path", { d: "M17.4201 6.76001L15.3701 8.81001", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1088
+ /* @__PURE__ */ e("path", { d: "M4.49023 8.90002H13.3402", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" })
1089
+ ] }),
1090
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1204", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1091
+ ] }),
1014
1092
  onClick: () => {
1015
- k(i);
1093
+ N(i);
1016
1094
  },
1017
- disabled: !M
1095
+ disabled: !T
1018
1096
  },
1019
1097
  {
1020
1098
  key: "closeAll",
1021
1099
  label: "전체 닫기",
1022
- icon: /* @__PURE__ */ e(ht, {}),
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: [
1102
+ /* @__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
+ /* @__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
+ /* @__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" })
1105
+ ] }),
1106
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1409_1215", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1107
+ ] }),
1023
1108
  onClick: () => {
1024
- D();
1109
+ _();
1025
1110
  },
1026
1111
  disabled: r.length === 0
1027
1112
  }
@@ -1029,84 +1114,86 @@ const Ut = ({
1029
1114
  },
1030
1115
  [
1031
1116
  r,
1032
- s,
1117
+ l,
1033
1118
  g,
1034
1119
  u,
1035
- y,
1036
- h,
1037
- k
1120
+ f,
1121
+ p,
1122
+ N
1038
1123
  ]
1039
- ), G = o ? r.findIndex((i) => i.key === o) : -1, K = G === 0, U = G === r.length - 1, ee = _(
1124
+ ), $ = o ? r.findIndex((i) => i.key === o) : -1, K = $ === 0, H = $ === r.length - 1, J = F(
1040
1125
  () => r.map((i) => {
1041
- const x = s.has(i.key);
1126
+ const w = l.has(i.key);
1042
1127
  return {
1043
1128
  key: i.key,
1044
- label: /* @__PURE__ */ l("span", { style: { display: "flex", alignItems: "center", gap: 4 }, children: [
1045
- x && /* @__PURE__ */ e(
1046
- mt,
1047
- {
1048
- twoToneColor: Nt.default.yellow05,
1049
- style: { fontSize: "12px" }
1050
- }
1051
- ),
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: [
1132
+ /* @__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
+ /* @__PURE__ */ e("path", { d: "M12.4502 4.70996L17.2902 9.54996", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }),
1134
+ /* @__PURE__ */ e("path", { d: "M9.27996 12.72L4.70996 17.29", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })
1135
+ ] }),
1136
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e("clipPath", { id: "clip0_1413_1595", children: /* @__PURE__ */ e("rect", { width: "22", height: "22", fill: "white" }) }) })
1137
+ ] }),
1052
1138
  i.label
1053
1139
  ] }),
1054
- closable: !x,
1140
+ closable: !w,
1055
1141
  // 고정된 탭은 닫을 수 없음
1056
1142
  children: null
1057
1143
  // 컨텐츠는 Main 쪽에서 렌더 → 여기선 헤더만 필요
1058
1144
  };
1059
1145
  }),
1060
- [r, s]
1061
- ), [f, P] = $(null), N = z(({ active: i }) => {
1062
- P(null);
1063
- }, []), S = z(
1064
- ({ active: i, over: x }) => {
1065
- if (!x || i.id === x.id) return;
1066
- const L = r.findIndex((H) => H.key === i.id), M = r.findIndex((H) => H.key === x.id);
1067
- if (L < 0 || M < 0 || L === M) return;
1068
- const j = r.map((H) => H.key), re = Ot(j, L, M);
1069
- c?.(re);
1146
+ [r, l]
1147
+ ), [b, L] = z(null), v = R(({ active: i }) => {
1148
+ 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);
1153
+ if (M < 0 || T < 0 || M === T) return;
1154
+ const W = r.map((G) => G.key), ne = St(W, M, T);
1155
+ h?.(ne);
1070
1156
  },
1071
- [r, c]
1072
- ), C = z(
1073
- (i, x) => /* @__PURE__ */ e(
1074
- Lt,
1157
+ [r, h]
1158
+ ), y = R(
1159
+ (i, w) => /* @__PURE__ */ e(
1160
+ Nt,
1075
1161
  {
1076
1162
  sensors: d,
1077
- onDragStart: N,
1078
- onDragEnd: S,
1079
- collisionDetection: Mt,
1080
- modifiers: [Bt],
1163
+ onDragStart: v,
1164
+ onDragEnd: P,
1165
+ collisionDetection: It,
1166
+ modifiers: [Pt],
1081
1167
  children: /* @__PURE__ */ e(
1082
- Et,
1168
+ Lt,
1083
1169
  {
1084
- items: r.map((L) => L.key),
1085
- strategy: Dt,
1086
- children: /* @__PURE__ */ e(x, { ...i, children: (L) => {
1087
- const M = L.key, j = f === M, H = r.find((ue) => ue.key === M)?.gubun;
1170
+ 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;
1088
1174
  return /* @__PURE__ */ e(
1089
1175
  Qe,
1090
1176
  {
1091
- menu: { items: w(M) },
1177
+ rootClassName: "menu-tabs-dropdown",
1178
+ menu: { items: x(T) },
1092
1179
  trigger: ["contextMenu"],
1093
- open: j,
1094
- onOpenChange: (ue) => {
1095
- P(ue ? M : null);
1180
+ open: W,
1181
+ onOpenChange: (ae) => {
1182
+ L(ae ? T : null);
1096
1183
  },
1097
1184
  children: /* @__PURE__ */ e(
1098
1185
  "span",
1099
1186
  {
1100
- onContextMenu: R(M),
1101
- style: { display: "inline-block", width: "100%" },
1102
- children: /* @__PURE__ */ Oe(
1103
- en,
1187
+ onContextMenu: O(T),
1188
+ style: { display: "inline-block", width: "100%", height: "100%" },
1189
+ children: /* @__PURE__ */ Be(
1190
+ Yt,
1104
1191
  {
1105
- ...L.props,
1106
- key: L.key,
1107
- "data-gubun": H
1192
+ ...M.props,
1193
+ key: M.key,
1194
+ "data-gubun": G
1108
1195
  },
1109
- L
1196
+ M
1110
1197
  )
1111
1198
  }
1112
1199
  )
@@ -1119,12 +1206,12 @@ const Ut = ({
1119
1206
  ),
1120
1207
  [
1121
1208
  d,
1122
- N,
1123
- S,
1209
+ v,
1210
+ P,
1124
1211
  r,
1125
- f,
1126
- w,
1127
- R
1212
+ b,
1213
+ x,
1214
+ O
1128
1215
  ]
1129
1216
  );
1130
1217
  return /* @__PURE__ */ e(
@@ -1140,32 +1227,32 @@ const Ut = ({
1140
1227
  {
1141
1228
  type: "editable-card",
1142
1229
  activeKey: o || void 0,
1143
- onChange: p,
1230
+ onChange: c,
1144
1231
  onEdit: I,
1145
1232
  className: t.tabs.className,
1146
1233
  style: t.tabs.style,
1147
1234
  hideAdd: !0,
1148
- items: ee,
1235
+ items: J,
1149
1236
  tabBarExtraContent: /* @__PURE__ */ e(
1150
- tn,
1237
+ qt,
1151
1238
  {
1152
1239
  config: t?.nav,
1153
1240
  isFirst: !!K,
1154
- isLast: !!U,
1241
+ isLast: !!H,
1155
1242
  canCloseAll: r.length > 0,
1156
- onFirst: b,
1243
+ onFirst: k,
1157
1244
  onPrev: m,
1158
- onNext: v,
1159
- onLast: T,
1160
- onCloseAll: D
1245
+ onNext: C,
1246
+ onLast: S,
1247
+ onCloseAll: _
1161
1248
  }
1162
1249
  ),
1163
- renderTabBar: C
1250
+ renderTabBar: y
1164
1251
  }
1165
1252
  )
1166
1253
  }
1167
1254
  );
1168
- }, { Sider: rn } = X, on = ({
1255
+ }, { Sider: Xt } = Q, Jt = ({
1169
1256
  config: n = {}
1170
1257
  }) => {
1171
1258
  const t = {
@@ -1207,15 +1294,15 @@ const Ut = ({
1207
1294
  ...n?.style
1208
1295
  },
1209
1296
  ...n
1210
- }, [r, o] = $(""), [s, a] = $(
1297
+ }, [r, o] = z(""), [l, a] = z(
1211
1298
  "category"
1212
- ), [g, c] = $([]), { activeMenuId: u, sidebarCollapsed: y, openTabFromMenu: h, toggleSidebar: k } = O(), { menuList: d, isLoading: p, error: I, findMenuById: b, flatMenuList: m } = ce(), { nodes: v, treeNodes: T, loadFavoritesIfNeeded: D } = at(), R = _(() => {
1213
- const N = [], S = (C, i = 0) => {
1214
- if (C.menuGbCd === t.menuGubunCode.program && C.scrnPath) {
1215
- const x = " ".repeat(i), L = C.menuNo || "";
1216
- N.push({
1217
- value: C.menuId,
1218
- label: /* @__PURE__ */ l(
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(
1219
1306
  "div",
1220
1307
  {
1221
1308
  style: {
@@ -1224,9 +1311,9 @@ const Ut = ({
1224
1311
  alignItems: "center"
1225
1312
  },
1226
1313
  children: [
1227
- /* @__PURE__ */ l("span", { children: [
1228
- x,
1229
- C.menuNm
1314
+ /* @__PURE__ */ s("span", { children: [
1315
+ w,
1316
+ y.menuNm
1230
1317
  ] }),
1231
1318
  /* @__PURE__ */ e(
1232
1319
  "span",
@@ -1239,65 +1326,65 @@ const Ut = ({
1239
1326
  borderRadius: "3px",
1240
1327
  marginLeft: "8px"
1241
1328
  },
1242
- children: L
1329
+ children: M
1243
1330
  }
1244
1331
  )
1245
1332
  ]
1246
1333
  }
1247
1334
  ),
1248
- menuItem: C
1335
+ menuItem: y
1249
1336
  });
1250
1337
  }
1251
- C.children && C.children.length > 0 && C.children.forEach((x) => S(x, i + 1));
1338
+ y.children && y.children.length > 0 && y.children.forEach((w) => P(w, i + 1));
1252
1339
  };
1253
- return d.forEach((C) => S(C)), N;
1254
- }, [d]), w = _(() => r.trim() ? R.filter((N) => {
1255
- const S = N.menuItem.menuNm.toLowerCase(), C = String(N.menuItem.menuNo || "미지정").toLowerCase(), i = r.toLowerCase();
1256
- return S.includes(i) || C.includes(i);
1257
- }) : [], [R, r]), G = (N) => {
1258
- if (!N || typeof N != "string") {
1259
- console.warn("Invalid menu selection value:", N);
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);
1260
1347
  return;
1261
1348
  }
1262
- if (!/^[a-zA-Z0-9_-]+$/.test(N)) {
1263
- console.warn("Invalid menu ID format:", N);
1349
+ if (!/^[a-zA-Z0-9_-]+$/.test(v)) {
1350
+ console.warn("Invalid menu ID format:", v);
1264
1351
  return;
1265
1352
  }
1266
- const S = R.find(
1267
- (C) => C.value === N
1353
+ const P = O.find(
1354
+ (y) => y.value === v
1268
1355
  );
1269
- if (S) {
1270
- const { menuItem: C } = S;
1271
- if (!C || !C.menuId || !C.menuNm) {
1272
- console.warn("Invalid menu item:", C);
1356
+ if (P) {
1357
+ const { menuItem: y } = P;
1358
+ if (!y || !y.menuId || !y.menuNm) {
1359
+ console.warn("Invalid menu item:", y);
1273
1360
  return;
1274
1361
  }
1275
- C.menuGbCd === t.menuGubunCode.program && C.scrnPath ? (console.log(
1362
+ y.menuGbCd === t.menuGubunCode.program && y.scrnPath ? (console.log(
1276
1363
  "✅ 검색으로 프로그램 메뉴 선택 - 탭 추가 및 setCurrentProgram 호출"
1277
1364
  ), console.log(
1278
1365
  "메뉴명:",
1279
- C.menuNm,
1366
+ y.menuNm,
1280
1367
  "경로:",
1281
- C.scrnPath,
1368
+ y.scrnPath,
1282
1369
  "scrnId:",
1283
- C.scrnId
1284
- ), h(C)) : (C.menuGbCd === t.menuGubunCode.mainMenu || C.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", C.menuNm, "menuGbCd:", C.menuGbCd)), o("");
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("");
1285
1372
  }
1286
- }, K = z(
1287
- (N) => {
1288
- const S = b(N);
1289
- S?.menuGbCd === t.menuGubunCode.program && (console.log(
1373
+ }, K = R(
1374
+ (v) => {
1375
+ const P = k(v);
1376
+ P?.menuGbCd === t.menuGubunCode.program && (console.log(
1290
1377
  "메뉴명:",
1291
- S.menuNm,
1378
+ P.menuNm,
1292
1379
  "경로:",
1293
- S.scrnPath,
1380
+ P.scrnPath,
1294
1381
  "scrnId:",
1295
- S.scrnId
1296
- ), h(S));
1382
+ P.scrnId
1383
+ ), p(P));
1297
1384
  },
1298
- [b, h, t.menuGubunCode.program]
1299
- ), U = z((N) => N.map((S) => ({
1300
- key: S.menuId,
1385
+ [k, p, t.menuGubunCode.program]
1386
+ ), H = R((v) => v.map((P) => ({
1387
+ key: P.menuId,
1301
1388
  label: /* @__PURE__ */ e(
1302
1389
  "div",
1303
1390
  {
@@ -1306,24 +1393,21 @@ const Ut = ({
1306
1393
  justifyContent: "space-between",
1307
1394
  alignItems: "center"
1308
1395
  },
1309
- onDoubleClick: (i) => {
1310
- i.preventDefault(), i.stopPropagation();
1311
- },
1312
- children: /* @__PURE__ */ e("span", { children: S.menuNm })
1396
+ children: /* @__PURE__ */ e("span", { children: P.menuNm })
1313
1397
  }
1314
1398
  ),
1315
- icon: ee(S.iconCd, S.menuGbCd),
1316
- children: S.children && S.children.length > 0 ? U(S.children) : void 0
1317
- })), []), ee = (N, S) => {
1318
- if (N) {
1319
- const C = ae[N];
1320
- if (C)
1321
- return /* @__PURE__ */ e(C, {});
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, {});
1322
1406
  }
1323
- if (S)
1324
- switch (S) {
1407
+ if (P)
1408
+ switch (P) {
1325
1409
  case t.menuGubunCode.mainMenu:
1326
- return /* @__PURE__ */ e(ae.HomeOutlined, {});
1410
+ return /* @__PURE__ */ e(ie.HomeOutlined, {});
1327
1411
  case t.menuGubunCode.subMenu:
1328
1412
  return null;
1329
1413
  case t.menuGubunCode.program:
@@ -1332,66 +1416,66 @@ const Ut = ({
1332
1416
  return null;
1333
1417
  }
1334
1418
  return null;
1335
- }, f = z(
1336
- (N) => {
1419
+ }, b = R(
1420
+ (v) => {
1337
1421
  if (d.length === 0) return [];
1338
- const S = (i) => {
1422
+ const P = (i) => {
1339
1423
  if (i)
1340
- return typeof i == "string" ? v[i] : i;
1341
- }, C = (i) => {
1424
+ return typeof i == "string" ? C[i] : i;
1425
+ }, y = (i) => {
1342
1426
  if (i.type === "M") {
1343
- const x = i, L = b(x.menuId) || void 0, M = !!L, j = M ? `${L?.menuNm ?? x.menuNm ?? x.menuId}` : `${x.menuNm ?? x.menuId} (삭제됨)`;
1427
+ const w = i, M = k(w.menuId) || void 0, T = !!M, W = T ? `${M?.menuNm ?? w.menuNm ?? w.menuId}` : `${w.menuNm ?? w.menuId} (삭제됨)`;
1344
1428
  return {
1345
- key: x.menuId,
1346
- label: j,
1347
- icon: M ? void 0 : /* @__PURE__ */ e(xt, { style: { color: "#faad14" } })
1429
+ key: w.menuId,
1430
+ label: W,
1431
+ icon: T ? void 0 : /* @__PURE__ */ e(bt, { style: { color: "#faad14" } })
1348
1432
  };
1349
1433
  } else {
1350
- const x = i, L = (x.children ?? []).map(S).filter(Boolean).map(C);
1434
+ const w = i, M = (w.children ?? []).map(P).filter(Boolean).map(y);
1351
1435
  return {
1352
- key: x.bkmkId,
1353
- label: x.bkmkNm ?? x.bkmkId,
1354
- icon: x.prntBkmkId === "-" ? /* @__PURE__ */ e(wt, {}) : /* @__PURE__ */ e(kt, {}),
1355
- children: L
1436
+ key: w.bkmkId,
1437
+ label: w.bkmkNm ?? w.bkmkId,
1438
+ icon: w.prntBkmkId === "-" ? /* @__PURE__ */ e(yt, {}) : /* @__PURE__ */ e(Ct, {}),
1439
+ children: M
1356
1440
  // 빈 배열이면 자동으로 말아줌
1357
1441
  };
1358
1442
  }
1359
1443
  };
1360
- return N.map(C);
1444
+ return v.map(y);
1361
1445
  },
1362
- [b, v, d]
1363
- ), P = _(
1364
- () => f(T),
1365
- [f, T, v]
1446
+ [k, C, d]
1447
+ ), L = F(
1448
+ () => b(S),
1449
+ [b, S, C]
1366
1450
  );
1367
1451
  return E(() => {
1368
- Se() && D(Se());
1369
- }, [D]), E(() => {
1370
- s === "category" && o("");
1371
- }, [s]), E(() => {
1372
- if (!u || s !== "category") return;
1373
- const S = ((C) => {
1374
- const i = [], x = new Map(m.map((M) => [M.menuId, M]));
1375
- let L = C;
1376
- for (; L; ) {
1377
- const M = x.get(L);
1378
- if (!M) break;
1379
- if (M.menuPrntId && M.menuPrntId !== "-" && M.menuPrntId !== "")
1380
- i.push(M.menuPrntId), L = M.menuPrntId;
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;
1460
+ for (; M; ) {
1461
+ const T = w.get(M);
1462
+ if (!T) break;
1463
+ if (T.menuPrntId && T.menuPrntId !== "-" && T.menuPrntId !== "")
1464
+ i.push(T.menuPrntId), M = T.menuPrntId;
1381
1465
  else
1382
1466
  break;
1383
1467
  }
1384
1468
  return i;
1385
1469
  })(u);
1386
- S.length > 0 && c((C) => {
1387
- const i = /* @__PURE__ */ new Set([...C, ...S]);
1470
+ P.length > 0 && h((y) => {
1471
+ const i = /* @__PURE__ */ new Set([...y, ...P]);
1388
1472
  return Array.from(i);
1389
1473
  });
1390
- }, [u, s, m]), /* @__PURE__ */ l(
1391
- rn,
1474
+ }, [u, l, m]), /* @__PURE__ */ s(
1475
+ Xt,
1392
1476
  {
1393
1477
  className: t.className.wrapper,
1394
- collapsed: t.collapsed || y,
1478
+ collapsed: t.collapsed || f,
1395
1479
  trigger: null,
1396
1480
  width: t.width || 230,
1397
1481
  children: [
@@ -1419,7 +1503,7 @@ const Ut = ({
1419
1503
  B,
1420
1504
  {
1421
1505
  type: "text",
1422
- icon: t.collapsed || y ? /* @__PURE__ */ e(yt, {}) : /* @__PURE__ */ e(Ct, {}),
1506
+ icon: t.collapsed || f ? /* @__PURE__ */ e(mt, {}) : /* @__PURE__ */ e(gt, {}),
1423
1507
  style: {
1424
1508
  fontSize: "12px",
1425
1509
  color: "#787878",
@@ -1431,12 +1515,12 @@ const Ut = ({
1431
1515
  justifyContent: "center",
1432
1516
  borderRadius: "0 10px 10px 0"
1433
1517
  },
1434
- onClick: k
1518
+ onClick: N
1435
1519
  }
1436
1520
  )
1437
1521
  }
1438
1522
  ),
1439
- !(t.collapsed || y) && /* @__PURE__ */ e(
1523
+ !(t.collapsed || f) && /* @__PURE__ */ e(
1440
1524
  "div",
1441
1525
  {
1442
1526
  style: {
@@ -1446,13 +1530,13 @@ const Ut = ({
1446
1530
  Je,
1447
1531
  {
1448
1532
  value: r,
1449
- options: w,
1450
- onSelect: G,
1533
+ options: x,
1534
+ onSelect: $,
1451
1535
  onSearch: o,
1452
1536
  style: { width: "100%" },
1453
1537
  allowClear: !0,
1454
1538
  children: /* @__PURE__ */ e(
1455
- fe,
1539
+ ue,
1456
1540
  {
1457
1541
  className: t.className.search,
1458
1542
  placeholder: t.style.search.placeholder,
@@ -1486,7 +1570,7 @@ const Ut = ({
1486
1570
  )
1487
1571
  }
1488
1572
  ),
1489
- !(t.collapsed || y) && /* @__PURE__ */ e(
1573
+ !(t.collapsed || f) && /* @__PURE__ */ e(
1490
1574
  "div",
1491
1575
  {
1492
1576
  style: {
@@ -1500,13 +1584,13 @@ const Ut = ({
1500
1584
  className: t.className.segmented.wrapper,
1501
1585
  options: [
1502
1586
  {
1503
- label: /* @__PURE__ */ l(A, { children: [
1587
+ label: /* @__PURE__ */ s(j, { children: [
1504
1588
  /* @__PURE__ */ e(
1505
1589
  "span",
1506
1590
  {
1507
1591
  className: t.className.segmented.item,
1508
1592
  style: { display: "flex", alignItems: "center" },
1509
- children: /* @__PURE__ */ l(
1593
+ children: /* @__PURE__ */ s(
1510
1594
  "svg",
1511
1595
  {
1512
1596
  xmlns: "http://www.w3.org/2000/svg",
@@ -1555,7 +1639,7 @@ const Ut = ({
1555
1639
  value: "category"
1556
1640
  },
1557
1641
  {
1558
- label: /* @__PURE__ */ l(A, { children: [
1642
+ label: /* @__PURE__ */ s(j, { children: [
1559
1643
  /* @__PURE__ */ e(
1560
1644
  "span",
1561
1645
  {
@@ -1587,9 +1671,9 @@ const Ut = ({
1587
1671
  value: "favorite"
1588
1672
  }
1589
1673
  ],
1590
- value: s,
1591
- onChange: (N) => {
1592
- a(N);
1674
+ value: l,
1675
+ onChange: (v) => {
1676
+ a(v);
1593
1677
  },
1594
1678
  style: {
1595
1679
  width: "100%"
@@ -1599,8 +1683,8 @@ const Ut = ({
1599
1683
  )
1600
1684
  }
1601
1685
  ),
1602
- /* @__PURE__ */ l("div", { className: t.className.sider.content, children: [
1603
- p && /* @__PURE__ */ l(
1686
+ /* @__PURE__ */ s("div", { className: t.className.sider.content, children: [
1687
+ c && /* @__PURE__ */ s(
1604
1688
  "div",
1605
1689
  {
1606
1690
  className: t.className.sider.loading,
@@ -1612,7 +1696,7 @@ const Ut = ({
1612
1696
  },
1613
1697
  children: [
1614
1698
  /* @__PURE__ */ e(
1615
- tt,
1699
+ Le,
1616
1700
  {
1617
1701
  theme: {
1618
1702
  components: {
@@ -1621,7 +1705,7 @@ const Ut = ({
1621
1705
  }
1622
1706
  }
1623
1707
  },
1624
- children: /* @__PURE__ */ e(Q, { size: "default" })
1708
+ children: /* @__PURE__ */ e(q, { size: "default" })
1625
1709
  }
1626
1710
  ),
1627
1711
  /* @__PURE__ */ e(
@@ -1635,16 +1719,16 @@ const Ut = ({
1635
1719
  ]
1636
1720
  }
1637
1721
  ),
1638
- I && /* @__PURE__ */ l("div", { className: t.className.sider.error, children: [
1722
+ I && /* @__PURE__ */ s("div", { className: t.className.sider.error, children: [
1639
1723
  /* @__PURE__ */ e(
1640
- vt,
1724
+ ft,
1641
1725
  {
1642
1726
  className: t.className.sider.errorIcon
1643
1727
  }
1644
1728
  ),
1645
1729
  /* @__PURE__ */ e("div", { className: t.className.sider.errorText, children: "메뉴 로드 실패" })
1646
1730
  ] }),
1647
- !p && !I && s === "category" && d.length === 0 && /* @__PURE__ */ e(
1731
+ !c && !I && l === "category" && d.length === 0 && /* @__PURE__ */ e(
1648
1732
  "div",
1649
1733
  {
1650
1734
  style: {
@@ -1656,7 +1740,7 @@ const Ut = ({
1656
1740
  children: "메뉴가 없습니다"
1657
1741
  }
1658
1742
  ),
1659
- !p && !I && s === "favorite" && P.length === 0 && /* @__PURE__ */ e(
1743
+ !c && !I && l === "favorite" && L.length === 0 && /* @__PURE__ */ e(
1660
1744
  "div",
1661
1745
  {
1662
1746
  style: {
@@ -1668,28 +1752,34 @@ const Ut = ({
1668
1752
  children: "즐겨찾기된 메뉴가 없습니다"
1669
1753
  }
1670
1754
  ),
1671
- !p && !I && s === "category" && d.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1672
- be,
1755
+ !c && !I && l === "category" && d.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1756
+ pe,
1673
1757
  {
1674
1758
  theme: "light",
1675
1759
  mode: "inline",
1676
- items: U(d),
1760
+ items: H(d),
1677
1761
  className: t.className.sider.menu,
1678
1762
  selectedKeys: [u || ""],
1679
1763
  openKeys: g,
1680
- onOpenChange: c,
1681
- onClick: (N) => K(N.key)
1764
+ onOpenChange: h,
1765
+ onClick: (v) => K(v.key),
1766
+ onDoubleClick: (v) => {
1767
+ v.preventDefault(), v.stopPropagation();
1768
+ }
1682
1769
  }
1683
1770
  ) }),
1684
- !p && !I && s === "favorite" && P.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1685
- be,
1771
+ !c && !I && l === "favorite" && L.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1772
+ pe,
1686
1773
  {
1687
1774
  theme: "light",
1688
1775
  mode: "inline",
1689
- items: P,
1776
+ items: L,
1690
1777
  className: t.className.sider.menu,
1691
1778
  selectedKeys: [u || ""],
1692
- onClick: (N) => K(N.key)
1779
+ onClick: (v) => K(v.key),
1780
+ onDoubleClick: (v) => {
1781
+ v.preventDefault(), v.stopPropagation();
1782
+ }
1693
1783
  }
1694
1784
  ) })
1695
1785
  ] })
@@ -1697,7 +1787,7 @@ const Ut = ({
1697
1787
  }
1698
1788
  );
1699
1789
  };
1700
- class sn extends it {
1790
+ class en extends ot {
1701
1791
  constructor(t) {
1702
1792
  super(t), this.resetError = () => {
1703
1793
  this.setState({ hasError: !1, error: void 0, errorInfo: void 0 });
@@ -1713,7 +1803,7 @@ class sn extends it {
1713
1803
  });
1714
1804
  }
1715
1805
  render() {
1716
- return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ l(
1806
+ return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ s(
1717
1807
  "div",
1718
1808
  {
1719
1809
  style: {
@@ -1737,7 +1827,7 @@ class sn extends it {
1737
1827
  B,
1738
1828
  {
1739
1829
  type: "primary",
1740
- icon: /* @__PURE__ */ e(de, {}),
1830
+ icon: /* @__PURE__ */ e(we, {}),
1741
1831
  onClick: this.resetError,
1742
1832
  style: { marginRight: 8 },
1743
1833
  children: "다시 시도"
@@ -1747,7 +1837,7 @@ class sn extends it {
1747
1837
  ]
1748
1838
  }
1749
1839
  ),
1750
- this.state.error && /* @__PURE__ */ l(
1840
+ this.state.error && /* @__PURE__ */ s(
1751
1841
  "details",
1752
1842
  {
1753
1843
  style: {
@@ -1782,13 +1872,13 @@ class sn extends it {
1782
1872
  ) : this.props.children;
1783
1873
  }
1784
1874
  }
1785
- const an = ({
1875
+ const tn = ({
1786
1876
  isActive: n,
1787
1877
  instance: t,
1788
1878
  params: r
1789
1879
  }) => {
1790
- const { activeMenuId: o, closeTab: s } = O(), a = () => {
1791
- o && s(o);
1880
+ const { activeMenuId: o, closeTab: l } = D(), a = () => {
1881
+ o && l(o);
1792
1882
  };
1793
1883
  return t ? /* @__PURE__ */ e(
1794
1884
  "div",
@@ -1804,7 +1894,7 @@ const an = ({
1804
1894
  transition: "opacity 0.2s ease-in-out",
1805
1895
  pointerEvents: n ? "auto" : "none"
1806
1896
  },
1807
- children: /* @__PURE__ */ e(sn, { children: /* @__PURE__ */ e(le, { fallback: null, children: t && Oe(t, { params: r }) }) })
1897
+ children: /* @__PURE__ */ e(en, { children: /* @__PURE__ */ e(se, { fallback: null, children: t && Be(t, { params: r }) }) })
1808
1898
  }
1809
1899
  ) : /* @__PURE__ */ e(
1810
1900
  "div",
@@ -1837,18 +1927,18 @@ const an = ({
1837
1927
  children: /* @__PURE__ */ e(
1838
1928
  Me,
1839
1929
  {
1840
- icon: /* @__PURE__ */ e(Ie, { twoToneColor: "#69b1ff" }),
1930
+ icon: /* @__PURE__ */ e(ve, { twoToneColor: "#69b1ff" }),
1841
1931
  status: "warning",
1842
1932
  title: "등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",
1843
- subTitle: /* @__PURE__ */ e(xe.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1844
- extra: /* @__PURE__ */ e(q, { children: /* @__PURE__ */ e(B, { icon: /* @__PURE__ */ e(ne, {}), onClick: a, children: "탭 닫기" }) })
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: "탭 닫기" }) })
1845
1935
  }
1846
1936
  )
1847
1937
  }
1848
1938
  )
1849
1939
  }
1850
1940
  );
1851
- }, ln = we(an), cn = ({
1941
+ }, nn = ye(tn), rn = ({
1852
1942
  menuGubunCode: n = {
1853
1943
  mainMenu: "MAIN",
1854
1944
  subMenu: "SUB",
@@ -1858,48 +1948,48 @@ const an = ({
1858
1948
  style: r,
1859
1949
  routeMap: o
1860
1950
  }) => {
1861
- const { menuList: s, findMenuById: a, flatMenuList: g } = ce(), { activeMenuId: c } = O(), u = ve(), [y, h] = $([]), k = z(
1862
- (b, m) => {
1863
- if (b) {
1864
- const v = ae[b];
1865
- if (v)
1866
- return /* @__PURE__ */ e(v, {});
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, {});
1867
1957
  }
1868
1958
  if (m)
1869
1959
  switch (m) {
1870
1960
  case n.mainMenu:
1871
- return /* @__PURE__ */ e(ae.HomeOutlined, {});
1961
+ return /* @__PURE__ */ e(ie.HomeOutlined, {});
1872
1962
  default:
1873
1963
  return null;
1874
1964
  }
1875
1965
  return null;
1876
1966
  },
1877
1967
  [n]
1878
- ), d = z(
1879
- (b) => b.map((m) => {
1880
- const v = m.children && m.children.length === 1 && m.children[0].menuGbCd === n.program;
1968
+ ), d = R(
1969
+ (k) => k.map((m) => {
1970
+ const C = m.children && m.children.length === 1 && m.children[0].menuGbCd === n.program;
1881
1971
  return {
1882
1972
  key: m.menuId,
1883
1973
  label: m.menuNm,
1884
- icon: k(m.iconCd, m.menuGbCd),
1974
+ icon: N(m.iconCd, m.menuGbCd),
1885
1975
  // children이 1개이고 program이면 드롭다운 없음, 2개 이상이면 드롭다운 표시
1886
- children: m.children && m.children.length > 0 && !v ? d(m.children) : void 0
1976
+ children: m.children && m.children.length > 0 && !C ? d(m.children) : void 0
1887
1977
  };
1888
1978
  }),
1889
- [k, n]
1890
- ), p = _(() => d(s), [s, d]), I = z(
1891
- (b) => {
1892
- const m = a(b.key);
1979
+ [N, n]
1980
+ ), c = F(() => d(l), [l, d]), I = R(
1981
+ (k) => {
1982
+ const m = a(k.key);
1893
1983
  if (m) {
1894
1984
  if (m.children && m.children.length === 1 && m.children[0].menuGbCd === n.program) {
1895
- const v = m.children[0];
1896
- let T = o?.[v.menuId] || v.scrnPath || "/";
1897
- T === "/" ? T = "/main" : T.startsWith("/main") || (T = T.startsWith("/") ? `/main${T}` : `/main/${T}`), u(T);
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);
1898
1988
  return;
1899
1989
  }
1900
1990
  if (m.menuGbCd === n.program && m.scrnPath) {
1901
- let v = o?.[m.menuId] || m.scrnPath || "/";
1902
- v === "/" ? v = "/main" : v.startsWith("/main") || (v = v.startsWith("/") ? `/main${v}` : `/main/${v}`), u(v);
1991
+ let C = o?.[m.menuId] || m.scrnPath || "/";
1992
+ C === "/" ? C = "/main" : C.startsWith("/main") || (C = C.startsWith("/") ? `/main${C}` : `/main/${C}`), u(C);
1903
1993
  return;
1904
1994
  }
1905
1995
  }
@@ -1907,38 +1997,38 @@ const an = ({
1907
1997
  [a, n, u, o]
1908
1998
  );
1909
1999
  return E(() => {
1910
- if (!c || t !== "vertical") return;
1911
- const m = ((v) => {
1912
- const T = [], D = new Map(g.map((w) => [w.menuId, w]));
1913
- let R = v;
1914
- for (; R; ) {
1915
- const w = D.get(R);
1916
- if (!w) break;
1917
- if (w.menuPrntId && w.menuPrntId !== "-" && w.menuPrntId !== "")
1918
- T.push(w.menuPrntId), R = w.menuPrntId;
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);
2006
+ if (!x) break;
2007
+ if (x.menuPrntId && x.menuPrntId !== "-" && x.menuPrntId !== "")
2008
+ S.push(x.menuPrntId), O = x.menuPrntId;
1919
2009
  else
1920
2010
  break;
1921
2011
  }
1922
- return T;
1923
- })(c);
1924
- m.length > 0 && h((v) => {
1925
- const T = /* @__PURE__ */ new Set([...v, ...m]);
1926
- return Array.from(T);
2012
+ return S;
2013
+ })(h);
2014
+ m.length > 0 && p((C) => {
2015
+ const S = /* @__PURE__ */ new Set([...C, ...m]);
2016
+ return Array.from(S);
1927
2017
  });
1928
- }, [c, t, g]), /* @__PURE__ */ e(
1929
- be,
2018
+ }, [h, t, g]), /* @__PURE__ */ e(
2019
+ pe,
1930
2020
  {
1931
2021
  mode: t,
1932
2022
  theme: "light",
1933
- items: p,
1934
- selectedKeys: [c || ""],
1935
- openKeys: t === "vertical" ? y : void 0,
1936
- onOpenChange: t === "vertical" ? h : void 0,
2023
+ items: c,
2024
+ selectedKeys: [h || ""],
2025
+ openKeys: t === "vertical" ? f : void 0,
2026
+ onOpenChange: t === "vertical" ? p : void 0,
1937
2027
  onClick: I,
1938
2028
  style: r
1939
2029
  }
1940
2030
  );
1941
- }, dn = () => /* @__PURE__ */ l(A, { children: [
2031
+ }, on = () => /* @__PURE__ */ s(j, { children: [
1942
2032
  /* @__PURE__ */ e(
1943
2033
  "link",
1944
2034
  {
@@ -1948,62 +2038,62 @@ const an = ({
1948
2038
  }
1949
2039
  ),
1950
2040
  /* @__PURE__ */ e("div", { className: "LandingContainer-wrap", children: /* @__PURE__ */ e("div", { className: "inner", children: /* @__PURE__ */ e("div", { className: "content" }) }) })
1951
- ] }), un = (n, t) => {
2041
+ ] }), sn = (n, t) => {
1952
2042
  console.log("createPopupViewLoader 호출 - popupUrl:", n);
1953
- const o = ((s) => {
1954
- if (s.startsWith("/src/pages/views/popup/")) {
1955
- const c = s + ".tsx";
1956
- return console.log(`팝업 URL 변환: ${s} -> ${c}`), c;
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;
1957
2047
  }
1958
- const g = `/src/pages/views/popup/${s.startsWith("/") ? s.substring(1) : s}.tsx`;
1959
- return console.log(`팝업 URL 변환: ${s} -> ${g}`), g;
2048
+ const g = `/src/pages/views/popup/${l.startsWith("/") ? l.substring(1) : l}.tsx`;
2049
+ return console.log(`팝업 URL 변환: ${l} -> ${g}`), g;
1960
2050
  })(n);
1961
2051
  return !o || !t?.glob || !t.glob[o] ? (console.warn(`팝업 뷰를 찾을 수 없습니다: ${n} (${o})`), console.warn("사용 가능한 팝업 뷰들:", Object.keys(t?.glob || {})), null) : t.glob[o];
1962
- }, hn = ({ popup: n, modules: t }) => {
1963
- const [r, o] = $(null), [s, a] = $(!1), [g, c] = $(null), u = () => {
1964
- console.log("PopupArea - handleClose:", n.popupId), ke.getState().closePopup(n.popupId);
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);
1965
2055
  };
1966
2056
  return E(() => {
1967
2057
  (async () => {
1968
- console.log("팝업 뷰 로드 시작:", n.popupUrl), a(!0), c(null);
2058
+ console.log("팝업 뷰 로드 시작:", n.popupUrl), a(!0), h(null);
1969
2059
  try {
1970
- const h = un(n.popupUrl, t);
1971
- if (!h) {
1972
- const p = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
1973
- console.error(p), c(p), a(!1);
2060
+ const p = sn(n.popupUrl, t);
2061
+ if (!p) {
2062
+ const c = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
2063
+ console.error(c), h(c), a(!1);
1974
2064
  return;
1975
2065
  }
1976
2066
  console.log("팝업 뷰 모듈 로드 중...");
1977
- const k = await h();
1978
- console.log("팝업 뷰 모듈 로드 완료:", k);
1979
- const d = k.default;
2067
+ const N = await p();
2068
+ console.log("팝업 뷰 모듈 로드 완료:", N);
2069
+ const d = N.default;
1980
2070
  if (console.log("팝업 뷰 컴포넌트:", d), !d)
1981
2071
  throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");
1982
2072
  o(() => d), console.log("팝업 뷰 설정 완료");
1983
- } catch (h) {
1984
- console.error("팝업 뷰 로드 실패:", h), c(h instanceof Error ? h.message : "팝업 뷰 로드 실패");
2073
+ } catch (p) {
2074
+ console.error("팝업 뷰 로드 실패:", p), h(p instanceof Error ? p.message : "팝업 뷰 로드 실패");
1985
2075
  } finally {
1986
2076
  a(!1);
1987
2077
  }
1988
2078
  })();
1989
- }, [n.popupUrl]), s ? /* @__PURE__ */ l("div", { className: "popup-loading", children: [
1990
- /* @__PURE__ */ e(Q, { size: "large" }),
2079
+ }, [n.popupUrl]), l ? /* @__PURE__ */ s("div", { className: "popup-loading", children: [
2080
+ /* @__PURE__ */ e(q, { size: "large" }),
1991
2081
  /* @__PURE__ */ e("p", { children: "팝업을 로드하는 중..." })
1992
- ] }) : g ? /* @__PURE__ */ l("div", { className: "popup-error", children: [
1993
- /* @__PURE__ */ e(pe, { description: g, image: pe.PRESENTED_IMAGE_SIMPLE }),
2082
+ ] }) : g ? /* @__PURE__ */ s("div", { className: "popup-error", children: [
2083
+ /* @__PURE__ */ e(de, { description: g, image: de.PRESENTED_IMAGE_SIMPLE }),
1994
2084
  /* @__PURE__ */ e(
1995
2085
  B,
1996
2086
  {
1997
- icon: /* @__PURE__ */ e(de, {}),
2087
+ icon: /* @__PURE__ */ e(we, {}),
1998
2088
  onClick: () => window.location.reload(),
1999
2089
  children: "다시 시도"
2000
2090
  }
2001
2091
  )
2002
2092
  ] }) : r ? /* @__PURE__ */ e(
2003
- le,
2093
+ se,
2004
2094
  {
2005
- fallback: /* @__PURE__ */ l("div", { className: "popup-loading", children: [
2006
- /* @__PURE__ */ e(Q, { size: "large" }),
2095
+ fallback: /* @__PURE__ */ s("div", { className: "popup-loading", children: [
2096
+ /* @__PURE__ */ e(q, { size: "large" }),
2007
2097
  /* @__PURE__ */ e("p", { children: "컴포넌트를 로드하는 중..." })
2008
2098
  ] }),
2009
2099
  children: /* @__PURE__ */ e(
@@ -2018,14 +2108,14 @@ const an = ({
2018
2108
  }
2019
2109
  )
2020
2110
  }
2021
- ) : /* @__PURE__ */ e("div", { className: "popup-empty", children: /* @__PURE__ */ e(pe, { description: "팝업 내용을 불러올 수 없습니다." }) });
2022
- }, mn = ({ modules: n }) => {
2023
- const { popups: t } = ke();
2024
- return t.length === 0 ? null : /* @__PURE__ */ e(A, { children: t.map((r) => {
2111
+ ) : /* @__PURE__ */ e("div", { className: "popup-empty", children: /* @__PURE__ */ e(de, { description: "팝업 내용을 불러올 수 없습니다." }) });
2112
+ }, an = ({ modules: n }) => {
2113
+ const { popups: t } = Ce();
2114
+ return t.length === 0 ? null : /* @__PURE__ */ e(j, { children: t.map((r) => {
2025
2115
  if (r.isLocal || r.popupCode.startsWith("CORE_"))
2026
2116
  return null;
2027
- const o = r.config || {}, s = o.width || r.width || 800, a = o.height || r.height || 600, g = o.title || r.popupTitle, c = r.buttonList?.map((u, y) => ({
2028
- key: u.btnId || `btn_${y}`,
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}`,
2029
2119
  text: u.btnNm,
2030
2120
  type: u.btnId === "CLOSE" ? "default" : "primary",
2031
2121
  disabled: u.enblYn !== "Y",
@@ -2035,38 +2125,38 @@ const an = ({
2035
2125
  popupId: r.popupId,
2036
2126
  popupCode: r.popupCode,
2037
2127
  title: g,
2038
- width: s,
2128
+ width: l,
2039
2129
  height: a,
2040
- buttons: c
2041
- }), /* @__PURE__ */ e(Ce, { children: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(hn, { popup: r, modules: n }) }, r.popupId) }, `sbp-${r.popupId}`);
2130
+ buttons: h
2131
+ }), /* @__PURE__ */ e(ge, { children: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(ln, { popup: r, modules: n }) }, r.popupId) }, `sbp-${r.popupId}`);
2042
2132
  }) });
2043
- }, Ae = () => {
2044
- const { popups: n, closePopup: t } = ke();
2045
- return /* @__PURE__ */ e(A, { children: n.map((r) => {
2133
+ }, je = () => {
2134
+ const { popups: n, closePopup: t } = Ce();
2135
+ return /* @__PURE__ */ e(j, { children: n.map((r) => {
2046
2136
  if (!(r.isLocal || r.popupCode.startsWith("CORE_"))) return null;
2047
- const o = Vt[r.popupCode];
2137
+ const o = Ht[r.popupCode];
2048
2138
  if (!o) return null;
2049
- const s = o.component;
2050
- return /* @__PURE__ */ e(Ce, { children: /* @__PURE__ */ e(le, { fallback: null, children: /* @__PURE__ */ e(s, { popup: r, onClose: () => t(r.popupId) }) }, r.popupId) }, `sbp-${r.popupId}`);
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}`);
2051
2141
  }) });
2052
- }, pn = (n) => ({
2142
+ }, cn = (n) => ({
2053
2143
  position: "absolute",
2054
2144
  inset: 0,
2055
2145
  visibility: n ? "visible" : "hidden",
2056
2146
  opacity: n ? 1 : 0,
2057
2147
  transition: "opacity 0.2s ease-in-out",
2058
2148
  pointerEvents: n ? "auto" : "none"
2059
- }), gn = ({ once: n = !0 }) => {
2060
- const { lock: t } = Ge(), r = J(!1);
2149
+ }), dn = ({ once: n = !0 }) => {
2150
+ const { lock: t } = $e(), r = X(!1);
2061
2151
  return E(() => {
2062
2152
  n && r.current || (r.current = !0, t());
2063
2153
  }, [n, t]), null;
2064
- }, fn = ({ isActive: n, flagged: t, tabKey: r, onUnlock: o, children: s }) => {
2065
- const a = J(null), [g, c] = $(!1), u = z((h) => {
2066
- a.current = h, c(!!h);
2067
- }, []), y = pn(n);
2068
- return /* @__PURE__ */ e("div", { ref: u, style: y, children: g ? /* @__PURE__ */ l(
2069
- Fe,
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(
2159
+ He,
2070
2160
  {
2071
2161
  idleMs: Number.POSITIVE_INFINITY,
2072
2162
  persistLocked: !1,
@@ -2076,12 +2166,12 @@ const an = ({
2076
2166
  overlayId: `tab-overlay-${r}`,
2077
2167
  onUnlock: async () => (o(), !0),
2078
2168
  children: [
2079
- n && t ? /* @__PURE__ */ e(gn, { once: !0 }) : null,
2080
- s
2169
+ n && t ? /* @__PURE__ */ e(dn, { once: !0 }) : null,
2170
+ l
2081
2171
  ]
2082
2172
  }
2083
- ) : s });
2084
- }, Dn = ({
2173
+ ) : l });
2174
+ }, Mn = ({
2085
2175
  config: n = {},
2086
2176
  modules: t = {
2087
2177
  view: {
@@ -2092,45 +2182,53 @@ const an = ({
2092
2182
  }
2093
2183
  }
2094
2184
  }) => {
2095
- const r = J(
2185
+ const r = X(
2096
2186
  /* @__PURE__ */ new Map()
2097
2187
  ), {
2098
2188
  tabs: o,
2099
- tabParams: s,
2189
+ tabParams: l,
2100
2190
  activeMenuId: a,
2101
2191
  tabProtectFlag: g,
2102
- refreshTabKey: c,
2192
+ refreshTabKey: h,
2103
2193
  clearProtectFlagForKey: u
2104
- } = O(), { enableProtectWrapper: y } = Ee(), h = z(
2194
+ } = D(), { enableProtectWrapper: f } = De(), p = R(
2105
2195
  (d) => {
2106
- const p = r.current.get(d.key);
2107
- if (p) return p;
2196
+ const c = r.current.get(d.key);
2197
+ if (c) return c;
2108
2198
  const I = d.gubun === "M" ? `${t.view.path}${d.menuItem?.scrnPath}.tsx` : `${t.view.path}${d.componentItem?.scrnPath}.tsx`;
2109
- let b = t.view?.glob?.[I];
2110
- if (!b && typeof import.meta < "u" && typeof import.meta.glob == "function" && (b = (/* @__PURE__ */ Object.assign({}))[I]), b) {
2111
- const m = W(
2112
- b
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
2113
2203
  );
2114
2204
  return r.current.set(d.key, m), m;
2115
2205
  }
2116
2206
  return null;
2117
2207
  },
2118
2208
  [t.view?.glob]
2119
- ), k = J({});
2209
+ ), N = X({});
2120
2210
  return E(() => {
2121
- const d = k.current, p = c;
2122
- Object.keys(p).forEach((I) => {
2123
- const b = d[I], m = p[I];
2124
- b !== m && r.current.delete(I);
2125
- }), k.current = { ...p };
2126
- }, [c]), /* @__PURE__ */ l(X, { className: "main-layout", children: [
2127
- /* @__PURE__ */ e(ze, { config: n?.header }),
2128
- /* @__PURE__ */ l(X, { children: [
2129
- /* @__PURE__ */ e(on, { config: n?.sidebar }),
2130
- /* @__PURE__ */ l("div", { className: "content-container", children: [
2131
- /* @__PURE__ */ e(nn, { config: n?.menuTab }),
2132
- /* @__PURE__ */ l(Re, { config: n?.content, children: [
2133
- /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ l(
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;
2220
+ };
2221
+ return window.addEventListener("keydown", d, !0), () => {
2222
+ window.removeEventListener("keydown", d, !0);
2223
+ };
2224
+ }, []), /* @__PURE__ */ s(Q, { className: "main-layout", children: [
2225
+ /* @__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(
2134
2232
  "div",
2135
2233
  {
2136
2234
  style: {
@@ -2140,39 +2238,39 @@ const an = ({
2140
2238
  },
2141
2239
  children: [
2142
2240
  o.map((d) => {
2143
- const p = h(d), I = a === d.key, b = !!g?.[d.key], m = s[d.key] || {}, v = c[d.key], T = v !== void 0 ? `${d.key}-${v}` : d.key, D = /* @__PURE__ */ e(
2144
- ln,
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,
2145
2243
  {
2146
2244
  isActive: I,
2147
- instance: p || void 0,
2245
+ instance: c || void 0,
2148
2246
  params: m
2149
2247
  },
2150
- T
2248
+ S
2151
2249
  );
2152
- return /* @__PURE__ */ e(Ce, { children: y ? /* @__PURE__ */ e(
2153
- fn,
2250
+ return /* @__PURE__ */ e(ge, { children: f ? /* @__PURE__ */ e(
2251
+ hn,
2154
2252
  {
2155
2253
  isActive: I,
2156
- flagged: b,
2254
+ flagged: k,
2157
2255
  tabKey: d.key,
2158
2256
  onUnlock: () => u(d.key),
2159
- children: D
2257
+ children: _
2160
2258
  },
2161
2259
  d.key
2162
- ) : D }, `sbp-${d.key}`);
2260
+ ) : _ }, `sbp-${d.key}`);
2163
2261
  }),
2164
- (!a || o.length === 0) && /* @__PURE__ */ e(dn, {})
2262
+ (!a || o.length === 0) && /* @__PURE__ */ e(on, {})
2165
2263
  ]
2166
2264
  }
2167
2265
  ) }),
2168
- /* @__PURE__ */ e(Ae, {}),
2169
- /* @__PURE__ */ e(mn, { modules: t?.popup })
2266
+ /* @__PURE__ */ e(je, {}),
2267
+ /* @__PURE__ */ e(an, { modules: t?.popup })
2170
2268
  ] })
2171
2269
  ] })
2172
2270
  ] }),
2173
2271
  (n?.quickService?.visible ?? !0) && /* @__PURE__ */ e(Ke, {})
2174
2272
  ] });
2175
- }, bn = ({
2273
+ }, un = ({
2176
2274
  children: n,
2177
2275
  menuGubunCode: t = {
2178
2276
  mainMenu: "CMPRGRM",
@@ -2182,55 +2280,55 @@ const an = ({
2182
2280
  routeMap: r,
2183
2281
  routes: o
2184
2282
  }) => {
2185
- const s = je(), a = ve(), { flatMenuList: g, findMenuById: c } = ce(), u = _(() => {
2186
- const h = s.pathname, k = h.replace(/^\/main/, "") || "/";
2283
+ const l = We(), a = fe(), { flatMenuList: g, findMenuById: h } = le(), u = F(() => {
2284
+ const p = l.pathname, N = p.replace(/^\/main/, "") || "/";
2187
2285
  if (r) {
2188
2286
  const d = Object.keys(r).find(
2189
- (I) => r[I] === h
2287
+ (I) => r[I] === p
2190
2288
  );
2191
2289
  if (d)
2192
- return c(d);
2193
- const p = Object.keys(r).find((I) => (r[I].replace(/^\/main/, "") || "/") === k);
2194
- if (p)
2195
- return c(p);
2290
+ return h(d);
2291
+ const c = Object.keys(r).find((I) => (r[I].replace(/^\/main/, "") || "/") === N);
2292
+ if (c)
2293
+ return h(c);
2196
2294
  }
2197
2295
  return g.find(
2198
- (d) => d.menuGbCd === t.program && d.scrnPath && (d.scrnPath === k || d.scrnPath === h || h.endsWith(d.scrnPath) || k === d.scrnPath)
2296
+ (d) => d.menuGbCd === t.program && d.scrnPath && (d.scrnPath === N || d.scrnPath === p || p.endsWith(d.scrnPath) || N === d.scrnPath)
2199
2297
  );
2200
2298
  }, [
2201
- s.pathname,
2299
+ l.pathname,
2202
2300
  g,
2203
2301
  t.program,
2204
2302
  r,
2205
- c
2206
- ]), y = _(() => {
2303
+ h
2304
+ ]), f = F(() => {
2207
2305
  if (!u)
2208
2306
  return [];
2209
- const h = [], k = (p) => {
2210
- if (!p || !p.menuPrntId || p.menuPrntId === "-")
2307
+ const p = [], N = (c) => {
2308
+ if (!c || !c.menuPrntId || c.menuPrntId === "-")
2211
2309
  return [];
2212
- const I = c(p.menuPrntId);
2213
- return I ? [...k(I), I] : [];
2310
+ const I = h(c.menuPrntId);
2311
+ return I ? [...N(I), I] : [];
2214
2312
  };
2215
- return k(u).forEach((p) => {
2216
- if (p.menuGbCd === t.mainMenu || p.menuGbCd === t.subMenu) {
2313
+ return N(u).forEach((c) => {
2314
+ if (c.menuGbCd === t.mainMenu || c.menuGbCd === t.subMenu) {
2217
2315
  let I;
2218
- if (r && p.menuId && (I = r[p.menuId]), !I && o && p.scrnPath) {
2219
- const b = p.scrnPath.startsWith("/") ? p.scrnPath : `/${p.scrnPath}`, m = Object.keys(o).find(
2220
- (v) => v === b || v === `/main${b}`
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}`
2221
2319
  );
2222
2320
  m && (I = m.startsWith("/main") ? m : `/main${m.startsWith("/") ? m : `/${m}`}`);
2223
2321
  }
2224
- h.push({
2225
- title: p.menuNm,
2322
+ p.push({
2323
+ title: c.menuNm,
2226
2324
  onClick: I ? () => a(I) : void 0
2227
2325
  });
2228
2326
  }
2229
- }), h.push({
2327
+ }), p.push({
2230
2328
  title: u.menuNm
2231
- }), h;
2232
- }, [u, t, a, c]);
2233
- return /* @__PURE__ */ l(
2329
+ }), p;
2330
+ }, [u, t, a, h]);
2331
+ return /* @__PURE__ */ s(
2234
2332
  "div",
2235
2333
  {
2236
2334
  style: {
@@ -2239,10 +2337,10 @@ const an = ({
2239
2337
  },
2240
2338
  children: [
2241
2339
  /* @__PURE__ */ e(
2242
- nt,
2340
+ tt,
2243
2341
  {
2244
2342
  separator: ">",
2245
- items: y,
2343
+ items: f,
2246
2344
  style: { marginBottom: "16px" }
2247
2345
  }
2248
2346
  ),
@@ -2250,30 +2348,30 @@ const an = ({
2250
2348
  ]
2251
2349
  }
2252
2350
  );
2253
- }, Rn = ({ config: n = {} }) => {
2254
- const t = n?.header?.menu, r = t?.visible !== !1, o = t?.routes, s = _(() => {
2351
+ }, Tn = ({ config: n = {} }) => {
2352
+ const t = n?.header?.menu, r = t?.visible !== !1, o = t?.routes, l = F(() => {
2255
2353
  if (!o) return;
2256
- const a = {}, { flatMenuList: g } = ce.getState();
2257
- return g.forEach((c) => {
2258
- if (c.menuGbCd === t?.menuGubunCode?.program && c.scrnPath) {
2259
- const u = c.scrnPath.startsWith("/") ? c.scrnPath : `/${c.scrnPath}`, y = Object.keys(o).find((h) => {
2260
- const k = h === "/" ? "/" : h.startsWith("/") ? h : `/${h}`;
2261
- return k === u || k === `/main${u}` || u === k.replace(/^\/main/, "");
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/, "");
2262
2360
  });
2263
- if (y) {
2264
- const h = y === "/" ? "/main" : y.startsWith("/main") ? y : `/main${y.startsWith("/") ? y : `/${y}`}`;
2265
- a[c.menuId] = h;
2361
+ if (f) {
2362
+ const p = f === "/" ? "/main" : f.startsWith("/main") ? f : `/main${f.startsWith("/") ? f : `/${f}`}`;
2363
+ a[h.menuId] = p;
2266
2364
  }
2267
2365
  }
2268
2366
  }), a;
2269
2367
  }, [o, t?.menuGubunCode?.program]);
2270
- return /* @__PURE__ */ l(X, { className: "main-layout", children: [
2271
- /* @__PURE__ */ e(ze, { config: n?.header, children: r && /* @__PURE__ */ e(
2272
- cn,
2368
+ return /* @__PURE__ */ s(Q, { className: "main-layout", children: [
2369
+ /* @__PURE__ */ e(Re, { config: n?.header, children: r && /* @__PURE__ */ e(
2370
+ rn,
2273
2371
  {
2274
2372
  menuGubunCode: t?.menuGubunCode,
2275
2373
  mode: t?.style?.mode || "horizontal",
2276
- routeMap: s,
2374
+ routeMap: l,
2277
2375
  style: {
2278
2376
  border: "none",
2279
2377
  backgroundColor: "transparent",
@@ -2283,7 +2381,7 @@ const an = ({
2283
2381
  }
2284
2382
  }
2285
2383
  ) }),
2286
- /* @__PURE__ */ e("div", { className: "content-container", children: /* @__PURE__ */ l(Re, { config: n?.content, children: [
2384
+ /* @__PURE__ */ e("div", { className: "content-container", children: /* @__PURE__ */ s(Oe, { config: n?.content, children: [
2287
2385
  /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ e(
2288
2386
  "div",
2289
2387
  {
@@ -2292,17 +2390,17 @@ const an = ({
2292
2390
  width: "100%",
2293
2391
  height: "100%"
2294
2392
  },
2295
- children: /* @__PURE__ */ e(le, { fallback: /* @__PURE__ */ e("div", { children: "Loading..." }), children: /* @__PURE__ */ e(Le, { children: Object.entries(o || {}).map(([a, g]) => {
2296
- const c = a === "/" ? "" : a.replace(/^\/main/, "").replace(/^\//, "") || "";
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(/^\//, "") || "";
2297
2395
  return /* @__PURE__ */ e(
2298
- Y,
2396
+ U,
2299
2397
  {
2300
- path: c,
2398
+ path: h,
2301
2399
  element: /* @__PURE__ */ e(
2302
- bn,
2400
+ un,
2303
2401
  {
2304
2402
  menuGubunCode: t?.menuGubunCode,
2305
- routeMap: s,
2403
+ routeMap: l,
2306
2404
  routes: o,
2307
2405
  children: /* @__PURE__ */ e(g, {})
2308
2406
  }
@@ -2313,25 +2411,25 @@ const an = ({
2313
2411
  }) }) })
2314
2412
  }
2315
2413
  ) }),
2316
- /* @__PURE__ */ e(Ae, {})
2414
+ /* @__PURE__ */ e(je, {})
2317
2415
  ] }) })
2318
2416
  ] });
2319
2417
  };
2320
- function zn({
2418
+ function Bn({
2321
2419
  config: n,
2322
2420
  ui: t
2323
2421
  }) {
2324
- const { loading: r, capsOn: o, prefills: s, onKeyDown: a, doLogin: g } = lt(n), c = (u) => g(u);
2422
+ const { loading: r, capsOn: o, prefills: l, onKeyDown: a, doLogin: g } = lt(n), h = (u) => g(u);
2325
2423
  return E(() => {
2326
- se.getState().systemMap.length === 0 && se.getState().fetchSystemMap();
2327
- }, []), /* @__PURE__ */ e(A, { children: t({ onSubmit: c, loading: r, capsOn: o, onKeyDown: a, prefills: s }) });
2424
+ oe.getState().systemMap.length === 0 && oe.getState().fetchSystemMap();
2425
+ }, []), /* @__PURE__ */ e(j, { children: t({ onSubmit: h, loading: r, capsOn: o, onKeyDown: a, prefills: l }) });
2328
2426
  }
2329
- function An({
2427
+ function Dn({
2330
2428
  onSubmit: n,
2331
2429
  loading: t,
2332
2430
  capsOn: r,
2333
2431
  onKeyDown: o,
2334
- prefills: s,
2432
+ prefills: l,
2335
2433
  labels: a = {
2336
2434
  id: "ID 혹은 사번",
2337
2435
  pw: "비밀번호",
@@ -2339,15 +2437,15 @@ function An({
2339
2437
  login: "로그인"
2340
2438
  },
2341
2439
  header: g,
2342
- footer: c
2440
+ footer: h
2343
2441
  }) {
2344
2442
  const [u] = Z.useForm();
2345
2443
  return E(() => {
2346
- s && (s.id || s.pswr) && u.setFieldsValue({ id: s.id, pswr: s.pswr });
2347
- }, [s, u]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ l("div", { className: "login_wrap", children: [
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: [
2348
2446
  g || /* @__PURE__ */ e("div", { className: "logo_box" }),
2349
2447
  /* @__PURE__ */ e("div", { className: "login_title" }),
2350
- /* @__PURE__ */ e(Z, { form: u, onFinish: n, className: "login-form", children: /* @__PURE__ */ l(ie, { vertical: !0, children: [
2448
+ /* @__PURE__ */ e(Z, { form: u, onFinish: n, className: "login-form", children: /* @__PURE__ */ s(re, { vertical: !0, children: [
2351
2449
  /* @__PURE__ */ e(
2352
2450
  Z.Item,
2353
2451
  {
@@ -2359,7 +2457,7 @@ function An({
2359
2457
  message: "아이디는 공백이 들어갈 수 없습니다."
2360
2458
  }
2361
2459
  ],
2362
- children: /* @__PURE__ */ e(fe, { allowClear: !0, placeholder: a.id, onKeyDown: o })
2460
+ children: /* @__PURE__ */ e(ue, { allowClear: !0, placeholder: a.id, onKeyDown: o })
2363
2461
  }
2364
2462
  ),
2365
2463
  /* @__PURE__ */ e(
@@ -2368,7 +2466,7 @@ function An({
2368
2466
  name: "pswr",
2369
2467
  rules: [{ required: !0, message: "비밀번호를 입력하세요." }],
2370
2468
  children: /* @__PURE__ */ e(
2371
- fe.Password,
2469
+ ue.Password,
2372
2470
  {
2373
2471
  allowClear: !0,
2374
2472
  placeholder: a.pw,
@@ -2377,30 +2475,30 @@ function An({
2377
2475
  )
2378
2476
  }
2379
2477
  ),
2380
- /* @__PURE__ */ e(Z.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(rt, { children: a.remember }) }),
2478
+ /* @__PURE__ */ e(Z.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(nt, { children: a.remember }) }),
2381
2479
  /* @__PURE__ */ e("div", { className: r ? "caps-lock caps-lock-on" : "caps-lock", children: r ? "Caps Lock On" : "Caps Lock Off" }),
2382
2480
  /* @__PURE__ */ e(Z.Item, { children: /* @__PURE__ */ e(B, { type: "primary", htmlType: "submit", loading: t, block: !0, children: a.login }) })
2383
2481
  ] }) }),
2384
- c
2482
+ h
2385
2483
  ] }) });
2386
2484
  }
2387
- const { Text: V, Title: yn } = xe;
2388
- function $n({
2485
+ const { Text: V, Title: pn } = be;
2486
+ function En({
2389
2487
  loginConfig: n,
2390
2488
  loginParams: t,
2391
2489
  mainLogo: r,
2392
2490
  systemLogo: o,
2393
- onGoLogin: s,
2491
+ onGoLogin: l,
2394
2492
  onGoMain: a
2395
2493
  }) {
2396
- const { loginStatus: g, doSsoLogin: c } = ct(n);
2494
+ const { loginStatus: g, doSsoLogin: h } = at(n);
2397
2495
  E(() => {
2398
2496
  u();
2399
2497
  }, [t.userId]);
2400
- const u = () => c(t), y = ({
2401
- children: k
2402
- }) => /* @__PURE__ */ l(
2403
- yn,
2498
+ const u = () => h(t), f = ({
2499
+ children: N
2500
+ }) => /* @__PURE__ */ s(
2501
+ pn,
2404
2502
  {
2405
2503
  level: 4,
2406
2504
  style: {
@@ -2412,58 +2510,58 @@ function $n({
2412
2510
  children: [
2413
2511
  o && o,
2414
2512
  " ",
2415
- k
2513
+ N
2416
2514
  ]
2417
2515
  }
2418
- ), h = () => g === "LOADING" ? /* @__PURE__ */ l(A, { children: [
2419
- /* @__PURE__ */ e(Q, { size: "large", style: { margin: "10px 0" } }),
2420
- /* @__PURE__ */ l("div", { children: [
2421
- /* @__PURE__ */ e(y, { children: "로그인 중입니다." }),
2422
- /* @__PURE__ */ l(V, { children: [
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: [
2423
2521
  "인증 정보를 확인하는 중입니다.",
2424
2522
  /* @__PURE__ */ e("br", {}),
2425
2523
  "브라우저 창을 닫지 말아 주세요."
2426
2524
  ] })
2427
2525
  ] }),
2428
2526
  /* @__PURE__ */ e(V, { type: "secondary", style: { fontSize: 12 }, children: "인증이 완료되면 자동으로 다음 화면으로 이동합니다." }),
2429
- /* @__PURE__ */ e(B, { style: { marginTop: 8 }, onClick: s, children: "로그인 화면" })
2430
- ] }) : g === "SUCCESS" ? /* @__PURE__ */ l(A, { children: [
2431
- /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(De, { twoToneColor: "#52c41a" }) }),
2432
- /* @__PURE__ */ l("div", { children: [
2433
- /* @__PURE__ */ e(y, { children: "로그인에 성공했습니다." }),
2527
+ /* @__PURE__ */ e(B, { style: { marginTop: 8 }, onClick: l, children: "로그인 화면" })
2528
+ ] }) : g === "SUCCESS" ? /* @__PURE__ */ s(j, { children: [
2529
+ /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(_e, { twoToneColor: "#52c41a" }) }),
2530
+ /* @__PURE__ */ s("div", { children: [
2531
+ /* @__PURE__ */ e(f, { children: "로그인에 성공했습니다." }),
2434
2532
  /* @__PURE__ */ e(V, { children: "잠시만 기다려 주세요." })
2435
2533
  ] }),
2436
2534
  /* @__PURE__ */ e(V, { type: "secondary", style: { fontSize: 12 }, children: "잠시 후 자동으로 다음 화면으로 이동합니다." }),
2437
- /* @__PURE__ */ e(q, { style: { marginTop: 8, justifyContent: "center" }, children: /* @__PURE__ */ e(B, { type: "primary", onClick: a, children: "바로 이동하기" }) })
2438
- ] }) : g === "FAIL" ? /* @__PURE__ */ l(A, { children: [
2439
- /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(Ie, { twoToneColor: "#ff4d4f" }) }),
2440
- /* @__PURE__ */ l("div", { children: [
2441
- /* @__PURE__ */ e(y, { children: "로그인에 실패했습니다." }),
2442
- /* @__PURE__ */ l(V, { 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: [
2443
2541
  "인증 과정에서 오류가 발생했습니다.",
2444
2542
  /* @__PURE__ */ e("br", {}),
2445
2543
  "다시 시도해 주세요."
2446
2544
  ] })
2447
2545
  ] }),
2448
2546
  /* @__PURE__ */ e(V, { type: "secondary", style: { fontSize: 12 }, children: "문제가 지속되면 관리자에게 문의해 주세요." }),
2449
- /* @__PURE__ */ l(q, { style: { marginTop: 8, justifyContent: "center" }, children: [
2547
+ /* @__PURE__ */ s(Y, { style: { marginTop: 8, justifyContent: "center" }, children: [
2450
2548
  /* @__PURE__ */ e(
2451
2549
  B,
2452
2550
  {
2453
2551
  type: "primary",
2454
2552
  onClick: u,
2455
- icon: /* @__PURE__ */ e(de, {}),
2553
+ icon: /* @__PURE__ */ e(we, {}),
2456
2554
  children: "다시 시도"
2457
2555
  }
2458
2556
  ),
2459
- /* @__PURE__ */ e(B, { onClick: s, icon: /* @__PURE__ */ e(It, {}), children: "로그인 화면" })
2557
+ /* @__PURE__ */ e(B, { onClick: l, icon: /* @__PURE__ */ e(wt, {}), children: "로그인 화면" })
2460
2558
  ] })
2461
- ] }) : /* @__PURE__ */ l(A, { children: [
2462
- /* @__PURE__ */ e(Q, { size: "large", style: { margin: "10px 0" } }),
2559
+ ] }) : /* @__PURE__ */ s(j, { children: [
2560
+ /* @__PURE__ */ e(q, { size: "large", style: { margin: "10px 0" } }),
2463
2561
  /* @__PURE__ */ e(V, { children: "로그인 상태를 확인하는 중입니다." })
2464
2562
  ] });
2465
2563
  return E(() => {
2466
- se.getState().systemMap.length === 0 && se.getState().fetchSystemMap();
2564
+ oe.getState().systemMap.length === 0 && oe.getState().fetchSystemMap();
2467
2565
  }, []), /* @__PURE__ */ e(
2468
2566
  "div",
2469
2567
  {
@@ -2475,7 +2573,7 @@ function $n({
2475
2573
  background: "#f5f5f5"
2476
2574
  },
2477
2575
  children: /* @__PURE__ */ e(
2478
- Be,
2576
+ Te,
2479
2577
  {
2480
2578
  style: {
2481
2579
  width: 420,
@@ -2484,28 +2582,28 @@ function $n({
2484
2582
  borderRadius: 16,
2485
2583
  boxShadow: "0 8px 24px rgba(0,0,0,0.06)"
2486
2584
  },
2487
- children: /* @__PURE__ */ l(q, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2585
+ children: /* @__PURE__ */ s(Y, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2488
2586
  /* @__PURE__ */ e("div", { children: r && r }),
2489
- h()
2587
+ p()
2490
2588
  ] })
2491
2589
  }
2492
2590
  )
2493
2591
  }
2494
2592
  );
2495
2593
  }
2496
- const { Text: Te, Title: Cn } = xe;
2497
- function Wn({
2594
+ const { Text: Pe, Title: mn } = be;
2595
+ function _n({
2498
2596
  mode: n,
2499
2597
  mainLogo: t,
2500
2598
  systemLogo: r,
2501
2599
  newUserId: o,
2502
- onContinue: s,
2600
+ onContinue: l,
2503
2601
  onGoLogin: a
2504
2602
  }) {
2505
2603
  const g = ({
2506
- children: h
2507
- }) => /* @__PURE__ */ l(
2508
- Cn,
2604
+ children: p
2605
+ }) => /* @__PURE__ */ s(
2606
+ mn,
2509
2607
  {
2510
2608
  level: 4,
2511
2609
  style: {
@@ -2518,10 +2616,10 @@ function Wn({
2518
2616
  children: [
2519
2617
  r && r,
2520
2618
  " ",
2521
- h
2619
+ p
2522
2620
  ]
2523
2621
  }
2524
- ), { title: c, desc: u, subDesc: y } = n === "SESSION_CHANGED" ? {
2622
+ ), { title: h, desc: u, subDesc: f } = n === "SESSION_CHANGED" ? {
2525
2623
  title: "세션이 변경되었습니다.",
2526
2624
  desc: `이 브라우저에서 다른 계정으로 다시 로그인되었습니다.
2527
2625
  현재 창에서는 이전 계정을 더 이상 사용할 수 없습니다.`,
@@ -2543,7 +2641,7 @@ function Wn({
2543
2641
  background: "#f5f5f5"
2544
2642
  },
2545
2643
  children: /* @__PURE__ */ e(
2546
- Be,
2644
+ Te,
2547
2645
  {
2548
2646
  style: {
2549
2647
  width: 450,
@@ -2552,24 +2650,24 @@ function Wn({
2552
2650
  borderRadius: 16,
2553
2651
  boxShadow: "0 8px 24px rgba(0,0,0,0.06)"
2554
2652
  },
2555
- children: /* @__PURE__ */ l(q, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2653
+ children: /* @__PURE__ */ s(Y, { direction: "vertical", size: 16, style: { width: "100%" }, children: [
2556
2654
  /* @__PURE__ */ e("div", { children: t && t }),
2557
- /* @__PURE__ */ e("div", { style: { fontSize: 48 }, children: /* @__PURE__ */ e(Ie, { twoToneColor: "#faad14" }) }),
2558
- /* @__PURE__ */ l("div", { children: [
2559
- /* @__PURE__ */ e(g, { children: c }),
2560
- /* @__PURE__ */ e(Te, { children: u.split(`
2561
- `).map((h, k) => /* @__PURE__ */ l("span", { children: [
2562
- h,
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,
2563
2661
  /* @__PURE__ */ e("br", {})
2564
- ] }, k)) })
2662
+ ] }, N)) })
2565
2663
  ] }),
2566
- /* @__PURE__ */ e(Te, { type: "secondary", style: { fontSize: 12 }, children: y }),
2567
- /* @__PURE__ */ e(q, { style: { marginTop: 8, justifyContent: "center" }, children: s && o && /* @__PURE__ */ l(
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(
2568
2666
  B,
2569
2667
  {
2570
2668
  type: "primary",
2571
- icon: /* @__PURE__ */ e(De, {}),
2572
- onClick: s,
2669
+ icon: /* @__PURE__ */ e(_e, {}),
2670
+ onClick: l,
2573
2671
  children: [
2574
2672
  o,
2575
2673
  " 계정으로 계속 사용"
@@ -2583,23 +2681,23 @@ function Wn({
2583
2681
  );
2584
2682
  }
2585
2683
  export {
2586
- En as A,
2587
- Dn as B,
2588
- ln as C,
2589
- An as D,
2590
- cn as H,
2591
- On as L,
2592
- mn as P,
2593
- Rn as a,
2594
- zn as b,
2595
- $n as c,
2596
- Wn as d,
2597
- dn as e,
2598
- Re as f,
2599
- ze as g,
2600
- nn as h,
2601
- on as i,
2602
- bn as j,
2603
- fn as k,
2604
- Vt as l
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,
2696
+ Oe as f,
2697
+ Re as g,
2698
+ Qt as h,
2699
+ Jt as i,
2700
+ un as j,
2701
+ hn as k,
2702
+ Ht as l
2605
2703
  };