@bwg-ui/core 1.2.35 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/chunks/{CMSearchIntfGwP01-Duabg_5A.js → CMSearchIntfGwP01-BWm9OqAH.js} +28 -28
  2. package/dist/chunks/{CMSearchIntfGwP01-CMSQULsU.cjs → CMSearchIntfGwP01-CihGc5Q1.cjs} +1 -1
  3. package/dist/chunks/MenuReport-khjaUz1Q.cjs +1 -0
  4. package/dist/chunks/{MenuReport-B4EU1A6l.js → MenuReport-yYhMOHyq.js} +10 -10
  5. package/dist/chunks/common-components-DletnDTf.cjs +1109 -0
  6. package/dist/chunks/{common-components-DIpOkbb5.js → common-components-coAoWxE9.js} +12963 -12155
  7. package/dist/chunks/{layout-components-D2Fla5uu.js → layout-components-C1DG2B74.js} +982 -705
  8. package/dist/chunks/layout-components-C6KeWPIu.cjs +35 -0
  9. package/dist/chunks/provider-DrboIg2C.cjs +1 -0
  10. package/dist/chunks/provider-VCa8UGvF.js +446 -0
  11. package/dist/components/common/BwgDetail.d.ts.map +1 -1
  12. package/dist/components/common/BwgGrid.d.ts +17 -16
  13. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  14. package/dist/components/common/BwgPagination.d.ts.map +1 -1
  15. package/dist/components/common/BwgView.d.ts +3 -3
  16. package/dist/components/common/BwgView.d.ts.map +1 -1
  17. package/dist/components/common/index.cjs +1 -1
  18. package/dist/components/common/index.d.ts +4 -3
  19. package/dist/components/common/index.d.ts.map +1 -1
  20. package/dist/components/common/index.js +5 -5
  21. package/dist/components/common/type.d.ts +7 -0
  22. package/dist/components/common/type.d.ts.map +1 -1
  23. package/dist/components/core/BwgMaskedDate.d.ts +13 -0
  24. package/dist/components/core/BwgMaskedDate.d.ts.map +1 -0
  25. package/dist/components/core/{BwgMaskedPicker.d.ts → BwgMaskedRange.d.ts} +6 -4
  26. package/dist/components/core/BwgMaskedRange.d.ts.map +1 -0
  27. package/dist/components/core/index.cjs +1 -1
  28. package/dist/components/core/index.d.ts +4 -2
  29. package/dist/components/core/index.d.ts.map +1 -1
  30. package/dist/components/core/index.js +1219 -781
  31. package/dist/components/guide/index.cjs +1 -1
  32. package/dist/components/guide/index.js +2 -2
  33. package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
  34. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  35. package/dist/components/layout/custom/ConfigurableMenuTab.d.ts.map +1 -1
  36. package/dist/components/layout/extension/ContentWrapper.d.ts.map +1 -1
  37. package/dist/components/layout/index.cjs +1 -1
  38. package/dist/components/layout/index.js +1 -1
  39. package/dist/components/pages/syst/CMHldyCfg.d.ts.map +1 -1
  40. package/dist/components/popup/MenuReport.d.ts.map +1 -1
  41. package/dist/components/popup/SearchAddressP01.d.ts +30 -0
  42. package/dist/components/popup/SearchAddressP01.d.ts.map +1 -0
  43. package/dist/components/popup/SearchHolidayP01.d.ts +2 -2
  44. package/dist/components/popup/SearchHolidayP01.d.ts.map +1 -1
  45. package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -1
  46. package/dist/components/popup/index.cjs +1 -1
  47. package/dist/components/popup/index.d.ts +2 -0
  48. package/dist/components/popup/index.d.ts.map +1 -1
  49. package/dist/components/popup/index.js +6 -5
  50. package/dist/index.cjs +1 -1
  51. package/dist/index.js +270 -259
  52. package/dist/provider/contexts/BwgViewContext.d.ts +19 -0
  53. package/dist/provider/contexts/BwgViewContext.d.ts.map +1 -0
  54. package/dist/provider/contexts/index.d.ts +1 -0
  55. package/dist/provider/contexts/index.d.ts.map +1 -1
  56. package/dist/provider/hooks/index.d.ts +1 -0
  57. package/dist/provider/hooks/index.d.ts.map +1 -1
  58. package/dist/provider/hooks/useSizeConfig.d.ts +19 -0
  59. package/dist/provider/hooks/useSizeConfig.d.ts.map +1 -0
  60. package/dist/provider/index.cjs +1 -1
  61. package/dist/provider/index.js +22 -381
  62. package/dist/stores/index.cjs +2 -2
  63. package/dist/stores/index.d.ts +6 -0
  64. package/dist/stores/index.d.ts.map +1 -1
  65. package/dist/stores/index.js +279 -192
  66. package/dist/stores/menuViewStore.d.ts +6 -0
  67. package/dist/stores/menuViewStore.d.ts.map +1 -1
  68. package/dist/stores/userStore.d.ts +23 -0
  69. package/dist/stores/userStore.d.ts.map +1 -1
  70. package/dist/styles/assets/images/contents/icon/ico-tab-hashtag-grey.svg +11 -0
  71. package/dist/styles/assets/images/contents/icon/ico-tab-hashtag.svg +11 -0
  72. package/dist/styles/components.css +161 -60
  73. package/dist/styles/layout.css +1289 -1234
  74. package/dist/utils/{FileUtils.d.ts → fileUtils.d.ts} +1 -1
  75. package/dist/utils/fileUtils.d.ts.map +1 -0
  76. package/dist/utils/gridUtils.d.ts +45 -0
  77. package/dist/utils/gridUtils.d.ts.map +1 -0
  78. package/dist/utils/index.cjs +1 -1
  79. package/dist/utils/index.d.ts +12 -2
  80. package/dist/utils/index.d.ts.map +1 -1
  81. package/dist/utils/index.js +736 -664
  82. package/package.json +1 -1
  83. package/dist/chunks/MenuReport-5e2dMr_C.cjs +0 -1
  84. package/dist/chunks/common-components-D3-r7D-8.cjs +0 -1109
  85. package/dist/chunks/layout-components-pfHVy2at.cjs +0 -35
  86. package/dist/components/core/BwgMaskedPicker.d.ts.map +0 -1
  87. package/dist/utils/FileUtils.d.ts.map +0 -1
