@bwg-ui/core 1.2.15 → 1.2.17

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 (55) hide show
  1. package/dist/chunks/{MenuReport-CozV1tpR.js → MenuReport-ByLduwwZ.js} +27 -26
  2. package/dist/chunks/MenuReport-D5nIx5g9.cjs +1 -0
  3. package/dist/chunks/{common-components-B-zgrX-L.cjs → common-components-BXjzima0.cjs} +76 -76
  4. package/dist/chunks/{common-components-XA2KG7Pl.js → common-components-CyxuMobg.js} +7990 -7606
  5. package/dist/chunks/layout-components-CfFi4fiJ.cjs +35 -0
  6. package/dist/chunks/{layout-components-MrnKV5g7.js → layout-components-CyKRhOdT.js} +646 -614
  7. package/dist/components/common/BookmarkMngModal.d.ts.map +1 -1
  8. package/dist/components/common/BookmarkPopver.d.ts.map +1 -1
  9. package/dist/components/common/BwgConfigProvider.d.ts.map +1 -1
  10. package/dist/components/common/BwgEditor.d.ts.map +1 -1
  11. package/dist/components/common/BwgPagination.d.ts.map +1 -1
  12. package/dist/components/common/index.cjs +1 -1
  13. package/dist/components/common/index.js +1 -1
  14. package/dist/components/guide/BwgPracticeGuideS00.d.ts.map +1 -1
  15. package/dist/components/guide/BwgPracticeGuideS01.d.ts.map +1 -1
  16. package/dist/components/guide/index.cjs +1 -1
  17. package/dist/components/guide/index.d.ts +0 -1
  18. package/dist/components/guide/index.d.ts.map +1 -1
  19. package/dist/components/guide/index.js +97 -291
  20. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  21. package/dist/components/layout/custom/ConfigurableSidebar.d.ts.map +1 -1
  22. package/dist/components/layout/default/LoadingContainer.d.ts +1 -0
  23. package/dist/components/layout/default/LoadingContainer.d.ts.map +1 -1
  24. package/dist/components/layout/index.cjs +1 -1
  25. package/dist/components/layout/index.js +1 -1
  26. package/dist/components/layout/types.d.ts +28 -0
  27. package/dist/components/layout/types.d.ts.map +1 -1
  28. package/dist/components/pages/index.d.ts +1 -0
  29. package/dist/components/pages/index.d.ts.map +1 -1
  30. package/dist/components/pages/syst/CMHldyCfg.d.ts.map +1 -0
  31. package/dist/components/popup/MenuReport.d.ts.map +1 -1
  32. package/dist/components/popup/index.cjs +1 -1
  33. package/dist/components/popup/index.js +1 -1
  34. package/dist/index.cjs +1 -1
  35. package/dist/index.js +161 -159
  36. package/dist/public/realgrid/css/realgrid-style-custom.css +30 -4
  37. package/dist/stores/index.cjs +1 -1
  38. package/dist/stores/index.js +1 -1
  39. package/dist/styles/assets/images/contents/icon/ico-add-bookmark.svg +26 -0
  40. package/dist/styles/assets/images/contents/icon/ico-edit-folder.svg +18 -0
  41. package/dist/styles/assets/images/contents/icon/ico-new-folder.svg +20 -0
  42. package/dist/styles/assets/images/contents/icon/ico-save-bookmark.svg +25 -0
  43. package/dist/styles/components.css +207 -132
  44. package/dist/styles/layout-test.css +8 -300
  45. package/dist/styles/layout.css +77 -113
  46. package/dist/styles/variables.css +111 -78
  47. package/dist/utils/gwUtils.d.ts +38 -0
  48. package/dist/utils/gwUtils.d.ts.map +1 -1
  49. package/dist/utils/index.cjs +1 -1
  50. package/dist/utils/index.js +731 -700
  51. package/package.json +2 -1
  52. package/dist/chunks/MenuReport-Bqeps5fC.cjs +0 -1
  53. package/dist/chunks/layout-components-bb0cWC3I.cjs +0 -35
  54. package/dist/components/guide/CMHldyCfg.d.ts.map +0 -1
  55. /package/dist/components/{guide → pages/syst}/CMHldyCfg.d.ts +0 -0
@@ -1,20 +1,20 @@
1
- import { jsxs as g, jsx as e, Fragment as O } from "react/jsx-runtime";
1
+ import { jsxs as g, jsx as e, Fragment as R } from "react/jsx-runtime";
2
2
  import { ServiceCodeProvider as me, CommonCodeProvider as pe, ScreenProtectProvider as he, useLock as ge, SearchBoxProvider as fe } from "../provider/index.js";
3
3
  import { Routes as be, Route as K, Navigate as ye, useNavigate as Ce } from "react-router-dom";
4
- import { G as ve, B as we, Q as xe } from "./common-components-XA2KG7Pl.js";
5
- import { Spin as j, Layout as $, ColorPicker as ke, Button as w, Popover as Ne, Avatar as Ie, Tabs as Se, Tooltip as z, AutoComplete as Le, Input as Y, Segmented as Te, Menu as te, Result as ie, Space as Pe, Typography as Me, Empty as Z, Form as D, Flex as Be, Checkbox as Ee } from "antd";
6
- import { lazy as F, useEffect as I, useState as L, useRef as V, useMemo as W, useCallback as B, createElement as le, memo as q, cloneElement as De, Component as Oe, Suspense as Q } from "react";
7
- import { useLogout as Fe, useMenuViewStore as S, useMenuModelStore as Re, useFavoriteStore as Ae, usePopupStore as J, useLogin as ze, useSystemStore as $e } from "../stores/index.js";
4
+ import { G as ve, B as we, Q as xe } from "./common-components-CyxuMobg.js";
5
+ import { Spin as j, Layout as H, ColorPicker as ke, Button as x, Popover as Ne, Avatar as Ie, Tabs as Se, Tooltip as z, AutoComplete as Te, Input as Y, Segmented as Le, ConfigProvider as Pe, Menu as te, Result as ie, Space as Me, Typography as Be, Empty as Z, Form as O, Flex as Ee, Checkbox as De } from "antd";
6
+ import { lazy as F, useEffect as S, useState as L, useRef as V, useMemo as W, useCallback as E, createElement as le, memo as q, cloneElement as Oe, Component as Re, Suspense as Q } from "react";
7
+ import { useLogout as Fe, useMenuViewStore as T, useMenuModelStore as Ae, useFavoriteStore as ze, usePopupStore as J, useLogin as He, useSystemStore as Ve } from "../stores/index.js";
8
8
  import * as ne from "@ant-design/icons";
