@bwg-ui/core 1.2.14 → 1.2.16

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 (34) hide show
  1. package/dist/chunks/MenuReport-Cw7zMZIq.cjs +1 -0
  2. package/dist/chunks/{MenuReport-CozV1tpR.js → MenuReport-DNeDpJV2.js} +26 -26
  3. package/dist/chunks/{common-components-B-zgrX-L.cjs → common-components-Be3FPdnz.cjs} +42 -42
  4. package/dist/chunks/{common-components-XA2KG7Pl.js → common-components-DGVIgTZZ.js} +4627 -4414
  5. package/dist/chunks/{layout-components-MrnKV5g7.js → layout-components-BBpCgkuQ.js} +512 -506
  6. package/dist/chunks/layout-components-C5u5K3OY.cjs +35 -0
  7. package/dist/components/common/index.cjs +1 -1
  8. package/dist/components/common/index.js +1 -1
  9. package/dist/components/guide/index.cjs +1 -1
  10. package/dist/components/guide/index.d.ts +0 -1
  11. package/dist/components/guide/index.d.ts.map +1 -1
  12. package/dist/components/guide/index.js +92 -287
  13. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  14. package/dist/components/layout/index.cjs +1 -1
  15. package/dist/components/layout/index.js +1 -1
  16. package/dist/components/layout/types.d.ts +28 -0
  17. package/dist/components/layout/types.d.ts.map +1 -1
  18. package/dist/components/pages/index.d.ts +1 -0
  19. package/dist/components/pages/index.d.ts.map +1 -1
  20. package/dist/components/pages/syst/CMHldyCfg.d.ts.map +1 -0
  21. package/dist/components/popup/index.cjs +1 -1
  22. package/dist/components/popup/index.js +1 -1
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +79 -78
  25. package/dist/stores/index.cjs +1 -1
  26. package/dist/stores/index.js +1 -1
  27. package/dist/utils/index.cjs +1 -1
  28. package/dist/utils/index.d.ts.map +1 -1
  29. package/dist/utils/index.js +42 -45
  30. package/package.json +2 -1
  31. package/dist/chunks/MenuReport-Bqeps5fC.cjs +0 -1
  32. package/dist/chunks/layout-components-bb0cWC3I.cjs +0 -35
  33. package/dist/components/guide/CMHldyCfg.d.ts.map +0 -1
  34. /package/dist/components/{guide → pages/syst}/CMHldyCfg.d.ts +0 -0