@@ -1,34 +1,38 @@
1
- import { jsxs as y, jsx as e, Fragment as V } from "react/jsx-runtime";
2
- import { ServiceCodeProvider as Ne, CommonCodeProvider as Ie, SearchBoxProvider as ie, ScreenProtectProvider as Pe, useLock as Se } from "../provider/index.js";
3
- import { Routes as ge, Route as Y, Navigate as Me, useNavigate as le, useLocation as Le } from "react-router-dom";
4
- import { G as Te, B as Be, Q as Ee } from "./common-components-DIpOkbb5.js";
5
- import { Spin as q, Layout as j, ColorPicker as Oe, Button as L, Divider as Re, Slider as te, Popover as ze, Avatar as De, Tabs as $e, Tooltip as K, AutoComplete as Ae, Input as oe, Segmented as Fe, ConfigProvider as We, Menu as se, Result as fe, Space as Ge, Typography as _e, Empty as ne, Breadcrumb as He, Form as H, Flex as Ve, Checkbox as je } from "antd";
6
- import { lazy as W, useEffect as E, useState as R, useRef as U, useMemo as F, useCallback as z, createElement as be, memo as ce, cloneElement as Ke, Component as Ue, Suspense as X } from "react";
7
- import { useLogout as Ze, useUserStore as Ye, useMenuViewStore as A, useMenuModelStore as J, useFavoriteStore as qe, usePopupStore as de, useLogin as Qe, useSystemStore as Xe } from "../stores/index.js";
8
- import * as Q from "@ant-design/icons";
9
- import { UserOutlined as Je, StepBackwardOutlined as et, LeftOutlined as tt, RightOutlined as nt, StepForwardOutlined as rt, CloseOutlined as ye, MenuUnfoldOutlined as ot, MenuFoldOutlined as st, ExclamationCircleOutlined as at, WarningOutlined as it, StarOutlined as lt, FolderOpenOutlined as ct, ReloadOutlined as Ce, ExclamationCircleTwoTone as dt } from "@ant-design/icons";
10
- import { getCookie as ut, getTodateString as ue, setCookie as mt, THEME_COOKIE_NAME as me, getUserId as he } from "../utils/index.js";
11
- import { useSensors as ht, useSensor as pt, PointerSensor as gt, DndContext as ft, closestCenter as bt } from "@dnd-kit/core";
12
- import { restrictToHorizontalAxis as yt } from "@dnd-kit/modifiers";
13
- import { arrayMove as Ct, SortableContext as vt, horizontalListSortingStrategy as wt, useSortable as xt } from "@dnd-kit/sortable";
14
- const kt = W(
15
- () => import("./MenuReport-B4EU1A6l.js")
16
- ), Nt = W(
17
- () => import("./common-components-DIpOkbb5.js").then((n) => n.$)
18
- ), It = W(
19
- () => import("./common-components-DIpOkbb5.js").then((n) => n.a0)
20
- ), Pt = W(
21
- () => import("./common-components-DIpOkbb5.js").then((n) => n.a1)
1
+ import { jsxs as C, jsx as e, Fragment as K } from "react/jsx-runtime";
2
+ import { o as Me, C as Le, S as pe, n as Be, m as Oe } from "./provider-VCa8UGvF.js";
3
+ import { Routes as xe, Route as te, Navigate as Ee, useNavigate as ge, useLocation as Re } from "react-router-dom";
4
+ import { G as De, B as ze, Q as Ae } from "./common-components-coAoWxE9.js";
5
+ import { Spin as re, Layout as Z, Button as B, Divider as ae, Flex as ne, Slider as le, Switch as We, Modal as $e, Popover as Fe, Avatar as _e, Dropdown as Ge, Tabs as He, Tooltip as X, AutoComplete as je, Input as ue, Segmented as Ve, ConfigProvider as Ue, Menu as me, Result as ke, Space as Ke, Typography as Ze, Empty as ce, Breadcrumb as Ye, Form as V, Checkbox as qe } from "antd";
6
+ import { lazy as W, useEffect as D, useRef as J, useCallback as R, useMemo as _, useState as A, createElement as Ie, memo as fe, cloneElement as Qe, Component as Xe, Suspense as se } from "react";
7
+ import { useLogout as Je, useUserStore as Ne, useMenuViewStore as O, useMenuModelStore as ie, useFavoriteStore as et, usePopupStore as be, useLogin as tt, useSystemStore as nt } from "../stores/index.js";
8
+ import * as oe from "@ant-design/icons";
9
+ import { UndoOutlined as ee, UserOutlined as rt, CloseOutlined as U, PushpinOutlined as ot, ReloadOutlined as ye, StepBackwardOutlined as st, LeftOutlined as it, RightOutlined as at, StepForwardOutlined as lt, MenuUnfoldOutlined as ct, MenuFoldOutlined as dt, ExclamationCircleOutlined as ut, WarningOutlined as mt, StarOutlined as ht, FolderOpenOutlined as pt, ExclamationCircleTwoTone as gt } from "@ant-design/icons";
10
+ import { getTodateString as Ce, getUserId as ve } from "../utils/index.js";
11
+ import { useSensors as ft, useSensor as bt, PointerSensor as yt, DndContext as Ct, closestCenter as vt } from "@dnd-kit/core";
12
+ import { restrictToHorizontalAxis as wt } from "@dnd-kit/modifiers";
13
+ import { arrayMove as xt, SortableContext as kt, horizontalListSortingStrategy as It, useSortable as Nt } from "@dnd-kit/sortable";
14
+ const Pt = W(
15
+ () => import("./MenuReport-yYhMOHyq.js")
22
16
  ), St = W(
23
- () => import("./common-components-DIpOkbb5.js").then((n) => n.a2)
17
+ () => import("./common-components-coAoWxE9.js").then((n) => n.$)
18
+ ), Tt = W(
19
+ () => import("./common-components-coAoWxE9.js").then((n) => n.a0)
24
20
  ), Mt = W(
25
- () => import("./common-components-DIpOkbb5.js").then((n) => n.a3)
21
+ () => import("./common-components-coAoWxE9.js").then((n) => n.a1)
26
22
  ), Lt = W(
27
- () => import("./CMSearchIntfGwP01-Duabg_5A.js")
28
- ), Tt = {
23
+ () => import("./common-components-coAoWxE9.js").then((n) => n.a2)
24
+ ), Bt = W(
25
+ () => import("./common-components-coAoWxE9.js").then((n) => n.a4)
26
+ ), Ot = W(
27
+ () => import("./CMSearchIntfGwP01-BWm9OqAH.js")
28
+ ), Et = W(
29
+ () => import("./common-components-coAoWxE9.js").then((n) => n.a5)
30
+ ), Rt = W(
31
+ () => import("./common-components-coAoWxE9.js").then((n) => n.a3)
32
+ ), Dt = {
29
33
  // 게시판/문의
30
34
  CORE_REPORT: {
31
- component: kt,
35
+ component: Pt,
32
36
  defaultConfig: {
33
37
  title: "게시판/문의",
34
38
  width: 1200,
@@ -37,7 +41,7 @@ const kt = W(
37
41
  },
38
42
  // 조직/부서 검색류
39
43
  CORE_DEPARTMENT_01: {
40
- component: Nt,
44
+ component: St,
41
45
  defaultConfig: {
42
46
  title: "부서 검색",
43
47
  width: 620,
@@ -45,7 +49,7 @@ const kt = W(
45
49
  }
46
50
  },
47
51
  CORE_DEPARTMENT_02: {
48
- component: It,
52
+ component: Tt,
49
53
  defaultConfig: {
50
54
  title: "부서 검색",
51
55
  width: 620,
@@ -53,7 +57,7 @@ const kt = W(
53
57
  }
54
58
  },
55
59
  CORE_ORGANIZATION_01: {
56
- component: Pt,
60
+ component: Mt,
57
61
  defaultConfig: {
58
62
  title: "조직 검색",
59
63
  width: 620,
@@ -61,7 +65,7 @@ const kt = W(
61
65
  }
62
66
  },
63
67
  CORE_ORGANIZATION_02: {
64
- component: St,
68
+ component: Lt,
65
69
  defaultConfig: {
66
70
  title: "조직 검색",
67
71
  width: 1e3,
@@ -69,7 +73,7 @@ const kt = W(
69
73
  }
70
74
  },
71
75
  CORE_PRGR_02: {
72
- component: Mt,
76
+ component: Bt,
73
77
  defaultConfig: {
74
78
  title: "프로그램 검색",
75
79
  width: 700,
@@ -77,18 +81,34 @@ const kt = W(
77
81
  }
78
82
  },
79
83
  CORE_GW_DRAFTS: {
80
- component: Lt,
84
+ component: Ot,
81
85
  defaultConfig: {
82
86
  title: "기안 목록",
83
87
  width: 1e3,
84
88
  height: 700
85
89
  }
90
+ },
91
+ CORE_ADDRESS_01: {
92
+ component: Et,
93
+ defaultConfig: {
94
+ title: "주소 검색",
95
+ width: 750,
96
+ height: 800
97
+ }
98
+ },
99
+ CORE_HOLIDAY_01: {
100
+ component: Rt,
101
+ defaultConfig: {
102
+ title: "휴일 검색",
103
+ width: 750,
104
+ height: 800
105
+ }
86
106
  }
87
- }, pe = "bwg-dot-line-wave-v4";
88
- function Bt() {
89
- if (typeof document > "u" || document.getElementById(pe)) return;
107
+ }, we = "bwg-dot-line-wave-v4";
108
+ function zt() {
109
+ if (typeof document > "u" || document.getElementById(we)) return;
90
110
  const n = document.createElement("style");
91
- n.id = pe, n.textContent = `
111
+ n.id = we, n.textContent = `
92
112
  .bwg-dotline {
93
113
  display: inline-flex;
94
114
  align-items: center;
@@ -124,53 +144,53 @@ function Bt() {
124
144
  }
125
145
  `, document.head.appendChild(n);
126
146
  }
127
- const Et = ({
147
+ const At = ({
128
148
  colors: n = ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
129
149
  count: t,
130
150
  size: r = 12,
131
151
  gap: o = 10,
132
- amp: s = 16,
133
- speedMs: i = 900,
152
+ amp: i = 16,
153
+ speedMs: a = 900,
134
154
  direction: b = "ltr",
135
155
  phase: l = 0.7
136
156
  }) => {
137
- E(() => {
138
- Bt();
157
+ D(() => {
158
+ zt();
139
159
  }, []);
140
- const d = t ?? n.length, c = Array.from({ length: d }), u = {
160
+ const c = t ?? n.length, v = Array.from({ length: c }), m = {
141
161
  "--bwg-size": `${r}px`,
142
162
  "--bwg-gap": `${o}px`,
143
- "--bwg-amp": `${s}px`,
144
- "--bwg-speed": `${i}ms`
145
- }, C = i / d * l;
163
+ "--bwg-amp": `${i}px`,
164
+ "--bwg-speed": `${a}ms`
165
+ }, d = a / c * l;
146
166
  return /* @__PURE__ */ e(
147
167
  "span",
148
168
  {
149
169
  className: "bwg-dotline",
150
170
  role: "img",
151
171
  "aria-label": "loading",
152
- style: u,
153
- children: c.map((m, h) => /* @__PURE__ */ e(
172
+ style: m,
173
+ children: v.map((h, p) => /* @__PURE__ */ e(
154
174
  "span",
155
175
  {
156
176
  className: "dot",
157
177
  style: {
158
- backgroundColor: n[h % n.length],
159
- animationDelay: b === "ltr" ? `${h * C}ms` : `${(d - 1 - h) * C}ms`
178
+ backgroundColor: n[p % n.length],
179
+ animationDelay: b === "ltr" ? `${p * d}ms` : `${(c - 1 - p) * d}ms`
160
180
  }
161
181
  },
162
- h
182
+ p
163
183
  ))
164
184
  }
165
185
  );
166
- }, pn = ({
186
+ }, vn = ({
167
187
  spin: n = null,
168
188
  text: t = "인증중...",
169
189
  dimStyle: r = "dark"
170
190
  }) => {
171
191
  if (!(n ?? !0)) return null;
172
- const i = r === "dark";
173
- return /* @__PURE__ */ y(
192
+ const a = r === "dark";
193
+ return /* @__PURE__ */ C(
174
194
  "div",
175
195
  {
176
196
  className: "loading-overlay",
@@ -186,8 +206,8 @@ const Et = ({
186
206
  alignItems: "center",
187
207
  gap: 8,
188
208
  padding: "8px 12px",
189
- background: i ? "rgba(0, 0, 0, 0.6)" : "rgba(255, 255, 255, 0.85)",
190
- color: i ? "#fff" : "#333",
209
+ background: a ? "rgba(0, 0, 0, 0.6)" : "rgba(255, 255, 255, 0.85)",
210
+ color: a ? "#fff" : "#333",
191
211
  backdropFilter: "blur(4px)",
192
212
  zIndex: 1e4
193
213
  },
@@ -196,10 +216,10 @@ const Et = ({
196
216
  role: "status",
197
217
  children: [
198
218
  /* @__PURE__ */ e(
199
- q,
219
+ re,
200
220
  {
201
221
  indicator: /* @__PURE__ */ e(
202
- Et,
222
+ At,
203
223
  {
204
224
  colors: ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
205
225
  size: 12,
@@ -216,18 +236,18 @@ const Et = ({
216
236
  ]
217
237
  }
218
238
  );
219
- }, gn = ({
239
+ }, wn = ({
220
240
  routes: n,
221
241
  useCommonProvider: t = !0,
222
242
  useServiceProvider: r = !0
223
243
  }) => {
224
- let s = /* @__PURE__ */ y(ge, { children: [
225
- /* @__PURE__ */ e(Y, { path: "/", element: /* @__PURE__ */ e(Me, { to: "/login" }) }),
226
- /* @__PURE__ */ e(Y, { path: "/login", element: n.login }),
227
- /* @__PURE__ */ e(Y, { path: "/main/*", element: n.main })
244
+ let i = /* @__PURE__ */ C(xe, { children: [
245
+ /* @__PURE__ */ e(te, { path: "/", element: /* @__PURE__ */ e(Ee, { to: "/login" }) }),
246
+ /* @__PURE__ */ e(te, { path: "/login", element: n.login }),
247
+ /* @__PURE__ */ e(te, { path: "/main/*", element: n.main })
228
248
  ] });
229
- return r && (s = /* @__PURE__ */ e(Ne, { children: s })), t && (s = /* @__PURE__ */ e(Ie, { children: s })), /* @__PURE__ */ e(Te, { children: s });
230
- }, { Content: Ot } = j, ve = ({
249
+ return r && (i = /* @__PURE__ */ e(Me, { children: i })), t && (i = /* @__PURE__ */ e(Le, { children: i })), /* @__PURE__ */ e(De, { children: i });
250
+ }, { Content: Wt } = Z, Pe = ({
231
251
  config: n = {},
232
252
  children: t
233
253
  }) => {
@@ -243,11 +263,11 @@ const Et = ({
243
263
  ...n
244
264
  };
245
265
  return /* @__PURE__ */ e(
246
- Ot,
266
+ Wt,
247
267
  {
248
268
  className: r.wrapper.className,
249
269
  style: r.wrapper.style,
250
- children: /* @__PURE__ */ e(Be, { children: /* @__PURE__ */ e(
270
+ children: /* @__PURE__ */ e(ze, { children: /* @__PURE__ */ e(
251
271
  "div",
252
272
  {
253
273
  className: r.body.className,
@@ -257,7 +277,7 @@ const Et = ({
257
277
  ) })
258
278
  }
259
279
  );
260
- }, Rt = "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", zt = "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", Dt = "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: $t } = j, G = {
280
+ }, $t = "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", Ft = "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", _t = "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: Gt } = Z, { confirm: Ht } = $e, $ = {
261
281
  light: {
262
282
  headerBg: "#ffffff",
263
283
  headerText: "#000000",
@@ -310,11 +330,11 @@ const Et = ({
310
330
  buttonDefaultBorder: "#dddddd",
311
331
  buttonPermissionBorder: "#bdb1ff"
312
332
  }
313
- }, re = {
333
+ }, de = {
314
334
  0: "작게",
315
335
  1: "보통",
316
336
  2: "크게"
317
- }, we = ({ config: n = {}, children: t }) => {
337
+ }, Se = ({ config: n = {}, children: t }) => {
318
338
  const r = {
319
339
  gap: 14,
320
340
  minWidth: 200,
@@ -347,128 +367,273 @@ const Et = ({
347
367
  ...n.logo
348
368
  },
349
369
  right: r
350
- }, s = le(), [i, b] = R("modern"), l = U(null), d = Ze(), {
351
- componentSize: c,
352
- setComponentSize: u,
353
- gridSize: C,
370
+ }, i = ge(), a = J(null), b = Je(), {
371
+ componentSize: l,
372
+ setComponentSize: c,
373
+ gridSize: v,
354
374
  setGridSize: m,
355
- spacingSize: h,
356
- setSpacingSize: N
357
- } = Ye(), v = (g, a) => {
375
+ spacingSize: d,
376
+ setSpacingSize: h,
377
+ enableProtectWrapper: p,
378
+ setEnableProtectWrapper: N,
379
+ theme: y,
380
+ setTheme: g,
381
+ clearAllGridLayouts: k
382
+ } = Ne(), T = 1, z = 2, E = 2, w = (u, S) => {
358
383
  try {
359
- if (!/^[a-zA-Z0-9-]+$/.test(g) || !/^[#a-zA-Z0-9()\s,.-]+$/.test(a)) return;
360
- document.documentElement.style.setProperty(g, a);
361
- } catch (M) {
362
- console.error("CSS variable setting failed:", M);
384
+ if (!/^[a-zA-Z0-9-]+$/.test(u) || !/^[#a-zA-Z0-9()\s,.-]+$/.test(S)) return;
385
+ document.documentElement.style.setProperty(u, S);
386
+ } catch (I) {
387
+ console.error("CSS variable setting failed:", I);
363
388
  }
364
- }, p = (g) => {
365
- if (!G[g]) return;
366
- b(g);
367
- const a = { ...G[g] };
368
- v("--header-bg", a.headerBg), v("--header-text", a.headerText), v("--sidebar-bg", a.sidebarBg), v("--sidebar-text", a.sidebarText), v("--button-primary", a.buttonPrimary), v("--button-primary-hover", a.buttonPrimaryHover), v("--button-primary-active", a.buttonPrimaryActive), v("--button-default", a.buttonDefault), v("--button-default-hover", a.buttonDefaultHover), v("--button-default-border", a.buttonDefaultBorder), v(
389
+ }, F = (u) => {
390
+ if (!$[u]) return;
391
+ g(u);
392
+ const S = { ...$[u] };
393
+ w("--header-bg", S.headerBg), w("--header-text", S.headerText), w("--sidebar-bg", S.sidebarBg), w("--sidebar-text", S.sidebarText), w("--button-primary", S.buttonPrimary), w("--button-primary-hover", S.buttonPrimaryHover), w("--button-primary-active", S.buttonPrimaryActive), w("--button-default", S.buttonDefault), w("--button-default-hover", S.buttonDefaultHover), w("--button-default-border", S.buttonDefaultBorder), w(
369
394
  "--button-permission-border",
370
- a.buttonPermissionBorder
371
- ), l.current && l.current.setAttribute("data-theme", g), document.documentElement.setAttribute("data-theme", g), mt(me, g, 30);
395
+ S.buttonPermissionBorder
396
+ ), a.current && a.current.setAttribute("data-theme", u), document.documentElement.setAttribute("data-theme", u);
372
397
  };
373
- E(() => {
374
- const g = ut(me);
375
- g && G[g] ? p(g) : p("modern");
376
- }, []);
377
- const w = () => ({ ...G[i] }).headerBg, I = () => {
378
- d(), s("/login");
398
+ D(() => {
399
+ if (y && $[y]) {
400
+ const u = { ...$[y] };
401
+ w("--header-bg", u.headerBg), w("--header-text", u.headerText), w("--sidebar-bg", u.sidebarBg), w("--sidebar-text", u.sidebarText), w("--button-primary", u.buttonPrimary), w("--button-primary-hover", u.buttonPrimaryHover), w(
402
+ "--button-primary-active",
403
+ u.buttonPrimaryActive
404
+ ), w("--button-default", u.buttonDefault), w("--button-default-hover", u.buttonDefaultHover), w(
405
+ "--button-default-border",
406
+ u.buttonDefaultBorder
407
+ ), w(
408
+ "--button-permission-border",
409
+ u.buttonPermissionBorder
410
+ ), a.current && a.current.setAttribute("data-theme", y), document.documentElement.setAttribute("data-theme", y);
411
+ } else
412
+ F("modern");
413
+ }, [y]);
414
+ const H = () => {
415
+ b(), i("/login");
379
416
  };
380
- ue ? ue("HH:mm:ss") : (/* @__PURE__ */ new Date()).toLocaleTimeString("ko-KR");
381
- const D = /* @__PURE__ */ y("div", { style: { padding: "8px 0" }, children: [
382
- /* @__PURE__ */ y("div", { style: { marginBottom: "12px" }, children: [
383
- /* @__PURE__ */ e(Oe, { value: w(), disabled: !0, size: "small" }),
384
- /* @__PURE__ */ e("span", { style: { marginLeft: "8px", fontSize: "12px" }, children: "현재 테마 색상" })
385
- ] }),
386
- /* @__PURE__ */ y("div", { style: { display: "flex", flexDirection: "column", gap: "4px" }, children: [
387
- /* @__PURE__ */ e(
388
- L,
389
- {
390
- type: i === "modern" ? "primary" : "default",
391
- size: "small",
392
- onClick: () => p("modern"),
393
- style: {
394
- textAlign: "left",
395
- backgroundColor: i === "modern" ? G.modern.headerBg : void 0,
396
- color: i === "modern" ? G.modern.headerText : void 0
397
- },
398
- children: "모던"
399
- },
400
- "modern"
401
- ),
402
- Object.entries(G).filter(([g]) => g !== "modern").map(([g, a]) => /* @__PURE__ */ e(
403
- L,
404
- {
405
- type: i === g ? "primary" : "default",
406
- size: "small",
407
- onClick: () => p(g),
408
- style: {
409
- textAlign: "left",
410
- backgroundColor: i === g ? a.headerBg : void 0,
411
- color: i === g ? a.headerText : void 0
412
- },
413
- children: g
414
- },
415
- g
416
- ))
417
- ] }),
418
- /* @__PURE__ */ e(Re, {}),
419
- /* @__PURE__ */ y("div", { style: { marginTop: "8px" }, children: [
420
- /* @__PURE__ */ e("div", { style: { marginBottom: "8px", fontSize: "12px" }, children: "컴포넌트 크기" }),
421
- /* @__PURE__ */ e(
422
- te,
423
- {
424
- marks: re,
425
- value: c,
426
- min: 0,
427
- max: 2,
428
- step: 1,
429
- onChange: (g) => u(g)
430
- }
431
- ),
432
- /* @__PURE__ */ e(
433
- "div",
434
- {
435
- style: { marginTop: "16px", marginBottom: "8px", fontSize: "12px" },
436
- children: "그리드 크기"
437
- }
438
- ),
439
- /* @__PURE__ */ e(
440
- te,
441
- {
442
- marks: re,
443
- value: C,
444
- min: 0,
445
- max: 2,
446
- step: 1,
447
- onChange: (g) => m(g)
448
- }
449
- ),
450
- /* @__PURE__ */ e(
451
- "div",
452
- {
453
- style: { marginTop: "16px", marginBottom: "8px", fontSize: "12px" },
454
- children: "여백 조정"
455
- }
456
- ),
457
- /* @__PURE__ */ e(
458
- te,
459
- {
460
- marks: re,
461
- value: h,
462
- min: 0,
463
- max: 2,
464
- step: 1,
465
- onChange: (g) => N(g)
466
- }
467
- )
468
- ] })
469
- ] });
470
- return /* @__PURE__ */ y(
471
- $t,
417
+ Ce ? Ce("HH:mm:ss") : (/* @__PURE__ */ new Date()).toLocaleTimeString("ko-KR");
418
+ const j = $[y]?.headerBg || "#f3f4ff", Y = /* @__PURE__ */ C(
419
+ "div",
420
+ {
421
+ style: {
422
+ padding: "16px",
423
+ backgroundColor: j,
424
+ borderRadius: "8px",
425
+ minWidth: "320px"
426
+ },
427
+ children: [
428
+ /* @__PURE__ */ C("div", { style: { marginBottom: "16px" }, children: [
429
+ /* @__PURE__ */ e(
430
+ "div",
431
+ {
432
+ style: { marginBottom: "12px", fontSize: "14px", fontWeight: 500 },
433
+ children: "테마 선택"
434
+ }
435
+ ),
436
+ /* @__PURE__ */ C(
437
+ "div",
438
+ {
439
+ style: {
440
+ display: "grid",
441
+ gridTemplateColumns: "1fr 1fr",
442
+ gap: "8px",
443
+ marginBottom: "8px"
444
+ },
445
+ children: [
446
+ /* @__PURE__ */ e(
447
+ B,
448
+ {
449
+ type: y === "modern" ? "primary" : "default",
450
+ size: "small",
451
+ onClick: () => F("modern"),
452
+ style: {
453
+ width: "100%",
454
+ backgroundColor: y === "modern" ? $.modern.headerBg : void 0,
455
+ color: y === "modern" ? $.modern.headerText : void 0,
456
+ borderColor: y === "modern" ? $.modern.headerBg : void 0
457
+ },
458
+ children: "모던"
459
+ },
460
+ "modern"
461
+ ),
462
+ Object.entries($).filter(([u]) => u !== "modern").map(([u, S]) => /* @__PURE__ */ e(
463
+ B,
464
+ {
465
+ type: y === u ? "primary" : "default",
466
+ size: "small",
467
+ onClick: () => F(u),
468
+ style: {
469
+ width: "100%",
470
+ backgroundColor: y === u ? S.headerBg : void 0,
471
+ color: y === u ? S.headerText : void 0,
472
+ borderColor: y === u ? S.headerBg : void 0
473
+ },
474
+ children: u
475
+ },
476
+ u
477
+ ))
478
+ ]
479
+ }
480
+ )
481
+ ] }),
482
+ /* @__PURE__ */ e(ae, { style: { margin: "16px 0" } }),
483
+ /* @__PURE__ */ C("div", { style: { marginBottom: "16px" }, children: [
484
+ /* @__PURE__ */ C(
485
+ ne,
486
+ {
487
+ justify: "space-between",
488
+ align: "center",
489
+ style: { marginBottom: "8px" },
490
+ children: [
491
+ /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "컴포넌트 크기" }),
492
+ /* @__PURE__ */ e(
493
+ B,
494
+ {
495
+ type: "text",
496
+ size: "small",
497
+ icon: /* @__PURE__ */ e(ee, {}),
498
+ onClick: () => c(T),
499
+ disabled: l === T,
500
+ style: { padding: "0 4px" }
501
+ }
502
+ )
503
+ ]
504
+ }
505
+ ),
506
+ /* @__PURE__ */ e(
507
+ le,
508
+ {
509
+ marks: de,
510
+ value: l,
511
+ min: 0,
512
+ max: 2,
513
+ step: 1,
514
+ onChange: (u) => c(u)
515
+ }
516
+ )
517
+ ] }),
518
+ /* @__PURE__ */ C("div", { style: { marginBottom: "16px" }, children: [
519
+ /* @__PURE__ */ C(
520
+ ne,
521
+ {
522
+ justify: "space-between",
523
+ align: "center",
524
+ style: { marginBottom: "8px" },
525
+ children: [
526
+ /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "그리드 크기" }),
527
+ /* @__PURE__ */ e(
528
+ B,
529
+ {
530
+ type: "text",
531
+ size: "small",
532
+ icon: /* @__PURE__ */ e(ee, {}),
533
+ onClick: () => m(z),
534
+ disabled: v === z,
535
+ style: { padding: "0 4px" }
536
+ }
537
+ )
538
+ ]
539
+ }
540
+ ),
541
+ /* @__PURE__ */ e(
542
+ le,
543
+ {
544
+ marks: de,
545
+ value: v,
546
+ min: 0,
547
+ max: 2,
548
+ step: 1,
549
+ onChange: (u) => m(u)
550
+ }
551
+ )
552
+ ] }),
553
+ /* @__PURE__ */ C("div", { style: { marginBottom: "16px" }, children: [
554
+ /* @__PURE__ */ C(
555
+ ne,
556
+ {
557
+ justify: "space-between",
558
+ align: "center",
559
+ style: { marginBottom: "8px" },
560
+ children: [
561
+ /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "여백 조정" }),
562
+ /* @__PURE__ */ e(
563
+ B,
564
+ {
565
+ type: "text",
566
+ size: "small",
567
+ icon: /* @__PURE__ */ e(ee, {}),
568
+ onClick: () => h(E),
569
+ disabled: d === E,
570
+ style: { padding: "0 4px" }
571
+ }
572
+ )
573
+ ]
574
+ }
575
+ ),
576
+ /* @__PURE__ */ e(
577
+ le,
578
+ {
579
+ marks: de,
580
+ value: d,
581
+ min: 0,
582
+ max: 2,
583
+ step: 1,
584
+ onChange: (u) => h(u)
585
+ }
586
+ )
587
+ ] }),
588
+ /* @__PURE__ */ e(ae, { style: { margin: "16px 0" } }),
589
+ /* @__PURE__ */ C(
590
+ "div",
591
+ {
592
+ style: {
593
+ marginBottom: "16px",
594
+ display: "flex",
595
+ justifyContent: "space-between",
596
+ alignItems: "center"
597
+ },
598
+ children: [
599
+ /* @__PURE__ */ e("span", { style: { fontSize: "14px", fontWeight: 500 }, children: "화면 보호 활성화" }),
600
+ /* @__PURE__ */ e(
601
+ We,
602
+ {
603
+ checked: p,
604
+ onChange: N
605
+ }
606
+ )
607
+ ]
608
+ }
609
+ ),
610
+ /* @__PURE__ */ e(ae, { style: { margin: "16px 0" } }),
611
+ /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(
612
+ B,
613
+ {
614
+ type: "default",
615
+ danger: !0,
616
+ size: "small",
617
+ icon: /* @__PURE__ */ e(ee, {}),
618
+ onClick: () => {
619
+ Ht({
620
+ title: "전체 그리드 레이아웃 초기화",
621
+ content: "임의 변경한 그리드 레이아웃 변경사항을 초기화하시겠습니까? 기존 열려있는 화면들은 다시 열어야 적용됩니다.",
622
+ onOk() {
623
+ k();
624
+ }
625
+ });
626
+ },
627
+ block: !0,
628
+ style: { fontSize: "12px" },
629
+ children: "전체 그리드 레이아웃 초기화"
630
+ }
631
+ ) })
632
+ ]
633
+ }
634
+ );
635
+ return /* @__PURE__ */ C(
636
+ Gt,
472
637
  {
473
638
  className: o.wrapper.className,
474
639
  style: { ...o.wrapper.style },
@@ -494,7 +659,7 @@ const Et = ({
494
659
  children: t
495
660
  }
496
661
  ),
497
- /* @__PURE__ */ y(
662
+ /* @__PURE__ */ C(
498
663
  "div",
499
664
  {
500
665
  className: "header-right",
@@ -503,29 +668,29 @@ const Et = ({
503
668
  minWidth: o.right?.minWidth
504
669
  },
505
670
  children: [
506
- o.right?.items?.map((g, a) => /* @__PURE__ */ e("div", { children: g }, a)),
671
+ o.right?.items?.map((u, S) => /* @__PURE__ */ e("div", { children: u }, S)),
507
672
  o.right?.alarm?.visible && /* @__PURE__ */ e(
508
- L,
673
+ B,
509
674
  {
510
675
  type: "text",
511
- icon: /* @__PURE__ */ e("img", { src: Rt, alt: "알림" }),
676
+ icon: /* @__PURE__ */ e("img", { src: $t, alt: "알림" }),
512
677
  className: "alarm-btn",
513
678
  onClick: o.right?.alarm?.onClick
514
679
  }
515
680
  ),
516
681
  o.right?.theme?.visible && /* @__PURE__ */ e(
517
- ze,
682
+ Fe,
518
683
  {
519
- content: D,
520
- title: "테마 설정",
684
+ content: Y,
685
+ title: "개인 설정",
521
686
  trigger: "click",
522
687
  placement: "bottomRight",
523
- onOpenChange: (g) => o.right?.theme?.onOpenChange?.(g),
688
+ onOpenChange: (u) => o.right?.theme?.onOpenChange?.(u),
524
689
  children: /* @__PURE__ */ e(
525
- L,
690
+ B,
526
691
  {
527
692
  type: "text",
528
- icon: /* @__PURE__ */ e("img", { src: Dt, alt: "개인설정" }),
693
+ icon: /* @__PURE__ */ e("img", { src: _t, alt: "개인설정" }),
529
694
  className: "theme-btn",
530
695
  onClick: o.right?.theme?.onClick
531
696
  }
@@ -533,18 +698,18 @@ const Et = ({
533
698
  }
534
699
  ),
535
700
  o.right?.logout?.visible && /* @__PURE__ */ e(
536
- L,
701
+ B,
537
702
  {
538
703
  type: "text",
539
- icon: /* @__PURE__ */ e("img", { src: zt, alt: "로그아웃" }),
540
- onClick: o.right?.logout?.onClick || I,
704
+ icon: /* @__PURE__ */ e("img", { src: Ft, alt: "로그아웃" }),
705
+ onClick: o.right?.logout?.onClick || H,
541
706
  className: "logout-btn"
542
707
  }
543
708
  ),
544
709
  o.right?.avatar?.visible && /* @__PURE__ */ e(
545
- De,
710
+ _e,
546
711
  {
547
- icon: /* @__PURE__ */ e(Je, {}),
712
+ icon: /* @__PURE__ */ e(rt, {}),
548
713
  className: "avatar",
549
714
  style: {
550
715
  width: o.right?.avatar?.width,
@@ -559,7 +724,7 @@ const Et = ({
559
724
  ]
560
725
  }
561
726
  );
562
- }, ae = /* @__PURE__ */ Object.freeze({
727
+ }, he = /* @__PURE__ */ Object.freeze({
563
728
  Translate: {
564
729
  toString(n) {
565
730
  if (!n)
@@ -585,7 +750,7 @@ const Et = ({
585
750
  Transform: {
586
751
  toString(n) {
587
752
  if (n)
588
- return [ae.Translate.toString(n), ae.Scale.toString(n)].join(" ");
753
+ return [he.Translate.toString(n), he.Scale.toString(n)].join(" ");
589
754
  }
590
755
  },
591
756
  Transition: {
@@ -598,91 +763,91 @@ const Et = ({
598
763
  return t + " " + r + "ms " + o;
599
764
  }
600
765
  }
601
- }), At = ce(
766
+ }), jt = fe(
602
767
  ({ className: n, ...t }) => {
603
- const r = U(null), {
768
+ const r = J(null), {
604
769
  attributes: o,
605
- listeners: s,
606
- transform: i,
770
+ listeners: i,
771
+ transform: a,
607
772
  transition: b,
608
773
  isDragging: l,
609
- setNodeRef: d
610
- } = xt({ id: t["data-node-key"] }), [c, u] = R();
611
- E(() => {
612
- const m = r.current;
613
- if (m)
774
+ setNodeRef: c
775
+ } = Nt({ id: t["data-node-key"] }), [v, m] = A();
776
+ D(() => {
777
+ const h = r.current;
778
+ if (h)
614
779
  if (l) {
615
- const h = Math.round(m.getBoundingClientRect().width);
616
- u(h);
780
+ const p = Math.round(h.getBoundingClientRect().width);
781
+ m(p);
617
782
  } else
618
- u(void 0);
783
+ m(void 0);
619
784
  }, [l]);
620
- const C = {
785
+ const d = {
621
786
  ...t.style,
622
- transform: i ? ae.Transform.toString(i) : void 0,
787
+ transform: a ? he.Transform.toString(a) : void 0,
623
788
  transition: b ?? "transform 0.16s ease",
624
789
  cursor: "grab",
625
790
  userSelect: "none",
626
791
  willChange: "transform",
627
792
  // ✅ 드래그 중 픽셀 폭 고정 (flex 재계산 억제)
628
- width: c ?? void 0,
629
- minWidth: c ?? void 0,
630
- maxWidth: c ?? void 0,
631
- flex: c !== void 0 ? "0 0 auto" : void 0
793
+ width: v ?? void 0,
794
+ minWidth: v ?? void 0,
795
+ maxWidth: v ?? void 0,
796
+ flex: v !== void 0 ? "0 0 auto" : void 0
632
797
  };
633
- return Ke(t.children, {
634
- ref: (m) => {
635
- r.current !== m && (r.current = m), d(m);
798
+ return Qe(t.children, {
799
+ ref: (h) => {
800
+ r.current !== h && (r.current = h), c(h);
636
801
  },
637
- style: C,
802
+ style: d,
638
803
  ...o,
639
- ...s
804
+ ...i
640
805
  });
641
806
  }
642
- ), Ft = ce(function({
807
+ ), Vt = fe(function({
643
808
  config: t,
644
809
  isFirst: r,
645
810
  isLast: o,
646
- canCloseAll: s,
647
- onFirst: i,
811
+ canCloseAll: i,
812
+ onFirst: a,
648
813
  onPrev: b,
649
814
  onNext: l,
650
- onLast: d,
651
- onCloseAll: c
815
+ onLast: c,
816
+ onCloseAll: v
652
817
  }) {
653
- return /* @__PURE__ */ y("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
818
+ return /* @__PURE__ */ C("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
654
819
  /* @__PURE__ */ e(
655
- K,
820
+ X,
656
821
  {
657
822
  title: "첫 번째 탭",
658
823
  className: t.tooltip?.className,
659
824
  style: t.tooltip?.style,
660
825
  children: /* @__PURE__ */ e(
661
- L,
826
+ B,
662
827
  {
663
828
  className: t.buttons?.className,
664
829
  style: t.buttons?.style,
665
830
  size: "small",
666
- icon: /* @__PURE__ */ e(et, {}),
667
- onClick: i,
831
+ icon: /* @__PURE__ */ e(st, {}),
832
+ onClick: a,
668
833
  disabled: r
669
834
  }
670
835
  )
671
836
  }
672
837
  ),
673
838
  /* @__PURE__ */ e(
674
- K,
839
+ X,
675
840
  {
676
841
  title: "이전 탭",
677
842
  className: t.tooltip?.className,
678
843
  style: t.tooltip?.style,
679
844
  children: /* @__PURE__ */ e(
680
- L,
845
+ B,
681
846
  {
682
847
  className: t.buttons?.className,
683
848
  style: t.buttons?.style,
684
849
  size: "small",
685
- icon: /* @__PURE__ */ e(tt, {}),
850
+ icon: /* @__PURE__ */ e(it, {}),
686
851
  onClick: b,
687
852
  disabled: r
688
853
  }
@@ -690,18 +855,18 @@ const Et = ({
690
855
  }
691
856
  ),
692
857
  /* @__PURE__ */ e(
693
- K,
858
+ X,
694
859
  {
695
860
  title: "다음 탭",
696
861
  className: t.tooltip?.className,
697
862
  style: t.tooltip?.style,
698
863
  children: /* @__PURE__ */ e(
699
- L,
864
+ B,
700
865
  {
701
866
  className: t.buttons?.className,
702
867
  style: t.buttons?.style,
703
868
  size: "small",
704
- icon: /* @__PURE__ */ e(nt, {}),
869
+ icon: /* @__PURE__ */ e(at, {}),
705
870
  onClick: l,
706
871
  disabled: o
707
872
  }
@@ -709,45 +874,45 @@ const Et = ({
709
874
  }
710
875
  ),
711
876
  /* @__PURE__ */ e(
712
- K,
877
+ X,
713
878
  {
714
879
  title: "마지막 탭",
715
880
  className: t.tooltip?.className,
716
881
  style: t.tooltip?.style,
717
882
  children: /* @__PURE__ */ e(
718
- L,
883
+ B,
719
884
  {
720
885
  className: t.buttons?.className,
721
886
  style: t.buttons?.style,
722
887
  size: "small",
723
- icon: /* @__PURE__ */ e(rt, {}),
724
- onClick: d,
888
+ icon: /* @__PURE__ */ e(lt, {}),
889
+ onClick: c,
725
890
  disabled: o
726
891
  }
727
892
  )
728
893
  }
729
894
  ),
730
895
  /* @__PURE__ */ e(
731
- K,
896
+ X,
732
897
  {
733
898
  title: "모든 탭 닫기",
734
899
  className: t.tooltip?.className,
735
900
  style: t.tooltip?.style,
736
901
  children: /* @__PURE__ */ e(
737
- L,
902
+ B,
738
903
  {
739
904
  className: t.buttons?.className,
740
905
  style: t.buttons?.style,
741
906
  size: "small",
742
- icon: /* @__PURE__ */ e(ye, {}),
743
- onClick: c,
744
- disabled: !s
907
+ icon: /* @__PURE__ */ e(U, {}),
908
+ onClick: v,
909
+ disabled: !i
745
910
  }
746
911
  )
747
912
  }
748
913
  )
749
914
  ] });
750
- }), Wt = ({
915
+ }), Ut = ({
751
916
  config: n = {}
752
917
  }) => {
753
918
  const t = {
@@ -775,72 +940,179 @@ const Et = ({
775
940
  ...n?.nav
776
941
  },
777
942
  ...n
778
- }, r = A((a) => a.tabs), o = A((a) => a.activeMenuId), s = A((a) => a.focusTab), i = A((a) => a.closeTab), b = A((a) => a.reorderTabs), l = ht(
779
- pt(gt, { activationConstraint: { distance: 6 } })
780
- ), d = (a) => {
781
- s(a);
782
- }, c = (a, M) => {
783
- M === "remove" && typeof a == "string" && i(a);
784
- }, u = () => {
785
- r.length > 0 && s(r[0].key);
786
- }, C = () => {
943
+ }, r = O((s) => s.tabs), o = O((s) => s.activeMenuId), i = O((s) => s.pinnedTabs), a = O((s) => s.focusTab), b = O((s) => s.closeTab), l = O((s) => s.reorderTabs), c = O((s) => s.togglePinTab), v = O((s) => s.refreshTab), m = O((s) => s.closeOtherTabs), d = O((s) => s.closeRightTabs);
944
+ O((s) => s.closeAllTabs);
945
+ const h = ft(
946
+ bt(yt, { activationConstraint: { distance: 6 } })
947
+ ), p = (s) => {
948
+ a(s);
949
+ }, N = (s, x) => {
950
+ x === "remove" && typeof s == "string" && b(s);
951
+ }, y = () => {
952
+ r.length > 0 && a(r[0].key);
953
+ }, g = () => {
787
954
  if (!o || r.length <= 1) return;
788
- const a = r.findIndex((M) => M.key === o);
789
- a > 0 && s(r[a - 1].key);
790
- }, m = () => {
955
+ const s = r.findIndex((x) => x.key === o);
956
+ s > 0 && a(r[s - 1].key);
957
+ }, k = () => {
791
958
  if (!o || r.length <= 1) return;
792
- const a = r.findIndex((M) => M.key === o);
793
- a < r.length - 1 && s(r[a + 1].key);
794
- }, h = () => {
795
- r.length > 0 && s(r[r.length - 1].key);
796
- }, N = () => {
797
- r.forEach((a) => {
798
- i(a.key);
959
+ const s = r.findIndex((x) => x.key === o);
960
+ s < r.length - 1 && a(r[s + 1].key);
961
+ }, T = () => {
962
+ r.length > 0 && a(r[r.length - 1].key);
963
+ }, z = () => {
964
+ r.forEach((s) => {
965
+ i.has(s.key) || b(s.key);
799
966
  });
800
- }, v = o ? r.findIndex((a) => a.key === o) : -1, p = v === 0, w = v === r.length - 1, I = F(
801
- () => r.map((a) => ({
802
- key: a.key,
803
- label: a.label,
804
- closable: !0,
967
+ }, E = R((s) => (x) => {
968
+ x.preventDefault(), x.stopPropagation();
969
+ }, []), w = R(
970
+ (s) => {
971
+ const x = i.has(s), M = r.findIndex((q) => q.key === s), L = M >= 0 && M < r.length - 1, G = r.length > 1;
972
+ return [
973
+ {
974
+ key: "close",
975
+ label: "닫기",
976
+ icon: /* @__PURE__ */ e(U, {}),
977
+ onClick: () => {
978
+ x || b(s);
979
+ },
980
+ disabled: x
981
+ },
982
+ {
983
+ key: "pin",
984
+ label: x ? "고정 해제" : "고정",
985
+ icon: /* @__PURE__ */ e(ot, {}),
986
+ onClick: () => {
987
+ c(s);
988
+ }
989
+ },
990
+ {
991
+ key: "refresh",
992
+ label: "새로고침",
993
+ icon: /* @__PURE__ */ e(ye, {}),
994
+ onClick: () => {
995
+ v(s);
996
+ }
997
+ },
998
+ {
999
+ type: "divider"
1000
+ },
1001
+ {
1002
+ key: "closeOthers",
1003
+ label: "다른 탭 닫기",
1004
+ icon: /* @__PURE__ */ e(U, {}),
1005
+ onClick: () => {
1006
+ m(s);
1007
+ },
1008
+ disabled: !G
1009
+ },
1010
+ {
1011
+ key: "closeRight",
1012
+ label: "우측 탭 닫기",
1013
+ icon: /* @__PURE__ */ e(U, {}),
1014
+ onClick: () => {
1015
+ d(s);
1016
+ },
1017
+ disabled: !L
1018
+ },
1019
+ {
1020
+ key: "closeAll",
1021
+ label: "전체 닫기",
1022
+ icon: /* @__PURE__ */ e(U, {}),
1023
+ onClick: () => {
1024
+ z();
1025
+ },
1026
+ disabled: r.length === 0
1027
+ }
1028
+ ];
1029
+ },
1030
+ [
1031
+ r,
1032
+ i,
1033
+ b,
1034
+ c,
1035
+ v,
1036
+ m,
1037
+ d
1038
+ ]
1039
+ ), F = o ? r.findIndex((s) => s.key === o) : -1, H = F === 0, j = F === r.length - 1, Y = _(
1040
+ () => r.map((s) => ({
1041
+ key: s.key,
1042
+ label: s.label,
1043
+ closable: !i.has(s.key),
1044
+ // 고정된 탭은 닫을 수 없음
805
1045
  children: null
806
1046
  // 컨텐츠는 Main 쪽에서 렌더 → 여기선 헤더만 필요
807
1047
  })),
808
- [r]
809
- ), D = z(
810
- ({ active: a, over: M }) => {
811
- if (!M || a.id === M.id) return;
812
- const T = r.findIndex(($) => $.key === a.id), _ = r.findIndex(($) => $.key === M.id);
813
- if (T < 0 || _ < 0 || T === _) return;
814
- const ee = r.map(($) => $.key), Z = Ct(ee, T, _);
815
- b?.(Z);
1048
+ [r, i]
1049
+ ), [u, S] = A(null), I = R(({ active: s }) => {
1050
+ S(null);
1051
+ }, []), P = R(
1052
+ ({ active: s, over: x }) => {
1053
+ if (!x || s.id === x.id) return;
1054
+ const M = r.findIndex((Q) => Q.key === s.id), L = r.findIndex((Q) => Q.key === x.id);
1055
+ if (M < 0 || L < 0 || M === L) return;
1056
+ const G = r.map((Q) => Q.key), q = xt(G, M, L);
1057
+ l?.(q);
816
1058
  },
817
- [r, b]
818
- ), g = z(
819
- (a, M) => /* @__PURE__ */ e(
820
- ft,
1059
+ [r, l]
1060
+ ), f = R(
1061
+ (s, x) => /* @__PURE__ */ e(
1062
+ Ct,
821
1063
  {
822
- sensors: l,
823
- onDragEnd: D,
824
- collisionDetection: bt,
825
- modifiers: [yt],
1064
+ sensors: h,
1065
+ onDragStart: I,
1066
+ onDragEnd: P,
1067
+ collisionDetection: vt,
1068
+ modifiers: [wt],
826
1069
  children: /* @__PURE__ */ e(
827
- vt,
1070
+ kt,
828
1071
  {
829
- items: r.map((T) => T.key),
830
- strategy: wt,
831
- children: /* @__PURE__ */ e(M, { ...a, children: (T) => /* @__PURE__ */ be(
832
- At,
833
- {
834
- ...T.props,
835
- key: T.key
836
- },
837
- T
838
- ) })
1072
+ items: r.map((M) => M.key),
1073
+ strategy: It,
1074
+ children: /* @__PURE__ */ e(x, { ...s, children: (M) => {
1075
+ const L = M.key, G = u === L;
1076
+ return /* @__PURE__ */ e(
1077
+ Ge,
1078
+ {
1079
+ menu: { items: w(L) },
1080
+ trigger: ["contextMenu"],
1081
+ open: G,
1082
+ onOpenChange: (q) => {
1083
+ S(q ? L : null);
1084
+ },
1085
+ children: /* @__PURE__ */ e(
1086
+ "span",
1087
+ {
1088
+ onContextMenu: E(L),
1089
+ style: { display: "inline-block", width: "100%" },
1090
+ children: /* @__PURE__ */ Ie(
1091
+ jt,
1092
+ {
1093
+ ...M.props,
1094
+ key: M.key
1095
+ },
1096
+ M
1097
+ )
1098
+ }
1099
+ )
1100
+ }
1101
+ );
1102
+ } })
839
1103
  }
840
1104
  )
841
1105
  }
842
1106
  ),
843
- [l, D, r]
1107
+ [
1108
+ h,
1109
+ I,
1110
+ P,
1111
+ r,
1112
+ u,
1113
+ w,
1114
+ E
1115
+ ]
844
1116
  );
845
1117
  return /* @__PURE__ */ e(
846
1118
  "div",
@@ -851,36 +1123,36 @@ const Et = ({
851
1123
  display: r.length === 0 ? "none" : "block"
852
1124
  },
853
1125
  children: /* @__PURE__ */ e(
854
- $e,
1126
+ He,
855
1127
  {
856
1128
  type: "editable-card",
857
1129
  activeKey: o || void 0,
858
- onChange: d,
859
- onEdit: c,
1130
+ onChange: p,
1131
+ onEdit: N,
860
1132
  className: t.tabs.className,
861
1133
  style: t.tabs.style,
862
1134
  hideAdd: !0,
863
- items: I,
1135
+ items: Y,
864
1136
  tabBarExtraContent: /* @__PURE__ */ e(
865
- Ft,
1137
+ Vt,
866
1138
  {
867
1139
  config: t?.nav,
868
- isFirst: !!p,
869
- isLast: !!w,
1140
+ isFirst: !!H,
1141
+ isLast: !!j,
870
1142
  canCloseAll: r.length > 0,
871
- onFirst: u,
872
- onPrev: C,
873
- onNext: m,
874
- onLast: h,
875
- onCloseAll: N
1143
+ onFirst: y,
1144
+ onPrev: g,
1145
+ onNext: k,
1146
+ onLast: T,
1147
+ onCloseAll: z
876
1148
  }
877
1149
  ),
878
- renderTabBar: g
1150
+ renderTabBar: f
879
1151
  }
880
1152
  )
881
1153
  }
882
1154
  );
883
- }, { Sider: Gt } = j, _t = ({
1155
+ }, { Sider: Kt } = Z, Zt = ({
884
1156
  config: n = {}
885
1157
  }) => {
886
1158
  const t = {
@@ -922,15 +1194,15 @@ const Et = ({
922
1194
  ...n?.style
923
1195
  },
924
1196
  ...n
925
- }, [r, o] = R(""), [s, i] = R(
1197
+ }, [r, o] = A(""), [i, a] = A(
926
1198
  "category"
927
- ), [b, l] = R([]), { activeMenuId: d, sidebarCollapsed: c, openTabFromMenu: u, toggleSidebar: C } = A(), { menuList: m, isLoading: h, error: N, findMenuById: v, flatMenuList: p } = J(), { nodes: w, treeNodes: I, loadFavoritesIfNeeded: D } = qe(), g = F(() => {
928
- const k = [], x = (f, P = 0) => {
1199
+ ), [b, l] = A([]), { activeMenuId: c, sidebarCollapsed: v, openTabFromMenu: m, toggleSidebar: d } = O(), { menuList: h, isLoading: p, error: N, findMenuById: y, flatMenuList: g } = ie(), { nodes: k, treeNodes: T, loadFavoritesIfNeeded: z } = et(), E = _(() => {
1200
+ const I = [], P = (f, s = 0) => {
929
1201
  if (f.menuGbCd === t.menuGubunCode.program && f.scrnPath) {
930
- const S = " ".repeat(P), O = f.menuNo || "";
931
- k.push({
1202
+ const x = " ".repeat(s), M = f.menuNo || "";
1203
+ I.push({
932
1204
  value: f.menuId,
933
- label: /* @__PURE__ */ y(
1205
+ label: /* @__PURE__ */ C(
934
1206
  "div",
935
1207
  {
936
1208
  style: {
@@ -939,8 +1211,8 @@ const Et = ({
939
1211
  alignItems: "center"
940
1212
  },
941
1213
  children: [
942
- /* @__PURE__ */ y("span", { children: [
943
- S,
1214
+ /* @__PURE__ */ C("span", { children: [
1215
+ x,
944
1216
  f.menuNm
945
1217
  ] }),
946
1218
  /* @__PURE__ */ e(
@@ -954,7 +1226,7 @@ const Et = ({
954
1226
  borderRadius: "3px",
955
1227
  marginLeft: "8px"
956
1228
  },
957
- children: O
1229
+ children: M
958
1230
  }
959
1231
  )
960
1232
  ]
@@ -963,26 +1235,26 @@ const Et = ({
963
1235
  menuItem: f
964
1236
  });
965
1237
  }
966
- f.children && f.children.length > 0 && f.children.forEach((S) => x(S, P + 1));
1238
+ f.children && f.children.length > 0 && f.children.forEach((x) => P(x, s + 1));
967
1239
  };
968
- return m.forEach((f) => x(f)), k;
969
- }, [m]), a = F(() => r.trim() ? g.filter((k) => {
970
- const x = k.menuItem.menuNm.toLowerCase(), f = String(k.menuItem.menuNo || "미지정").toLowerCase(), P = r.toLowerCase();
971
- return x.includes(P) || f.includes(P);
972
- }) : [], [g, r]), M = (k) => {
973
- if (!k || typeof k != "string") {
974
- console.warn("Invalid menu selection value:", k);
1240
+ return h.forEach((f) => P(f)), I;
1241
+ }, [h]), w = _(() => r.trim() ? E.filter((I) => {
1242
+ const P = I.menuItem.menuNm.toLowerCase(), f = String(I.menuItem.menuNo || "미지정").toLowerCase(), s = r.toLowerCase();
1243
+ return P.includes(s) || f.includes(s);
1244
+ }) : [], [E, r]), F = (I) => {
1245
+ if (!I || typeof I != "string") {
1246
+ console.warn("Invalid menu selection value:", I);
975
1247
  return;
976
1248
  }
977
- if (!/^[a-zA-Z0-9_-]+$/.test(k)) {
978
- console.warn("Invalid menu ID format:", k);
1249
+ if (!/^[a-zA-Z0-9_-]+$/.test(I)) {
1250
+ console.warn("Invalid menu ID format:", I);
979
1251
  return;
980
1252
  }
981
- const x = g.find(
982
- (f) => f.value === k
1253
+ const P = E.find(
1254
+ (f) => f.value === I
983
1255
  );
984
- if (x) {
985
- const { menuItem: f } = x;
1256
+ if (P) {
1257
+ const { menuItem: f } = P;
986
1258
  if (!f || !f.menuId || !f.menuNm) {
987
1259
  console.warn("Invalid menu item:", f);
988
1260
  return;
@@ -996,23 +1268,23 @@ const Et = ({
996
1268
  f.scrnPath,
997
1269
  "scrnId:",
998
1270
  f.scrnId
999
- ), u(f)) : (f.menuGbCd === t.menuGubunCode.mainMenu || f.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", f.menuNm, "menuGbCd:", f.menuGbCd)), o("");
1271
+ ), m(f)) : (f.menuGbCd === t.menuGubunCode.mainMenu || f.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", f.menuNm, "menuGbCd:", f.menuGbCd)), o("");
1000
1272
  }
1001
- }, T = z(
1002
- (k) => {
1003
- const x = v(k);
1004
- x?.menuGbCd === t.menuGubunCode.program && (console.log(
1273
+ }, H = R(
1274
+ (I) => {
1275
+ const P = y(I);
1276
+ P?.menuGbCd === t.menuGubunCode.program && (console.log(
1005
1277
  "메뉴명:",
1006
- x.menuNm,
1278
+ P.menuNm,
1007
1279
  "경로:",
1008
- x.scrnPath,
1280
+ P.scrnPath,
1009
1281
  "scrnId:",
1010
- x.scrnId
1011
- ), u(x));
1282
+ P.scrnId
1283
+ ), m(P));
1012
1284
  },
1013
- [v, u]
1014
- ), _ = z((k) => k.map((x) => ({
1015
- key: x.menuId,
1285
+ [y, m]
1286
+ ), j = R((I) => I.map((P) => ({
1287
+ key: P.menuId,
1016
1288
  label: /* @__PURE__ */ e(
1017
1289
  "div",
1018
1290
  {
@@ -1021,21 +1293,21 @@ const Et = ({
1021
1293
  justifyContent: "space-between",
1022
1294
  alignItems: "center"
1023
1295
  },
1024
- children: /* @__PURE__ */ e("span", { children: x.menuNm })
1296
+ children: /* @__PURE__ */ e("span", { children: P.menuNm })
1025
1297
  }
1026
1298
  ),
1027
- icon: ee(x.iconCd, x.menuGbCd),
1028
- children: x.children && x.children.length > 0 ? _(x.children) : void 0
1029
- })), []), ee = (k, x) => {
1030
- if (k) {
1031
- const f = Q[k];
1299
+ icon: Y(P.iconCd, P.menuGbCd),
1300
+ children: P.children && P.children.length > 0 ? j(P.children) : void 0
1301
+ })), []), Y = (I, P) => {
1302
+ if (I) {
1303
+ const f = oe[I];
1032
1304
  if (f)
1033
1305
  return /* @__PURE__ */ e(f, {});
1034
1306
  }
1035
- if (x)
1036
- switch (x) {
1307
+ if (P)
1308
+ switch (P) {
1037
1309
  case t.menuGubunCode.mainMenu:
1038
- return /* @__PURE__ */ e(Q.HomeOutlined, {});
1310
+ return /* @__PURE__ */ e(oe.HomeOutlined, {});
1039
1311
  case t.menuGubunCode.subMenu:
1040
1312
  return null;
1041
1313
  case t.menuGubunCode.program:
@@ -1044,66 +1316,66 @@ const Et = ({
1044
1316
  return null;
1045
1317
  }
1046
1318
  return null;
1047
- }, Z = z(
1048
- (k) => {
1049
- if (m.length === 0) return [];
1050
- const x = (P) => {
1051
- if (P)
1052
- return typeof P == "string" ? w[P] : P;
1053
- }, f = (P) => {
1054
- if (P.type === "M") {
1055
- const S = P, O = v(S.menuId) || void 0, B = !!O, ke = B ? `${O?.menuNm ?? S.menuNm ?? S.menuId}` : `${S.menuNm ?? S.menuId} (삭제됨)`;
1319
+ }, u = R(
1320
+ (I) => {
1321
+ if (h.length === 0) return [];
1322
+ const P = (s) => {
1323
+ if (s)
1324
+ return typeof s == "string" ? k[s] : s;
1325
+ }, f = (s) => {
1326
+ if (s.type === "M") {
1327
+ const x = s, M = y(x.menuId) || void 0, L = !!M, G = L ? `${M?.menuNm ?? x.menuNm ?? x.menuId}` : `${x.menuNm ?? x.menuId} (삭제됨)`;
1056
1328
  return {
1057
- key: S.menuId,
1058
- label: ke,
1059
- icon: B ? void 0 : /* @__PURE__ */ e(it, { style: { color: "#faad14" } })
1329
+ key: x.menuId,
1330
+ label: G,
1331
+ icon: L ? void 0 : /* @__PURE__ */ e(mt, { style: { color: "#faad14" } })
1060
1332
  };
1061
1333
  } else {
1062
- const S = P, O = (S.children ?? []).map(x).filter(Boolean).map(f);
1334
+ const x = s, M = (x.children ?? []).map(P).filter(Boolean).map(f);
1063
1335
  return {
1064
- key: S.bkmkId,
1065
- label: S.bkmkNm ?? S.bkmkId,
1066
- icon: S.prntBkmkId === "-" ? /* @__PURE__ */ e(lt, {}) : /* @__PURE__ */ e(ct, {}),
1067
- children: O
1336
+ key: x.bkmkId,
1337
+ label: x.bkmkNm ?? x.bkmkId,
1338
+ icon: x.prntBkmkId === "-" ? /* @__PURE__ */ e(ht, {}) : /* @__PURE__ */ e(pt, {}),
1339
+ children: M
1068
1340
  // 빈 배열이면 자동으로 말아줌
1069
1341
  };
1070
1342
  }
1071
1343
  };
1072
- return k.map(f);
1344
+ return I.map(f);
1073
1345
  },
1074
- [v, w, m]
1075
- ), $ = F(
1076
- () => Z(I),
1077
- [Z, I, w]
1346
+ [y, k, h]
1347
+ ), S = _(
1348
+ () => u(T),
1349
+ [u, T, k]
1078
1350
  );
1079
- return E(() => {
1080
- he() && D(he());
1081
- }, [D]), E(() => {
1082
- s === "category" && o("");
1083
- }, [s]), E(() => {
1084
- if (!d || s !== "category") return;
1085
- const x = ((f) => {
1086
- const P = [], S = new Map(p.map((B) => [B.menuId, B]));
1087
- let O = f;
1088
- for (; O; ) {
1089
- const B = S.get(O);
1090
- if (!B) break;
1091
- if (B.menuPrntId && B.menuPrntId !== "-" && B.menuPrntId !== "")
1092
- P.push(B.menuPrntId), O = B.menuPrntId;
1351
+ return D(() => {
1352
+ ve() && z(ve());
1353
+ }, [z]), D(() => {
1354
+ i === "category" && o("");
1355
+ }, [i]), D(() => {
1356
+ if (!c || i !== "category") return;
1357
+ const P = ((f) => {
1358
+ const s = [], x = new Map(g.map((L) => [L.menuId, L]));
1359
+ let M = f;
1360
+ for (; M; ) {
1361
+ const L = x.get(M);
1362
+ if (!L) break;
1363
+ if (L.menuPrntId && L.menuPrntId !== "-" && L.menuPrntId !== "")
1364
+ s.push(L.menuPrntId), M = L.menuPrntId;
1093
1365
  else
1094
1366
  break;
1095
1367
  }
1096
- return P;
1097
- })(d);
1098
- x.length > 0 && l((f) => {
1099
- const P = /* @__PURE__ */ new Set([...f, ...x]);
1100
- return Array.from(P);
1368
+ return s;
1369
+ })(c);
1370
+ P.length > 0 && l((f) => {
1371
+ const s = /* @__PURE__ */ new Set([...f, ...P]);
1372
+ return Array.from(s);
1101
1373
  });
1102
- }, [d, s, p]), /* @__PURE__ */ y(
1103
- Gt,
1374
+ }, [c, i, g]), /* @__PURE__ */ C(
1375
+ Kt,
1104
1376
  {
1105
1377
  className: t.className.wrapper,
1106
- collapsed: t.collapsed || c,
1378
+ collapsed: t.collapsed || v,
1107
1379
  trigger: null,
1108
1380
  width: t.width || 230,
1109
1381
  children: [
@@ -1128,10 +1400,10 @@ const Et = ({
1128
1400
  transition: "all 0.3s ease"
1129
1401
  },
1130
1402
  children: /* @__PURE__ */ e(
1131
- L,
1403
+ B,
1132
1404
  {
1133
1405
  type: "text",
1134
- icon: t.collapsed || c ? /* @__PURE__ */ e(ot, {}) : /* @__PURE__ */ e(st, {}),
1406
+ icon: t.collapsed || v ? /* @__PURE__ */ e(ct, {}) : /* @__PURE__ */ e(dt, {}),
1135
1407
  style: {
1136
1408
  fontSize: "12px",
1137
1409
  color: "#787878",
@@ -1143,28 +1415,28 @@ const Et = ({
1143
1415
  justifyContent: "center",
1144
1416
  borderRadius: "0 10px 10px 0"
1145
1417
  },
1146
- onClick: C
1418
+ onClick: d
1147
1419
  }
1148
1420
  )
1149
1421
  }
1150
1422
  ),
1151
- !(t.collapsed || c) && /* @__PURE__ */ e(
1423
+ !(t.collapsed || v) && /* @__PURE__ */ e(
1152
1424
  "div",
1153
1425
  {
1154
1426
  style: {
1155
1427
  padding: 10
1156
1428
  },
1157
1429
  children: /* @__PURE__ */ e(
1158
- Ae,
1430
+ je,
1159
1431
  {
1160
1432
  value: r,
1161
- options: a,
1162
- onSelect: M,
1433
+ options: w,
1434
+ onSelect: F,
1163
1435
  onSearch: o,
1164
1436
  style: { width: "100%" },
1165
1437
  allowClear: !0,
1166
1438
  children: /* @__PURE__ */ e(
1167
- oe,
1439
+ ue,
1168
1440
  {
1169
1441
  className: t.className.search,
1170
1442
  placeholder: t.style.search.placeholder,
@@ -1198,7 +1470,7 @@ const Et = ({
1198
1470
  )
1199
1471
  }
1200
1472
  ),
1201
- !(t.collapsed || c) && /* @__PURE__ */ e(
1473
+ !(t.collapsed || v) && /* @__PURE__ */ e(
1202
1474
  "div",
1203
1475
  {
1204
1476
  style: {
@@ -1207,18 +1479,18 @@ const Et = ({
1207
1479
  marginBottom: "10px"
1208
1480
  },
1209
1481
  children: /* @__PURE__ */ e(
1210
- Fe,
1482
+ Ve,
1211
1483
  {
1212
1484
  className: t.className.segmented.wrapper,
1213
1485
  options: [
1214
1486
  {
1215
- label: /* @__PURE__ */ y(V, { children: [
1487
+ label: /* @__PURE__ */ C(K, { children: [
1216
1488
  /* @__PURE__ */ e(
1217
1489
  "span",
1218
1490
  {
1219
1491
  className: t.className.segmented.item,
1220
1492
  style: { display: "flex", alignItems: "center" },
1221
- children: /* @__PURE__ */ y(
1493
+ children: /* @__PURE__ */ C(
1222
1494
  "svg",
1223
1495
  {
1224
1496
  xmlns: "http://www.w3.org/2000/svg",
@@ -1267,7 +1539,7 @@ const Et = ({
1267
1539
  value: "category"
1268
1540
  },
1269
1541
  {
1270
- label: /* @__PURE__ */ y(V, { children: [
1542
+ label: /* @__PURE__ */ C(K, { children: [
1271
1543
  /* @__PURE__ */ e(
1272
1544
  "span",
1273
1545
  {
@@ -1299,9 +1571,9 @@ const Et = ({
1299
1571
  value: "favorite"
1300
1572
  }
1301
1573
  ],
1302
- value: s,
1303
- onChange: (k) => {
1304
- i(k);
1574
+ value: i,
1575
+ onChange: (I) => {
1576
+ a(I);
1305
1577
  },
1306
1578
  style: {
1307
1579
  width: "100%"
@@ -1311,8 +1583,8 @@ const Et = ({
1311
1583
  )
1312
1584
  }
1313
1585
  ),
1314
- /* @__PURE__ */ y("div", { className: t.className.sider.content, children: [
1315
- h && /* @__PURE__ */ y(
1586
+ /* @__PURE__ */ C("div", { className: t.className.sider.content, children: [
1587
+ p && /* @__PURE__ */ C(
1316
1588
  "div",
1317
1589
  {
1318
1590
  className: t.className.sider.loading,
@@ -1324,7 +1596,7 @@ const Et = ({
1324
1596
  },
1325
1597
  children: [
1326
1598
  /* @__PURE__ */ e(
1327
- We,
1599
+ Ue,
1328
1600
  {
1329
1601
  theme: {
1330
1602
  components: {
@@ -1333,7 +1605,7 @@ const Et = ({
1333
1605
  }
1334
1606
  }
1335
1607
  },
1336
- children: /* @__PURE__ */ e(q, { size: "default" })
1608
+ children: /* @__PURE__ */ e(re, { size: "default" })
1337
1609
  }
1338
1610
  ),
1339
1611
  /* @__PURE__ */ e(
@@ -1347,16 +1619,16 @@ const Et = ({
1347
1619
  ]
1348
1620
  }
1349
1621
  ),
1350
- N && /* @__PURE__ */ y("div", { className: t.className.sider.error, children: [
1622
+ N && /* @__PURE__ */ C("div", { className: t.className.sider.error, children: [
1351
1623
  /* @__PURE__ */ e(
1352
- at,
1624
+ ut,
1353
1625
  {
1354
1626
  className: t.className.sider.errorIcon
1355
1627
  }
1356
1628
  ),
1357
1629
  /* @__PURE__ */ e("div", { className: t.className.sider.errorText, children: "메뉴 로드 실패" })
1358
1630
  ] }),
1359
- !h && !N && s === "category" && m.length === 0 && /* @__PURE__ */ e(
1631
+ !p && !N && i === "category" && h.length === 0 && /* @__PURE__ */ e(
1360
1632
  "div",
1361
1633
  {
1362
1634
  style: {
@@ -1368,7 +1640,7 @@ const Et = ({
1368
1640
  children: "메뉴가 없습니다"
1369
1641
  }
1370
1642
  ),
1371
- !h && !N && s === "favorite" && $.length === 0 && /* @__PURE__ */ e(
1643
+ !p && !N && i === "favorite" && S.length === 0 && /* @__PURE__ */ e(
1372
1644
  "div",
1373
1645
  {
1374
1646
  style: {
@@ -1380,28 +1652,28 @@ const Et = ({
1380
1652
  children: "즐겨찾기된 메뉴가 없습니다"
1381
1653
  }
1382
1654
  ),
1383
- !h && !N && s === "category" && m.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1384
- se,
1655
+ !p && !N && i === "category" && h.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1656
+ me,
1385
1657
  {
1386
1658
  theme: "light",
1387
1659
  mode: "inline",
1388
- items: _(m),
1660
+ items: j(h),
1389
1661
  className: t.className.sider.menu,
1390
- selectedKeys: [d || ""],
1662
+ selectedKeys: [c || ""],
1391
1663
  openKeys: b,
1392
1664
  onOpenChange: l,
1393
- onClick: (k) => T(k.key)
1665
+ onClick: (I) => H(I.key)
1394
1666
  }
1395
1667
  ) }),
1396
- !h && !N && s === "favorite" && $.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1397
- se,
1668
+ !p && !N && i === "favorite" && S.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1669
+ me,
1398
1670
  {
1399
1671
  theme: "light",
1400
1672
  mode: "inline",
1401
- items: $,
1673
+ items: S,
1402
1674
  className: t.className.sider.menu,
1403
- selectedKeys: [d || ""],
1404
- onClick: (k) => T(k.key)
1675
+ selectedKeys: [c || ""],
1676
+ onClick: (I) => H(I.key)
1405
1677
  }
1406
1678
  ) })
1407
1679
  ] })
@@ -1409,7 +1681,7 @@ const Et = ({
1409
1681
  }
1410
1682
  );
1411
1683
  };
1412
- class Ht extends Ue {
1684
+ class Yt extends Xe {
1413
1685
  constructor(t) {
1414
1686
  super(t), this.resetError = () => {
1415
1687
  this.setState({ hasError: !1, error: void 0, errorInfo: void 0 });
@@ -1425,7 +1697,7 @@ class Ht extends Ue {
1425
1697
  });
1426
1698
  }
1427
1699
  render() {
1428
- return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ y(
1700
+ return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ C(
1429
1701
  "div",
1430
1702
  {
1431
1703
  style: {
@@ -1439,17 +1711,17 @@ class Ht extends Ue {
1439
1711
  },
1440
1712
  children: [
1441
1713
  /* @__PURE__ */ e(
1442
- fe,
1714
+ ke,
1443
1715
  {
1444
1716
  status: "error",
1445
1717
  title: "컴포넌트 로딩 중 오류가 발생했습니다",
1446
1718
  subTitle: this.state.error ? `오류 내용: ${this.state.error.message}` : "알 수 없는 오류가 발생했습니다",
1447
1719
  extra: [
1448
1720
  /* @__PURE__ */ e(
1449
- L,
1721
+ B,
1450
1722
  {
1451
1723
  type: "primary",
1452
- icon: /* @__PURE__ */ e(Ce, {}),
1724
+ icon: /* @__PURE__ */ e(ye, {}),
1453
1725
  onClick: this.resetError,
1454
1726
  style: { marginRight: 8 },
1455
1727
  children: "다시 시도"
@@ -1459,7 +1731,7 @@ class Ht extends Ue {
1459
1731
  ]
1460
1732
  }
1461
1733
  ),
1462
- this.state.error && /* @__PURE__ */ y(
1734
+ this.state.error && /* @__PURE__ */ C(
1463
1735
  "details",
1464
1736
  {
1465
1737
  style: {
@@ -1494,13 +1766,13 @@ class Ht extends Ue {
1494
1766
  ) : this.props.children;
1495
1767
  }
1496
1768
  }
1497
- const Vt = ({
1769
+ const qt = ({
1498
1770
  isActive: n,
1499
1771
  instance: t,
1500
1772
  params: r
1501
1773
  }) => {
1502
- const { activeMenuId: o, closeTab: s } = A(), i = () => {
1503
- o && s(o);
1774
+ const { activeMenuId: o, closeTab: i } = O(), a = () => {
1775
+ o && i(o);
1504
1776
  };
1505
1777
  return t ? /* @__PURE__ */ e(
1506
1778
  "div",
@@ -1516,7 +1788,7 @@ const Vt = ({
1516
1788
  transition: "opacity 0.2s ease-in-out",
1517
1789
  pointerEvents: n ? "auto" : "none"
1518
1790
  },
1519
- children: /* @__PURE__ */ e(Ht, { children: /* @__PURE__ */ e(X, { fallback: null, children: t && be(t, { params: r }) }) })
1791
+ children: /* @__PURE__ */ e(Yt, { children: /* @__PURE__ */ e(se, { fallback: null, children: t && Ie(t, { params: r }) }) })
1520
1792
  }
1521
1793
  ) : /* @__PURE__ */ e(
1522
1794
  "div",
@@ -1547,20 +1819,20 @@ const Vt = ({
1547
1819
  padding: 24
1548
1820
  },
1549
1821
  children: /* @__PURE__ */ e(
1550
- fe,
1822
+ ke,
1551
1823
  {
1552
- icon: /* @__PURE__ */ e(dt, { twoToneColor: "#69b1ff" }),
1824
+ icon: /* @__PURE__ */ e(gt, { twoToneColor: "#69b1ff" }),
1553
1825
  status: "warning",
1554
1826
  title: "등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",
1555
- subTitle: /* @__PURE__ */ e(_e.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1556
- extra: /* @__PURE__ */ e(Ge, { children: /* @__PURE__ */ e(L, { icon: /* @__PURE__ */ e(ye, {}), onClick: i, children: "탭 닫기" }) })
1827
+ subTitle: /* @__PURE__ */ e(Ze.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1828
+ extra: /* @__PURE__ */ e(Ke, { children: /* @__PURE__ */ e(B, { icon: /* @__PURE__ */ e(U, {}), onClick: a, children: "탭 닫기" }) })
1557
1829
  }
1558
1830
  )
1559
1831
  }
1560
1832
  )
1561
1833
  }
1562
1834
  );
1563
- }, jt = ce(Vt), Kt = ({
1835
+ }, Qt = fe(qt), Xt = ({
1564
1836
  menuGubunCode: n = {
1565
1837
  mainMenu: "MAIN",
1566
1838
  subMenu: "SUB",
@@ -1570,87 +1842,87 @@ const Vt = ({
1570
1842
  style: r,
1571
1843
  routeMap: o
1572
1844
  }) => {
1573
- const { menuList: s, findMenuById: i, flatMenuList: b } = J(), { activeMenuId: l } = A(), d = le(), [c, u] = R([]), C = z(
1574
- (v, p) => {
1575
- if (v) {
1576
- const w = Q[v];
1577
- if (w)
1578
- return /* @__PURE__ */ e(w, {});
1845
+ const { menuList: i, findMenuById: a, flatMenuList: b } = ie(), { activeMenuId: l } = O(), c = ge(), [v, m] = A([]), d = R(
1846
+ (y, g) => {
1847
+ if (y) {
1848
+ const k = oe[y];
1849
+ if (k)
1850
+ return /* @__PURE__ */ e(k, {});
1579
1851
  }
1580
- if (p)
1581
- switch (p) {
1852
+ if (g)
1853
+ switch (g) {
1582
1854
  case n.mainMenu:
1583
- return /* @__PURE__ */ e(Q.HomeOutlined, {});
1855
+ return /* @__PURE__ */ e(oe.HomeOutlined, {});
1584
1856
  default:
1585
1857
  return null;
1586
1858
  }
1587
1859
  return null;
1588
1860
  },
1589
1861
  [n]
1590
- ), m = z(
1591
- (v) => v.map((p) => {
1592
- const w = p.children && p.children.length === 1 && p.children[0].menuGbCd === n.program;
1862
+ ), h = R(
1863
+ (y) => y.map((g) => {
1864
+ const k = g.children && g.children.length === 1 && g.children[0].menuGbCd === n.program;
1593
1865
  return {
1594
- key: p.menuId,
1595
- label: p.menuNm,
1596
- icon: C(p.iconCd, p.menuGbCd),
1866
+ key: g.menuId,
1867
+ label: g.menuNm,
1868
+ icon: d(g.iconCd, g.menuGbCd),
1597
1869
  // children이 1개이고 program이면 드롭다운 없음, 2개 이상이면 드롭다운 표시
1598
- children: p.children && p.children.length > 0 && !w ? m(p.children) : void 0
1870
+ children: g.children && g.children.length > 0 && !k ? h(g.children) : void 0
1599
1871
  };
1600
1872
  }),
1601
- [C, n]
1602
- ), h = F(() => m(s), [s, m]), N = z(
1603
- (v) => {
1604
- const p = i(v.key);
1605
- if (p) {
1606
- if (p.children && p.children.length === 1 && p.children[0].menuGbCd === n.program) {
1607
- const w = p.children[0];
1608
- let I = o?.[w.menuId] || w.scrnPath || "/";
1609
- I === "/" ? I = "/main" : I.startsWith("/main") || (I = I.startsWith("/") ? `/main${I}` : `/main/${I}`), d(I);
1873
+ [d, n]
1874
+ ), p = _(() => h(i), [i, h]), N = R(
1875
+ (y) => {
1876
+ const g = a(y.key);
1877
+ if (g) {
1878
+ if (g.children && g.children.length === 1 && g.children[0].menuGbCd === n.program) {
1879
+ const k = g.children[0];
1880
+ let T = o?.[k.menuId] || k.scrnPath || "/";
1881
+ T === "/" ? T = "/main" : T.startsWith("/main") || (T = T.startsWith("/") ? `/main${T}` : `/main/${T}`), c(T);
1610
1882
  return;
1611
1883
  }
1612
- if (p.menuGbCd === n.program && p.scrnPath) {
1613
- let w = o?.[p.menuId] || p.scrnPath || "/";
1614
- w === "/" ? w = "/main" : w.startsWith("/main") || (w = w.startsWith("/") ? `/main${w}` : `/main/${w}`), d(w);
1884
+ if (g.menuGbCd === n.program && g.scrnPath) {
1885
+ let k = o?.[g.menuId] || g.scrnPath || "/";
1886
+ k === "/" ? k = "/main" : k.startsWith("/main") || (k = k.startsWith("/") ? `/main${k}` : `/main/${k}`), c(k);
1615
1887
  return;
1616
1888
  }
1617
1889
  }
1618
1890
  },
1619
- [i, n, d, o]
1891
+ [a, n, c, o]
1620
1892
  );
1621
- return E(() => {
1893
+ return D(() => {
1622
1894
  if (!l || t !== "vertical") return;
1623
- const p = ((w) => {
1624
- const I = [], D = new Map(b.map((a) => [a.menuId, a]));
1625
- let g = w;
1626
- for (; g; ) {
1627
- const a = D.get(g);
1628
- if (!a) break;
1629
- if (a.menuPrntId && a.menuPrntId !== "-" && a.menuPrntId !== "")
1630
- I.push(a.menuPrntId), g = a.menuPrntId;
1895
+ const g = ((k) => {
1896
+ const T = [], z = new Map(b.map((w) => [w.menuId, w]));
1897
+ let E = k;
1898
+ for (; E; ) {
1899
+ const w = z.get(E);
1900
+ if (!w) break;
1901
+ if (w.menuPrntId && w.menuPrntId !== "-" && w.menuPrntId !== "")
1902
+ T.push(w.menuPrntId), E = w.menuPrntId;
1631
1903
  else
1632
1904
  break;
1633
1905
  }
1634
- return I;
1906
+ return T;
1635
1907
  })(l);
1636
- p.length > 0 && u((w) => {
1637
- const I = /* @__PURE__ */ new Set([...w, ...p]);
1638
- return Array.from(I);
1908
+ g.length > 0 && m((k) => {
1909
+ const T = /* @__PURE__ */ new Set([...k, ...g]);
1910
+ return Array.from(T);
1639
1911
  });
1640
1912
  }, [l, t, b]), /* @__PURE__ */ e(
1641
- se,
1913
+ me,
1642
1914
  {
1643
1915
  mode: t,
1644
1916
  theme: "light",
1645
- items: h,
1917
+ items: p,
1646
1918
  selectedKeys: [l || ""],
1647
- openKeys: t === "vertical" ? c : void 0,
1648
- onOpenChange: t === "vertical" ? u : void 0,
1919
+ openKeys: t === "vertical" ? v : void 0,
1920
+ onOpenChange: t === "vertical" ? m : void 0,
1649
1921
  onClick: N,
1650
1922
  style: r
1651
1923
  }
1652
1924
  );
1653
- }, Ut = () => /* @__PURE__ */ y(V, { children: [
1925
+ }, Jt = () => /* @__PURE__ */ C(K, { children: [
1654
1926
  /* @__PURE__ */ e(
1655
1927
  "link",
1656
1928
  {
@@ -1660,62 +1932,62 @@ const Vt = ({
1660
1932
  }
1661
1933
  ),
1662
1934
  /* @__PURE__ */ e("div", { className: "LandingContainer-wrap", children: /* @__PURE__ */ e("div", { className: "inner", children: /* @__PURE__ */ e("div", { className: "content" }) }) })
1663
- ] }), Zt = (n, t) => {
1935
+ ] }), en = (n, t) => {
1664
1936
  console.log("createPopupViewLoader 호출 - popupUrl:", n);
1665
- const o = ((s) => {
1666
- if (s.startsWith("/src/pages/views/popup/")) {
1667
- const l = s + ".tsx";
1668
- return console.log(`팝업 URL 변환: ${s} -> ${l}`), l;
1937
+ const o = ((i) => {
1938
+ if (i.startsWith("/src/pages/views/popup/")) {
1939
+ const l = i + ".tsx";
1940
+ return console.log(`팝업 URL 변환: ${i} -> ${l}`), l;
1669
1941
  }
1670
- const b = `/src/pages/views/popup/${s.startsWith("/") ? s.substring(1) : s}.tsx`;
1671
- return console.log(`팝업 URL 변환: ${s} -> ${b}`), b;
1942
+ const b = `/src/pages/views/popup/${i.startsWith("/") ? i.substring(1) : i}.tsx`;
1943
+ return console.log(`팝업 URL 변환: ${i} -> ${b}`), b;
1672
1944
  })(n);
1673
1945
  return !o || !t?.glob || !t.glob[o] ? (console.warn(`팝업 뷰를 찾을 수 없습니다: ${n} (${o})`), console.warn("사용 가능한 팝업 뷰들:", Object.keys(t?.glob || {})), null) : t.glob[o];
1674
- }, Yt = ({ popup: n, modules: t }) => {
1675
- const [r, o] = R(null), [s, i] = R(!1), [b, l] = R(null), d = () => {
1676
- console.log("PopupArea - handleClose:", n.popupId), de.getState().closePopup(n.popupId);
1946
+ }, tn = ({ popup: n, modules: t }) => {
1947
+ const [r, o] = A(null), [i, a] = A(!1), [b, l] = A(null), c = () => {
1948
+ console.log("PopupArea - handleClose:", n.popupId), be.getState().closePopup(n.popupId);
1677
1949
  };
1678
- return E(() => {
1950
+ return D(() => {
1679
1951
  (async () => {
1680
- console.log("팝업 뷰 로드 시작:", n.popupUrl), i(!0), l(null);
1952
+ console.log("팝업 뷰 로드 시작:", n.popupUrl), a(!0), l(null);
1681
1953
  try {
1682
- const u = Zt(n.popupUrl, t);
1683
- if (!u) {
1684
- const h = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
1685
- console.error(h), l(h), i(!1);
1954
+ const m = en(n.popupUrl, t);
1955
+ if (!m) {
1956
+ const p = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
1957
+ console.error(p), l(p), a(!1);
1686
1958
  return;
1687
1959
  }
1688
1960
  console.log("팝업 뷰 모듈 로드 중...");
1689
- const C = await u();
1690
- console.log("팝업 뷰 모듈 로드 완료:", C);
1691
- const m = C.default;
1692
- if (console.log("팝업 뷰 컴포넌트:", m), !m)
1961
+ const d = await m();
1962
+ console.log("팝업 뷰 모듈 로드 완료:", d);
1963
+ const h = d.default;
1964
+ if (console.log("팝업 뷰 컴포넌트:", h), !h)
1693
1965
  throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");
1694
- o(() => m), console.log("팝업 뷰 설정 완료");
1695
- } catch (u) {
1696
- console.error("팝업 뷰 로드 실패:", u), l(u instanceof Error ? u.message : "팝업 뷰 로드 실패");
1966
+ o(() => h), console.log("팝업 뷰 설정 완료");
1967
+ } catch (m) {
1968
+ console.error("팝업 뷰 로드 실패:", m), l(m instanceof Error ? m.message : "팝업 뷰 로드 실패");
1697
1969
  } finally {
1698
- i(!1);
1970
+ a(!1);
1699
1971
  }
1700
1972
  })();
1701
- }, [n.popupUrl]), s ? /* @__PURE__ */ y("div", { className: "popup-loading", children: [
1702
- /* @__PURE__ */ e(q, { size: "large" }),
1973
+ }, [n.popupUrl]), i ? /* @__PURE__ */ C("div", { className: "popup-loading", children: [
1974
+ /* @__PURE__ */ e(re, { size: "large" }),
1703
1975
  /* @__PURE__ */ e("p", { children: "팝업을 로드하는 중..." })
1704
- ] }) : b ? /* @__PURE__ */ y("div", { className: "popup-error", children: [
1705
- /* @__PURE__ */ e(ne, { description: b, image: ne.PRESENTED_IMAGE_SIMPLE }),
1976
+ ] }) : b ? /* @__PURE__ */ C("div", { className: "popup-error", children: [
1977
+ /* @__PURE__ */ e(ce, { description: b, image: ce.PRESENTED_IMAGE_SIMPLE }),
1706
1978
  /* @__PURE__ */ e(
1707
- L,
1979
+ B,
1708
1980
  {
1709
- icon: /* @__PURE__ */ e(Ce, {}),
1981
+ icon: /* @__PURE__ */ e(ye, {}),
1710
1982
  onClick: () => window.location.reload(),
1711
1983
  children: "다시 시도"
1712
1984
  }
1713
1985
  )
1714
1986
  ] }) : r ? /* @__PURE__ */ e(
1715
- X,
1987
+ se,
1716
1988
  {
1717
- fallback: /* @__PURE__ */ y("div", { className: "popup-loading", children: [
1718
- /* @__PURE__ */ e(q, { size: "large" }),
1989
+ fallback: /* @__PURE__ */ C("div", { className: "popup-loading", children: [
1990
+ /* @__PURE__ */ e(re, { size: "large" }),
1719
1991
  /* @__PURE__ */ e("p", { children: "컴포넌트를 로드하는 중..." })
1720
1992
  ] }),
1721
1993
  children: /* @__PURE__ */ e(
@@ -1723,77 +1995,77 @@ const Vt = ({
1723
1995
  {
1724
1996
  popup: {
1725
1997
  ...n,
1726
- close: d
1998
+ close: c
1727
1999
  // popup 객체에 close 이벤트 추가
1728
2000
  },
1729
- onClose: d
2001
+ onClose: c
1730
2002
  }
1731
2003
  )
1732
2004
  }
1733
- ) : /* @__PURE__ */ e("div", { className: "popup-empty", children: /* @__PURE__ */ e(ne, { description: "팝업 내용을 불러올 수 없습니다." }) });
1734
- }, qt = ({ modules: n }) => {
1735
- const { popups: t } = de();
1736
- return t.length === 0 ? null : /* @__PURE__ */ e(V, { children: t.map((r) => {
2005
+ ) : /* @__PURE__ */ e("div", { className: "popup-empty", children: /* @__PURE__ */ e(ce, { description: "팝업 내용을 불러올 수 없습니다." }) });
2006
+ }, nn = ({ modules: n }) => {
2007
+ const { popups: t } = be();
2008
+ return t.length === 0 ? null : /* @__PURE__ */ e(K, { children: t.map((r) => {
1737
2009
  if (r.isLocal || r.popupCode.startsWith("CORE_"))
1738
2010
  return null;
1739
- const o = r.config || {}, s = o.width || r.width || 800, i = o.height || r.height || 600, b = o.title || r.popupTitle, l = r.buttonList?.map((d, c) => ({
1740
- key: d.btnId || `btn_${c}`,
1741
- text: d.btnNm,
1742
- type: d.btnId === "CLOSE" ? "default" : "primary",
1743
- disabled: d.enblYn !== "Y",
2011
+ const o = r.config || {}, i = o.width || r.width || 800, a = o.height || r.height || 600, b = o.title || r.popupTitle, l = r.buttonList?.map((c, v) => ({
2012
+ key: c.btnId || `btn_${v}`,
2013
+ text: c.btnNm,
2014
+ type: c.btnId === "CLOSE" ? "default" : "primary",
2015
+ disabled: c.enblYn !== "Y",
1744
2016
  danger: !1
1745
2017
  })) || [];
1746
2018
  return console.log("팝업 렌더링:", {
1747
2019
  popupId: r.popupId,
1748
2020
  popupCode: r.popupCode,
1749
2021
  title: b,
1750
- width: s,
1751
- height: i,
2022
+ width: i,
2023
+ height: a,
1752
2024
  buttons: l
1753
- }), /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(Yt, { popup: r, modules: n }) }, r.popupId) }, `sbp-${r.popupId}`);
2025
+ }), /* @__PURE__ */ e(pe, { children: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(tn, { popup: r, modules: n }) }, r.popupId) }, `sbp-${r.popupId}`);
1754
2026
  }) });
1755
- }, xe = () => {
1756
- const { popups: n, closePopup: t } = de();
1757
- return /* @__PURE__ */ e(V, { children: n.map((r) => {
2027
+ }, Te = () => {
2028
+ const { popups: n, closePopup: t } = be();
2029
+ return /* @__PURE__ */ e(K, { children: n.map((r) => {
1758
2030
  if (!(r.isLocal || r.popupCode.startsWith("CORE_"))) return null;
1759
- const o = Tt[r.popupCode];
2031
+ const o = Dt[r.popupCode];
1760
2032
  if (!o) return null;
1761
- const s = o.component;
1762
- return /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ e(X, { fallback: null, children: /* @__PURE__ */ e(s, { popup: r, onClose: () => t(r.popupId) }) }, r.popupId) }, `sbp-${r.popupId}`);
2033
+ const i = o.component;
2034
+ return /* @__PURE__ */ e(pe, { children: /* @__PURE__ */ e(se, { fallback: null, children: /* @__PURE__ */ e(i, { popup: r, onClose: () => t(r.popupId) }) }, r.popupId) }, `sbp-${r.popupId}`);
1763
2035
  }) });
1764
- }, Qt = (n) => ({
2036
+ }, rn = (n) => ({
1765
2037
  position: "absolute",
1766
2038
  inset: 0,
1767
2039
  visibility: n ? "visible" : "hidden",
1768
2040
  opacity: n ? 1 : 0,
1769
2041
  transition: "opacity 0.2s ease-in-out",
1770
2042
  pointerEvents: n ? "auto" : "none"
1771
- }), Xt = ({ once: n = !0 }) => {
1772
- const { lock: t } = Se(), r = U(!1);
1773
- return E(() => {
2043
+ }), on = ({ once: n = !0 }) => {
2044
+ const { lock: t } = Oe(), r = J(!1);
2045
+ return D(() => {
1774
2046
  n && r.current || (r.current = !0, t());
1775
2047
  }, [n, t]), null;
1776
- }, Jt = ({ isActive: n, flagged: t, tabKey: r, onUnlock: o, children: s }) => {
1777
- const i = U(null), [b, l] = R(!1), d = z((u) => {
1778
- i.current = u, l(!!u);
1779
- }, []), c = Qt(n);
1780
- return /* @__PURE__ */ e("div", { ref: d, style: c, children: b ? /* @__PURE__ */ y(
1781
- Pe,
2048
+ }, sn = ({ isActive: n, flagged: t, tabKey: r, onUnlock: o, children: i }) => {
2049
+ const a = J(null), [b, l] = A(!1), c = R((m) => {
2050
+ a.current = m, l(!!m);
2051
+ }, []), v = rn(n);
2052
+ return /* @__PURE__ */ e("div", { ref: c, style: v, children: b ? /* @__PURE__ */ C(
2053
+ Be,
1782
2054
  {
1783
2055
  idleMs: Number.POSITIVE_INFINITY,
1784
2056
  persistLocked: !1,
1785
2057
  overlayScope: "scoped",
1786
2058
  overlayPosition: "absolute",
1787
- eventTarget: i.current,
2059
+ eventTarget: a.current,
1788
2060
  overlayId: `tab-overlay-${r}`,
1789
2061
  onUnlock: async () => (o(), !0),
1790
2062
  children: [
1791
- n && t ? /* @__PURE__ */ e(Xt, { once: !0 }) : null,
1792
- s
2063
+ n && t ? /* @__PURE__ */ e(on, { once: !0 }) : null,
2064
+ i
1793
2065
  ]
1794
2066
  }
1795
- ) : s });
1796
- }, fn = ({
2067
+ ) : i });
2068
+ }, xn = ({
1797
2069
  config: n = {},
1798
2070
  modules: t = {
1799
2071
  view: {
@@ -1804,38 +2076,43 @@ const Vt = ({
1804
2076
  }
1805
2077
  }
1806
2078
  }) => {
1807
- const r = U(
2079
+ const r = J(
1808
2080
  /* @__PURE__ */ new Map()
1809
2081
  ), {
1810
2082
  tabs: o,
1811
- tabParams: s,
1812
- activeMenuId: i,
2083
+ tabParams: i,
2084
+ activeMenuId: a,
1813
2085
  tabProtectFlag: b,
1814
- clearProtectFlagForKey: l
1815
- } = A(), d = z(
1816
- (c) => {
1817
- const u = r.current.get(c.key);
1818
- if (u) return u;
1819
- const C = c.gubun === "M" ? `${t.view.path}${c.menuItem?.scrnPath}.tsx` : `${t.view.path}${c.componentItem?.scrnPath}.tsx`;
1820
- let m = t.view?.glob?.[C];
1821
- if (!m && typeof import.meta < "u" && typeof import.meta.glob == "function" && (m = (/* @__PURE__ */ Object.assign({}))[C]), m) {
1822
- const h = W(
1823
- m
2086
+ refreshTabKey: l,
2087
+ clearProtectFlagForKey: c
2088
+ } = O(), { enableProtectWrapper: v } = Ne(), m = R(
2089
+ (d) => {
2090
+ const h = r.current.get(d.key);
2091
+ if (h) return h;
2092
+ const p = d.gubun === "M" ? `${t.view.path}${d.menuItem?.scrnPath}.tsx` : `${t.view.path}${d.componentItem?.scrnPath}.tsx`;
2093
+ let N = t.view?.glob?.[p];
2094
+ if (!N && typeof import.meta < "u" && typeof import.meta.glob == "function" && (N = (/* @__PURE__ */ Object.assign({}))[p]), N) {
2095
+ const y = W(
2096
+ N
1824
2097
  );
1825
- return r.current.set(c.key, h), h;
2098
+ return r.current.set(d.key, y), y;
1826
2099
  }
1827
2100
  return null;
1828
2101
  },
1829
2102
  [t.view?.glob]
1830
2103
  );
1831
- return /* @__PURE__ */ y(j, { className: "main-layout", children: [
1832
- /* @__PURE__ */ e(we, { config: n?.header }),
1833
- /* @__PURE__ */ y(j, { children: [
1834
- /* @__PURE__ */ e(_t, { config: n?.sidebar }),
1835
- /* @__PURE__ */ y("div", { className: "content-container", children: [
1836
- /* @__PURE__ */ e(Wt, { config: n?.menuTab }),
1837
- /* @__PURE__ */ y(ve, { config: n?.content, children: [
1838
- /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ y(
2104
+ return D(() => {
2105
+ Object.keys(l).forEach((d) => {
2106
+ r.current.delete(d);
2107
+ });
2108
+ }, [l]), /* @__PURE__ */ C(Z, { className: "main-layout", children: [
2109
+ /* @__PURE__ */ e(Se, { config: n?.header }),
2110
+ /* @__PURE__ */ C(Z, { children: [
2111
+ /* @__PURE__ */ e(Zt, { config: n?.sidebar }),
2112
+ /* @__PURE__ */ C("div", { className: "content-container", children: [
2113
+ /* @__PURE__ */ e(Ut, { config: n?.menuTab }),
2114
+ /* @__PURE__ */ C(Pe, { config: n?.content, children: [
2115
+ /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ C(
1839
2116
  "div",
1840
2117
  {
1841
2118
  style: {
@@ -1844,40 +2121,40 @@ const Vt = ({
1844
2121
  height: "100%"
1845
2122
  },
1846
2123
  children: [
1847
- o.map((c) => {
1848
- const u = d(c), C = i === c.key, m = !!b?.[c.key], h = s[c.key] || {};
1849
- return /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ e(
1850
- Jt,
2124
+ o.map((d) => {
2125
+ const h = m(d), p = a === d.key, N = !!b?.[d.key], y = i[d.key] || {}, g = l[d.key], k = g ? `${d.key}-${g}` : d.key, T = /* @__PURE__ */ e(
2126
+ Qt,
1851
2127
  {
1852
- isActive: C,
1853
- flagged: m,
1854
- tabKey: c.key,
1855
- onUnlock: () => l(c.key),
1856
- children: /* @__PURE__ */ e(
1857
- jt,
1858
- {
1859
- isActive: C,
1860
- instance: u || void 0,
1861
- params: h
1862
- },
1863
- c.key
1864
- )
2128
+ isActive: p,
2129
+ instance: h || void 0,
2130
+ params: y
1865
2131
  },
1866
- c.key
1867
- ) }, `sbp-${c.key}`);
2132
+ k
2133
+ );
2134
+ return /* @__PURE__ */ e(pe, { children: v ? /* @__PURE__ */ e(
2135
+ sn,
2136
+ {
2137
+ isActive: p,
2138
+ flagged: N,
2139
+ tabKey: d.key,
2140
+ onUnlock: () => c(d.key),
2141
+ children: T
2142
+ },
2143
+ d.key
2144
+ ) : T }, `sbp-${d.key}`);
1868
2145
  }),
1869
- (!i || o.length === 0) && /* @__PURE__ */ e(Ut, {})
2146
+ (!a || o.length === 0) && /* @__PURE__ */ e(Jt, {})
1870
2147
  ]
1871
2148
  }
1872
2149
  ) }),
1873
- /* @__PURE__ */ e(xe, {}),
1874
- /* @__PURE__ */ e(qt, { modules: t?.popup })
2150
+ /* @__PURE__ */ e(Te, {}),
2151
+ /* @__PURE__ */ e(nn, { modules: t?.popup })
1875
2152
  ] })
1876
2153
  ] })
1877
2154
  ] }),
1878
- (n?.quickService?.visible ?? !0) && /* @__PURE__ */ e(Ee, {})
2155
+ (n?.quickService?.visible ?? !0) && /* @__PURE__ */ e(Ae, {})
1879
2156
  ] });
1880
- }, en = ({
2157
+ }, an = ({
1881
2158
  children: n,
1882
2159
  menuGubunCode: t = {
1883
2160
  mainMenu: "CMPRGRM",
@@ -1887,55 +2164,55 @@ const Vt = ({
1887
2164
  routeMap: r,
1888
2165
  routes: o
1889
2166
  }) => {
1890
- const s = Le(), i = le(), { flatMenuList: b, findMenuById: l } = J(), d = F(() => {
1891
- const u = s.pathname, C = u.replace(/^\/main/, "") || "/";
2167
+ const i = Re(), a = ge(), { flatMenuList: b, findMenuById: l } = ie(), c = _(() => {
2168
+ const m = i.pathname, d = m.replace(/^\/main/, "") || "/";
1892
2169
  if (r) {
1893
- const m = Object.keys(r).find(
1894
- (N) => r[N] === u
2170
+ const h = Object.keys(r).find(
2171
+ (N) => r[N] === m
1895
2172
  );
1896
- if (m)
1897
- return l(m);
1898
- const h = Object.keys(r).find((N) => (r[N].replace(/^\/main/, "") || "/") === C);
1899
2173
  if (h)
1900
2174
  return l(h);
2175
+ const p = Object.keys(r).find((N) => (r[N].replace(/^\/main/, "") || "/") === d);
2176
+ if (p)
2177
+ return l(p);
1901
2178
  }
1902
2179
  return b.find(
1903
- (m) => m.menuGbCd === t.program && m.scrnPath && (m.scrnPath === C || m.scrnPath === u || u.endsWith(m.scrnPath) || C === m.scrnPath)
2180
+ (h) => h.menuGbCd === t.program && h.scrnPath && (h.scrnPath === d || h.scrnPath === m || m.endsWith(h.scrnPath) || d === h.scrnPath)
1904
2181
  );
1905
2182
  }, [
1906
- s.pathname,
2183
+ i.pathname,
1907
2184
  b,
1908
2185
  t.program,
1909
2186
  r,
1910
2187
  l
1911
- ]), c = F(() => {
1912
- if (!d)
2188
+ ]), v = _(() => {
2189
+ if (!c)
1913
2190
  return [];
1914
- const u = [], C = (h) => {
1915
- if (!h || !h.menuPrntId || h.menuPrntId === "-")
2191
+ const m = [], d = (p) => {
2192
+ if (!p || !p.menuPrntId || p.menuPrntId === "-")
1916
2193
  return [];
1917
- const N = l(h.menuPrntId);
1918
- return N ? [...C(N), N] : [];
2194
+ const N = l(p.menuPrntId);
2195
+ return N ? [...d(N), N] : [];
1919
2196
  };
1920
- return C(d).forEach((h) => {
1921
- if (h.menuGbCd === t.mainMenu || h.menuGbCd === t.subMenu) {
2197
+ return d(c).forEach((p) => {
2198
+ if (p.menuGbCd === t.mainMenu || p.menuGbCd === t.subMenu) {
1922
2199
  let N;
1923
- if (r && h.menuId && (N = r[h.menuId]), !N && o && h.scrnPath) {
1924
- const v = h.scrnPath.startsWith("/") ? h.scrnPath : `/${h.scrnPath}`, p = Object.keys(o).find(
1925
- (w) => w === v || w === `/main${v}`
2200
+ if (r && p.menuId && (N = r[p.menuId]), !N && o && p.scrnPath) {
2201
+ const y = p.scrnPath.startsWith("/") ? p.scrnPath : `/${p.scrnPath}`, g = Object.keys(o).find(
2202
+ (k) => k === y || k === `/main${y}`
1926
2203
  );
1927
- p && (N = p.startsWith("/main") ? p : `/main${p.startsWith("/") ? p : `/${p}`}`);
2204
+ g && (N = g.startsWith("/main") ? g : `/main${g.startsWith("/") ? g : `/${g}`}`);
1928
2205
  }
1929
- u.push({
1930
- title: h.menuNm,
1931
- onClick: N ? () => i(N) : void 0
2206
+ m.push({
2207
+ title: p.menuNm,
2208
+ onClick: N ? () => a(N) : void 0
1932
2209
  });
1933
2210
  }
1934
- }), u.push({
1935
- title: d.menuNm
1936
- }), u;
1937
- }, [d, t, i, l]);
1938
- return /* @__PURE__ */ y(
2211
+ }), m.push({
2212
+ title: c.menuNm
2213
+ }), m;
2214
+ }, [c, t, a, l]);
2215
+ return /* @__PURE__ */ C(
1939
2216
  "div",
1940
2217
  {
1941
2218
  style: {
@@ -1944,10 +2221,10 @@ const Vt = ({
1944
2221
  },
1945
2222
  children: [
1946
2223
  /* @__PURE__ */ e(
1947
- He,
2224
+ Ye,
1948
2225
  {
1949
2226
  separator: ">",
1950
- items: c,
2227
+ items: v,
1951
2228
  style: { marginBottom: "16px" }
1952
2229
  }
1953
2230
  ),
@@ -1955,30 +2232,30 @@ const Vt = ({
1955
2232
  ]
1956
2233
  }
1957
2234
  );
1958
- }, bn = ({ config: n = {} }) => {
1959
- const t = n?.header?.menu, r = t?.visible !== !1, o = t?.routes, s = F(() => {
2235
+ }, kn = ({ config: n = {} }) => {
2236
+ const t = n?.header?.menu, r = t?.visible !== !1, o = t?.routes, i = _(() => {
1960
2237
  if (!o) return;
1961
- const i = {}, { flatMenuList: b } = J.getState();
2238
+ const a = {}, { flatMenuList: b } = ie.getState();
1962
2239
  return b.forEach((l) => {
1963
2240
  if (l.menuGbCd === t?.menuGubunCode?.program && l.scrnPath) {
1964
- const d = l.scrnPath.startsWith("/") ? l.scrnPath : `/${l.scrnPath}`, c = Object.keys(o).find((u) => {
1965
- const C = u === "/" ? "/" : u.startsWith("/") ? u : `/${u}`;
1966
- return C === d || C === `/main${d}` || d === C.replace(/^\/main/, "");
2241
+ const c = l.scrnPath.startsWith("/") ? l.scrnPath : `/${l.scrnPath}`, v = Object.keys(o).find((m) => {
2242
+ const d = m === "/" ? "/" : m.startsWith("/") ? m : `/${m}`;
2243
+ return d === c || d === `/main${c}` || c === d.replace(/^\/main/, "");
1967
2244
  });
1968
- if (c) {
1969
- const u = c === "/" ? "/main" : c.startsWith("/main") ? c : `/main${c.startsWith("/") ? c : `/${c}`}`;
1970
- i[l.menuId] = u;
2245
+ if (v) {
2246
+ const m = v === "/" ? "/main" : v.startsWith("/main") ? v : `/main${v.startsWith("/") ? v : `/${v}`}`;
2247
+ a[l.menuId] = m;
1971
2248
  }
1972
2249
  }
1973
- }), i;
2250
+ }), a;
1974
2251
  }, [o, t?.menuGubunCode?.program]);
1975
- return /* @__PURE__ */ y(j, { className: "main-layout", children: [
1976
- /* @__PURE__ */ e(we, { config: n?.header, children: r && /* @__PURE__ */ e(
1977
- Kt,
2252
+ return /* @__PURE__ */ C(Z, { className: "main-layout", children: [
2253
+ /* @__PURE__ */ e(Se, { config: n?.header, children: r && /* @__PURE__ */ e(
2254
+ Xt,
1978
2255
  {
1979
2256
  menuGubunCode: t?.menuGubunCode,
1980
2257
  mode: t?.style?.mode || "horizontal",
1981
- routeMap: s,
2258
+ routeMap: i,
1982
2259
  style: {
1983
2260
  border: "none",
1984
2261
  backgroundColor: "transparent",
@@ -1988,7 +2265,7 @@ const Vt = ({
1988
2265
  }
1989
2266
  }
1990
2267
  ) }),
1991
- /* @__PURE__ */ e("div", { className: "content-container", children: /* @__PURE__ */ y(ve, { config: n?.content, children: [
2268
+ /* @__PURE__ */ e("div", { className: "content-container", children: /* @__PURE__ */ C(Pe, { config: n?.content, children: [
1992
2269
  /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ e(
1993
2270
  "div",
1994
2271
  {
@@ -1997,48 +2274,48 @@ const Vt = ({
1997
2274
  width: "100%",
1998
2275
  height: "100%"
1999
2276
  },
2000
- children: /* @__PURE__ */ e(X, { fallback: /* @__PURE__ */ e("div", { children: "Loading..." }), children: /* @__PURE__ */ e(ge, { children: Object.entries(o || {}).map(([i, b]) => {
2001
- const l = i === "/" ? "" : i.replace(/^\/main/, "").replace(/^\//, "") || "";
2277
+ children: /* @__PURE__ */ e(se, { fallback: /* @__PURE__ */ e("div", { children: "Loading..." }), children: /* @__PURE__ */ e(xe, { children: Object.entries(o || {}).map(([a, b]) => {
2278
+ const l = a === "/" ? "" : a.replace(/^\/main/, "").replace(/^\//, "") || "";
2002
2279
  return /* @__PURE__ */ e(
2003
- Y,
2280
+ te,
2004
2281
  {
2005
2282
  path: l,
2006
2283
  element: /* @__PURE__ */ e(
2007
- en,
2284
+ an,
2008
2285
  {
2009
2286
  menuGubunCode: t?.menuGubunCode,
2010
- routeMap: s,
2287
+ routeMap: i,
2011
2288
  routes: o,
2012
2289
  children: /* @__PURE__ */ e(b, {})
2013
2290
  }
2014
2291
  )
2015
2292
  },
2016
- i
2293
+ a
2017
2294
  );
2018
2295
  }) }) })
2019
2296
  }
2020
2297
  ) }),
2021
- /* @__PURE__ */ e(xe, {})
2298
+ /* @__PURE__ */ e(Te, {})
2022
2299
  ] }) })
2023
2300
  ] });
2024
2301
  };
2025
- function yn({
2302
+ function In({
2026
2303
  config: n,
2027
2304
  ui: t,
2028
2305
  navigate: r
2029
2306
  }) {
2030
- const { loading: o, capsOn: s, prefills: i, onKeyDown: b, doLogin: l } = Qe(n), d = (c) => l(c, r);
2031
- return E(() => {
2032
- Xe.getState().fetchSystemMap();
2033
- }, []), /* @__PURE__ */ e(V, { children: t({ onSubmit: d, loading: o, capsOn: s, onKeyDown: b, prefills: i }) });
2307
+ const { loading: o, capsOn: i, prefills: a, onKeyDown: b, doLogin: l } = tt(n), c = (v) => l(v, r);
2308
+ return D(() => {
2309
+ nt.getState().fetchSystemMap();
2310
+ }, []), /* @__PURE__ */ e(K, { children: t({ onSubmit: c, loading: o, capsOn: i, onKeyDown: b, prefills: a }) });
2034
2311
  }
2035
- function Cn({
2312
+ function Nn({
2036
2313
  onSubmit: n,
2037
2314
  loading: t,
2038
2315
  capsOn: r,
2039
2316
  onKeyDown: o,
2040
- prefills: s,
2041
- labels: i = {
2317
+ prefills: i,
2318
+ labels: a = {
2042
2319
  id: "ID 혹은 사번",
2043
2320
  pw: "비밀번호",
2044
2321
  remember: "Remember me",
@@ -2047,15 +2324,15 @@ function Cn({
2047
2324
  header: b,
2048
2325
  footer: l
2049
2326
  }) {
2050
- const [d] = H.useForm();
2051
- return E(() => {
2052
- s && (s.id || s.pswr) && d.setFieldsValue({ id: s.id, pswr: s.pswr });
2053
- }, [s, d]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ y("div", { className: "login_wrap", children: [
2327
+ const [c] = V.useForm();
2328
+ return D(() => {
2329
+ i && (i.id || i.pswr) && c.setFieldsValue({ id: i.id, pswr: i.pswr });
2330
+ }, [i, c]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ C("div", { className: "login_wrap", children: [
2054
2331
  b || /* @__PURE__ */ e("div", { className: "logo_box" }),
2055
2332
  /* @__PURE__ */ e("div", { className: "login_title" }),
2056
- /* @__PURE__ */ e(H, { form: d, onFinish: n, className: "login-form", children: /* @__PURE__ */ y(Ve, { vertical: !0, children: [
2333
+ /* @__PURE__ */ e(V, { form: c, onFinish: n, className: "login-form", children: /* @__PURE__ */ C(ne, { vertical: !0, children: [
2057
2334
  /* @__PURE__ */ e(
2058
- H.Item,
2335
+ V.Item,
2059
2336
  {
2060
2337
  name: "id",
2061
2338
  rules: [
@@ -2065,47 +2342,47 @@ function Cn({
2065
2342
  message: "아이디는 공백이 들어갈 수 없습니다."
2066
2343
  }
2067
2344
  ],
2068
- children: /* @__PURE__ */ e(oe, { allowClear: !0, placeholder: i.id, onKeyDown: o })
2345
+ children: /* @__PURE__ */ e(ue, { allowClear: !0, placeholder: a.id, onKeyDown: o })
2069
2346
  }
2070
2347
  ),
2071
2348
  /* @__PURE__ */ e(
2072
- H.Item,
2349
+ V.Item,
2073
2350
  {
2074
2351
  name: "pswr",
2075
2352
  rules: [{ required: !0, message: "비밀번호를 입력하세요." }],
2076
2353
  children: /* @__PURE__ */ e(
2077
- oe.Password,
2354
+ ue.Password,
2078
2355
  {
2079
2356
  allowClear: !0,
2080
- placeholder: i.pw,
2357
+ placeholder: a.pw,
2081
2358
  onKeyDown: o
2082
2359
  }
2083
2360
  )
2084
2361
  }
2085
2362
  ),
2086
- /* @__PURE__ */ e(H.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(je, { children: i.remember }) }),
2363
+ /* @__PURE__ */ e(V.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(qe, { children: a.remember }) }),
2087
2364
  /* @__PURE__ */ e("div", { className: r ? "caps-lock caps-lock-on" : "caps-lock", children: r ? "Caps Lock On" : "Caps Lock Off" }),
2088
- /* @__PURE__ */ e(H.Item, { children: /* @__PURE__ */ e(L, { type: "primary", htmlType: "submit", loading: t, block: !0, children: i.login }) })
2365
+ /* @__PURE__ */ e(V.Item, { children: /* @__PURE__ */ e(B, { type: "primary", htmlType: "submit", loading: t, block: !0, children: a.login }) })
2089
2366
  ] }) }),
2090
2367
  l
2091
2368
  ] }) });
2092
2369
  }
2093
2370
  export {
2094
- gn as A,
2095
- fn as B,
2096
- jt as C,
2097
- Cn as D,
2098
- Kt as H,
2099
- pn as L,
2100
- qt as P,
2101
- bn as a,
2102
- yn as b,
2103
- Ut as c,
2104
- ve as d,
2105
- we as e,
2106
- Wt as f,
2107
- _t as g,
2108
- en as h,
2109
- Jt as i,
2110
- Tt as l
2371
+ wn as A,
2372
+ xn as B,
2373
+ Qt as C,
2374
+ Nn as D,
2375
+ Xt as H,
2376
+ vn as L,
2377
+ nn as P,
2378
+ kn as a,
2379
+ In as b,
2380
+ Jt as c,
2381
+ Pe as d,
2382
+ Se as e,
2383
+ Ut as f,
2384
+ Zt as g,
2385
+ an as h,
2386
+ sn as i,
2387
+ Dt as l
2111
2388
  };