9
- import { UserOutlined as Ve, StepBackwardOutlined as He, LeftOutlined as _e, RightOutlined as Ge, StepForwardOutlined as We, CloseOutlined as ce, MenuUnfoldOutlined as je, MenuFoldOutlined as Ue, ExclamationCircleOutlined as Ke, WarningOutlined as Ze, StarOutlined as Ye, FolderOpenOutlined as Xe, ReloadOutlined as de, ExclamationCircleTwoTone as qe } from "@ant-design/icons";
10
- import { getCookie as Qe, getCurrentDateString as re, setCookie as Je, THEME_COOKIE_NAME as oe, getUserId as se } from "../utils/index.js";
11
- import { useSensors as et, useSensor as tt, PointerSensor as nt, DndContext as rt, closestCenter as ot } from "@dnd-kit/core";
12
- import { restrictToHorizontalAxis as st } from "@dnd-kit/modifiers";
13
- import { arrayMove as at, SortableContext as it, horizontalListSortingStrategy as lt, useSortable as ct } from "@dnd-kit/sortable";
14
- const dt = F(() => import("./MenuReport-CozV1tpR.js")), ut = F(() => import("./common-components-XA2KG7Pl.js").then((n) => n.V)), mt = F(() => import("./common-components-XA2KG7Pl.js").then((n) => n.W)), pt = F(() => import("./common-components-XA2KG7Pl.js").then((n) => n.X)), ht = F(() => import("./common-components-XA2KG7Pl.js").then((n) => n.Y)), gt = {
9
+ import { UserOutlined as _e, StepBackwardOutlined as $e, LeftOutlined as Ge, RightOutlined as We, StepForwardOutlined as je, CloseOutlined as ce, MenuUnfoldOutlined as Ue, MenuFoldOutlined as Ke, ExclamationCircleOutlined as Ze, WarningOutlined as Ye, StarOutlined as Xe, FolderOpenOutlined as qe, ReloadOutlined as de, ExclamationCircleTwoTone as Qe } from "@ant-design/icons";
10
+ import { getCookie as Je, getCurrentDateString as re, setCookie as et, THEME_COOKIE_NAME as oe, getUserId as se } from "../utils/index.js";
11
+ import { useSensors as tt, useSensor as nt, PointerSensor as rt, DndContext as ot, closestCenter as st } from "@dnd-kit/core";
12
+ import { restrictToHorizontalAxis as at } from "@dnd-kit/modifiers";
13
+ import { arrayMove as it, SortableContext as lt, horizontalListSortingStrategy as ct, useSortable as dt } from "@dnd-kit/sortable";
14
+ const ut = F(() => import("./MenuReport-ByLduwwZ.js")), mt = F(() => import("./common-components-CyxuMobg.js").then((r) => r.W)), pt = F(() => import("./common-components-CyxuMobg.js").then((r) => r.X)), ht = F(() => import("./common-components-CyxuMobg.js").then((r) => r.Y)), gt = F(() => import("./common-components-CyxuMobg.js").then((r) => r.Z)), ft = {
15
15
  // 게시판/문의
16
16
  CORE_REPORT: {
17
- component: dt,
17
+ component: ut,
18
18
  defaultConfig: {
19
19
  title: "게시판/문의",
20
20
  width: 1200,
@@ -23,7 +23,7 @@ const dt = F(() => import("./MenuReport-CozV1tpR.js")), ut = F(() => import("./c
23
23
  },
24
24
  // 조직/부서 검색류
25
25
  CORE_DEPARTMENT_01: {
26
- component: ut,
26
+ component: mt,
27
27
  defaultConfig: {
28
28
  title: "부서 검색",
29
29
  width: 620,
@@ -31,7 +31,7 @@ const dt = F(() => import("./MenuReport-CozV1tpR.js")), ut = F(() => import("./c
31
31
  }
32
32
  },
33
33
  CORE_DEPARTMENT_02: {
34
- component: mt,
34
+ component: pt,
35
35
  defaultConfig: {
36
36
  title: "부서 검색",
37
37
  width: 620,
@@ -39,7 +39,7 @@ const dt = F(() => import("./MenuReport-CozV1tpR.js")), ut = F(() => import("./c
39
39
  }
40
40
  },
41
41
  CORE_ORGANIZATION_01: {
42
- component: pt,
42
+ component: ht,
43
43
  defaultConfig: {
44
44
  title: "조직 검색",
45
45
  width: 620,
@@ -47,7 +47,7 @@ const dt = F(() => import("./MenuReport-CozV1tpR.js")), ut = F(() => import("./c
47
47
  }
48
48
  },
49
49
  CORE_ORGANIZATION_02: {
50
- component: ht,
50
+ component: gt,
51
51
  defaultConfig: {
52
52
  title: "조직 검색",
53
53
  width: 1e3,
@@ -55,10 +55,10 @@ const dt = F(() => import("./MenuReport-CozV1tpR.js")), ut = F(() => import("./c
55
55
  }
56
56
  }
57
57
  }, ae = "bwg-dot-line-wave-v4";
58
- function ft() {
58
+ function bt() {
59
59
  if (typeof document > "u" || document.getElementById(ae)) return;
60
- const n = document.createElement("style");
61
- n.id = ae, n.textContent = `
60
+ const r = document.createElement("style");
61
+ r.id = ae, r.textContent = `
62
62
  .bwg-dotline {
63
63
  display: inline-flex;
64
64
  align-items: center;
@@ -92,27 +92,27 @@ function ft() {
92
92
  @media (prefers-reduced-motion: reduce) {
93
93
  .bwg-dotline .dot { animation: none; }
94
94
  }
95
- `, document.head.appendChild(n);
95
+ `, document.head.appendChild(r);
96
96
  }
97
- const bt = ({
98
- colors: n = ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
97
+ const yt = ({
98
+ colors: r = ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
99
99
  count: t,
100
- size: r = 12,
101
- gap: o = 10,
102
- amp: s = 16,
100
+ size: n = 12,
101
+ gap: s = 10,
102
+ amp: o = 16,
103
103
  speedMs: d = 900,
104
- direction: f = "ltr",
105
- phase: i = 0.7
104
+ direction: p = "ltr",
105
+ phase: m = 0.7
106
106
  }) => {
107
- I(() => {
108
- ft();
107
+ S(() => {
108
+ bt();
109
109
  }, []);
110
- const u = t ?? n.length, m = Array.from({ length: u }), h = {
111
- "--bwg-size": `${r}px`,
112
- "--bwg-gap": `${o}px`,
113
- "--bwg-amp": `${s}px`,
110
+ const i = t ?? r.length, c = Array.from({ length: i }), h = {
111
+ "--bwg-size": `${n}px`,
112
+ "--bwg-gap": `${s}px`,
113
+ "--bwg-amp": `${o}px`,
114
114
  "--bwg-speed": `${d}ms`
115
- }, C = d / u * i;
115
+ }, v = d / i * m;
116
116
  return /* @__PURE__ */ e(
117
117
  "span",
118
118
  {
@@ -120,103 +120,110 @@ const bt = ({
120
120
  role: "img",
121
121
  "aria-label": "loading",
122
122
  style: h,
123
- children: m.map((a, l) => /* @__PURE__ */ e(
123
+ children: c.map((b, a) => /* @__PURE__ */ e(
124
124
  "span",
125
125
  {
126
126
  className: "dot",
127
127
  style: {
128
- backgroundColor: n[l % n.length],
129
- animationDelay: f === "ltr" ? `${l * C}ms` : `${(u - 1 - l) * C}ms`
128
+ backgroundColor: r[a % r.length],
129
+ animationDelay: p === "ltr" ? `${a * v}ms` : `${(i - 1 - a) * v}ms`
130
130
  }
131
131
  },
132
- l
132
+ a
133
133
  ))
134
134
  }
135
135
  );
136
- }, Jt = ({
137
- spin: n = null,
138
- text: t = "인증중..."
139
- }) => n ?? !0 ? /* @__PURE__ */ g(
140
- "div",
141
- {
142
- style: {
143
- position: "fixed",
144
- height: "100vh",
145
- left: 0,
146
- right: 0,
147
- top: 0,
148
- display: "flex",
149
- flexDirection: "column",
150
- justifyContent: "center",
151
- alignItems: "center",
152
- gap: 8,
153
- padding: "8px 12px",
154
- background: "rgba(0,0,0,0.6)",
155
- color: "#fff",
156
- zIndex: 1e4
157
- },
158
- "aria-live": "polite",
159
- "aria-busy": "true",
160
- role: "status",
161
- children: [
162
- /* @__PURE__ */ e(
163
- j,
164
- {
165
- indicator: /* @__PURE__ */ e(
166
- bt,
167
- {
168
- colors: ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
169
- size: 12,
170
- gap: 10,
171
- amp: 16,
172
- speedMs: 900,
173
- phase: 0.75,
174
- direction: "ltr"
175
- }
176
- )
177
- }
178
- ),
179
- /* @__PURE__ */ e("span", { className: "bwg-spin-txt", style: { marginTop: "15px" }, children: t })
180
- ]
181
- }
182
- ) : null, en = ({ routes: n, useCommonProvider: t = !0, useServiceProvider: r = !0 }) => {
183
- let s = /* @__PURE__ */ g(be, { children: [
136
+ }, en = ({
137
+ spin: r = null,
138
+ text: t = "인증중...",
139
+ dimStyle: n = "dark"
140
+ }) => {
141
+ if (!(r ?? !0)) return null;
142
+ const d = n === "dark";
143
+ return /* @__PURE__ */ g(
144
+ "div",
145
+ {
146
+ className: "loading-overlay",
147
+ style: {
148
+ position: "fixed",
149
+ height: "100vh",
150
+ left: 0,
151
+ right: 0,
152
+ top: 0,
153
+ display: "flex",
154
+ flexDirection: "column",
155
+ justifyContent: "center",
156
+ alignItems: "center",
157
+ gap: 8,
158
+ padding: "8px 12px",
159
+ background: d ? "rgba(0, 0, 0, 0.6)" : "rgba(255, 255, 255, 0.85)",
160
+ color: d ? "#fff" : "#333",
161
+ backdropFilter: "blur(4px)",
162
+ zIndex: 1e4
163
+ },
164
+ "aria-live": "polite",
165
+ "aria-busy": "true",
166
+ role: "status",
167
+ children: [
168
+ /* @__PURE__ */ e(
169
+ j,
170
+ {
171
+ indicator: /* @__PURE__ */ e(
172
+ yt,
173
+ {
174
+ colors: ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
175
+ size: 12,
176
+ gap: 10,
177
+ amp: 16,
178
+ speedMs: 900,
179
+ phase: 0.75,
180
+ direction: "ltr"
181
+ }
182
+ )
183
+ }
184
+ ),
185
+ /* @__PURE__ */ e("span", { className: "bwg-spin-txt", style: { marginTop: "15px" }, children: t })
186
+ ]
187
+ }
188
+ );
189
+ }, tn = ({ routes: r, useCommonProvider: t = !0, useServiceProvider: n = !0 }) => {
190
+ let o = /* @__PURE__ */ g(be, { children: [
184
191
  /* @__PURE__ */ e(K, { path: "/", element: /* @__PURE__ */ e(ye, { to: "/login" }) }),
185
- /* @__PURE__ */ e(K, { path: "/login", element: n.login }),
186
- /* @__PURE__ */ e(K, { path: "/main", element: n.main })
192
+ /* @__PURE__ */ e(K, { path: "/login", element: r.login }),
193
+ /* @__PURE__ */ e(K, { path: "/main", element: r.main })
187
194
  ] });
188
- return r && (s = /* @__PURE__ */ e(me, { children: s })), t && (s = /* @__PURE__ */ e(pe, { children: s })), /* @__PURE__ */ e(ve, { children: s });
189
- }, { Content: yt } = $, Ct = ({
190
- config: n = {},
195
+ return n && (o = /* @__PURE__ */ e(me, { children: o })), t && (o = /* @__PURE__ */ e(pe, { children: o })), /* @__PURE__ */ e(ve, { children: o });
196
+ }, { Content: Ct } = H, vt = ({
197
+ config: r = {},
191
198
  children: t
192
199
  }) => {
193
- const r = {
200
+ const n = {
194
201
  wrapper: {
195
202
  className: "content-wrapper",
196
- ...n.wrapper
203
+ ...r.wrapper
197
204
  },
198
205
  body: {
199
206
  className: "content-body",
200
- ...n.body
207
+ ...r.body
201
208
  },
202
- ...n
209
+ ...r
203
210
  };
204
211
  return /* @__PURE__ */ e(
205
- yt,
212
+ Ct,
206
213
  {
207
- className: r.wrapper.className,
208
- style: r.wrapper.style,
214
+ className: n.wrapper.className,
215
+ style: n.wrapper.style,
209
216
  children: /* @__PURE__ */ e(we, { children: /* @__PURE__ */ e(
210
217
  "div",
211
218
  {
212
- className: r.body.className,
213
- style: r.body.style,
219
+ className: n.body.className,
220
+ style: n.body.style,
214
221
  children: t
215
222
  }
216
223
  ) })
217
224
  }
218
225
  );
219
- }, vt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%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", wt = "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", xt = "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: kt } = $, M = {
226
+ }, wt = "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", xt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_93_4488)'%3e%3cpath%20d='M18%207H21C22.1046%207%2023%207.89543%2023%209V21C23%2022.1046%2022.1046%2023%2021%2023H18M11%2011L7%2015M7%2015L11%2019M7%2015L19%2015'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_93_4488'%3e%3crect%20width='30'%20height='30'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", kt = "data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%206H16C16.5523%206%2017%206.44772%2017%207V7.56879C17%207.99659%2017.2871%208.36825%2017.6822%208.53228C18.0775%208.69638%2018.5377%208.63384%2018.8403%208.33123L19.2426%207.92891C19.6331%207.53838%2020.2663%207.53838%2020.6568%207.92891L22.071%209.34312C22.4616%209.73365%2022.4615%2010.3668%2022.071%2010.7573L21.6688%2011.1596C21.3661%2011.4622%2021.3036%2011.9225%2021.4677%2012.3177C21.6317%2012.7129%2022.0034%2013%2022.4313%2013L23%2013C23.5523%2013%2024%2013.4477%2024%2014V16C24%2016.5523%2023.5523%2017%2023%2017H22.4312C22.0034%2017%2021.6318%2017.2871%2021.4677%2017.6822C21.3036%2018.0775%2021.3661%2018.5377%2021.6688%2018.8403L22.071%2019.2426C22.4616%2019.6331%2022.4616%2020.2663%2022.071%2020.6568L20.6568%2022.071C20.2663%2022.4616%2019.6331%2022.4616%2019.2426%2022.071L18.8403%2021.6688C18.5377%2021.3661%2018.0775%2021.3036%2017.6822%2021.4677C17.2871%2021.6318%2017%2022.0034%2017%2022.4312V23C17%2023.5523%2016.5523%2024%2016%2024H14C13.4477%2024%2013%2023.5523%2013%2023V22.4313C13%2022.0034%2012.7129%2021.6317%2012.3177%2021.4677C11.9225%2021.3036%2011.4622%2021.3661%2011.1596%2021.6688L10.7573%2022.071C10.3668%2022.4616%209.73363%2022.4616%209.34311%2022.071L7.92889%2020.6568C7.53837%2020.2663%207.53837%2019.6331%207.92889%2019.2426L8.33123%2018.8403C8.63384%2018.5377%208.69638%2018.0775%208.53228%2017.6822C8.36825%2017.2871%207.99659%2017%207.56879%2017H7C6.44772%2017%206%2016.5523%206%2016V14C6%2013.4477%206.44772%2013%207%2013L7.56877%2013C7.99658%2013%208.36825%2012.7129%208.53229%2012.3178C8.6964%2011.9225%208.63386%2011.4623%208.33123%2011.1597L7.92891%2010.7573C7.53838%2010.3668%207.53838%209.73365%207.92891%209.34313L9.34312%207.92891C9.73365%207.53839%2010.3668%207.53839%2010.7573%207.92891L11.1597%208.33123C11.4623%208.63386%2011.9225%208.6964%2012.3178%208.53229C12.7129%208.36825%2013%207.99658%2013%207.56876V7C13%206.44772%2013.4477%206%2014%206Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3cpath%20d='M17%2015C17%2016.1046%2016.1046%2017%2015%2017C13.8954%2017%2013%2016.1046%2013%2015C13%2013.8954%2013.8954%2013%2015%2013C16.1046%2013%2017%2013.8954%2017%2015Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3c/svg%3e", { Header: Nt } = H, B = {
220
227
  light: {
221
228
  headerBg: "#ffffff",
222
229
  headerText: "#000000",
@@ -269,111 +276,113 @@ const bt = ({
269
276
  buttonDefaultBorder: "#dddddd",
270
277
  buttonPermissionBorder: "#bdb1ff"
271
278
  }
272
- }, Nt = ({ config: n = {} }) => {
279
+ }, It = ({ config: r = {} }) => {
273
280
  const t = {
281
+ gap: 14,
282
+ minWidth: 200,
283
+ items: r.right?.items,
284
+ alarm: {
285
+ visible: !0,
286
+ ...r.right?.alarm || {}
287
+ },
288
+ theme: {
289
+ visible: !0,
290
+ ...r.right?.theme || {}
291
+ },
292
+ logout: {
293
+ visible: !0,
294
+ ...r.right?.logout || {}
295
+ },
296
+ avatar: {
297
+ visible: !0,
298
+ width: 30,
299
+ height: 30,
300
+ ...r.right?.avatar || {}
301
+ }
302
+ }, n = {
274
303
  wrapper: {
275
304
  className: "header-wrapper",
276
- ...n.wrapper
305
+ ...r.wrapper
277
306
  },
278
307
  logo: {
279
308
  gap: 10,
280
- ...n.logo
309
+ ...r.logo
281
310
  },
282
- right: {
283
- gap: 14,
284
- minWidth: 200,
285
- avatar: {
286
- width: 30,
287
- height: 30,
288
- ...n.right?.avatar
289
- },
290
- ...n.right
291
- },
292
- ...n
293
- }, r = Ce(), [o, s] = L("modern"), d = V(null), f = Fe(), i = (a, l) => {
311
+ right: t
312
+ }, s = Ce(), [o, d] = L("modern"), p = V(null), m = Fe(), i = (a, C) => {
294
313
  try {
295
- if (!/^[a-zA-Z0-9-]+$/.test(a)) {
296
- console.warn(`Invalid CSS variable name: ${a}`);
297
- return;
298
- }
299
- if (!/^[#a-zA-Z0-9()\s,.-]+$/.test(l)) {
300
- console.warn(`Invalid CSS variable value: ${l}`);
301
- return;
302
- }
303
- document.documentElement.style.setProperty(a, l);
304
- } catch (T) {
305
- console.error("CSS variable setting failed:", T);
314
+ if (!/^[a-zA-Z0-9-]+$/.test(a) || !/^[#a-zA-Z0-9()\s,.-]+$/.test(C)) return;
315
+ document.documentElement.style.setProperty(a, C);
316
+ } catch (P) {
317
+ console.error("CSS variable setting failed:", P);
306
318
  }
307
- }, u = (a) => {
308
- if (!M[a]) {
309
- console.warn(`Invalid theme: ${a}`);
310
- return;
311
- }
312
- s(a);
313
- const l = { ...M[a] };
314
- i("--header-bg", l.headerBg), i("--header-text", l.headerText), i("--sidebar-bg", l.sidebarBg), i("--sidebar-text", l.sidebarText), i("--button-primary", l.buttonPrimary), i("--button-primary-hover", l.buttonPrimaryHover), i("--button-primary-active", l.buttonPrimaryActive), i("--button-default", l.buttonDefault), i("--button-default-hover", l.buttonDefaultHover), i("--button-default-border", l.buttonDefaultBorder), i(
319
+ }, c = (a) => {
320
+ if (!B[a]) return;
321
+ d(a);
322
+ const C = { ...B[a] };
323
+ i("--header-bg", C.headerBg), i("--header-text", C.headerText), i("--sidebar-bg", C.sidebarBg), i("--sidebar-text", C.sidebarText), i("--button-primary", C.buttonPrimary), i("--button-primary-hover", C.buttonPrimaryHover), i("--button-primary-active", C.buttonPrimaryActive), i("--button-default", C.buttonDefault), i("--button-default-hover", C.buttonDefaultHover), i("--button-default-border", C.buttonDefaultBorder), i(
315
324
  "--button-permission-border",
316
- l.buttonPermissionBorder
317
- ), d.current && d.current.setAttribute("data-theme", a), document.documentElement.setAttribute("data-theme", a), Je(oe, a, 30);
325
+ C.buttonPermissionBorder
326
+ ), p.current && p.current.setAttribute("data-theme", a), document.documentElement.setAttribute("data-theme", a), et(oe, a, 30);
318
327
  };
319
- I(() => {
320
- const a = Qe(oe);
321
- a && M[a] ? u(a) : u("modern");
328
+ S(() => {
329
+ const a = Je(oe);
330
+ a && B[a] ? c(a) : c("modern");
322
331
  }, []);
323
- const m = () => ({ ...M[o] }).headerBg, h = () => {
324
- f(), r("/login");
332
+ const h = () => ({ ...B[o] }).headerBg, v = () => {
333
+ m(), s("/login");
325
334
  };
326
335
  re ? re("HH:mm:ss") : (/* @__PURE__ */ new Date()).toLocaleTimeString("ko-KR");
327
- const C = /* @__PURE__ */ g("div", { style: { padding: "8px 0" }, children: [
336
+ const b = /* @__PURE__ */ g("div", { style: { padding: "8px 0" }, children: [
328
337
  /* @__PURE__ */ g("div", { style: { marginBottom: "12px" }, children: [
329
- /* @__PURE__ */ e(ke, { value: m(), disabled: !0, size: "small" }),
338
+ /* @__PURE__ */ e(ke, { value: h(), disabled: !0, size: "small" }),
330
339
  /* @__PURE__ */ e("span", { style: { marginLeft: "8px", fontSize: "12px" }, children: "현재 테마 색상" })
331
340
  ] }),
332
341
  /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: "4px" }, children: [
333
342
  /* @__PURE__ */ e(
334
- w,
343
+ x,
335
344
  {
336
345
  type: o === "modern" ? "primary" : "default",
337
346
  size: "small",
338
- onClick: () => u("modern"),
347
+ onClick: () => c("modern"),
339
348
  style: {
340
349
  textAlign: "left",
341
- backgroundColor: o === "modern" ? M.modern.headerBg : void 0,
342
- color: o === "modern" ? M.modern.headerText : void 0
350
+ backgroundColor: o === "modern" ? B.modern.headerBg : void 0,
351
+ color: o === "modern" ? B.modern.headerText : void 0
343
352
  },
344
353
  children: "모던"
345
354
  },
346
355
  "modern"
347
356
  ),
348
- Object.entries(M).filter(([a]) => a !== "modern").map(([a, l]) => /* @__PURE__ */ e(
349
- w,
357
+ Object.entries(B).filter(([a]) => a !== "modern").map(([a, C]) => /* @__PURE__ */ e(
358
+ x,
350
359
  {
351
360
  type: o === a ? "primary" : "default",
352
361
  size: "small",
353
- onClick: () => u(a),
362
+ onClick: () => c(a),
354
363
  style: {
355
364
  textAlign: "left",
356
- backgroundColor: o === a ? l.headerBg : void 0,
357
- color: o === a ? l.headerText : void 0
365
+ backgroundColor: o === a ? C.headerBg : void 0,
366
+ color: o === a ? C.headerText : void 0
358
367
  },
359
- children: a === "light" ? "라이트" : a === "dark" ? "다크" : a === "blue" ? "블루" : a
368
+ children: a
360
369
  },
361
370
  a
362
371
  ))
363
372
  ] })
364
373
  ] });
365
374
  return /* @__PURE__ */ g(
366
- kt,
375
+ Nt,
367
376
  {
368
- className: t.wrapper.className,
369
- style: { ...t.wrapper.style },
377
+ className: n.wrapper.className,
378
+ style: { ...n.wrapper.style },
370
379
  children: [
371
- t.logo && /* @__PURE__ */ e("div", { className: "header-left", children: /* @__PURE__ */ e(
380
+ n.logo && /* @__PURE__ */ e("div", { className: "header-left", children: /* @__PURE__ */ e(
372
381
  "div",
373
382
  {
374
383
  className: "logo-container",
375
- style: { gap: t.logo?.gap },
376
- children: t.logo?.items
384
+ style: { gap: n.logo?.gap },
385
+ children: n.logo?.items
377
386
  }
378
387
  ) }),
379
388
  /* @__PURE__ */ g(
@@ -381,54 +390,58 @@ const bt = ({
381
390
  {
382
391
  className: "header-right",
383
392
  style: {
384
- gap: t.right?.gap,
385
- minWidth: t.right?.minWidth
393
+ gap: n.right?.gap,
394
+ minWidth: n.right?.minWidth
386
395
  },
387
396
  children: [
388
- t.right?.items?.map((a, l) => /* @__PURE__ */ e("div", { children: a }, l)),
389
- /* @__PURE__ */ e(
390
- w,
397
+ n.right?.items?.map((a, C) => /* @__PURE__ */ e("div", { children: a }, C)),
398
+ n.right?.alarm?.visible && /* @__PURE__ */ e(
399
+ x,
391
400
  {
392
401
  type: "text",
393
- icon: /* @__PURE__ */ e("img", { src: vt, alt: "알림" }),
394
- className: "alarm-btn"
402
+ icon: /* @__PURE__ */ e("img", { src: wt, alt: "알림" }),
403
+ className: "alarm-btn",
404
+ onClick: n.right?.alarm?.onClick
395
405
  }
396
406
  ),
397
- /* @__PURE__ */ e(
407
+ n.right?.theme?.visible && /* @__PURE__ */ e(
398
408
  Ne,
399
409
  {
400
- content: C,
410
+ content: b,
401
411
  title: "테마 설정",
402
412
  trigger: "click",
403
413
  placement: "bottomRight",
414
+ onOpenChange: (a) => n.right?.theme?.onOpenChange?.(a),
404
415
  children: /* @__PURE__ */ e(
405
- w,
416
+ x,
406
417
  {
407
418
  type: "text",
408
- icon: /* @__PURE__ */ e("img", { src: xt, alt: "개인설정" }),
409
- className: "theme-btn"
419
+ icon: /* @__PURE__ */ e("img", { src: kt, alt: "개인설정" }),
420
+ className: "theme-btn",
421
+ onClick: n.right?.theme?.onClick
410
422
  }
411
423
  )
412
424
  }
413
425
  ),
414
- /* @__PURE__ */ e(
415
- w,
426
+ n.right?.logout?.visible && /* @__PURE__ */ e(
427
+ x,
416
428
  {
417
429
  type: "text",
418
- icon: /* @__PURE__ */ e("img", { src: wt, alt: "로그아웃" }),
419
- onClick: h,
430
+ icon: /* @__PURE__ */ e("img", { src: xt, alt: "로그아웃" }),
431
+ onClick: n.right?.logout?.onClick || v,
420
432
  className: "logout-btn"
421
433
  }
422
434
  ),
423
- /* @__PURE__ */ e(
435
+ n.right?.avatar?.visible && /* @__PURE__ */ e(
424
436
  Ie,
425
437
  {
426
- icon: /* @__PURE__ */ e(Ve, {}),
438
+ icon: /* @__PURE__ */ e(_e, {}),
427
439
  className: "avatar",
428
440
  style: {
429
- width: t.right?.avatar?.width,
430
- height: t.right?.avatar?.height
431
- }
441
+ width: n.right?.avatar?.width,
442
+ height: n.right?.avatar?.height
443
+ },
444
+ onClick: n.right?.avatar?.onClick
432
445
  }
433
446
  )
434
447
  ]
@@ -439,94 +452,94 @@ const bt = ({
439
452
  );
440
453
  }, X = /* @__PURE__ */ Object.freeze({
441
454
  Translate: {
442
- toString(n) {
443
- if (!n)
455
+ toString(r) {
456
+ if (!r)
444
457
  return;
445
458
  const {
446
459
  x: t,
447
- y: r
448
- } = n;
449
- return "translate3d(" + (t ? Math.round(t) : 0) + "px, " + (r ? Math.round(r) : 0) + "px, 0)";
460
+ y: n
461
+ } = r;
462
+ return "translate3d(" + (t ? Math.round(t) : 0) + "px, " + (n ? Math.round(n) : 0) + "px, 0)";
450
463
  }
451
464
  },
452
465
  Scale: {
453
- toString(n) {
454
- if (!n)
466
+ toString(r) {
467
+ if (!r)
455
468
  return;
456
469
  const {
457
470
  scaleX: t,
458
- scaleY: r
459
- } = n;
460
- return "scaleX(" + t + ") scaleY(" + r + ")";
471
+ scaleY: n
472
+ } = r;
473
+ return "scaleX(" + t + ") scaleY(" + n + ")";
461
474
  }
462
475
  },
463
476
  Transform: {
464
- toString(n) {
465
- if (n)
466
- return [X.Translate.toString(n), X.Scale.toString(n)].join(" ");
477
+ toString(r) {
478
+ if (r)
479
+ return [X.Translate.toString(r), X.Scale.toString(r)].join(" ");
467
480
  }
468
481
  },
469
482
  Transition: {
470
- toString(n) {
483
+ toString(r) {
471
484
  let {
472
485
  property: t,
473
- duration: r,
474
- easing: o
475
- } = n;
476
- return t + " " + r + "ms " + o;
486
+ duration: n,
487
+ easing: s
488
+ } = r;
489
+ return t + " " + n + "ms " + s;
477
490
  }
478
491
  }
479
- }), It = q(
480
- ({ className: n, ...t }) => {
481
- const r = V(null), {
482
- attributes: o,
483
- listeners: s,
492
+ }), St = q(
493
+ ({ className: r, ...t }) => {
494
+ const n = V(null), {
495
+ attributes: s,
496
+ listeners: o,
484
497
  transform: d,
485
- transition: f,
486
- isDragging: i,
487
- setNodeRef: u
488
- } = ct({ id: t["data-node-key"] }), [m, h] = L();
489
- I(() => {
490
- const a = r.current;
491
- if (a)
492
- if (i) {
493
- const l = Math.round(a.getBoundingClientRect().width);
494
- h(l);
498
+ transition: p,
499
+ isDragging: m,
500
+ setNodeRef: i
501
+ } = dt({ id: t["data-node-key"] }), [c, h] = L();
502
+ S(() => {
503
+ const b = n.current;
504
+ if (b)
505
+ if (m) {
506
+ const a = Math.round(b.getBoundingClientRect().width);
507
+ h(a);
495
508
  } else
496
509
  h(void 0);
497
- }, [i]);
498
- const C = {
510
+ }, [m]);
511
+ const v = {
499
512
  ...t.style,
500
513
  transform: d ? X.Transform.toString(d) : void 0,
501
- transition: f ?? "transform 0.16s ease",
514
+ transition: p ?? "transform 0.16s ease",
502
515
  cursor: "grab",
503
516
  userSelect: "none",
504
517
  willChange: "transform",
505
518
  // ✅ 드래그 중 픽셀 폭 고정 (flex 재계산 억제)
506
- width: m ?? void 0,
507
- minWidth: m ?? void 0,
508
- maxWidth: m ?? void 0,
509
- flex: m !== void 0 ? "0 0 auto" : void 0
519
+ width: c ?? void 0,
520
+ minWidth: c ?? void 0,
521
+ maxWidth: c ?? void 0,
522
+ flex: c !== void 0 ? "0 0 auto" : void 0
510
523
  };
511
- return De(t.children, {
512
- ref: (a) => {
513
- r.current !== a && (r.current = a), u(a);
524
+ return Oe(t.children, {
525
+ ref: (b) => {
526
+ n.current !== b && (n.current = b), i(b);
514
527
  },
515
- style: C,
516
- ...o,
517
- ...s
528
+ style: v,
529
+ ...s,
530
+ ...o
518
531
  });
519
532
  }
520
- ), St = q(function({
533
+ ), Tt = q(function({
521
534
  config: t,
522
- isFirst: r,
523
- isLast: o,
524
- canCloseAll: s,
535
+ isFirst: n,
536
+ isLast: s,
537
+ canCloseAll: o,
525
538
  onFirst: d,
526
- onPrev: f,
527
- onNext: i,
528
- onLast: u,
529
- onCloseAll: m
539
+ onPrev: p,
540
+ onNext: m,
541
+ onLast: i,
542
+ onCloseAll: c
530
543
  }) {
531
544
  return /* @__PURE__ */ g("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
532
545
  /* @__PURE__ */ e(
@@ -536,14 +549,14 @@ const bt = ({
536
549
  className: t.tooltip?.className,
537
550
  style: t.tooltip?.style,
538
551
  children: /* @__PURE__ */ e(
539
- w,
552
+ x,
540
553
  {
541
554
  className: t.buttons?.className,
542
555
  style: t.buttons?.style,
543
556
  size: "small",
544
- icon: /* @__PURE__ */ e(He, {}),
557
+ icon: /* @__PURE__ */ e($e, {}),
545
558
  onClick: d,
546
- disabled: r
559
+ disabled: n
547
560
  }
548
561
  )
549
562
  }
@@ -555,14 +568,14 @@ const bt = ({
555
568
  className: t.tooltip?.className,
556
569
  style: t.tooltip?.style,
557
570
  children: /* @__PURE__ */ e(
558
- w,
571
+ x,
559
572
  {
560
573
  className: t.buttons?.className,
561
574
  style: t.buttons?.style,
562
575
  size: "small",
563
- icon: /* @__PURE__ */ e(_e, {}),
564
- onClick: f,
565
- disabled: r
576
+ icon: /* @__PURE__ */ e(Ge, {}),
577
+ onClick: p,
578
+ disabled: n
566
579
  }
567
580
  )
568
581
  }
@@ -574,14 +587,14 @@ const bt = ({
574
587
  className: t.tooltip?.className,
575
588
  style: t.tooltip?.style,
576
589
  children: /* @__PURE__ */ e(
577
- w,
590
+ x,
578
591
  {
579
592
  className: t.buttons?.className,
580
593
  style: t.buttons?.style,
581
594
  size: "small",
582
- icon: /* @__PURE__ */ e(Ge, {}),
583
- onClick: i,
584
- disabled: o
595
+ icon: /* @__PURE__ */ e(We, {}),
596
+ onClick: m,
597
+ disabled: s
585
598
  }
586
599
  )
587
600
  }
@@ -593,14 +606,14 @@ const bt = ({
593
606
  className: t.tooltip?.className,
594
607
  style: t.tooltip?.style,
595
608
  children: /* @__PURE__ */ e(
596
- w,
609
+ x,
597
610
  {
598
611
  className: t.buttons?.className,
599
612
  style: t.buttons?.style,
600
613
  size: "small",
601
- icon: /* @__PURE__ */ e(We, {}),
602
- onClick: u,
603
- disabled: o
614
+ icon: /* @__PURE__ */ e(je, {}),
615
+ onClick: i,
616
+ disabled: s
604
617
  }
605
618
  )
606
619
  }
@@ -612,113 +625,113 @@ const bt = ({
612
625
  className: t.tooltip?.className,
613
626
  style: t.tooltip?.style,
614
627
  children: /* @__PURE__ */ e(
615
- w,
628
+ x,
616
629
  {
617
630
  className: t.buttons?.className,
618
631
  style: t.buttons?.style,
619
632
  size: "small",
620
633
  icon: /* @__PURE__ */ e(ce, {}),
621
- onClick: m,
622
- disabled: !s
634
+ onClick: c,
635
+ disabled: !o
623
636
  }
624
637
  )
625
638
  }
626
639
  )
627
640
  ] });
628
641
  }), Lt = ({
629
- config: n = {}
642
+ config: r = {}
630
643
  }) => {
631
644
  const t = {
632
645
  wrapper: {
633
646
  className: "menu-tab-wrapper",
634
- ...n?.wrapper
647
+ ...r?.wrapper
635
648
  },
636
649
  tabs: {
637
650
  className: "menu-tabs",
638
- ...n?.tabs
651
+ ...r?.tabs
639
652
  },
640
653
  nav: {
641
654
  wrapper: {
642
655
  className: "menu-nav-wrapper",
643
- ...n?.nav?.wrapper
656
+ ...r?.nav?.wrapper
644
657
  },
645
658
  buttons: {
646
659
  className: "menu-nav-buttons",
647
- ...n?.nav?.buttons
660
+ ...r?.nav?.buttons
648
661
  },
649
662
  tooltip: {
650
663
  className: "menu-nav-tooltip",
651
- ...n?.nav?.tooltip
664
+ ...r?.nav?.tooltip
652
665
  },
653
- ...n?.nav
666
+ ...r?.nav
654
667
  },
655
- ...n
656
- }, r = S((p) => p.tabs), o = S((p) => p.activeMenuId), s = S((p) => p.focusTab), d = S((p) => p.closeTab), f = S((p) => p.reorderTabs), i = et(
657
- tt(nt, { activationConstraint: { distance: 6 } })
658
- ), u = (p) => {
659
- s(p);
660
- }, m = (p, k) => {
661
- k === "remove" && typeof p == "string" && d(p);
668
+ ...r
669
+ }, n = T((u) => u.tabs), s = T((u) => u.activeMenuId), o = T((u) => u.focusTab), d = T((u) => u.closeTab), p = T((u) => u.reorderTabs), m = tt(
670
+ nt(rt, { activationConstraint: { distance: 6 } })
671
+ ), i = (u) => {
672
+ o(u);
673
+ }, c = (u, N) => {
674
+ N === "remove" && typeof u == "string" && d(u);
662
675
  }, h = () => {
663
- r.length > 0 && s(r[0].key);
664
- }, C = () => {
665
- if (!o || r.length <= 1) return;
666
- const p = r.findIndex((k) => k.key === o);
667
- p > 0 && s(r[p - 1].key);
676
+ n.length > 0 && o(n[0].key);
677
+ }, v = () => {
678
+ if (!s || n.length <= 1) return;
679
+ const u = n.findIndex((N) => N.key === s);
680
+ u > 0 && o(n[u - 1].key);
681
+ }, b = () => {
682
+ if (!s || n.length <= 1) return;
683
+ const u = n.findIndex((N) => N.key === s);
684
+ u < n.length - 1 && o(n[u + 1].key);
668
685
  }, a = () => {
669
- if (!o || r.length <= 1) return;
670
- const p = r.findIndex((k) => k.key === o);
671
- p < r.length - 1 && s(r[p + 1].key);
672
- }, l = () => {
673
- r.length > 0 && s(r[r.length - 1].key);
674
- }, T = () => {
675
- r.forEach((p) => {
676
- d(p.key);
686
+ n.length > 0 && o(n[n.length - 1].key);
687
+ }, C = () => {
688
+ n.forEach((u) => {
689
+ d(u.key);
677
690
  });
678
- }, R = o ? r.findIndex((p) => p.key === o) : -1, H = R === 0, A = R === r.length - 1, U = W(
679
- () => r.map((p) => ({
680
- key: p.key,
681
- label: p.label,
691
+ }, P = s ? n.findIndex((u) => u.key === s) : -1, _ = P === 0, A = P === n.length - 1, U = W(
692
+ () => n.map((u) => ({
693
+ key: u.key,
694
+ label: u.label,
682
695
  closable: !0,
683
696
  children: null
684
697
  // 컨텐츠는 Main 쪽에서 렌더 → 여기선 헤더만 필요
685
698
  })),
686
- [r]
687
- ), _ = B(
688
- ({ active: p, over: k }) => {
689
- if (!k || p.id === k.id) return;
690
- const N = r.findIndex((c) => c.key === p.id), P = r.findIndex((c) => c.key === k.id);
691
- if (N < 0 || P < 0 || N === P) return;
692
- const b = r.map((c) => c.key), y = at(b, N, P);
693
- f?.(y);
699
+ [n]
700
+ ), $ = E(
701
+ ({ active: u, over: N }) => {
702
+ if (!N || u.id === N.id) return;
703
+ const I = n.findIndex((l) => l.key === u.id), M = n.findIndex((l) => l.key === N.id);
704
+ if (I < 0 || M < 0 || I === M) return;
705
+ const f = n.map((l) => l.key), y = it(f, I, M);
706
+ p?.(y);
694
707
  },
695
- [r, f]
696
- ), G = B(
697
- (p, k) => /* @__PURE__ */ e(
698
- rt,
708
+ [n, p]
709
+ ), G = E(
710
+ (u, N) => /* @__PURE__ */ e(
711
+ ot,
699
712
  {
700
- sensors: i,
701
- onDragEnd: _,
702
- collisionDetection: ot,
703
- modifiers: [st],
713
+ sensors: m,
714
+ onDragEnd: $,
715
+ collisionDetection: st,
716
+ modifiers: [at],
704
717
  children: /* @__PURE__ */ e(
705
- it,
718
+ lt,
706
719
  {
707
- items: r.map((N) => N.key),
708
- strategy: lt,
709
- children: /* @__PURE__ */ e(k, { ...p, children: (N) => /* @__PURE__ */ le(
710
- It,
720
+ items: n.map((I) => I.key),
721
+ strategy: ct,
722
+ children: /* @__PURE__ */ e(N, { ...u, children: (I) => /* @__PURE__ */ le(
723
+ St,
711
724
  {
712
- ...N.props,
713
- key: N.key
725
+ ...I.props,
726
+ key: I.key
714
727
  },
715
- N
728
+ I
716
729
  ) })
717
730
  }
718
731
  )
719
732
  }
720
733
  ),
721
- [i, _, r]
734
+ [m, $, n]
722
735
  );
723
736
  return /* @__PURE__ */ e(
724
737
  "div",
@@ -726,31 +739,31 @@ const bt = ({
726
739
  className: t.wrapper.className,
727
740
  style: {
728
741
  ...t.wrapper.style,
729
- display: r.length === 0 ? "none" : "block"
742
+ display: n.length === 0 ? "none" : "block"
730
743
  },
731
744
  children: /* @__PURE__ */ e(
732
745
  Se,
733
746
  {
734
747
  type: "editable-card",
735
- activeKey: o || void 0,
736
- onChange: u,
737
- onEdit: m,
748
+ activeKey: s || void 0,
749
+ onChange: i,
750
+ onEdit: c,
738
751
  className: t.tabs.className,
739
752
  style: t.tabs.style,
740
753
  hideAdd: !0,
741
754
  items: U,
742
755
  tabBarExtraContent: /* @__PURE__ */ e(
743
- St,
756
+ Tt,
744
757
  {
745
758
  config: t?.nav,
746
- isFirst: !!H,
759
+ isFirst: !!_,
747
760
  isLast: !!A,
748
- canCloseAll: r.length > 0,
761
+ canCloseAll: n.length > 0,
749
762
  onFirst: h,
750
- onPrev: C,
751
- onNext: a,
752
- onLast: l,
753
- onCloseAll: T
763
+ onPrev: v,
764
+ onNext: b,
765
+ onLast: a,
766
+ onCloseAll: C
754
767
  }
755
768
  ),
756
769
  renderTabBar: G
@@ -758,8 +771,8 @@ const bt = ({
758
771
  )
759
772
  }
760
773
  );
761
- }, { Sider: Tt } = $, Pt = ({
762
- config: n = {}
774
+ }, { Sider: Pt } = H, Mt = ({
775
+ config: r = {}
763
776
  }) => {
764
777
  const t = {
765
778
  collapsed: !1,
@@ -768,7 +781,7 @@ const bt = ({
768
781
  mainMenu: "MAIN",
769
782
  subMenu: "SUB",
770
783
  program: "PRGM",
771
- ...n?.menuGubunCode
784
+ ...r?.menuGubunCode
772
785
  },
773
786
  className: {
774
787
  wrapper: "side-wrapper",
@@ -776,7 +789,7 @@ const bt = ({
776
789
  segmented: {
777
790
  wrapper: "sider-segmented",
778
791
  item: "sider-segment-item",
779
- ...n?.className?.segmented
792
+ ...r?.className?.segmented
780
793
  },
781
794
  sider: {
782
795
  content: "sider-content",
@@ -787,29 +800,29 @@ const bt = ({
787
800
  errorText: "sider-error-text",
788
801
  menu: "sider-menu",
789
802
  menuContainer: "sider-menu-container",
790
- ...n?.className?.sider
803
+ ...r?.className?.sider
791
804
  },
792
- ...n?.className
805
+ ...r?.className
793
806
  },
794
807
  style: {
795
808
  search: {
796
809
  placeholder: "메뉴명, 메뉴번호 검색...",
797
810
  height: 30,
798
- ...n?.style?.search
811
+ ...r?.style?.search
799
812
  },
800
- ...n?.style
813
+ ...r?.style
801
814
  },
802
- ...n
815
+ ...r
803
816
  };
804
- console.log("@@ 사이드바 config : ", n);
805
- const [r, o] = L(""), [s, d] = L(
817
+ console.log("@@ 사이드바 config : ", r);
818
+ const [n, s] = L(""), [o, d] = L(
806
819
  "category"
807
- ), { activeMenuId: f, sidebarCollapsed: i, openTabFromMenu: u, toggleSidebar: m } = S(), { menuList: h, isLoading: C, error: a, findMenuById: l } = Re(), { nodes: T, treeNodes: R, loadFavoritesIfNeeded: H } = Ae(), A = W(() => {
808
- const b = [], y = (c, x = 0) => {
809
- if (c.menuGbCd === t.menuGubunCode.program && c.scrnPath) {
810
- const v = " ".repeat(x), E = c.menuNo || "";
811
- b.push({
812
- value: c.menuId,
820
+ ), { activeMenuId: p, sidebarCollapsed: m, openTabFromMenu: i, toggleSidebar: c } = T(), { menuList: h, isLoading: v, error: b, findMenuById: a } = Ae(), { nodes: C, treeNodes: P, loadFavoritesIfNeeded: _ } = ze(), A = W(() => {
821
+ const f = [], y = (l, k = 0) => {
822
+ if (l.menuGbCd === t.menuGubunCode.program && l.scrnPath) {
823
+ const w = " ".repeat(k), D = l.menuNo || "";
824
+ f.push({
825
+ value: l.menuId,
813
826
  label: /* @__PURE__ */ g(
814
827
  "div",
815
828
  {
@@ -820,8 +833,8 @@ const bt = ({
820
833
  },
821
834
  children: [
822
835
  /* @__PURE__ */ g("span", { children: [
823
- v,
824
- c.menuNm
836
+ w,
837
+ l.menuNm
825
838
  ] }),
826
839
  /* @__PURE__ */ e(
827
840
  "span",
@@ -834,53 +847,53 @@ const bt = ({
834
847
  borderRadius: "3px",
835
848
  marginLeft: "8px"
836
849
  },
837
- children: E
850
+ children: D
838
851
  }
839
852
  )
840
853
  ]
841
854
  }
842
855
  ),
843
- menuItem: c
856
+ menuItem: l
844
857
  });
845
858
  }
846
- c.children && c.children.length > 0 && c.children.forEach((v) => y(v, x + 1));
859
+ l.children && l.children.length > 0 && l.children.forEach((w) => y(w, k + 1));
847
860
  };
848
- return h.forEach((c) => y(c)), b;
849
- }, [h]), U = W(() => r.trim() ? A.filter((b) => {
850
- const y = b.menuItem.menuNm.toLowerCase(), c = String(b.menuItem.menuNo || "미지정").toLowerCase(), x = r.toLowerCase();
851
- return y.includes(x) || c.includes(x);
852
- }) : [], [A, r]), _ = (b) => {
853
- if (!b || typeof b != "string") {
854
- console.warn("Invalid menu selection value:", b);
861
+ return h.forEach((l) => y(l)), f;
862
+ }, [h]), U = W(() => n.trim() ? A.filter((f) => {
863
+ const y = f.menuItem.menuNm.toLowerCase(), l = String(f.menuItem.menuNo || "미지정").toLowerCase(), k = n.toLowerCase();
864
+ return y.includes(k) || l.includes(k);
865
+ }) : [], [A, n]), $ = (f) => {
866
+ if (!f || typeof f != "string") {
867
+ console.warn("Invalid menu selection value:", f);
855
868
  return;
856
869
  }
857
- if (!/^[a-zA-Z0-9_-]+$/.test(b)) {
858
- console.warn("Invalid menu ID format:", b);
870
+ if (!/^[a-zA-Z0-9_-]+$/.test(f)) {
871
+ console.warn("Invalid menu ID format:", f);
859
872
  return;
860
873
  }
861
874
  const y = A.find(
862
- (c) => c.value === b
875
+ (l) => l.value === f
863
876
  );
864
877
  if (y) {
865
- const { menuItem: c } = y;
866
- if (!c || !c.menuId || !c.menuNm) {
867
- console.warn("Invalid menu item:", c);
878
+ const { menuItem: l } = y;
879
+ if (!l || !l.menuId || !l.menuNm) {
880
+ console.warn("Invalid menu item:", l);
868
881
  return;
869
882
  }
870
- c.menuGbCd === t.menuGubunCode.program && c.scrnPath ? (console.log(
883
+ l.menuGbCd === t.menuGubunCode.program && l.scrnPath ? (console.log(
871
884
  "✅ 검색으로 프로그램 메뉴 선택 - 탭 추가 및 setCurrentProgram 호출"
872
885
  ), console.log(
873
886
  "메뉴명:",
874
- c.menuNm,
887
+ l.menuNm,
875
888
  "경로:",
876
- c.scrnPath,
889
+ l.scrnPath,
877
890
  "scrnId:",
878
- c.scrnId
879
- ), u(c)) : (c.menuGbCd === t.menuGubunCode.mainMenu || c.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", c.menuNm, "menuGbCd:", c.menuGbCd)), o("");
891
+ l.scrnId
892
+ ), i(l)) : (l.menuGbCd === t.menuGubunCode.mainMenu || l.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", l.menuNm, "menuGbCd:", l.menuGbCd)), s("");
880
893
  }
881
- }, G = B(
882
- (b) => {
883
- const y = l(b);
894
+ }, G = E(
895
+ (f) => {
896
+ const y = a(f);
884
897
  y?.menuGbCd === t.menuGubunCode.program && (console.log(
885
898
  "메뉴명:",
886
899
  y.menuNm,
@@ -888,10 +901,10 @@ const bt = ({
888
901
  y.scrnPath,
889
902
  "scrnId:",
890
903
  y.scrnId
891
- ), u(y));
904
+ ), i(y));
892
905
  },
893
- [l, u]
894
- ), p = B((b) => b.map((y) => ({
906
+ [a, i]
907
+ ), u = E((f) => f.map((y) => ({
895
908
  key: y.menuId,
896
909
  label: /* @__PURE__ */ e(
897
910
  "div",
@@ -904,13 +917,13 @@ const bt = ({
904
917
  children: /* @__PURE__ */ e("span", { children: y.menuNm })
905
918
  }
906
919
  ),
907
- icon: k(y.iconCd, y.menuGbCd),
908
- children: y.children && y.children.length > 0 ? p(y.children) : void 0
909
- })), []), k = (b, y) => {
910
- if (b) {
911
- const c = ne[b];
912
- if (c)
913
- return /* @__PURE__ */ e(c, {});
920
+ icon: N(y.iconCd, y.menuGbCd),
921
+ children: y.children && y.children.length > 0 ? u(y.children) : void 0
922
+ })), []), N = (f, y) => {
923
+ if (f) {
924
+ const l = ne[f];
925
+ if (l)
926
+ return /* @__PURE__ */ e(l, {});
914
927
  }
915
928
  if (y)
916
929
  switch (y) {
@@ -924,47 +937,47 @@ const bt = ({
924
937
  return null;
925
938
  }
926
939
  return null;
927
- }, N = B(
928
- (b) => {
940
+ }, I = E(
941
+ (f) => {
929
942
  if (h.length === 0) return [];
930
- const y = (x) => {
931
- if (x)
932
- return typeof x == "string" ? T[x] : x;
933
- }, c = (x) => {
934
- if (x.type === "M") {
935
- const v = x, E = l(v.menuId) || void 0, ee = !!E, ue = ee ? `${E?.menuNm ?? v.menuNm ?? v.menuId}` : `${v.menuNm ?? v.menuId} (삭제됨)`;
943
+ const y = (k) => {
944
+ if (k)
945
+ return typeof k == "string" ? C[k] : k;
946
+ }, l = (k) => {
947
+ if (k.type === "M") {
948
+ const w = k, D = a(w.menuId) || void 0, ee = !!D, ue = ee ? `${D?.menuNm ?? w.menuNm ?? w.menuId}` : `${w.menuNm ?? w.menuId} (삭제됨)`;
936
949
  return {
937
- key: v.menuId,
950
+ key: w.menuId,
938
951
  label: ue,
939
- icon: ee ? void 0 : /* @__PURE__ */ e(Ze, { style: { color: "#faad14" } })
952
+ icon: ee ? void 0 : /* @__PURE__ */ e(Ye, { style: { color: "#faad14" } })
940
953
  };
941
954
  } else {
942
- const v = x, E = (v.children ?? []).map(y).filter(Boolean).map(c);
955
+ const w = k, D = (w.children ?? []).map(y).filter(Boolean).map(l);
943
956
  return {
944
- key: v.bkmkId,
945
- label: v.bkmkNm ?? v.bkmkId,
946
- icon: v.prntBkmkId === "-" ? /* @__PURE__ */ e(Ye, {}) : /* @__PURE__ */ e(Xe, {}),
947
- children: E
957
+ key: w.bkmkId,
958
+ label: w.bkmkNm ?? w.bkmkId,
959
+ icon: w.prntBkmkId === "-" ? /* @__PURE__ */ e(Xe, {}) : /* @__PURE__ */ e(qe, {}),
960
+ children: D
948
961
  // 빈 배열이면 자동으로 말아줌
949
962
  };
950
963
  }
951
964
  };
952
- return b.map(c);
965
+ return f.map(l);
953
966
  },
954
- [l, T, h]
955
- ), P = W(
956
- () => N(R),
957
- [N, R, T]
967
+ [a, C, h]
968
+ ), M = W(
969
+ () => I(P),
970
+ [I, P, C]
958
971
  );
959
- return I(() => {
960
- se() && H(se());
961
- }, [H]), I(() => {
962
- s === "category" && o("");
963
- }, [s]), /* @__PURE__ */ g(
964
- Tt,
972
+ return S(() => {
973
+ se() && _(se());
974
+ }, [_]), S(() => {
975
+ o === "category" && s("");
976
+ }, [o]), /* @__PURE__ */ g(
977
+ Pt,
965
978
  {
966
979
  className: t.className.wrapper,
967
- collapsed: t.collapsed || i,
980
+ collapsed: t.collapsed || m,
968
981
  trigger: null,
969
982
  width: t.width || 230,
970
983
  children: [
@@ -989,10 +1002,10 @@ const bt = ({
989
1002
  transition: "all 0.3s ease"
990
1003
  },
991
1004
  children: /* @__PURE__ */ e(
992
- w,
1005
+ x,
993
1006
  {
994
1007
  type: "text",
995
- icon: t.collapsed || i ? /* @__PURE__ */ e(je, {}) : /* @__PURE__ */ e(Ue, {}),
1008
+ icon: t.collapsed || m ? /* @__PURE__ */ e(Ue, {}) : /* @__PURE__ */ e(Ke, {}),
996
1009
  style: {
997
1010
  fontSize: "12px",
998
1011
  color: "#787878",
@@ -1001,26 +1014,27 @@ const bt = ({
1001
1014
  height: "100%",
1002
1015
  display: "flex",
1003
1016
  alignItems: "center",
1004
- justifyContent: "center"
1017
+ justifyContent: "center",
1018
+ borderRadius: "0 10px 10px 0"
1005
1019
  },
1006
- onClick: m
1020
+ onClick: c
1007
1021
  }
1008
1022
  )
1009
1023
  }
1010
1024
  ),
1011
- !(t.collapsed || i) && /* @__PURE__ */ e(
1025
+ !(t.collapsed || m) && /* @__PURE__ */ e(
1012
1026
  "div",
1013
1027
  {
1014
1028
  style: {
1015
1029
  padding: 10
1016
1030
  },
1017
1031
  children: /* @__PURE__ */ e(
1018
- Le,
1032
+ Te,
1019
1033
  {
1020
- value: r,
1034
+ value: n,
1021
1035
  options: U,
1022
- onSelect: _,
1023
- onSearch: o,
1036
+ onSelect: $,
1037
+ onSearch: s,
1024
1038
  style: { width: "100%" },
1025
1039
  allowClear: !0,
1026
1040
  children: /* @__PURE__ */ e(
@@ -1058,7 +1072,7 @@ const bt = ({
1058
1072
  )
1059
1073
  }
1060
1074
  ),
1061
- !(t.collapsed || i) && /* @__PURE__ */ e(
1075
+ !(t.collapsed || m) && /* @__PURE__ */ e(
1062
1076
  "div",
1063
1077
  {
1064
1078
  style: {
@@ -1067,13 +1081,13 @@ const bt = ({
1067
1081
  marginBottom: "10px"
1068
1082
  },
1069
1083
  children: /* @__PURE__ */ e(
1070
- Te,
1084
+ Le,
1071
1085
  {
1072
1086
  className: t.className.segmented.wrapper,
1073
1087
  options: [
1074
1088
  {
1075
- label: /* @__PURE__ */ g(O, { children: [
1076
- /* @__PURE__ */ e("span", { className: t.className.segmented.item, children: /* @__PURE__ */ g(
1089
+ label: /* @__PURE__ */ g(R, { children: [
1090
+ /* @__PURE__ */ e("span", { className: t.className.segmented.item, style: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ g(
1077
1091
  "svg",
1078
1092
  {
1079
1093
  xmlns: "http://www.w3.org/2000/svg",
@@ -1120,14 +1134,14 @@ const bt = ({
1120
1134
  value: "category"
1121
1135
  },
1122
1136
  {
1123
- label: /* @__PURE__ */ g(O, { children: [
1124
- /* @__PURE__ */ e("span", { className: t.className.segmented.item, children: /* @__PURE__ */ e(
1137
+ label: /* @__PURE__ */ g(R, { children: [
1138
+ /* @__PURE__ */ e("span", { className: t.className.segmented.item, style: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ e(
1125
1139
  "svg",
1126
1140
  {
1127
1141
  xmlns: "http://www.w3.org/2000/svg",
1128
- width: "15",
1129
- height: "15",
1130
- viewBox: "0 0 15 15",
1142
+ width: "16",
1143
+ height: "16",
1144
+ viewBox: "0 0 16 16",
1131
1145
  fill: "none",
1132
1146
  children: /* @__PURE__ */ e(
1133
1147
  "path",
@@ -1145,9 +1159,9 @@ const bt = ({
1145
1159
  value: "favorite"
1146
1160
  }
1147
1161
  ],
1148
- value: s,
1149
- onChange: (b) => {
1150
- d(b);
1162
+ value: o,
1163
+ onChange: (f) => {
1164
+ d(f);
1151
1165
  },
1152
1166
  style: {
1153
1167
  width: "100%"
@@ -1158,20 +1172,38 @@ const bt = ({
1158
1172
  }
1159
1173
  ),
1160
1174
  /* @__PURE__ */ g("div", { className: t.className.sider.content, children: [
1161
- C && /* @__PURE__ */ g("div", { className: t.className.sider.loading, children: [
1162
- /* @__PURE__ */ e(j, { size: "default" }),
1163
- /* @__PURE__ */ e("div", { className: t.className.sider.loadingText, children: "메뉴 로딩 중..." })
1164
- ] }),
1165
- a && /* @__PURE__ */ g("div", { className: t.className.sider.error, children: [
1175
+ v && /* @__PURE__ */ g(
1176
+ "div",
1177
+ {
1178
+ className: t.className.sider.loading,
1179
+ style: {
1180
+ padding: 10,
1181
+ margin: "0 auto",
1182
+ textAlign: "center",
1183
+ color: "var(--text-primary)"
1184
+ },
1185
+ children: [
1186
+ /* @__PURE__ */ e(Pe, { theme: {
1187
+ components: {
1188
+ Spin: {
1189
+ colorPrimary: "var(--primary-color)"
1190
+ }
1191
+ }
1192
+ }, children: /* @__PURE__ */ e(j, { size: "default" }) }),
1193
+ /* @__PURE__ */ e("div", { className: t.className.sider.loadingText, style: { marginTop: 10 }, children: "메뉴 로딩 중..." })
1194
+ ]
1195
+ }
1196
+ ),
1197
+ b && /* @__PURE__ */ g("div", { className: t.className.sider.error, children: [
1166
1198
  /* @__PURE__ */ e(
1167
- Ke,
1199
+ Ze,
1168
1200
  {
1169
1201
  className: t.className.sider.errorIcon
1170
1202
  }
1171
1203
  ),
1172
1204
  /* @__PURE__ */ e("div", { className: t.className.sider.errorText, children: "메뉴 로드 실패" })
1173
1205
  ] }),
1174
- !C && !a && s === "category" && h.length === 0 && /* @__PURE__ */ e(
1206
+ !v && !b && o === "category" && h.length === 0 && /* @__PURE__ */ e(
1175
1207
  "div",
1176
1208
  {
1177
1209
  style: {
@@ -1183,7 +1215,7 @@ const bt = ({
1183
1215
  children: "메뉴가 없습니다"
1184
1216
  }
1185
1217
  ),
1186
- !C && !a && s === "favorite" && P.length === 0 && /* @__PURE__ */ e(
1218
+ !v && !b && o === "favorite" && M.length === 0 && /* @__PURE__ */ e(
1187
1219
  "div",
1188
1220
  {
1189
1221
  style: {
@@ -1195,26 +1227,26 @@ const bt = ({
1195
1227
  children: "즐겨찾기된 메뉴가 없습니다"
1196
1228
  }
1197
1229
  ),
1198
- !C && !a && s === "category" && h.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1230
+ !v && !b && o === "category" && h.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1199
1231
  te,
1200
1232
  {
1201
1233
  theme: "light",
1202
1234
  mode: "inline",
1203
- items: p(h),
1235
+ items: u(h),
1204
1236
  className: t.className.sider.menu,
1205
- selectedKeys: [f || ""],
1206
- onClick: (b) => G(b.key)
1237
+ selectedKeys: [p || ""],
1238
+ onClick: (f) => G(f.key)
1207
1239
  }
1208
1240
  ) }),
1209
- !C && !a && s === "favorite" && P.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1241
+ !v && !b && o === "favorite" && M.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1210
1242
  te,
1211
1243
  {
1212
1244
  theme: "light",
1213
1245
  mode: "inline",
1214
- items: P,
1246
+ items: M,
1215
1247
  className: t.className.sider.menu,
1216
- selectedKeys: [f || ""],
1217
- onClick: (b) => G(b.key)
1248
+ selectedKeys: [p || ""],
1249
+ onClick: (f) => G(f.key)
1218
1250
  }
1219
1251
  ) })
1220
1252
  ] })
@@ -1222,7 +1254,7 @@ const bt = ({
1222
1254
  }
1223
1255
  );
1224
1256
  };
1225
- class Mt extends Oe {
1257
+ class Bt extends Re {
1226
1258
  constructor(t) {
1227
1259
  super(t), this.resetError = () => {
1228
1260
  this.setState({ hasError: !1, error: void 0, errorInfo: void 0 });
@@ -1231,10 +1263,10 @@ class Mt extends Oe {
1231
1263
  static getDerivedStateFromError(t) {
1232
1264
  return { hasError: !0, error: t };
1233
1265
  }
1234
- componentDidCatch(t, r) {
1235
- console.error("ErrorBound caught an error:", t, r), this.setState({
1266
+ componentDidCatch(t, n) {
1267
+ console.error("ErrorBound caught an error:", t, n), this.setState({
1236
1268
  error: t,
1237
- errorInfo: r
1269
+ errorInfo: n
1238
1270
  });
1239
1271
  }
1240
1272
  render() {
@@ -1259,7 +1291,7 @@ class Mt extends Oe {
1259
1291
  subTitle: this.state.error ? `오류 내용: ${this.state.error.message}` : "알 수 없는 오류가 발생했습니다",
1260
1292
  extra: [
1261
1293
  /* @__PURE__ */ e(
1262
- w,
1294
+ x,
1263
1295
  {
1264
1296
  type: "primary",
1265
1297
  icon: /* @__PURE__ */ e(de, {}),
@@ -1307,13 +1339,13 @@ class Mt extends Oe {
1307
1339
  ) : this.props.children;
1308
1340
  }
1309
1341
  }
1310
- const Bt = ({
1311
- isActive: n,
1342
+ const Et = ({
1343
+ isActive: r,
1312
1344
  instance: t,
1313
- params: r
1345
+ params: n
1314
1346
  }) => {
1315
- const { activeMenuId: o, closeTab: s } = S(), d = () => {
1316
- o && s(o);
1347
+ const { activeMenuId: s, closeTab: o } = T(), d = () => {
1348
+ s && o(s);
1317
1349
  };
1318
1350
  return t ? /* @__PURE__ */ e(
1319
1351
  "div",
@@ -1324,12 +1356,12 @@ const Bt = ({
1324
1356
  left: 0,
1325
1357
  width: "100%",
1326
1358
  height: "100%",
1327
- visibility: n ? "visible" : "hidden",
1328
- opacity: n ? 1 : 0,
1359
+ visibility: r ? "visible" : "hidden",
1360
+ opacity: r ? 1 : 0,
1329
1361
  transition: "opacity 0.2s ease-in-out",
1330
- pointerEvents: n ? "auto" : "none"
1362
+ pointerEvents: r ? "auto" : "none"
1331
1363
  },
1332
- children: /* @__PURE__ */ e(Mt, { children: /* @__PURE__ */ e(Q, { fallback: null, children: t && le(t, { params: r }) }) })
1364
+ children: /* @__PURE__ */ e(Bt, { children: /* @__PURE__ */ e(Q, { fallback: null, children: t && le(t, { params: n }) }) })
1333
1365
  }
1334
1366
  ) : /* @__PURE__ */ e(
1335
1367
  "div",
@@ -1343,10 +1375,10 @@ const Bt = ({
1343
1375
  display: "flex",
1344
1376
  justifyContent: "center",
1345
1377
  alignItems: "center",
1346
- visibility: n ? "visible" : "hidden",
1347
- opacity: n ? 1 : 0,
1378
+ visibility: r ? "visible" : "hidden",
1379
+ opacity: r ? 1 : 0,
1348
1380
  transition: "opacity 0.2s ease-in-out",
1349
- pointerEvents: n ? "auto" : "none"
1381
+ pointerEvents: r ? "auto" : "none"
1350
1382
  },
1351
1383
  children: /* @__PURE__ */ e(
1352
1384
  "div",
@@ -1362,18 +1394,18 @@ const Bt = ({
1362
1394
  children: /* @__PURE__ */ e(
1363
1395
  ie,
1364
1396
  {
1365
- icon: /* @__PURE__ */ e(qe, { twoToneColor: "#69b1ff" }),
1397
+ icon: /* @__PURE__ */ e(Qe, { twoToneColor: "#69b1ff" }),
1366
1398
  status: "warning",
1367
1399
  title: "등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",
1368
- subTitle: /* @__PURE__ */ e(Me.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1369
- extra: /* @__PURE__ */ e(Pe, { children: /* @__PURE__ */ e(w, { icon: /* @__PURE__ */ e(ce, {}), onClick: d, children: "탭 닫기" }) })
1400
+ subTitle: /* @__PURE__ */ e(Be.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1401
+ extra: /* @__PURE__ */ e(Me, { children: /* @__PURE__ */ e(x, { icon: /* @__PURE__ */ e(ce, {}), onClick: d, children: "탭 닫기" }) })
1370
1402
  }
1371
1403
  )
1372
1404
  }
1373
1405
  )
1374
1406
  }
1375
1407
  );
1376
- }, Et = q(Bt), Dt = () => /* @__PURE__ */ g(O, { children: [
1408
+ }, Dt = q(Et), Ot = () => /* @__PURE__ */ g(R, { children: [
1377
1409
  /* @__PURE__ */ e(
1378
1410
  "link",
1379
1411
  {
@@ -1383,58 +1415,58 @@ const Bt = ({
1383
1415
  }
1384
1416
  ),
1385
1417
  /* @__PURE__ */ e("div", { className: "LandingContainer-wrap", children: /* @__PURE__ */ e("div", { className: "inner", children: /* @__PURE__ */ e("div", { className: "content" }) }) })
1386
- ] }), Ot = (n, t) => {
1387
- console.log("createPopupViewLoader 호출 - popupUrl:", n);
1388
- const o = ((s) => {
1389
- if (s.startsWith("/src/pages/views/popup/")) {
1390
- const i = s + ".tsx";
1391
- return console.log(`팝업 URL 변환: ${s} -> ${i}`), i;
1418
+ ] }), Rt = (r, t) => {
1419
+ console.log("createPopupViewLoader 호출 - popupUrl:", r);
1420
+ const s = ((o) => {
1421
+ if (o.startsWith("/src/pages/views/popup/")) {
1422
+ const m = o + ".tsx";
1423
+ return console.log(`팝업 URL 변환: ${o} -> ${m}`), m;
1392
1424
  }
1393
- const f = `/src/pages/views/popup/${s.startsWith("/") ? s.substring(1) : s}.tsx`;
1394
- return console.log(`팝업 URL 변환: ${s} -> ${f}`), f;
1395
- })(n);
1396
- return !o || !t?.glob[o] ? (console.warn(`팝업 뷰를 찾을 수 없습니다: ${n} (${o})`), console.warn("사용 가능한 팝업 뷰들:", Object.keys(t?.glob || {})), null) : t?.glob[o];
1397
- }, Ft = ({ popup: n, modules: t }) => {
1398
- const [r, o] = L(null), [s, d] = L(!1), [f, i] = L(null), u = () => {
1399
- console.log("PopupArea - handleClose:", n.popupId), J.getState().closePopup(n.popupId);
1425
+ const p = `/src/pages/views/popup/${o.startsWith("/") ? o.substring(1) : o}.tsx`;
1426
+ return console.log(`팝업 URL 변환: ${o} -> ${p}`), p;
1427
+ })(r);
1428
+ return !s || !t?.glob[s] ? (console.warn(`팝업 뷰를 찾을 수 없습니다: ${r} (${s})`), console.warn("사용 가능한 팝업 뷰들:", Object.keys(t?.glob || {})), null) : t?.glob[s];
1429
+ }, Ft = ({ popup: r, modules: t }) => {
1430
+ const [n, s] = L(null), [o, d] = L(!1), [p, m] = L(null), i = () => {
1431
+ console.log("PopupArea - handleClose:", r.popupId), J.getState().closePopup(r.popupId);
1400
1432
  };
1401
- return I(() => {
1433
+ return S(() => {
1402
1434
  (async () => {
1403
- console.log("팝업 뷰 로드 시작:", n.popupUrl), d(!0), i(null);
1435
+ console.log("팝업 뷰 로드 시작:", r.popupUrl), d(!0), m(null);
1404
1436
  try {
1405
- const h = Ot(n.popupUrl, t);
1437
+ const h = Rt(r.popupUrl, t);
1406
1438
  if (!h) {
1407
- const l = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
1408
- console.error(l), i(l), d(!1);
1439
+ const a = `팝업 뷰를 찾을 수 없습니다: ${r.popupUrl}`;
1440
+ console.error(a), m(a), d(!1);
1409
1441
  return;
1410
1442
  }
1411
1443
  console.log("팝업 뷰 모듈 로드 중...");
1412
- const C = await h();
1413
- console.log("팝업 뷰 모듈 로드 완료:", C);
1414
- const a = C.default;
1415
- if (console.log("팝업 뷰 컴포넌트:", a), !a)
1444
+ const v = await h();
1445
+ console.log("팝업 뷰 모듈 로드 완료:", v);
1446
+ const b = v.default;
1447
+ if (console.log("팝업 뷰 컴포넌트:", b), !b)
1416
1448
  throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");
1417
- o(() => a), console.log("팝업 뷰 설정 완료");
1449
+ s(() => b), console.log("팝업 뷰 설정 완료");
1418
1450
  } catch (h) {
1419
- console.error("팝업 뷰 로드 실패:", h), i(h instanceof Error ? h.message : "팝업 뷰 로드 실패");
1451
+ console.error("팝업 뷰 로드 실패:", h), m(h instanceof Error ? h.message : "팝업 뷰 로드 실패");
1420
1452
  } finally {
1421
1453
  d(!1);
1422
1454
  }
1423
1455
  })();
1424
- }, [n.popupUrl]), s ? /* @__PURE__ */ g("div", { className: "popup-loading", children: [
1456
+ }, [r.popupUrl]), o ? /* @__PURE__ */ g("div", { className: "popup-loading", children: [
1425
1457
  /* @__PURE__ */ e(j, { size: "large" }),
1426
1458
  /* @__PURE__ */ e("p", { children: "팝업을 로드하는 중..." })
1427
- ] }) : f ? /* @__PURE__ */ g("div", { className: "popup-error", children: [
1428
- /* @__PURE__ */ e(Z, { description: f, image: Z.PRESENTED_IMAGE_SIMPLE }),
1459
+ ] }) : p ? /* @__PURE__ */ g("div", { className: "popup-error", children: [
1460
+ /* @__PURE__ */ e(Z, { description: p, image: Z.PRESENTED_IMAGE_SIMPLE }),
1429
1461
  /* @__PURE__ */ e(
1430
- w,
1462
+ x,
1431
1463
  {
1432
1464
  icon: /* @__PURE__ */ e(de, {}),
1433
1465
  onClick: () => window.location.reload(),
1434
1466
  children: "다시 시도"
1435
1467
  }
1436
1468
  )
1437
- ] }) : r ? /* @__PURE__ */ e(
1469
+ ] }) : n ? /* @__PURE__ */ e(
1438
1470
  Q,
1439
1471
  {
1440
1472
  fallback: /* @__PURE__ */ g("div", { className: "popup-loading", children: [
@@ -1442,63 +1474,63 @@ const Bt = ({
1442
1474
  /* @__PURE__ */ e("p", { children: "컴포넌트를 로드하는 중..." })
1443
1475
  ] }),
1444
1476
  children: /* @__PURE__ */ e(
1445
- r,
1477
+ n,
1446
1478
  {
1447
1479
  popup: {
1448
- ...n,
1449
- close: u
1480
+ ...r,
1481
+ close: i
1450
1482
  // popup 객체에 close 이벤트 추가
1451
1483
  },
1452
- onClose: u
1484
+ onClose: i
1453
1485
  }
1454
1486
  )
1455
1487
  }
1456
1488
  ) : /* @__PURE__ */ e("div", { className: "popup-empty", children: /* @__PURE__ */ e(Z, { description: "팝업 내용을 불러올 수 없습니다." }) });
1457
- }, Rt = ({ modules: n }) => {
1489
+ }, At = ({ modules: r }) => {
1458
1490
  const { popups: t } = J();
1459
- return t.length === 0 ? null : /* @__PURE__ */ e(O, { children: t.map((r) => {
1460
- const o = r.config || {}, s = o.width || r.width || 800, d = o.height || r.height || 600, f = o.title || r.popupTitle, i = r.buttonList?.map((u, m) => ({
1461
- key: u.btnId || `btn_${m}`,
1462
- text: u.btnNm,
1463
- type: u.btnId === "CLOSE" ? "default" : "primary",
1464
- disabled: u.enblYn !== "Y",
1491
+ return t.length === 0 ? null : /* @__PURE__ */ e(R, { children: t.map((n) => {
1492
+ const s = n.config || {}, o = s.width || n.width || 800, d = s.height || n.height || 600, p = s.title || n.popupTitle, m = n.buttonList?.map((i, c) => ({
1493
+ key: i.btnId || `btn_${c}`,
1494
+ text: i.btnNm,
1495
+ type: i.btnId === "CLOSE" ? "default" : "primary",
1496
+ disabled: i.enblYn !== "Y",
1465
1497
  danger: !1
1466
1498
  })) || [];
1467
1499
  return console.log("팝업 렌더링:", {
1468
- popupId: r.popupId,
1469
- popupCode: r.popupCode,
1470
- title: f,
1471
- width: s,
1500
+ popupId: n.popupId,
1501
+ popupCode: n.popupCode,
1502
+ title: p,
1503
+ width: o,
1472
1504
  height: d,
1473
- buttons: i
1474
- }), /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(Ft, { popup: r, modules: n }) }, r.popupId);
1505
+ buttons: m
1506
+ }), /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(Ft, { popup: n, modules: r }) }, n.popupId);
1475
1507
  }) });
1476
- }, At = () => {
1477
- const { popups: n, closePopup: t } = J();
1478
- return /* @__PURE__ */ e(O, { children: n.map((r) => {
1479
- if (!(r.isLocal || r.popupCode.startsWith("CORE_"))) return null;
1480
- const o = gt[r.popupCode];
1481
- if (!o) return null;
1482
- const s = o.component;
1483
- return /* @__PURE__ */ e(Q, { fallback: null, children: /* @__PURE__ */ e(s, { popup: r, onClose: () => t(r.popupId) }) }, r.popupId);
1508
+ }, zt = () => {
1509
+ const { popups: r, closePopup: t } = J();
1510
+ return /* @__PURE__ */ e(R, { children: r.map((n) => {
1511
+ if (!(n.isLocal || n.popupCode.startsWith("CORE_"))) return null;
1512
+ const s = ft[n.popupCode];
1513
+ if (!s) return null;
1514
+ const o = s.component;
1515
+ return /* @__PURE__ */ e(Q, { fallback: null, children: /* @__PURE__ */ e(o, { popup: n, onClose: () => t(n.popupId) }) }, n.popupId);
1484
1516
  }) });
1485
- }, zt = (n) => ({
1517
+ }, Ht = (r) => ({
1486
1518
  position: "absolute",
1487
1519
  inset: 0,
1488
- visibility: n ? "visible" : "hidden",
1489
- opacity: n ? 1 : 0,
1520
+ visibility: r ? "visible" : "hidden",
1521
+ opacity: r ? 1 : 0,
1490
1522
  transition: "opacity 0.2s ease-in-out",
1491
- pointerEvents: n ? "auto" : "none"
1492
- }), $t = ({ once: n = !0 }) => {
1493
- const { lock: t } = ge(), r = V(!1);
1494
- return I(() => {
1495
- n && r.current || (r.current = !0, t());
1496
- }, [n, t]), null;
1497
- }, Vt = ({ isActive: n, flagged: t, tabKey: r, onUnlock: o, children: s }) => {
1498
- const d = V(null), [f, i] = L(!1), u = B((h) => {
1499
- d.current = h, i(!!h);
1500
- }, []), m = zt(n);
1501
- return /* @__PURE__ */ e("div", { ref: u, style: m, children: f ? /* @__PURE__ */ g(
1523
+ pointerEvents: r ? "auto" : "none"
1524
+ }), Vt = ({ once: r = !0 }) => {
1525
+ const { lock: t } = ge(), n = V(!1);
1526
+ return S(() => {
1527
+ r && n.current || (n.current = !0, t());
1528
+ }, [r, t]), null;
1529
+ }, _t = ({ isActive: r, flagged: t, tabKey: n, onUnlock: s, children: o }) => {
1530
+ const d = V(null), [p, m] = L(!1), i = E((h) => {
1531
+ d.current = h, m(!!h);
1532
+ }, []), c = Ht(r);
1533
+ return /* @__PURE__ */ e("div", { ref: i, style: c, children: p ? /* @__PURE__ */ g(
1502
1534
  he,
1503
1535
  {
1504
1536
  idleMs: Number.POSITIVE_INFINITY,
@@ -1506,16 +1538,16 @@ const Bt = ({
1506
1538
  overlayScope: "scoped",
1507
1539
  overlayPosition: "absolute",
1508
1540
  eventTarget: d.current,
1509
- overlayId: `tab-overlay-${r}`,
1510
- onUnlock: async () => (o(), !0),
1541
+ overlayId: `tab-overlay-${n}`,
1542
+ onUnlock: async () => (s(), !0),
1511
1543
  children: [
1512
- n && t ? /* @__PURE__ */ e($t, { once: !0 }) : null,
1513
- s
1544
+ r && t ? /* @__PURE__ */ e(Vt, { once: !0 }) : null,
1545
+ o
1514
1546
  ]
1515
1547
  }
1516
- ) : s });
1517
- }, tn = ({
1518
- config: n = {},
1548
+ ) : o });
1549
+ }, nn = ({
1550
+ config: r = {},
1519
1551
  modules: t = {
1520
1552
  view: {
1521
1553
  path: "/src/pages/views/content"
@@ -1525,37 +1557,37 @@ const Bt = ({
1525
1557
  }
1526
1558
  }
1527
1559
  }) => {
1528
- const r = V(
1560
+ const n = V(
1529
1561
  /* @__PURE__ */ new Map()
1530
1562
  ), {
1531
- tabs: o,
1532
- tabParams: s,
1563
+ tabs: s,
1564
+ tabParams: o,
1533
1565
  activeMenuId: d,
1534
- tabProtectFlag: f,
1535
- clearProtectFlagForKey: i
1536
- } = S(), u = B(
1537
- (m) => {
1538
- const h = r.current.get(m.key);
1566
+ tabProtectFlag: p,
1567
+ clearProtectFlagForKey: m
1568
+ } = T(), i = E(
1569
+ (c) => {
1570
+ const h = n.current.get(c.key);
1539
1571
  if (h) return h;
1540
- const C = m.gubun === "M" ? `${t.view.path}${m.menuItem?.scrnPath}.tsx` : `${t.view.path}${m.componentItem?.scrnPath}.tsx`;
1541
- let a = t.view?.glob?.[C];
1542
- if (!a && typeof import.meta < "u" && typeof import.meta.glob == "function" && (a = (/* @__PURE__ */ Object.assign({}))[C]), a) {
1543
- const l = F(
1544
- a
1572
+ const v = c.gubun === "M" ? `${t.view.path}${c.menuItem?.scrnPath}.tsx` : `${t.view.path}${c.componentItem?.scrnPath}.tsx`;
1573
+ let b = t.view?.glob?.[v];
1574
+ if (!b && typeof import.meta < "u" && typeof import.meta.glob == "function" && (b = (/* @__PURE__ */ Object.assign({}))[v]), b) {
1575
+ const a = F(
1576
+ b
1545
1577
  );
1546
- return r.current.set(m.key, l), l;
1578
+ return n.current.set(c.key, a), a;
1547
1579
  }
1548
1580
  return null;
1549
1581
  },
1550
1582
  [t.view?.glob]
1551
1583
  );
1552
- return /* @__PURE__ */ g($, { className: "main-layout", children: [
1553
- /* @__PURE__ */ e(Nt, { config: n?.header }),
1554
- /* @__PURE__ */ g($, { children: [
1555
- /* @__PURE__ */ e(Pt, { config: n?.sidebar }),
1584
+ return /* @__PURE__ */ g(H, { className: "main-layout", children: [
1585
+ /* @__PURE__ */ e(It, { config: r?.header }),
1586
+ /* @__PURE__ */ g(H, { children: [
1587
+ /* @__PURE__ */ e(Mt, { config: r?.sidebar }),
1556
1588
  /* @__PURE__ */ g("div", { className: "content-container", children: [
1557
- /* @__PURE__ */ e(Lt, { config: n?.menuTab }),
1558
- /* @__PURE__ */ e(Ct, { config: n?.content, children: /* @__PURE__ */ g(fe, { children: [
1589
+ /* @__PURE__ */ e(Lt, { config: r?.menuTab }),
1590
+ /* @__PURE__ */ g(vt, { config: r?.content, children: [
1559
1591
  /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ g(
1560
1592
  "div",
1561
1593
  {
@@ -1565,74 +1597,74 @@ const Bt = ({
1565
1597
  height: "100%"
1566
1598
  },
1567
1599
  children: [
1568
- o.map((m) => {
1569
- const h = u(m), C = d === m.key, a = !!f?.[m.key], l = s[m.key] || {};
1570
- return /* @__PURE__ */ e(
1571
- Vt,
1600
+ s.map((c) => {
1601
+ const h = i(c), v = d === c.key, b = !!p?.[c.key], a = o[c.key] || {};
1602
+ return /* @__PURE__ */ e(fe, { children: /* @__PURE__ */ e(
1603
+ _t,
1572
1604
  {
1573
- isActive: C,
1574
- flagged: a,
1575
- tabKey: m.key,
1576
- onUnlock: () => i(m.key),
1605
+ isActive: v,
1606
+ flagged: b,
1607
+ tabKey: c.key,
1608
+ onUnlock: () => m(c.key),
1577
1609
  children: /* @__PURE__ */ e(
1578
- Et,
1610
+ Dt,
1579
1611
  {
1580
- isActive: C,
1612
+ isActive: v,
1581
1613
  instance: h || void 0,
1582
- params: l
1614
+ params: a
1583
1615
  },
1584
- m.key
1616
+ c.key
1585
1617
  )
1586
1618
  },
1587
- m.key
1588
- );
1619
+ c.key
1620
+ ) }, `sbp-${c.key}`);
1589
1621
  }),
1590
- (!d || o.length === 0) && /* @__PURE__ */ e(Dt, {})
1622
+ (!d || s.length === 0) && /* @__PURE__ */ e(Ot, {})
1591
1623
  ]
1592
1624
  }
1593
1625
  ) }),
1594
- /* @__PURE__ */ e(At, {}),
1595
- /* @__PURE__ */ e(Rt, { modules: t?.popup })
1596
- ] }) })
1626
+ /* @__PURE__ */ e(zt, {}),
1627
+ /* @__PURE__ */ e(At, { modules: t?.popup })
1628
+ ] })
1597
1629
  ] })
1598
1630
  ] }),
1599
1631
  /* @__PURE__ */ e(xe, {})
1600
1632
  ] });
1601
- }, nn = ({ config: n, children: t }) => /* @__PURE__ */ e("div", { children: "BwgPortal02" });
1602
- function rn({
1603
- config: n,
1633
+ }, rn = ({ config: r, children: t }) => /* @__PURE__ */ e("div", { children: "BwgPortal02" });
1634
+ function on({
1635
+ config: r,
1604
1636
  ui: t,
1605
- navigate: r
1637
+ navigate: n
1606
1638
  }) {
1607
- const { loading: o, capsOn: s, prefills: d, onKeyDown: f, doLogin: i } = ze(n), u = (m) => i(m, r);
1608
- return I(() => {
1609
- $e.getState().fetchSystemMap();
1610
- }, []), /* @__PURE__ */ e(O, { children: t({ onSubmit: u, loading: o, capsOn: s, onKeyDown: f, prefills: d }) });
1639
+ const { loading: s, capsOn: o, prefills: d, onKeyDown: p, doLogin: m } = He(r), i = (c) => m(c, n);
1640
+ return S(() => {
1641
+ Ve.getState().fetchSystemMap();
1642
+ }, []), /* @__PURE__ */ e(R, { children: t({ onSubmit: i, loading: s, capsOn: o, onKeyDown: p, prefills: d }) });
1611
1643
  }
1612
- function on({
1613
- onSubmit: n,
1644
+ function sn({
1645
+ onSubmit: r,
1614
1646
  loading: t,
1615
- capsOn: r,
1616
- onKeyDown: o,
1617
- prefills: s,
1647
+ capsOn: n,
1648
+ onKeyDown: s,
1649
+ prefills: o,
1618
1650
  labels: d = {
1619
1651
  id: "ID 혹은 사번",
1620
1652
  pw: "비밀번호",
1621
1653
  remember: "Remember me",
1622
1654
  login: "로그인"
1623
1655
  },
1624
- header: f,
1625
- footer: i
1656
+ header: p,
1657
+ footer: m
1626
1658
  }) {
1627
- const [u] = D.useForm();
1628
- return I(() => {
1629
- s && (s.id || s.pswr) && u.setFieldsValue({ id: s.id, pswr: s.pswr });
1630
- }, [s, u]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ g("div", { className: "login_wrap", children: [
1631
- f || /* @__PURE__ */ e("div", { className: "logo_box" }),
1659
+ const [i] = O.useForm();
1660
+ return S(() => {
1661
+ o && (o.id || o.pswr) && i.setFieldsValue({ id: o.id, pswr: o.pswr });
1662
+ }, [o, i]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ g("div", { className: "login_wrap", children: [
1663
+ p || /* @__PURE__ */ e("div", { className: "logo_box" }),
1632
1664
  /* @__PURE__ */ e("div", { className: "login_title" }),
1633
- /* @__PURE__ */ e(D, { form: u, onFinish: n, className: "login-form", children: /* @__PURE__ */ g(Be, { vertical: !0, children: [
1665
+ /* @__PURE__ */ e(O, { form: i, onFinish: r, className: "login-form", children: /* @__PURE__ */ g(Ee, { vertical: !0, children: [
1634
1666
  /* @__PURE__ */ e(
1635
- D.Item,
1667
+ O.Item,
1636
1668
  {
1637
1669
  name: "id",
1638
1670
  rules: [
@@ -1642,11 +1674,11 @@ function on({
1642
1674
  message: "아이디는 공백이 들어갈 수 없습니다."
1643
1675
  }
1644
1676
  ],
1645
- children: /* @__PURE__ */ e(Y, { allowClear: !0, placeholder: d.id, onKeyDown: o })
1677
+ children: /* @__PURE__ */ e(Y, { allowClear: !0, placeholder: d.id, onKeyDown: s })
1646
1678
  }
1647
1679
  ),
1648
1680
  /* @__PURE__ */ e(
1649
- D.Item,
1681
+ O.Item,
1650
1682
  {
1651
1683
  name: "pswr",
1652
1684
  rules: [{ required: !0, message: "비밀번호를 입력하세요." }],
@@ -1655,32 +1687,32 @@ function on({
1655
1687
  {
1656
1688
  allowClear: !0,
1657
1689
  placeholder: d.pw,
1658
- onKeyDown: o
1690
+ onKeyDown: s
1659
1691
  }
1660
1692
  )
1661
1693
  }
1662
1694
  ),
1663
- /* @__PURE__ */ e(D.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(Ee, { children: d.remember }) }),
1664
- /* @__PURE__ */ e("div", { className: r ? "caps-lock caps-lock-on" : "caps-lock", children: r ? "Caps Lock On" : "Caps Lock Off" }),
1665
- /* @__PURE__ */ e(D.Item, { children: /* @__PURE__ */ e(w, { type: "primary", htmlType: "submit", loading: t, block: !0, children: d.login }) })
1695
+ /* @__PURE__ */ e(O.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(De, { children: d.remember }) }),
1696
+ /* @__PURE__ */ e("div", { className: n ? "caps-lock caps-lock-on" : "caps-lock", children: n ? "Caps Lock On" : "Caps Lock Off" }),
1697
+ /* @__PURE__ */ e(O.Item, { children: /* @__PURE__ */ e(x, { type: "primary", htmlType: "submit", loading: t, block: !0, children: d.login }) })
1666
1698
  ] }) }),
1667
- i
1699
+ m
1668
1700
  ] }) });
1669
1701
  }
1670
1702
  export {
1671
- en as A,
1672
- tn as B,
1673
- Et as C,
1674
- on as D,
1675
- Jt as L,
1676
- Rt as P,
1677
- nn as a,
1678
- rn as b,
1679
- Dt as c,
1680
- Ct as d,
1681
- Nt as e,
1703
+ tn as A,
1704
+ nn as B,
1705
+ Dt as C,
1706
+ sn as D,
1707
+ en as L,
1708
+ At as P,
1709
+ rn as a,
1710
+ on as b,
1711
+ Ot as c,
1712
+ vt as d,
1713
+ It as e,
1682
1714
  Lt as f,
1683
- Pt as g,
1684
- Vt as h,
1685
- gt as l
1715
+ Mt as g,
1716
+ _t as h,
1717
+ ft as l
1686
1718
  };