@@ -1,17 +1,17 @@
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-DGVIgTZZ.js";
5
+ import { Spin as j, Layout as H, ColorPicker as ke, Button as x, Popover as Ne, Avatar as Ie, Tabs as Le, Tooltip as z, AutoComplete as Se, Input as Y, Segmented as Te, Menu as te, Result as ie, Space as Pe, Typography as Me, Empty as Z, Form as O, Flex as Be, Checkbox as Ee } from "antd";
6
+ import { lazy as F, useEffect as L, useState as T, useRef as V, useMemo as W, useCallback as E, createElement as le, memo as q, cloneElement as De, Component as Oe, Suspense as Q } from "react";
7
+ import { useLogout as Re, useMenuViewStore as S, useMenuModelStore as Fe, useFavoriteStore as Ae, usePopupStore as J, useLogin as ze, useSystemStore as He } 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";
9
+ import { UserOutlined as Ve, StepBackwardOutlined as _e, 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
10
  import { getCookie as Qe, getCurrentDateString as re, setCookie as Je, THEME_COOKIE_NAME as oe, getUserId as se } from "../utils/index.js";
11
11
  import { useSensors as et, useSensor as tt, PointerSensor as nt, DndContext as rt, closestCenter as ot } from "@dnd-kit/core";
12
12
  import { restrictToHorizontalAxis as st } from "@dnd-kit/modifiers";
13
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 = {
14
+ const dt = F(() => import("./MenuReport-DNeDpJV2.js")), ut = F(() => import("./common-components-DGVIgTZZ.js").then((r) => r.W)), mt = F(() => import("./common-components-DGVIgTZZ.js").then((r) => r.X)), pt = F(() => import("./common-components-DGVIgTZZ.js").then((r) => r.Y)), ht = F(() => import("./common-components-DGVIgTZZ.js").then((r) => r.Z)), gt = {
15
15
  // 게시판/문의
16
16
  CORE_REPORT: {
17
17
  component: dt,
@@ -57,8 +57,8 @@ const dt = F(() => import("./MenuReport-CozV1tpR.js")), ut = F(() => import("./c
57
57
  }, ae = "bwg-dot-line-wave-v4";
58
58
  function ft() {
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
97
  const bt = ({
98
- colors: n = ["#DAD3FF", "#B3A6FF", "#9380FF", "#816BFA"],
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(() => {
107
+ L(() => {
108
108
  ft();
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,23 +120,23 @@ 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
136
  }, Jt = ({
137
- spin: n = null,
137
+ spin: r = null,
138
138
  text: t = "인증중..."
139
- }) => n ?? !0 ? /* @__PURE__ */ g(
139
+ }) => r ?? !0 ? /* @__PURE__ */ g(
140
140
  "div",
141
141
  {
142
142
  style: {
@@ -179,44 +179,44 @@ const bt = ({
179
179
  /* @__PURE__ */ e("span", { className: "bwg-spin-txt", style: { marginTop: "15px" }, children: t })
180
180
  ]
181
181
  }
182
- ) : null, en = ({ routes: n, useCommonProvider: t = !0, useServiceProvider: r = !0 }) => {
183
- let s = /* @__PURE__ */ g(be, { children: [
182
+ ) : null, en = ({ routes: r, useCommonProvider: t = !0, useServiceProvider: n = !0 }) => {
183
+ let o = /* @__PURE__ */ g(be, { children: [
184
184
  /* @__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 })
185
+ /* @__PURE__ */ e(K, { path: "/login", element: r.login }),
186
+ /* @__PURE__ */ e(K, { path: "/main", element: r.main })
187
187
  ] });
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 = {},
188
+ return n && (o = /* @__PURE__ */ e(me, { children: o })), t && (o = /* @__PURE__ */ e(pe, { children: o })), /* @__PURE__ */ e(ve, { children: o });
189
+ }, { Content: yt } = H, Ct = ({
190
+ config: r = {},
191
191
  children: t
192
192
  }) => {
193
- const r = {
193
+ const n = {
194
194
  wrapper: {
195
195
  className: "content-wrapper",
196
- ...n.wrapper
196
+ ...r.wrapper
197
197
  },
198
198
  body: {
199
199
  className: "content-body",
200
- ...n.body
200
+ ...r.body
201
201
  },
202
- ...n
202
+ ...r
203
203
  };
204
204
  return /* @__PURE__ */ e(
205
205
  yt,
206
206
  {
207
- className: r.wrapper.className,
208
- style: r.wrapper.style,
207
+ className: n.wrapper.className,
208
+ style: n.wrapper.style,
209
209
  children: /* @__PURE__ */ e(we, { children: /* @__PURE__ */ e(
210
210
  "div",
211
211
  {
212
- className: r.body.className,
213
- style: r.body.style,
212
+ className: n.body.className,
213
+ style: n.body.style,
214
214
  children: t
215
215
  }
216
216
  ) })
217
217
  }
218
218
  );
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 = {
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 } = H, B = {
220
220
  light: {
221
221
  headerBg: "#ffffff",
222
222
  headerText: "#000000",
@@ -269,94 +269,96 @@ const bt = ({
269
269
  buttonDefaultBorder: "#dddddd",
270
270
  buttonPermissionBorder: "#bdb1ff"
271
271
  }
272
- }, Nt = ({ config: n = {} }) => {
272
+ }, Nt = ({ config: r = {} }) => {
273
273
  const t = {
274
+ gap: 14,
275
+ minWidth: 200,
276
+ items: r.right?.items,
277
+ alarm: {
278
+ visible: !0,
279
+ ...r.right?.alarm || {}
280
+ },
281
+ theme: {
282
+ visible: !0,
283
+ ...r.right?.theme || {}
284
+ },
285
+ logout: {
286
+ visible: !0,
287
+ ...r.right?.logout || {}
288
+ },
289
+ avatar: {
290
+ visible: !0,
291
+ width: 30,
292
+ height: 30,
293
+ ...r.right?.avatar || {}
294
+ }
295
+ }, n = {
274
296
  wrapper: {
275
297
  className: "header-wrapper",
276
- ...n.wrapper
298
+ ...r.wrapper
277
299
  },
278
300
  logo: {
279
301
  gap: 10,
280
- ...n.logo
281
- },
282
- right: {
283
- gap: 14,
284
- minWidth: 200,
285
- avatar: {
286
- width: 30,
287
- height: 30,
288
- ...n.right?.avatar
289
- },
290
- ...n.right
302
+ ...r.logo
291
303
  },
292
- ...n
293
- }, r = Ce(), [o, s] = L("modern"), d = V(null), f = Fe(), i = (a, l) => {
304
+ right: t
305
+ }, s = Ce(), [o, d] = T("modern"), p = V(null), m = Re(), i = (a, C) => {
294
306
  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);
306
- }
307
- }, u = (a) => {
308
- if (!M[a]) {
309
- console.warn(`Invalid theme: ${a}`);
310
- return;
307
+ if (!/^[a-zA-Z0-9-]+$/.test(a) || !/^[#a-zA-Z0-9()\s,.-]+$/.test(C)) return;
308
+ document.documentElement.style.setProperty(a, C);
309
+ } catch (P) {
310
+ console.error("CSS variable setting failed:", P);
311
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(
312
+ }, c = (a) => {
313
+ if (!B[a]) return;
314
+ d(a);
315
+ const C = { ...B[a] };
316
+ 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
317
  "--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);
318
+ C.buttonPermissionBorder
319
+ ), p.current && p.current.setAttribute("data-theme", a), document.documentElement.setAttribute("data-theme", a), Je(oe, a, 30);
318
320
  };
319
- I(() => {
321
+ L(() => {
320
322
  const a = Qe(oe);
321
- a && M[a] ? u(a) : u("modern");
323
+ a && B[a] ? c(a) : c("modern");
322
324
  }, []);
323
- const m = () => ({ ...M[o] }).headerBg, h = () => {
324
- f(), r("/login");
325
+ const h = () => ({ ...B[o] }).headerBg, v = () => {
326
+ m(), s("/login");
325
327
  };
326
328
  re ? re("HH:mm:ss") : (/* @__PURE__ */ new Date()).toLocaleTimeString("ko-KR");
327
- const C = /* @__PURE__ */ g("div", { style: { padding: "8px 0" }, children: [
329
+ const b = /* @__PURE__ */ g("div", { style: { padding: "8px 0" }, children: [
328
330
  /* @__PURE__ */ g("div", { style: { marginBottom: "12px" }, children: [
329
- /* @__PURE__ */ e(ke, { value: m(), disabled: !0, size: "small" }),
331
+ /* @__PURE__ */ e(ke, { value: h(), disabled: !0, size: "small" }),
330
332
  /* @__PURE__ */ e("span", { style: { marginLeft: "8px", fontSize: "12px" }, children: "현재 테마 색상" })
331
333
  ] }),
332
334
  /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: "4px" }, children: [
333
335
  /* @__PURE__ */ e(
334
- w,
336
+ x,
335
337
  {
336
338
  type: o === "modern" ? "primary" : "default",
337
339
  size: "small",
338
- onClick: () => u("modern"),
340
+ onClick: () => c("modern"),
339
341
  style: {
340
342
  textAlign: "left",
341
- backgroundColor: o === "modern" ? M.modern.headerBg : void 0,
342
- color: o === "modern" ? M.modern.headerText : void 0
343
+ backgroundColor: o === "modern" ? B.modern.headerBg : void 0,
344
+ color: o === "modern" ? B.modern.headerText : void 0
343
345
  },
344
346
  children: "모던"
345
347
  },
346
348
  "modern"
347
349
  ),
348
- Object.entries(M).filter(([a]) => a !== "modern").map(([a, l]) => /* @__PURE__ */ e(
349
- w,
350
+ Object.entries(B).filter(([a]) => a !== "modern").map(([a, C]) => /* @__PURE__ */ e(
351
+ x,
350
352
  {
351
353
  type: o === a ? "primary" : "default",
352
354
  size: "small",
353
- onClick: () => u(a),
355
+ onClick: () => c(a),
354
356
  style: {
355
357
  textAlign: "left",
356
- backgroundColor: o === a ? l.headerBg : void 0,
357
- color: o === a ? l.headerText : void 0
358
+ backgroundColor: o === a ? C.headerBg : void 0,
359
+ color: o === a ? C.headerText : void 0
358
360
  },
359
- children: a === "light" ? "라이트" : a === "dark" ? "다크" : a === "blue" ? "블루" : a
361
+ children: a
360
362
  },
361
363
  a
362
364
  ))
@@ -365,15 +367,15 @@ const bt = ({
365
367
  return /* @__PURE__ */ g(
366
368
  kt,
367
369
  {
368
- className: t.wrapper.className,
369
- style: { ...t.wrapper.style },
370
+ className: n.wrapper.className,
371
+ style: { ...n.wrapper.style },
370
372
  children: [
371
- t.logo && /* @__PURE__ */ e("div", { className: "header-left", children: /* @__PURE__ */ e(
373
+ n.logo && /* @__PURE__ */ e("div", { className: "header-left", children: /* @__PURE__ */ e(
372
374
  "div",
373
375
  {
374
376
  className: "logo-container",
375
- style: { gap: t.logo?.gap },
376
- children: t.logo?.items
377
+ style: { gap: n.logo?.gap },
378
+ children: n.logo?.items
377
379
  }
378
380
  ) }),
379
381
  /* @__PURE__ */ g(
@@ -381,54 +383,58 @@ const bt = ({
381
383
  {
382
384
  className: "header-right",
383
385
  style: {
384
- gap: t.right?.gap,
385
- minWidth: t.right?.minWidth
386
+ gap: n.right?.gap,
387
+ minWidth: n.right?.minWidth
386
388
  },
387
389
  children: [
388
- t.right?.items?.map((a, l) => /* @__PURE__ */ e("div", { children: a }, l)),
389
- /* @__PURE__ */ e(
390
- w,
390
+ n.right?.items?.map((a, C) => /* @__PURE__ */ e("div", { children: a }, C)),
391
+ n.right?.alarm?.visible && /* @__PURE__ */ e(
392
+ x,
391
393
  {
392
394
  type: "text",
393
395
  icon: /* @__PURE__ */ e("img", { src: vt, alt: "알림" }),
394
- className: "alarm-btn"
396
+ className: "alarm-btn",
397
+ onClick: n.right?.alarm?.onClick
395
398
  }
396
399
  ),
397
- /* @__PURE__ */ e(
400
+ n.right?.theme?.visible && /* @__PURE__ */ e(
398
401
  Ne,
399
402
  {
400
- content: C,
403
+ content: b,
401
404
  title: "테마 설정",
402
405
  trigger: "click",
403
406
  placement: "bottomRight",
407
+ onOpenChange: (a) => n.right?.theme?.onOpenChange?.(a),
404
408
  children: /* @__PURE__ */ e(
405
- w,
409
+ x,
406
410
  {
407
411
  type: "text",
408
412
  icon: /* @__PURE__ */ e("img", { src: xt, alt: "개인설정" }),
409
- className: "theme-btn"
413
+ className: "theme-btn",
414
+ onClick: n.right?.theme?.onClick
410
415
  }
411
416
  )
412
417
  }
413
418
  ),
414
- /* @__PURE__ */ e(
415
- w,
419
+ n.right?.logout?.visible && /* @__PURE__ */ e(
420
+ x,
416
421
  {
417
422
  type: "text",
418
423
  icon: /* @__PURE__ */ e("img", { src: wt, alt: "로그아웃" }),
419
- onClick: h,
424
+ onClick: n.right?.logout?.onClick || v,
420
425
  className: "logout-btn"
421
426
  }
422
427
  ),
423
- /* @__PURE__ */ e(
428
+ n.right?.avatar?.visible && /* @__PURE__ */ e(
424
429
  Ie,
425
430
  {
426
431
  icon: /* @__PURE__ */ e(Ve, {}),
427
432
  className: "avatar",
428
433
  style: {
429
- width: t.right?.avatar?.width,
430
- height: t.right?.avatar?.height
431
- }
434
+ width: n.right?.avatar?.width,
435
+ height: n.right?.avatar?.height
436
+ },
437
+ onClick: n.right?.avatar?.onClick
432
438
  }
433
439
  )
434
440
  ]
@@ -439,94 +445,94 @@ const bt = ({
439
445
  );
440
446
  }, X = /* @__PURE__ */ Object.freeze({
441
447
  Translate: {
442
- toString(n) {
443
- if (!n)
448
+ toString(r) {
449
+ if (!r)
444
450
  return;
445
451
  const {
446
452
  x: t,
447
- y: r
448
- } = n;
449
- return "translate3d(" + (t ? Math.round(t) : 0) + "px, " + (r ? Math.round(r) : 0) + "px, 0)";
453
+ y: n
454
+ } = r;
455
+ return "translate3d(" + (t ? Math.round(t) : 0) + "px, " + (n ? Math.round(n) : 0) + "px, 0)";
450
456
  }
451
457
  },
452
458
  Scale: {
453
- toString(n) {
454
- if (!n)
459
+ toString(r) {
460
+ if (!r)
455
461
  return;
456
462
  const {
457
463
  scaleX: t,
458
- scaleY: r
459
- } = n;
460
- return "scaleX(" + t + ") scaleY(" + r + ")";
464
+ scaleY: n
465
+ } = r;
466
+ return "scaleX(" + t + ") scaleY(" + n + ")";
461
467
  }
462
468
  },
463
469
  Transform: {
464
- toString(n) {
465
- if (n)
466
- return [X.Translate.toString(n), X.Scale.toString(n)].join(" ");
470
+ toString(r) {
471
+ if (r)
472
+ return [X.Translate.toString(r), X.Scale.toString(r)].join(" ");
467
473
  }
468
474
  },
469
475
  Transition: {
470
- toString(n) {
476
+ toString(r) {
471
477
  let {
472
478
  property: t,
473
- duration: r,
474
- easing: o
475
- } = n;
476
- return t + " " + r + "ms " + o;
479
+ duration: n,
480
+ easing: s
481
+ } = r;
482
+ return t + " " + n + "ms " + s;
477
483
  }
478
484
  }
479
485
  }), It = q(
480
- ({ className: n, ...t }) => {
481
- const r = V(null), {
482
- attributes: o,
483
- listeners: s,
486
+ ({ className: r, ...t }) => {
487
+ const n = V(null), {
488
+ attributes: s,
489
+ listeners: o,
484
490
  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);
491
+ transition: p,
492
+ isDragging: m,
493
+ setNodeRef: i
494
+ } = ct({ id: t["data-node-key"] }), [c, h] = T();
495
+ L(() => {
496
+ const b = n.current;
497
+ if (b)
498
+ if (m) {
499
+ const a = Math.round(b.getBoundingClientRect().width);
500
+ h(a);
495
501
  } else
496
502
  h(void 0);
497
- }, [i]);
498
- const C = {
503
+ }, [m]);
504
+ const v = {
499
505
  ...t.style,
500
506
  transform: d ? X.Transform.toString(d) : void 0,
501
- transition: f ?? "transform 0.16s ease",
507
+ transition: p ?? "transform 0.16s ease",
502
508
  cursor: "grab",
503
509
  userSelect: "none",
504
510
  willChange: "transform",
505
511
  // ✅ 드래그 중 픽셀 폭 고정 (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
512
+ width: c ?? void 0,
513
+ minWidth: c ?? void 0,
514
+ maxWidth: c ?? void 0,
515
+ flex: c !== void 0 ? "0 0 auto" : void 0
510
516
  };
511
517
  return De(t.children, {
512
- ref: (a) => {
513
- r.current !== a && (r.current = a), u(a);
518
+ ref: (b) => {
519
+ n.current !== b && (n.current = b), i(b);
514
520
  },
515
- style: C,
516
- ...o,
517
- ...s
521
+ style: v,
522
+ ...s,
523
+ ...o
518
524
  });
519
525
  }
520
- ), St = q(function({
526
+ ), Lt = q(function({
521
527
  config: t,
522
- isFirst: r,
523
- isLast: o,
524
- canCloseAll: s,
528
+ isFirst: n,
529
+ isLast: s,
530
+ canCloseAll: o,
525
531
  onFirst: d,
526
- onPrev: f,
527
- onNext: i,
528
- onLast: u,
529
- onCloseAll: m
532
+ onPrev: p,
533
+ onNext: m,
534
+ onLast: i,
535
+ onCloseAll: c
530
536
  }) {
531
537
  return /* @__PURE__ */ g("div", { className: t.wrapper?.className, style: t.wrapper?.style, children: [
532
538
  /* @__PURE__ */ e(
@@ -536,14 +542,14 @@ const bt = ({
536
542
  className: t.tooltip?.className,
537
543
  style: t.tooltip?.style,
538
544
  children: /* @__PURE__ */ e(
539
- w,
545
+ x,
540
546
  {
541
547
  className: t.buttons?.className,
542
548
  style: t.buttons?.style,
543
549
  size: "small",
544
- icon: /* @__PURE__ */ e(He, {}),
550
+ icon: /* @__PURE__ */ e(_e, {}),
545
551
  onClick: d,
546
- disabled: r
552
+ disabled: n
547
553
  }
548
554
  )
549
555
  }
@@ -555,14 +561,14 @@ const bt = ({
555
561
  className: t.tooltip?.className,
556
562
  style: t.tooltip?.style,
557
563
  children: /* @__PURE__ */ e(
558
- w,
564
+ x,
559
565
  {
560
566
  className: t.buttons?.className,
561
567
  style: t.buttons?.style,
562
568
  size: "small",
563
- icon: /* @__PURE__ */ e(_e, {}),
564
- onClick: f,
565
- disabled: r
569
+ icon: /* @__PURE__ */ e($e, {}),
570
+ onClick: p,
571
+ disabled: n
566
572
  }
567
573
  )
568
574
  }
@@ -574,14 +580,14 @@ const bt = ({
574
580
  className: t.tooltip?.className,
575
581
  style: t.tooltip?.style,
576
582
  children: /* @__PURE__ */ e(
577
- w,
583
+ x,
578
584
  {
579
585
  className: t.buttons?.className,
580
586
  style: t.buttons?.style,
581
587
  size: "small",
582
588
  icon: /* @__PURE__ */ e(Ge, {}),
583
- onClick: i,
584
- disabled: o
589
+ onClick: m,
590
+ disabled: s
585
591
  }
586
592
  )
587
593
  }
@@ -593,14 +599,14 @@ const bt = ({
593
599
  className: t.tooltip?.className,
594
600
  style: t.tooltip?.style,
595
601
  children: /* @__PURE__ */ e(
596
- w,
602
+ x,
597
603
  {
598
604
  className: t.buttons?.className,
599
605
  style: t.buttons?.style,
600
606
  size: "small",
601
607
  icon: /* @__PURE__ */ e(We, {}),
602
- onClick: u,
603
- disabled: o
608
+ onClick: i,
609
+ disabled: s
604
610
  }
605
611
  )
606
612
  }
@@ -612,113 +618,113 @@ const bt = ({
612
618
  className: t.tooltip?.className,
613
619
  style: t.tooltip?.style,
614
620
  children: /* @__PURE__ */ e(
615
- w,
621
+ x,
616
622
  {
617
623
  className: t.buttons?.className,
618
624
  style: t.buttons?.style,
619
625
  size: "small",
620
626
  icon: /* @__PURE__ */ e(ce, {}),
621
- onClick: m,
622
- disabled: !s
627
+ onClick: c,
628
+ disabled: !o
623
629
  }
624
630
  )
625
631
  }
626
632
  )
627
633
  ] });
628
- }), Lt = ({
629
- config: n = {}
634
+ }), St = ({
635
+ config: r = {}
630
636
  }) => {
631
637
  const t = {
632
638
  wrapper: {
633
639
  className: "menu-tab-wrapper",
634
- ...n?.wrapper
640
+ ...r?.wrapper
635
641
  },
636
642
  tabs: {
637
643
  className: "menu-tabs",
638
- ...n?.tabs
644
+ ...r?.tabs
639
645
  },
640
646
  nav: {
641
647
  wrapper: {
642
648
  className: "menu-nav-wrapper",
643
- ...n?.nav?.wrapper
649
+ ...r?.nav?.wrapper
644
650
  },
645
651
  buttons: {
646
652
  className: "menu-nav-buttons",
647
- ...n?.nav?.buttons
653
+ ...r?.nav?.buttons
648
654
  },
649
655
  tooltip: {
650
656
  className: "menu-nav-tooltip",
651
- ...n?.nav?.tooltip
657
+ ...r?.nav?.tooltip
652
658
  },
653
- ...n?.nav
659
+ ...r?.nav
654
660
  },
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(
661
+ ...r
662
+ }, n = S((u) => u.tabs), s = S((u) => u.activeMenuId), o = S((u) => u.focusTab), d = S((u) => u.closeTab), p = S((u) => u.reorderTabs), m = et(
657
663
  tt(nt, { activationConstraint: { distance: 6 } })
658
- ), u = (p) => {
659
- s(p);
660
- }, m = (p, k) => {
661
- k === "remove" && typeof p == "string" && d(p);
664
+ ), i = (u) => {
665
+ o(u);
666
+ }, c = (u, N) => {
667
+ N === "remove" && typeof u == "string" && d(u);
662
668
  }, 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);
669
+ n.length > 0 && o(n[0].key);
670
+ }, v = () => {
671
+ if (!s || n.length <= 1) return;
672
+ const u = n.findIndex((N) => N.key === s);
673
+ u > 0 && o(n[u - 1].key);
674
+ }, b = () => {
675
+ if (!s || n.length <= 1) return;
676
+ const u = n.findIndex((N) => N.key === s);
677
+ u < n.length - 1 && o(n[u + 1].key);
668
678
  }, 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);
679
+ n.length > 0 && o(n[n.length - 1].key);
680
+ }, C = () => {
681
+ n.forEach((u) => {
682
+ d(u.key);
677
683
  });
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,
684
+ }, P = s ? n.findIndex((u) => u.key === s) : -1, _ = P === 0, A = P === n.length - 1, U = W(
685
+ () => n.map((u) => ({
686
+ key: u.key,
687
+ label: u.label,
682
688
  closable: !0,
683
689
  children: null
684
690
  // 컨텐츠는 Main 쪽에서 렌더 → 여기선 헤더만 필요
685
691
  })),
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);
692
+ [n]
693
+ ), $ = E(
694
+ ({ active: u, over: N }) => {
695
+ if (!N || u.id === N.id) return;
696
+ const I = n.findIndex((l) => l.key === u.id), M = n.findIndex((l) => l.key === N.id);
697
+ if (I < 0 || M < 0 || I === M) return;
698
+ const f = n.map((l) => l.key), y = at(f, I, M);
699
+ p?.(y);
694
700
  },
695
- [r, f]
696
- ), G = B(
697
- (p, k) => /* @__PURE__ */ e(
701
+ [n, p]
702
+ ), G = E(
703
+ (u, N) => /* @__PURE__ */ e(
698
704
  rt,
699
705
  {
700
- sensors: i,
701
- onDragEnd: _,
706
+ sensors: m,
707
+ onDragEnd: $,
702
708
  collisionDetection: ot,
703
709
  modifiers: [st],
704
710
  children: /* @__PURE__ */ e(
705
711
  it,
706
712
  {
707
- items: r.map((N) => N.key),
713
+ items: n.map((I) => I.key),
708
714
  strategy: lt,
709
- children: /* @__PURE__ */ e(k, { ...p, children: (N) => /* @__PURE__ */ le(
715
+ children: /* @__PURE__ */ e(N, { ...u, children: (I) => /* @__PURE__ */ le(
710
716
  It,
711
717
  {
712
- ...N.props,
713
- key: N.key
718
+ ...I.props,
719
+ key: I.key
714
720
  },
715
- N
721
+ I
716
722
  ) })
717
723
  }
718
724
  )
719
725
  }
720
726
  ),
721
- [i, _, r]
727
+ [m, $, n]
722
728
  );
723
729
  return /* @__PURE__ */ e(
724
730
  "div",
@@ -726,31 +732,31 @@ const bt = ({
726
732
  className: t.wrapper.className,
727
733
  style: {
728
734
  ...t.wrapper.style,
729
- display: r.length === 0 ? "none" : "block"
735
+ display: n.length === 0 ? "none" : "block"
730
736
  },
731
737
  children: /* @__PURE__ */ e(
732
- Se,
738
+ Le,
733
739
  {
734
740
  type: "editable-card",
735
- activeKey: o || void 0,
736
- onChange: u,
737
- onEdit: m,
741
+ activeKey: s || void 0,
742
+ onChange: i,
743
+ onEdit: c,
738
744
  className: t.tabs.className,
739
745
  style: t.tabs.style,
740
746
  hideAdd: !0,
741
747
  items: U,
742
748
  tabBarExtraContent: /* @__PURE__ */ e(
743
- St,
749
+ Lt,
744
750
  {
745
751
  config: t?.nav,
746
- isFirst: !!H,
752
+ isFirst: !!_,
747
753
  isLast: !!A,
748
- canCloseAll: r.length > 0,
754
+ canCloseAll: n.length > 0,
749
755
  onFirst: h,
750
- onPrev: C,
751
- onNext: a,
752
- onLast: l,
753
- onCloseAll: T
756
+ onPrev: v,
757
+ onNext: b,
758
+ onLast: a,
759
+ onCloseAll: C
754
760
  }
755
761
  ),
756
762
  renderTabBar: G
@@ -758,8 +764,8 @@ const bt = ({
758
764
  )
759
765
  }
760
766
  );
761
- }, { Sider: Tt } = $, Pt = ({
762
- config: n = {}
767
+ }, { Sider: Tt } = H, Pt = ({
768
+ config: r = {}
763
769
  }) => {
764
770
  const t = {
765
771
  collapsed: !1,
@@ -768,7 +774,7 @@ const bt = ({
768
774
  mainMenu: "MAIN",
769
775
  subMenu: "SUB",
770
776
  program: "PRGM",
771
- ...n?.menuGubunCode
777
+ ...r?.menuGubunCode
772
778
  },
773
779
  className: {
774
780
  wrapper: "side-wrapper",
@@ -776,7 +782,7 @@ const bt = ({
776
782
  segmented: {
777
783
  wrapper: "sider-segmented",
778
784
  item: "sider-segment-item",
779
- ...n?.className?.segmented
785
+ ...r?.className?.segmented
780
786
  },
781
787
  sider: {
782
788
  content: "sider-content",
@@ -787,29 +793,29 @@ const bt = ({
787
793
  errorText: "sider-error-text",
788
794
  menu: "sider-menu",
789
795
  menuContainer: "sider-menu-container",
790
- ...n?.className?.sider
796
+ ...r?.className?.sider
791
797
  },
792
- ...n?.className
798
+ ...r?.className
793
799
  },
794
800
  style: {
795
801
  search: {
796
802
  placeholder: "메뉴명, 메뉴번호 검색...",
797
803
  height: 30,
798
- ...n?.style?.search
804
+ ...r?.style?.search
799
805
  },
800
- ...n?.style
806
+ ...r?.style
801
807
  },
802
- ...n
808
+ ...r
803
809
  };
804
- console.log("@@ 사이드바 config : ", n);
805
- const [r, o] = L(""), [s, d] = L(
810
+ console.log("@@ 사이드바 config : ", r);
811
+ const [n, s] = T(""), [o, d] = T(
806
812
  "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,
813
+ ), { activeMenuId: p, sidebarCollapsed: m, openTabFromMenu: i, toggleSidebar: c } = S(), { menuList: h, isLoading: v, error: b, findMenuById: a } = Fe(), { nodes: C, treeNodes: P, loadFavoritesIfNeeded: _ } = Ae(), A = W(() => {
814
+ const f = [], y = (l, k = 0) => {
815
+ if (l.menuGbCd === t.menuGubunCode.program && l.scrnPath) {
816
+ const w = " ".repeat(k), D = l.menuNo || "";
817
+ f.push({
818
+ value: l.menuId,
813
819
  label: /* @__PURE__ */ g(
814
820
  "div",
815
821
  {
@@ -820,8 +826,8 @@ const bt = ({
820
826
  },
821
827
  children: [
822
828
  /* @__PURE__ */ g("span", { children: [
823
- v,
824
- c.menuNm
829
+ w,
830
+ l.menuNm
825
831
  ] }),
826
832
  /* @__PURE__ */ e(
827
833
  "span",
@@ -834,53 +840,53 @@ const bt = ({
834
840
  borderRadius: "3px",
835
841
  marginLeft: "8px"
836
842
  },
837
- children: E
843
+ children: D
838
844
  }
839
845
  )
840
846
  ]
841
847
  }
842
848
  ),
843
- menuItem: c
849
+ menuItem: l
844
850
  });
845
851
  }
846
- c.children && c.children.length > 0 && c.children.forEach((v) => y(v, x + 1));
852
+ l.children && l.children.length > 0 && l.children.forEach((w) => y(w, k + 1));
847
853
  };
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);
854
+ return h.forEach((l) => y(l)), f;
855
+ }, [h]), U = W(() => n.trim() ? A.filter((f) => {
856
+ const y = f.menuItem.menuNm.toLowerCase(), l = String(f.menuItem.menuNo || "미지정").toLowerCase(), k = n.toLowerCase();
857
+ return y.includes(k) || l.includes(k);
858
+ }) : [], [A, n]), $ = (f) => {
859
+ if (!f || typeof f != "string") {
860
+ console.warn("Invalid menu selection value:", f);
855
861
  return;
856
862
  }
857
- if (!/^[a-zA-Z0-9_-]+$/.test(b)) {
858
- console.warn("Invalid menu ID format:", b);
863
+ if (!/^[a-zA-Z0-9_-]+$/.test(f)) {
864
+ console.warn("Invalid menu ID format:", f);
859
865
  return;
860
866
  }
861
867
  const y = A.find(
862
- (c) => c.value === b
868
+ (l) => l.value === f
863
869
  );
864
870
  if (y) {
865
- const { menuItem: c } = y;
866
- if (!c || !c.menuId || !c.menuNm) {
867
- console.warn("Invalid menu item:", c);
871
+ const { menuItem: l } = y;
872
+ if (!l || !l.menuId || !l.menuNm) {
873
+ console.warn("Invalid menu item:", l);
868
874
  return;
869
875
  }
870
- c.menuGbCd === t.menuGubunCode.program && c.scrnPath ? (console.log(
876
+ l.menuGbCd === t.menuGubunCode.program && l.scrnPath ? (console.log(
871
877
  "✅ 검색으로 프로그램 메뉴 선택 - 탭 추가 및 setCurrentProgram 호출"
872
878
  ), console.log(
873
879
  "메뉴명:",
874
- c.menuNm,
880
+ l.menuNm,
875
881
  "경로:",
876
- c.scrnPath,
882
+ l.scrnPath,
877
883
  "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("");
884
+ l.scrnId
885
+ ), i(l)) : (l.menuGbCd === t.menuGubunCode.mainMenu || l.menuGbCd === t.menuGubunCode.subMenu) && (console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"), console.log("메뉴명:", l.menuNm, "menuGbCd:", l.menuGbCd)), s("");
880
886
  }
881
- }, G = B(
882
- (b) => {
883
- const y = l(b);
887
+ }, G = E(
888
+ (f) => {
889
+ const y = a(f);
884
890
  y?.menuGbCd === t.menuGubunCode.program && (console.log(
885
891
  "메뉴명:",
886
892
  y.menuNm,
@@ -888,10 +894,10 @@ const bt = ({
888
894
  y.scrnPath,
889
895
  "scrnId:",
890
896
  y.scrnId
891
- ), u(y));
897
+ ), i(y));
892
898
  },
893
- [l, u]
894
- ), p = B((b) => b.map((y) => ({
899
+ [a, i]
900
+ ), u = E((f) => f.map((y) => ({
895
901
  key: y.menuId,
896
902
  label: /* @__PURE__ */ e(
897
903
  "div",
@@ -904,13 +910,13 @@ const bt = ({
904
910
  children: /* @__PURE__ */ e("span", { children: y.menuNm })
905
911
  }
906
912
  ),
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, {});
913
+ icon: N(y.iconCd, y.menuGbCd),
914
+ children: y.children && y.children.length > 0 ? u(y.children) : void 0
915
+ })), []), N = (f, y) => {
916
+ if (f) {
917
+ const l = ne[f];
918
+ if (l)
919
+ return /* @__PURE__ */ e(l, {});
914
920
  }
915
921
  if (y)
916
922
  switch (y) {
@@ -924,47 +930,47 @@ const bt = ({
924
930
  return null;
925
931
  }
926
932
  return null;
927
- }, N = B(
928
- (b) => {
933
+ }, I = E(
934
+ (f) => {
929
935
  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} (삭제됨)`;
936
+ const y = (k) => {
937
+ if (k)
938
+ return typeof k == "string" ? C[k] : k;
939
+ }, l = (k) => {
940
+ if (k.type === "M") {
941
+ const w = k, D = a(w.menuId) || void 0, ee = !!D, ue = ee ? `${D?.menuNm ?? w.menuNm ?? w.menuId}` : `${w.menuNm ?? w.menuId} (삭제됨)`;
936
942
  return {
937
- key: v.menuId,
943
+ key: w.menuId,
938
944
  label: ue,
939
945
  icon: ee ? void 0 : /* @__PURE__ */ e(Ze, { style: { color: "#faad14" } })
940
946
  };
941
947
  } else {
942
- const v = x, E = (v.children ?? []).map(y).filter(Boolean).map(c);
948
+ const w = k, D = (w.children ?? []).map(y).filter(Boolean).map(l);
943
949
  return {
944
- key: v.bkmkId,
945
- label: v.bkmkNm ?? v.bkmkId,
946
- icon: v.prntBkmkId === "-" ? /* @__PURE__ */ e(Ye, {}) : /* @__PURE__ */ e(Xe, {}),
947
- children: E
950
+ key: w.bkmkId,
951
+ label: w.bkmkNm ?? w.bkmkId,
952
+ icon: w.prntBkmkId === "-" ? /* @__PURE__ */ e(Ye, {}) : /* @__PURE__ */ e(Xe, {}),
953
+ children: D
948
954
  // 빈 배열이면 자동으로 말아줌
949
955
  };
950
956
  }
951
957
  };
952
- return b.map(c);
958
+ return f.map(l);
953
959
  },
954
- [l, T, h]
955
- ), P = W(
956
- () => N(R),
957
- [N, R, T]
960
+ [a, C, h]
961
+ ), M = W(
962
+ () => I(P),
963
+ [I, P, C]
958
964
  );
959
- return I(() => {
960
- se() && H(se());
961
- }, [H]), I(() => {
962
- s === "category" && o("");
963
- }, [s]), /* @__PURE__ */ g(
965
+ return L(() => {
966
+ se() && _(se());
967
+ }, [_]), L(() => {
968
+ o === "category" && s("");
969
+ }, [o]), /* @__PURE__ */ g(
964
970
  Tt,
965
971
  {
966
972
  className: t.className.wrapper,
967
- collapsed: t.collapsed || i,
973
+ collapsed: t.collapsed || m,
968
974
  trigger: null,
969
975
  width: t.width || 230,
970
976
  children: [
@@ -989,10 +995,10 @@ const bt = ({
989
995
  transition: "all 0.3s ease"
990
996
  },
991
997
  children: /* @__PURE__ */ e(
992
- w,
998
+ x,
993
999
  {
994
1000
  type: "text",
995
- icon: t.collapsed || i ? /* @__PURE__ */ e(je, {}) : /* @__PURE__ */ e(Ue, {}),
1001
+ icon: t.collapsed || m ? /* @__PURE__ */ e(je, {}) : /* @__PURE__ */ e(Ue, {}),
996
1002
  style: {
997
1003
  fontSize: "12px",
998
1004
  color: "#787878",
@@ -1003,24 +1009,24 @@ const bt = ({
1003
1009
  alignItems: "center",
1004
1010
  justifyContent: "center"
1005
1011
  },
1006
- onClick: m
1012
+ onClick: c
1007
1013
  }
1008
1014
  )
1009
1015
  }
1010
1016
  ),
1011
- !(t.collapsed || i) && /* @__PURE__ */ e(
1017
+ !(t.collapsed || m) && /* @__PURE__ */ e(
1012
1018
  "div",
1013
1019
  {
1014
1020
  style: {
1015
1021
  padding: 10
1016
1022
  },
1017
1023
  children: /* @__PURE__ */ e(
1018
- Le,
1024
+ Se,
1019
1025
  {
1020
- value: r,
1026
+ value: n,
1021
1027
  options: U,
1022
- onSelect: _,
1023
- onSearch: o,
1028
+ onSelect: $,
1029
+ onSearch: s,
1024
1030
  style: { width: "100%" },
1025
1031
  allowClear: !0,
1026
1032
  children: /* @__PURE__ */ e(
@@ -1058,7 +1064,7 @@ const bt = ({
1058
1064
  )
1059
1065
  }
1060
1066
  ),
1061
- !(t.collapsed || i) && /* @__PURE__ */ e(
1067
+ !(t.collapsed || m) && /* @__PURE__ */ e(
1062
1068
  "div",
1063
1069
  {
1064
1070
  style: {
@@ -1072,7 +1078,7 @@ const bt = ({
1072
1078
  className: t.className.segmented.wrapper,
1073
1079
  options: [
1074
1080
  {
1075
- label: /* @__PURE__ */ g(O, { children: [
1081
+ label: /* @__PURE__ */ g(R, { children: [
1076
1082
  /* @__PURE__ */ e("span", { className: t.className.segmented.item, children: /* @__PURE__ */ g(
1077
1083
  "svg",
1078
1084
  {
@@ -1120,7 +1126,7 @@ const bt = ({
1120
1126
  value: "category"
1121
1127
  },
1122
1128
  {
1123
- label: /* @__PURE__ */ g(O, { children: [
1129
+ label: /* @__PURE__ */ g(R, { children: [
1124
1130
  /* @__PURE__ */ e("span", { className: t.className.segmented.item, children: /* @__PURE__ */ e(
1125
1131
  "svg",
1126
1132
  {
@@ -1145,9 +1151,9 @@ const bt = ({
1145
1151
  value: "favorite"
1146
1152
  }
1147
1153
  ],
1148
- value: s,
1149
- onChange: (b) => {
1150
- d(b);
1154
+ value: o,
1155
+ onChange: (f) => {
1156
+ d(f);
1151
1157
  },
1152
1158
  style: {
1153
1159
  width: "100%"
@@ -1158,11 +1164,11 @@ const bt = ({
1158
1164
  }
1159
1165
  ),
1160
1166
  /* @__PURE__ */ g("div", { className: t.className.sider.content, children: [
1161
- C && /* @__PURE__ */ g("div", { className: t.className.sider.loading, children: [
1167
+ v && /* @__PURE__ */ g("div", { className: t.className.sider.loading, children: [
1162
1168
  /* @__PURE__ */ e(j, { size: "default" }),
1163
1169
  /* @__PURE__ */ e("div", { className: t.className.sider.loadingText, children: "메뉴 로딩 중..." })
1164
1170
  ] }),
1165
- a && /* @__PURE__ */ g("div", { className: t.className.sider.error, children: [
1171
+ b && /* @__PURE__ */ g("div", { className: t.className.sider.error, children: [
1166
1172
  /* @__PURE__ */ e(
1167
1173
  Ke,
1168
1174
  {
@@ -1171,7 +1177,7 @@ const bt = ({
1171
1177
  ),
1172
1178
  /* @__PURE__ */ e("div", { className: t.className.sider.errorText, children: "메뉴 로드 실패" })
1173
1179
  ] }),
1174
- !C && !a && s === "category" && h.length === 0 && /* @__PURE__ */ e(
1180
+ !v && !b && o === "category" && h.length === 0 && /* @__PURE__ */ e(
1175
1181
  "div",
1176
1182
  {
1177
1183
  style: {
@@ -1183,7 +1189,7 @@ const bt = ({
1183
1189
  children: "메뉴가 없습니다"
1184
1190
  }
1185
1191
  ),
1186
- !C && !a && s === "favorite" && P.length === 0 && /* @__PURE__ */ e(
1192
+ !v && !b && o === "favorite" && M.length === 0 && /* @__PURE__ */ e(
1187
1193
  "div",
1188
1194
  {
1189
1195
  style: {
@@ -1195,26 +1201,26 @@ const bt = ({
1195
1201
  children: "즐겨찾기된 메뉴가 없습니다"
1196
1202
  }
1197
1203
  ),
1198
- !C && !a && s === "category" && h.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1204
+ !v && !b && o === "category" && h.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1199
1205
  te,
1200
1206
  {
1201
1207
  theme: "light",
1202
1208
  mode: "inline",
1203
- items: p(h),
1209
+ items: u(h),
1204
1210
  className: t.className.sider.menu,
1205
- selectedKeys: [f || ""],
1206
- onClick: (b) => G(b.key)
1211
+ selectedKeys: [p || ""],
1212
+ onClick: (f) => G(f.key)
1207
1213
  }
1208
1214
  ) }),
1209
- !C && !a && s === "favorite" && P.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1215
+ !v && !b && o === "favorite" && M.length > 0 && /* @__PURE__ */ e("div", { className: t.className.sider.menuContainer, children: /* @__PURE__ */ e(
1210
1216
  te,
1211
1217
  {
1212
1218
  theme: "light",
1213
1219
  mode: "inline",
1214
- items: P,
1220
+ items: M,
1215
1221
  className: t.className.sider.menu,
1216
- selectedKeys: [f || ""],
1217
- onClick: (b) => G(b.key)
1222
+ selectedKeys: [p || ""],
1223
+ onClick: (f) => G(f.key)
1218
1224
  }
1219
1225
  ) })
1220
1226
  ] })
@@ -1231,10 +1237,10 @@ class Mt extends Oe {
1231
1237
  static getDerivedStateFromError(t) {
1232
1238
  return { hasError: !0, error: t };
1233
1239
  }
1234
- componentDidCatch(t, r) {
1235
- console.error("ErrorBound caught an error:", t, r), this.setState({
1240
+ componentDidCatch(t, n) {
1241
+ console.error("ErrorBound caught an error:", t, n), this.setState({
1236
1242
  error: t,
1237
- errorInfo: r
1243
+ errorInfo: n
1238
1244
  });
1239
1245
  }
1240
1246
  render() {
@@ -1259,7 +1265,7 @@ class Mt extends Oe {
1259
1265
  subTitle: this.state.error ? `오류 내용: ${this.state.error.message}` : "알 수 없는 오류가 발생했습니다",
1260
1266
  extra: [
1261
1267
  /* @__PURE__ */ e(
1262
- w,
1268
+ x,
1263
1269
  {
1264
1270
  type: "primary",
1265
1271
  icon: /* @__PURE__ */ e(de, {}),
@@ -1308,12 +1314,12 @@ class Mt extends Oe {
1308
1314
  }
1309
1315
  }
1310
1316
  const Bt = ({
1311
- isActive: n,
1317
+ isActive: r,
1312
1318
  instance: t,
1313
- params: r
1319
+ params: n
1314
1320
  }) => {
1315
- const { activeMenuId: o, closeTab: s } = S(), d = () => {
1316
- o && s(o);
1321
+ const { activeMenuId: s, closeTab: o } = S(), d = () => {
1322
+ s && o(s);
1317
1323
  };
1318
1324
  return t ? /* @__PURE__ */ e(
1319
1325
  "div",
@@ -1324,12 +1330,12 @@ const Bt = ({
1324
1330
  left: 0,
1325
1331
  width: "100%",
1326
1332
  height: "100%",
1327
- visibility: n ? "visible" : "hidden",
1328
- opacity: n ? 1 : 0,
1333
+ visibility: r ? "visible" : "hidden",
1334
+ opacity: r ? 1 : 0,
1329
1335
  transition: "opacity 0.2s ease-in-out",
1330
- pointerEvents: n ? "auto" : "none"
1336
+ pointerEvents: r ? "auto" : "none"
1331
1337
  },
1332
- children: /* @__PURE__ */ e(Mt, { children: /* @__PURE__ */ e(Q, { fallback: null, children: t && le(t, { params: r }) }) })
1338
+ children: /* @__PURE__ */ e(Mt, { children: /* @__PURE__ */ e(Q, { fallback: null, children: t && le(t, { params: n }) }) })
1333
1339
  }
1334
1340
  ) : /* @__PURE__ */ e(
1335
1341
  "div",
@@ -1343,10 +1349,10 @@ const Bt = ({
1343
1349
  display: "flex",
1344
1350
  justifyContent: "center",
1345
1351
  alignItems: "center",
1346
- visibility: n ? "visible" : "hidden",
1347
- opacity: n ? 1 : 0,
1352
+ visibility: r ? "visible" : "hidden",
1353
+ opacity: r ? 1 : 0,
1348
1354
  transition: "opacity 0.2s ease-in-out",
1349
- pointerEvents: n ? "auto" : "none"
1355
+ pointerEvents: r ? "auto" : "none"
1350
1356
  },
1351
1357
  children: /* @__PURE__ */ e(
1352
1358
  "div",
@@ -1366,14 +1372,14 @@ const Bt = ({
1366
1372
  status: "warning",
1367
1373
  title: "등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",
1368
1374
  subTitle: /* @__PURE__ */ e(Me.Text, { type: "secondary", children: "자세한 내용은 관리자에게 문의바랍니다." }),
1369
- extra: /* @__PURE__ */ e(Pe, { children: /* @__PURE__ */ e(w, { icon: /* @__PURE__ */ e(ce, {}), onClick: d, children: "탭 닫기" }) })
1375
+ extra: /* @__PURE__ */ e(Pe, { children: /* @__PURE__ */ e(x, { icon: /* @__PURE__ */ e(ce, {}), onClick: d, children: "탭 닫기" }) })
1370
1376
  }
1371
1377
  )
1372
1378
  }
1373
1379
  )
1374
1380
  }
1375
1381
  );
1376
- }, Et = q(Bt), Dt = () => /* @__PURE__ */ g(O, { children: [
1382
+ }, Et = q(Bt), Dt = () => /* @__PURE__ */ g(R, { children: [
1377
1383
  /* @__PURE__ */ e(
1378
1384
  "link",
1379
1385
  {
@@ -1383,58 +1389,58 @@ const Bt = ({
1383
1389
  }
1384
1390
  ),
1385
1391
  /* @__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;
1392
+ ] }), Ot = (r, t) => {
1393
+ console.log("createPopupViewLoader 호출 - popupUrl:", r);
1394
+ const s = ((o) => {
1395
+ if (o.startsWith("/src/pages/views/popup/")) {
1396
+ const m = o + ".tsx";
1397
+ return console.log(`팝업 URL 변환: ${o} -> ${m}`), m;
1392
1398
  }
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);
1399
+ const p = `/src/pages/views/popup/${o.startsWith("/") ? o.substring(1) : o}.tsx`;
1400
+ return console.log(`팝업 URL 변환: ${o} -> ${p}`), p;
1401
+ })(r);
1402
+ return !s || !t?.glob[s] ? (console.warn(`팝업 뷰를 찾을 수 없습니다: ${r} (${s})`), console.warn("사용 가능한 팝업 뷰들:", Object.keys(t?.glob || {})), null) : t?.glob[s];
1403
+ }, Rt = ({ popup: r, modules: t }) => {
1404
+ const [n, s] = T(null), [o, d] = T(!1), [p, m] = T(null), i = () => {
1405
+ console.log("PopupArea - handleClose:", r.popupId), J.getState().closePopup(r.popupId);
1400
1406
  };
1401
- return I(() => {
1407
+ return L(() => {
1402
1408
  (async () => {
1403
- console.log("팝업 뷰 로드 시작:", n.popupUrl), d(!0), i(null);
1409
+ console.log("팝업 뷰 로드 시작:", r.popupUrl), d(!0), m(null);
1404
1410
  try {
1405
- const h = Ot(n.popupUrl, t);
1411
+ const h = Ot(r.popupUrl, t);
1406
1412
  if (!h) {
1407
- const l = `팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;
1408
- console.error(l), i(l), d(!1);
1413
+ const a = `팝업 뷰를 찾을 수 없습니다: ${r.popupUrl}`;
1414
+ console.error(a), m(a), d(!1);
1409
1415
  return;
1410
1416
  }
1411
1417
  console.log("팝업 뷰 모듈 로드 중...");
1412
- const C = await h();
1413
- console.log("팝업 뷰 모듈 로드 완료:", C);
1414
- const a = C.default;
1415
- if (console.log("팝업 뷰 컴포넌트:", a), !a)
1418
+ const v = await h();
1419
+ console.log("팝업 뷰 모듈 로드 완료:", v);
1420
+ const b = v.default;
1421
+ if (console.log("팝업 뷰 컴포넌트:", b), !b)
1416
1422
  throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");
1417
- o(() => a), console.log("팝업 뷰 설정 완료");
1423
+ s(() => b), console.log("팝업 뷰 설정 완료");
1418
1424
  } catch (h) {
1419
- console.error("팝업 뷰 로드 실패:", h), i(h instanceof Error ? h.message : "팝업 뷰 로드 실패");
1425
+ console.error("팝업 뷰 로드 실패:", h), m(h instanceof Error ? h.message : "팝업 뷰 로드 실패");
1420
1426
  } finally {
1421
1427
  d(!1);
1422
1428
  }
1423
1429
  })();
1424
- }, [n.popupUrl]), s ? /* @__PURE__ */ g("div", { className: "popup-loading", children: [
1430
+ }, [r.popupUrl]), o ? /* @__PURE__ */ g("div", { className: "popup-loading", children: [
1425
1431
  /* @__PURE__ */ e(j, { size: "large" }),
1426
1432
  /* @__PURE__ */ e("p", { children: "팝업을 로드하는 중..." })
1427
- ] }) : f ? /* @__PURE__ */ g("div", { className: "popup-error", children: [
1428
- /* @__PURE__ */ e(Z, { description: f, image: Z.PRESENTED_IMAGE_SIMPLE }),
1433
+ ] }) : p ? /* @__PURE__ */ g("div", { className: "popup-error", children: [
1434
+ /* @__PURE__ */ e(Z, { description: p, image: Z.PRESENTED_IMAGE_SIMPLE }),
1429
1435
  /* @__PURE__ */ e(
1430
- w,
1436
+ x,
1431
1437
  {
1432
1438
  icon: /* @__PURE__ */ e(de, {}),
1433
1439
  onClick: () => window.location.reload(),
1434
1440
  children: "다시 시도"
1435
1441
  }
1436
1442
  )
1437
- ] }) : r ? /* @__PURE__ */ e(
1443
+ ] }) : n ? /* @__PURE__ */ e(
1438
1444
  Q,
1439
1445
  {
1440
1446
  fallback: /* @__PURE__ */ g("div", { className: "popup-loading", children: [
@@ -1442,63 +1448,63 @@ const Bt = ({
1442
1448
  /* @__PURE__ */ e("p", { children: "컴포넌트를 로드하는 중..." })
1443
1449
  ] }),
1444
1450
  children: /* @__PURE__ */ e(
1445
- r,
1451
+ n,
1446
1452
  {
1447
1453
  popup: {
1448
- ...n,
1449
- close: u
1454
+ ...r,
1455
+ close: i
1450
1456
  // popup 객체에 close 이벤트 추가
1451
1457
  },
1452
- onClose: u
1458
+ onClose: i
1453
1459
  }
1454
1460
  )
1455
1461
  }
1456
1462
  ) : /* @__PURE__ */ e("div", { className: "popup-empty", children: /* @__PURE__ */ e(Z, { description: "팝업 내용을 불러올 수 없습니다." }) });
1457
- }, Rt = ({ modules: n }) => {
1463
+ }, Ft = ({ modules: r }) => {
1458
1464
  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",
1465
+ return t.length === 0 ? null : /* @__PURE__ */ e(R, { children: t.map((n) => {
1466
+ 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) => ({
1467
+ key: i.btnId || `btn_${c}`,
1468
+ text: i.btnNm,
1469
+ type: i.btnId === "CLOSE" ? "default" : "primary",
1470
+ disabled: i.enblYn !== "Y",
1465
1471
  danger: !1
1466
1472
  })) || [];
1467
1473
  return console.log("팝업 렌더링:", {
1468
- popupId: r.popupId,
1469
- popupCode: r.popupCode,
1470
- title: f,
1471
- width: s,
1474
+ popupId: n.popupId,
1475
+ popupCode: n.popupCode,
1476
+ title: p,
1477
+ width: o,
1472
1478
  height: d,
1473
- buttons: i
1474
- }), /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(Ft, { popup: r, modules: n }) }, r.popupId);
1479
+ buttons: m
1480
+ }), /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(Rt, { popup: n, modules: r }) }, n.popupId);
1475
1481
  }) });
1476
1482
  }, 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);
1483
+ const { popups: r, closePopup: t } = J();
1484
+ return /* @__PURE__ */ e(R, { children: r.map((n) => {
1485
+ if (!(n.isLocal || n.popupCode.startsWith("CORE_"))) return null;
1486
+ const s = gt[n.popupCode];
1487
+ if (!s) return null;
1488
+ const o = s.component;
1489
+ return /* @__PURE__ */ e(Q, { fallback: null, children: /* @__PURE__ */ e(o, { popup: n, onClose: () => t(n.popupId) }) }, n.popupId);
1484
1490
  }) });
1485
- }, zt = (n) => ({
1491
+ }, zt = (r) => ({
1486
1492
  position: "absolute",
1487
1493
  inset: 0,
1488
- visibility: n ? "visible" : "hidden",
1489
- opacity: n ? 1 : 0,
1494
+ visibility: r ? "visible" : "hidden",
1495
+ opacity: r ? 1 : 0,
1490
1496
  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(
1497
+ pointerEvents: r ? "auto" : "none"
1498
+ }), Ht = ({ once: r = !0 }) => {
1499
+ const { lock: t } = ge(), n = V(!1);
1500
+ return L(() => {
1501
+ r && n.current || (n.current = !0, t());
1502
+ }, [r, t]), null;
1503
+ }, Vt = ({ isActive: r, flagged: t, tabKey: n, onUnlock: s, children: o }) => {
1504
+ const d = V(null), [p, m] = T(!1), i = E((h) => {
1505
+ d.current = h, m(!!h);
1506
+ }, []), c = zt(r);
1507
+ return /* @__PURE__ */ e("div", { ref: i, style: c, children: p ? /* @__PURE__ */ g(
1502
1508
  he,
1503
1509
  {
1504
1510
  idleMs: Number.POSITIVE_INFINITY,
@@ -1506,16 +1512,16 @@ const Bt = ({
1506
1512
  overlayScope: "scoped",
1507
1513
  overlayPosition: "absolute",
1508
1514
  eventTarget: d.current,
1509
- overlayId: `tab-overlay-${r}`,
1510
- onUnlock: async () => (o(), !0),
1515
+ overlayId: `tab-overlay-${n}`,
1516
+ onUnlock: async () => (s(), !0),
1511
1517
  children: [
1512
- n && t ? /* @__PURE__ */ e($t, { once: !0 }) : null,
1513
- s
1518
+ r && t ? /* @__PURE__ */ e(Ht, { once: !0 }) : null,
1519
+ o
1514
1520
  ]
1515
1521
  }
1516
- ) : s });
1522
+ ) : o });
1517
1523
  }, tn = ({
1518
- config: n = {},
1524
+ config: r = {},
1519
1525
  modules: t = {
1520
1526
  view: {
1521
1527
  path: "/src/pages/views/content"
@@ -1525,37 +1531,37 @@ const Bt = ({
1525
1531
  }
1526
1532
  }
1527
1533
  }) => {
1528
- const r = V(
1534
+ const n = V(
1529
1535
  /* @__PURE__ */ new Map()
1530
1536
  ), {
1531
- tabs: o,
1532
- tabParams: s,
1537
+ tabs: s,
1538
+ tabParams: o,
1533
1539
  activeMenuId: d,
1534
- tabProtectFlag: f,
1535
- clearProtectFlagForKey: i
1536
- } = S(), u = B(
1537
- (m) => {
1538
- const h = r.current.get(m.key);
1540
+ tabProtectFlag: p,
1541
+ clearProtectFlagForKey: m
1542
+ } = S(), i = E(
1543
+ (c) => {
1544
+ const h = n.current.get(c.key);
1539
1545
  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
1546
+ const v = c.gubun === "M" ? `${t.view.path}${c.menuItem?.scrnPath}.tsx` : `${t.view.path}${c.componentItem?.scrnPath}.tsx`;
1547
+ let b = t.view?.glob?.[v];
1548
+ if (!b && typeof import.meta < "u" && typeof import.meta.glob == "function" && (b = (/* @__PURE__ */ Object.assign({}))[v]), b) {
1549
+ const a = F(
1550
+ b
1545
1551
  );
1546
- return r.current.set(m.key, l), l;
1552
+ return n.current.set(c.key, a), a;
1547
1553
  }
1548
1554
  return null;
1549
1555
  },
1550
1556
  [t.view?.glob]
1551
1557
  );
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 }),
1558
+ return /* @__PURE__ */ g(H, { className: "main-layout", children: [
1559
+ /* @__PURE__ */ e(Nt, { config: r?.header }),
1560
+ /* @__PURE__ */ g(H, { children: [
1561
+ /* @__PURE__ */ e(Pt, { config: r?.sidebar }),
1556
1562
  /* @__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: [
1563
+ /* @__PURE__ */ e(St, { config: r?.menuTab }),
1564
+ /* @__PURE__ */ g(Ct, { config: r?.content, children: [
1559
1565
  /* @__PURE__ */ e("div", { className: "view-container", children: /* @__PURE__ */ g(
1560
1566
  "div",
1561
1567
  {
@@ -1565,74 +1571,74 @@ const Bt = ({
1565
1571
  height: "100%"
1566
1572
  },
1567
1573
  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(
1574
+ s.map((c) => {
1575
+ const h = i(c), v = d === c.key, b = !!p?.[c.key], a = o[c.key] || {};
1576
+ return /* @__PURE__ */ e(fe, { children: /* @__PURE__ */ e(
1571
1577
  Vt,
1572
1578
  {
1573
- isActive: C,
1574
- flagged: a,
1575
- tabKey: m.key,
1576
- onUnlock: () => i(m.key),
1579
+ isActive: v,
1580
+ flagged: b,
1581
+ tabKey: c.key,
1582
+ onUnlock: () => m(c.key),
1577
1583
  children: /* @__PURE__ */ e(
1578
1584
  Et,
1579
1585
  {
1580
- isActive: C,
1586
+ isActive: v,
1581
1587
  instance: h || void 0,
1582
- params: l
1588
+ params: a
1583
1589
  },
1584
- m.key
1590
+ c.key
1585
1591
  )
1586
1592
  },
1587
- m.key
1588
- );
1593
+ c.key
1594
+ ) }, `sbp-${c.key}`);
1589
1595
  }),
1590
- (!d || o.length === 0) && /* @__PURE__ */ e(Dt, {})
1596
+ (!d || s.length === 0) && /* @__PURE__ */ e(Dt, {})
1591
1597
  ]
1592
1598
  }
1593
1599
  ) }),
1594
1600
  /* @__PURE__ */ e(At, {}),
1595
- /* @__PURE__ */ e(Rt, { modules: t?.popup })
1596
- ] }) })
1601
+ /* @__PURE__ */ e(Ft, { modules: t?.popup })
1602
+ ] })
1597
1603
  ] })
1598
1604
  ] }),
1599
1605
  /* @__PURE__ */ e(xe, {})
1600
1606
  ] });
1601
- }, nn = ({ config: n, children: t }) => /* @__PURE__ */ e("div", { children: "BwgPortal02" });
1607
+ }, nn = ({ config: r, children: t }) => /* @__PURE__ */ e("div", { children: "BwgPortal02" });
1602
1608
  function rn({
1603
- config: n,
1609
+ config: r,
1604
1610
  ui: t,
1605
- navigate: r
1611
+ navigate: n
1606
1612
  }) {
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 }) });
1613
+ const { loading: s, capsOn: o, prefills: d, onKeyDown: p, doLogin: m } = ze(r), i = (c) => m(c, n);
1614
+ return L(() => {
1615
+ He.getState().fetchSystemMap();
1616
+ }, []), /* @__PURE__ */ e(R, { children: t({ onSubmit: i, loading: s, capsOn: o, onKeyDown: p, prefills: d }) });
1611
1617
  }
1612
1618
  function on({
1613
- onSubmit: n,
1619
+ onSubmit: r,
1614
1620
  loading: t,
1615
- capsOn: r,
1616
- onKeyDown: o,
1617
- prefills: s,
1621
+ capsOn: n,
1622
+ onKeyDown: s,
1623
+ prefills: o,
1618
1624
  labels: d = {
1619
1625
  id: "ID 혹은 사번",
1620
1626
  pw: "비밀번호",
1621
1627
  remember: "Remember me",
1622
1628
  login: "로그인"
1623
1629
  },
1624
- header: f,
1625
- footer: i
1630
+ header: p,
1631
+ footer: m
1626
1632
  }) {
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" }),
1633
+ const [i] = O.useForm();
1634
+ return L(() => {
1635
+ o && (o.id || o.pswr) && i.setFieldsValue({ id: o.id, pswr: o.pswr });
1636
+ }, [o, i]), /* @__PURE__ */ e("div", { className: "login-main", children: /* @__PURE__ */ g("div", { className: "login_wrap", children: [
1637
+ p || /* @__PURE__ */ e("div", { className: "logo_box" }),
1632
1638
  /* @__PURE__ */ e("div", { className: "login_title" }),
1633
- /* @__PURE__ */ e(D, { form: u, onFinish: n, className: "login-form", children: /* @__PURE__ */ g(Be, { vertical: !0, children: [
1639
+ /* @__PURE__ */ e(O, { form: i, onFinish: r, className: "login-form", children: /* @__PURE__ */ g(Be, { vertical: !0, children: [
1634
1640
  /* @__PURE__ */ e(
1635
- D.Item,
1641
+ O.Item,
1636
1642
  {
1637
1643
  name: "id",
1638
1644
  rules: [
@@ -1642,11 +1648,11 @@ function on({
1642
1648
  message: "아이디는 공백이 들어갈 수 없습니다."
1643
1649
  }
1644
1650
  ],
1645
- children: /* @__PURE__ */ e(Y, { allowClear: !0, placeholder: d.id, onKeyDown: o })
1651
+ children: /* @__PURE__ */ e(Y, { allowClear: !0, placeholder: d.id, onKeyDown: s })
1646
1652
  }
1647
1653
  ),
1648
1654
  /* @__PURE__ */ e(
1649
- D.Item,
1655
+ O.Item,
1650
1656
  {
1651
1657
  name: "pswr",
1652
1658
  rules: [{ required: !0, message: "비밀번호를 입력하세요." }],
@@ -1655,16 +1661,16 @@ function on({
1655
1661
  {
1656
1662
  allowClear: !0,
1657
1663
  placeholder: d.pw,
1658
- onKeyDown: o
1664
+ onKeyDown: s
1659
1665
  }
1660
1666
  )
1661
1667
  }
1662
1668
  ),
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 }) })
1669
+ /* @__PURE__ */ e(O.Item, { name: "remember", valuePropName: "checked", children: /* @__PURE__ */ e(Ee, { children: d.remember }) }),
1670
+ /* @__PURE__ */ e("div", { className: n ? "caps-lock caps-lock-on" : "caps-lock", children: n ? "Caps Lock On" : "Caps Lock Off" }),
1671
+ /* @__PURE__ */ e(O.Item, { children: /* @__PURE__ */ e(x, { type: "primary", htmlType: "submit", loading: t, block: !0, children: d.login }) })
1666
1672
  ] }) }),
1667
- i
1673
+ m
1668
1674
  ] }) });
1669
1675
  }
1670
1676
  export {
@@ -1673,13 +1679,13 @@ export {
1673
1679
  Et as C,
1674
1680
  on as D,
1675
1681
  Jt as L,
1676
- Rt as P,
1682
+ Ft as P,
1677
1683
  nn as a,
1678
1684
  rn as b,
1679
1685
  Dt as c,
1680
1686
  Ct as d,
1681
1687
  Nt as e,
1682
- Lt as f,
1688
+ St as f,
1683
1689
  Pt as g,
1684
1690
  Vt as h,
1685
1691
  gt as l