@bwg-ui/core 1.2.35 → 1.3.0
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.
- package/dist/chunks/{CMSearchIntfGwP01-CMSQULsU.cjs → CMSearchIntfGwP01-D7XtXMLy.cjs} +1 -1
- package/dist/chunks/{CMSearchIntfGwP01-Duabg_5A.js → CMSearchIntfGwP01-_h2B12Ig.js} +28 -28
- package/dist/chunks/{MenuReport-B4EU1A6l.js → MenuReport-Bw3AvR6b.js} +10 -10
- package/dist/chunks/MenuReport-DuWbbKBC.cjs +1 -0
- package/dist/chunks/common-components-BOJo6FH_.cjs +1109 -0
- package/dist/chunks/{common-components-DIpOkbb5.js → common-components-BjfrRYiU.js} +13530 -12812
- package/dist/chunks/{layout-components-D2Fla5uu.js → layout-components-DNhUIx4u.js} +603 -559
- package/dist/chunks/layout-components-Ddn-4n36.cjs +35 -0
- package/dist/chunks/provider-DrboIg2C.cjs +1 -0
- package/dist/chunks/provider-VCa8UGvF.js +446 -0
- package/dist/components/common/BwgGrid.d.ts +17 -16
- package/dist/components/common/BwgGrid.d.ts.map +1 -1
- package/dist/components/common/BwgPagination.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts +3 -3
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.d.ts +4 -3
- package/dist/components/common/index.d.ts.map +1 -1
- package/dist/components/common/index.js +5 -5
- package/dist/components/common/type.d.ts +7 -0
- package/dist/components/common/type.d.ts.map +1 -1
- package/dist/components/core/BwgMaskedDate.d.ts +13 -0
- package/dist/components/core/BwgMaskedDate.d.ts.map +1 -0
- package/dist/components/core/{BwgMaskedPicker.d.ts → BwgMaskedRange.d.ts} +6 -4
- package/dist/components/core/BwgMaskedRange.d.ts.map +1 -0
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.d.ts +4 -2
- package/dist/components/core/index.d.ts.map +1 -1
- package/dist/components/core/index.js +1219 -781
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.js +2 -2
- package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
- package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
- package/dist/components/layout/extension/ContentWrapper.d.ts.map +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/pages/syst/CMHldyCfg.d.ts.map +1 -1
- package/dist/components/popup/MenuReport.d.ts.map +1 -1
- package/dist/components/popup/SearchAddressP01.d.ts +30 -0
- package/dist/components/popup/SearchAddressP01.d.ts.map +1 -0
- package/dist/components/popup/SearchHolidayP01.d.ts +2 -2
- package/dist/components/popup/SearchHolidayP01.d.ts.map +1 -1
- package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -1
- package/dist/components/popup/index.cjs +1 -1
- package/dist/components/popup/index.d.ts +2 -0
- package/dist/components/popup/index.d.ts.map +1 -1
- package/dist/components/popup/index.js +6 -5
- package/dist/index.cjs +1 -1
- package/dist/index.js +270 -259
- package/dist/provider/contexts/BwgViewContext.d.ts +19 -0
- package/dist/provider/contexts/BwgViewContext.d.ts.map +1 -0
- package/dist/provider/contexts/index.d.ts +1 -0
- package/dist/provider/contexts/index.d.ts.map +1 -1
- package/dist/provider/hooks/index.d.ts +1 -0
- package/dist/provider/hooks/index.d.ts.map +1 -1
- package/dist/provider/hooks/useSizeConfig.d.ts +19 -0
- package/dist/provider/hooks/useSizeConfig.d.ts.map +1 -0
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +22 -381
- package/dist/stores/index.cjs +2 -2
- package/dist/stores/index.js +18 -11
- package/dist/stores/userStore.d.ts +4 -0
- package/dist/stores/userStore.d.ts.map +1 -1
- package/dist/styles/components.css +90 -60
- package/dist/utils/{FileUtils.d.ts → fileUtils.d.ts} +1 -1
- package/dist/utils/fileUtils.d.ts.map +1 -0
- package/dist/utils/gridUtils.d.ts +45 -0
- package/dist/utils/gridUtils.d.ts.map +1 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts +12 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1112 -1005
- package/package.json +1 -1
- package/dist/chunks/MenuReport-5e2dMr_C.cjs +0 -1
- package/dist/chunks/common-components-D3-r7D-8.cjs +0 -1109
- package/dist/chunks/layout-components-pfHVy2at.cjs +0 -35
- package/dist/components/core/BwgMaskedPicker.d.ts.map +0 -1
- package/dist/utils/FileUtils.d.ts.map +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),A=require("../provider/index.cjs"),R=require("react-router-dom"),Y=require("./common-components-D3-r7D-8.cjs"),i=require("antd"),l=require("react"),N=require("../stores/index.cjs"),L=require("@ant-design/icons"),F=require("../utils/index.cjs"),_=require("@dnd-kit/core"),ue=require("@dnd-kit/modifiers"),G=require("@dnd-kit/sortable");var U=typeof document<"u"?document.currentScript:null;function me(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>n[r]})}}return t.default=n,Object.freeze(t)}const H=me(L),pe=l.lazy(()=>Promise.resolve().then(()=>require("./MenuReport-5e2dMr_C.cjs"))),he=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-D3-r7D-8.cjs")).then(n=>n.SearchDepartmentP01$1)),ge=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-D3-r7D-8.cjs")).then(n=>n.SearchDepartmentP02$1)),fe=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-D3-r7D-8.cjs")).then(n=>n.SearchOrganizationP01$1)),xe=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-D3-r7D-8.cjs")).then(n=>n.SearchOrganizationP02$1)),be=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-D3-r7D-8.cjs")).then(n=>n.CMPrgrMstrP02$1)),ye=l.lazy(()=>Promise.resolve().then(()=>require("./CMSearchIntfGwP01-CMSQULsU.cjs"))),ee={CORE_REPORT:{component:pe,defaultConfig:{title:"게시판/문의",width:1200,height:800}},CORE_DEPARTMENT_01:{component:he,defaultConfig:{title:"부서 검색",width:620,height:700}},CORE_DEPARTMENT_02:{component:ge,defaultConfig:{title:"부서 검색",width:620,height:700}},CORE_ORGANIZATION_01:{component:fe,defaultConfig:{title:"조직 검색",width:620,height:700}},CORE_ORGANIZATION_02:{component:xe,defaultConfig:{title:"조직 검색",width:1e3,height:700}},CORE_PRGR_02:{component:be,defaultConfig:{title:"프로그램 검색",width:700,height:800}},CORE_GW_DRAFTS:{component:ye,defaultConfig:{title:"기안 목록",width:1e3,height:700}}},J="bwg-dot-line-wave-v4";function Ce(){if(typeof document>"u"||document.getElementById(J))return;const n=document.createElement("style");n.id=J,n.textContent=`
|
|
2
|
-
.bwg-dotline {
|
|
3
|
-
display: inline-flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
gap: var(--bwg-gap, 12px);
|
|
6
|
-
height: calc(var(--bwg-size, 12px) + 2 * var(--bwg-amp, 12px));
|
|
7
|
-
line-height: 0;
|
|
8
|
-
}
|
|
9
|
-
.bwg-dotline .dot {
|
|
10
|
-
width: var(--bwg-size, 12px);
|
|
11
|
-
height: var(--bwg-size, 12px);
|
|
12
|
-
border-radius: 50%;
|
|
13
|
-
background: currentColor;
|
|
14
|
-
will-change: transform, opacity;
|
|
15
|
-
filter: drop-shadow(0 1px 2px rgba(0,0,0,.12));
|
|
16
|
-
animation: bwg-dotline-sine var(--bwg-speed, 780ms) linear infinite;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/* sin(θ) 근사: 0, 45, 90, 135, 180, 225, 270, 315, 360deg */
|
|
20
|
-
@keyframes bwg-dotline-sine {
|
|
21
|
-
0% { transform: translate3d(0, 0, 0) scale(.98); opacity: .80; }
|
|
22
|
-
12.5%{ transform: translate3d(0, calc(-0.7071 * var(--bwg-amp, 12px)), 0) scale(1.03); opacity: .92; }
|
|
23
|
-
25% { transform: translate3d(0, calc(-1 * var(--bwg-amp, 12px)), 0) scale(1.06); opacity: 1; }
|
|
24
|
-
37.5%{ transform: translate3d(0, calc(-0.7071 * var(--bwg-amp, 12px)), 0) scale(1.03); opacity: .92; }
|
|
25
|
-
50% { transform: translate3d(0, 0, 0) scale(.98); opacity: .80; }
|
|
26
|
-
62.5%{ transform: translate3d(0, calc( 0.7071 * var(--bwg-amp, 12px)), 0) scale(.97); opacity: .78; }
|
|
27
|
-
75% { transform: translate3d(0, calc( 1 * var(--bwg-amp, 12px)), 0) scale(.96); opacity: .76; }
|
|
28
|
-
87.5%{ transform: translate3d(0, calc( 0.7071 * var(--bwg-amp, 12px)), 0) scale(.97); opacity: .78; }
|
|
29
|
-
100% { transform: translate3d(0, 0, 0) scale(.98); opacity: .80; }
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@media (prefers-reduced-motion: reduce) {
|
|
33
|
-
.bwg-dotline .dot { animation: none; }
|
|
34
|
-
}
|
|
35
|
-
`,document.head.appendChild(n)}const ve=({colors:n=["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],count:t,size:r=12,gap:s=10,amp:o=16,speedMs:c=900,direction:y="ltr",phase:d=.7})=>{l.useEffect(()=>{Ce()},[]);const m=t??n.length,u=Array.from({length:m}),p={"--bwg-size":`${r}px`,"--bwg-gap":`${s}px`,"--bwg-amp":`${o}px`,"--bwg-speed":`${c}ms`},C=c/m*d;return e.jsx("span",{className:"bwg-dotline",role:"img","aria-label":"loading",style:p,children:u.map((g,h)=>e.jsx("span",{className:"dot",style:{backgroundColor:n[h%n.length],animationDelay:y==="ltr"?`${h*C}ms`:`${(m-1-h)*C}ms`}},h))})},je=({spin:n=null,text:t="인증중...",dimStyle:r="dark"})=>{if(!(n??!0))return null;const c=r==="dark";return e.jsxs("div",{className:"loading-overlay",style:{position:"fixed",height:"100vh",left:0,right:0,top:0,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:8,padding:"8px 12px",background:c?"rgba(0, 0, 0, 0.6)":"rgba(255, 255, 255, 0.85)",color:c?"#fff":"#333",backdropFilter:"blur(4px)",zIndex:1e4},"aria-live":"polite","aria-busy":"true",role:"status",children:[e.jsx(i.Spin,{indicator:e.jsx(ve,{colors:["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],size:12,gap:10,amp:16,speedMs:900,phase:.75,direction:"ltr"})}),e.jsx("span",{className:"bwg-spin-txt",style:{marginTop:"15px"},children:t})]})},we=({routes:n,useCommonProvider:t=!0,useServiceProvider:r=!0})=>{let o=e.jsxs(R.Routes,{children:[e.jsx(R.Route,{path:"/",element:e.jsx(R.Navigate,{to:"/login"})}),e.jsx(R.Route,{path:"/login",element:n.login}),e.jsx(R.Route,{path:"/main/*",element:n.main})]});return r&&(o=e.jsx(A.ServiceCodeProvider,{children:o})),t&&(o=e.jsx(A.CommonCodeProvider,{children:o})),e.jsx(Y.GlobalConfigProvider,{children:o})},{Content:ke}=i.Layout,X=({config:n={},children:t})=>{const r={wrapper:{className:"content-wrapper",...n.wrapper},body:{className:"content-body",...n.body},...n};return e.jsx(ke,{className:r.wrapper.className,style:r.wrapper.style,children:e.jsx(Y.BwgConfigProvider,{children:e.jsx("div",{className:r.body.className,style:r.body.style,children:t})})})},Pe="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",Ie="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",Ne="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:Se}=i.Layout,$={light:{headerBg:"#ffffff",headerText:"#000000",sidebarBg:"#ffffff",sidebarText:"#000000",buttonPrimary:"#1890ff",buttonPrimaryHover:"#40a9ff",buttonPrimaryActive:"#096dd9",buttonDefault:"#ffffff",buttonDefaultHover:"#f5f5f5",buttonDefaultBorder:"#d9d9d9",buttonPermissionBorder:"#bdb1ff"},dark:{headerBg:"#4a4a4a",headerText:"#ffffff",sidebarBg:"#4a4a4a",sidebarText:"#ffffff",buttonPrimary:"#177ddc",buttonPrimaryHover:"#1890ff",buttonPrimaryActive:"#0958b5",buttonDefault:"#434343",buttonDefaultHover:"#303030",buttonDefaultBorder:"#434343",buttonPermissionBorder:"#bdb1ff"},blue:{headerBg:"#4a90e2",headerText:"#ffffff",sidebarBg:"#4a90e2",sidebarText:"#ffffff",buttonPrimary:"#1890ff",buttonPrimaryHover:"#40a9ff",buttonPrimaryActive:"#096dd9",buttonDefault:"#ffffff",buttonDefaultHover:"#f0f8ff",buttonDefaultBorder:"#4a90e2",buttonPermissionBorder:"#bdb1ff"},modern:{headerBg:"#f3f4ff",headerText:"#333333",sidebarBg:"#ffffff",sidebarText:"#555555",buttonPrimary:"#6449FC",buttonPrimaryHover:"#6449FC",buttonPrimaryActive:"#6449FC",buttonDefault:"#ffffff",buttonDefaultHover:"#f5f5f5",buttonDefaultBorder:"#dddddd",buttonPermissionBorder:"#bdb1ff"}},K={0:"작게",1:"보통",2:"크게"},Q=({config:n={},children:t})=>{const r={gap:14,minWidth:200,items:n.right?.items,alarm:{visible:!0,...n.right?.alarm||{}},theme:{visible:!0,...n.right?.theme||{}},logout:{visible:!0,...n.right?.logout||{}},avatar:{visible:!0,width:30,height:30,...n.right?.avatar||{}}},s={wrapper:{className:"header-wrapper",...n.wrapper},logo:{gap:10,...n.logo},right:r},o=R.useNavigate(),[c,y]=l.useState("modern"),d=l.useRef(null),m=N.useLogout(),{componentSize:u,setComponentSize:p,gridSize:C,setGridSize:g,spacingSize:h,setSpacingSize:P}=N.useUserStore(),v=(x,a)=>{try{if(!/^[a-zA-Z0-9-]+$/.test(x)||!/^[#a-zA-Z0-9()\s,.-]+$/.test(a))return;document.documentElement.style.setProperty(x,a)}catch(T){console.error("CSS variable setting failed:",T)}},f=x=>{if(!$[x])return;y(x);const a={...$[x]};v("--header-bg",a.headerBg),v("--header-text",a.headerText),v("--sidebar-bg",a.sidebarBg),v("--sidebar-text",a.sidebarText),v("--button-primary",a.buttonPrimary),v("--button-primary-hover",a.buttonPrimaryHover),v("--button-primary-active",a.buttonPrimaryActive),v("--button-default",a.buttonDefault),v("--button-default-hover",a.buttonDefaultHover),v("--button-default-border",a.buttonDefaultBorder),v("--button-permission-border",a.buttonPermissionBorder),d.current&&d.current.setAttribute("data-theme",x),document.documentElement.setAttribute("data-theme",x),F.setCookie(F.THEME_COOKIE_NAME,x,30)};l.useEffect(()=>{const x=F.getCookie(F.THEME_COOKIE_NAME);x&&$[x]?f(x):f("modern")},[]);const j=()=>({...$[c]}).headerBg,I=()=>{m(),o("/login")};F.getTodateString?F.getTodateString("HH:mm:ss"):new Date().toLocaleTimeString("ko-KR");const z=e.jsxs("div",{style:{padding:"8px 0"},children:[e.jsxs("div",{style:{marginBottom:"12px"},children:[e.jsx(i.ColorPicker,{value:j(),disabled:!0,size:"small"}),e.jsx("span",{style:{marginLeft:"8px",fontSize:"12px"},children:"현재 테마 색상"})]}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[e.jsx(i.Button,{type:c==="modern"?"primary":"default",size:"small",onClick:()=>f("modern"),style:{textAlign:"left",backgroundColor:c==="modern"?$.modern.headerBg:void 0,color:c==="modern"?$.modern.headerText:void 0},children:"모던"},"modern"),Object.entries($).filter(([x])=>x!=="modern").map(([x,a])=>e.jsx(i.Button,{type:c===x?"primary":"default",size:"small",onClick:()=>f(x),style:{textAlign:"left",backgroundColor:c===x?a.headerBg:void 0,color:c===x?a.headerText:void 0},children:x},x))]}),e.jsx(i.Divider,{}),e.jsxs("div",{style:{marginTop:"8px"},children:[e.jsx("div",{style:{marginBottom:"8px",fontSize:"12px"},children:"컴포넌트 크기"}),e.jsx(i.Slider,{marks:K,value:u,min:0,max:2,step:1,onChange:x=>p(x)}),e.jsx("div",{style:{marginTop:"16px",marginBottom:"8px",fontSize:"12px"},children:"그리드 크기"}),e.jsx(i.Slider,{marks:K,value:C,min:0,max:2,step:1,onChange:x=>g(x)}),e.jsx("div",{style:{marginTop:"16px",marginBottom:"8px",fontSize:"12px"},children:"여백 조정"}),e.jsx(i.Slider,{marks:K,value:h,min:0,max:2,step:1,onChange:x=>P(x)})]})]});return e.jsxs(Se,{className:s.wrapper.className,style:{...s.wrapper.style},children:[s.logo&&e.jsx("div",{className:"header-left",children:e.jsx("div",{className:"logo-container",style:{gap:s.logo?.gap},children:s.logo?.items})}),t&&e.jsx("div",{className:"header-center",style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"},children:t}),e.jsxs("div",{className:"header-right",style:{gap:s.right?.gap,minWidth:s.right?.minWidth},children:[s.right?.items?.map((x,a)=>e.jsx("div",{children:x},a)),s.right?.alarm?.visible&&e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:Pe,alt:"알림"}),className:"alarm-btn",onClick:s.right?.alarm?.onClick}),s.right?.theme?.visible&&e.jsx(i.Popover,{content:z,title:"테마 설정",trigger:"click",placement:"bottomRight",onOpenChange:x=>s.right?.theme?.onOpenChange?.(x),children:e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:Ne,alt:"개인설정"}),className:"theme-btn",onClick:s.right?.theme?.onClick})}),s.right?.logout?.visible&&e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:Ie,alt:"로그아웃"}),onClick:s.right?.logout?.onClick||I,className:"logout-btn"}),s.right?.avatar?.visible&&e.jsx(i.Avatar,{icon:e.jsx(L.UserOutlined,{}),className:"avatar",style:{width:s.right?.avatar?.width,height:s.right?.avatar?.height},onClick:s.right?.avatar?.onClick})]})]})},Z=Object.freeze({Translate:{toString(n){if(!n)return;const{x:t,y:r}=n;return"translate3d("+(t?Math.round(t):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(n){if(!n)return;const{scaleX:t,scaleY:r}=n;return"scaleX("+t+") scaleY("+r+")"}},Transform:{toString(n){if(n)return[Z.Translate.toString(n),Z.Scale.toString(n)].join(" ")}},Transition:{toString(n){let{property:t,duration:r,easing:s}=n;return t+" "+r+"ms "+s}}}),Me=l.memo(({className:n,...t})=>{const r=l.useRef(null),{attributes:s,listeners:o,transform:c,transition:y,isDragging:d,setNodeRef:m}=G.useSortable({id:t["data-node-key"]}),[u,p]=l.useState();l.useEffect(()=>{const g=r.current;if(g)if(d){const h=Math.round(g.getBoundingClientRect().width);p(h)}else p(void 0)},[d]);const C={...t.style,transform:c?Z.Transform.toString(c):void 0,transition:y??"transform 0.16s ease",cursor:"grab",userSelect:"none",willChange:"transform",width:u??void 0,minWidth:u??void 0,maxWidth:u??void 0,flex:u!==void 0?"0 0 auto":void 0};return l.cloneElement(t.children,{ref:g=>{r.current!==g&&(r.current=g),m(g)},style:C,...s,...o})}),Le=l.memo(function({config:t,isFirst:r,isLast:s,canCloseAll:o,onFirst:c,onPrev:y,onNext:d,onLast:m,onCloseAll:u}){return e.jsxs("div",{className:t.wrapper?.className,style:t.wrapper?.style,children:[e.jsx(i.Tooltip,{title:"첫 번째 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(L.StepBackwardOutlined,{}),onClick:c,disabled:r})}),e.jsx(i.Tooltip,{title:"이전 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(L.LeftOutlined,{}),onClick:y,disabled:r})}),e.jsx(i.Tooltip,{title:"다음 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(L.RightOutlined,{}),onClick:d,disabled:s})}),e.jsx(i.Tooltip,{title:"마지막 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(L.StepForwardOutlined,{}),onClick:m,disabled:s})}),e.jsx(i.Tooltip,{title:"모든 탭 닫기",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(L.CloseOutlined,{}),onClick:u,disabled:!o})})]})}),te=({config:n={}})=>{const t={wrapper:{className:"menu-tab-wrapper",...n?.wrapper},tabs:{className:"menu-tabs",...n?.tabs},nav:{wrapper:{className:"menu-nav-wrapper",...n?.nav?.wrapper},buttons:{className:"menu-nav-buttons",...n?.nav?.buttons},tooltip:{className:"menu-nav-tooltip",...n?.nav?.tooltip},...n?.nav},...n},r=N.useMenuViewStore(a=>a.tabs),s=N.useMenuViewStore(a=>a.activeMenuId),o=N.useMenuViewStore(a=>a.focusTab),c=N.useMenuViewStore(a=>a.closeTab),y=N.useMenuViewStore(a=>a.reorderTabs),d=_.useSensors(_.useSensor(_.PointerSensor,{activationConstraint:{distance:6}})),m=a=>{o(a)},u=(a,T)=>{T==="remove"&&typeof a=="string"&&c(a)},p=()=>{r.length>0&&o(r[0].key)},C=()=>{if(!s||r.length<=1)return;const a=r.findIndex(T=>T.key===s);a>0&&o(r[a-1].key)},g=()=>{if(!s||r.length<=1)return;const a=r.findIndex(T=>T.key===s);a<r.length-1&&o(r[a+1].key)},h=()=>{r.length>0&&o(r[r.length-1].key)},P=()=>{r.forEach(a=>{c(a.key)})},v=s?r.findIndex(a=>a.key===s):-1,f=v===0,j=v===r.length-1,I=l.useMemo(()=>r.map(a=>({key:a.key,label:a.label,closable:!0,children:null})),[r]),z=l.useCallback(({active:a,over:T})=>{if(!T||a.id===T.id)return;const B=r.findIndex(D=>D.key===a.id),W=r.findIndex(D=>D.key===T.id);if(B<0||W<0||B===W)return;const q=r.map(D=>D.key),V=G.arrayMove(q,B,W);y?.(V)},[r,y]),x=l.useCallback((a,T)=>e.jsx(_.DndContext,{sensors:d,onDragEnd:z,collisionDetection:_.closestCenter,modifiers:[ue.restrictToHorizontalAxis],children:e.jsx(G.SortableContext,{items:r.map(B=>B.key),strategy:G.horizontalListSortingStrategy,children:e.jsx(T,{...a,children:B=>l.createElement(Me,{...B.props,key:B.key},B)})})}),[d,z,r]);return e.jsx("div",{className:t.wrapper.className,style:{...t.wrapper.style,display:r.length===0?"none":"block"},children:e.jsx(i.Tabs,{type:"editable-card",activeKey:s||void 0,onChange:m,onEdit:u,className:t.tabs.className,style:t.tabs.style,hideAdd:!0,items:I,tabBarExtraContent:e.jsx(Le,{config:t?.nav,isFirst:!!f,isLast:!!j,canCloseAll:r.length>0,onFirst:p,onPrev:C,onNext:g,onLast:h,onCloseAll:P}),renderTabBar:x})})},{Sider:Te}=i.Layout,ne=({config:n={}})=>{const t={collapsed:!1,width:230,menuGubunCode:{mainMenu:"MAIN",subMenu:"SUB",program:"PRGM",...n?.menuGubunCode},className:{wrapper:"side-wrapper",search:"sider-search-ipt",segmented:{wrapper:"sider-segmented",item:"sider-segment-item",...n?.className?.segmented},sider:{content:"sider-content",loading:"sider-loading",loadingText:"sider-loading-text",error:"sider-error",errorIcon:"sider-error-icon",errorText:"sider-error-text",menu:"sider-menu",menuContainer:"sider-menu-container",...n?.className?.sider},...n?.className},style:{search:{placeholder:"메뉴명, 메뉴번호 검색...",height:30,...n?.style?.search},...n?.style},...n},[r,s]=l.useState(""),[o,c]=l.useState("category"),[y,d]=l.useState([]),{activeMenuId:m,sidebarCollapsed:u,openTabFromMenu:p,toggleSidebar:C}=N.useMenuViewStore(),{menuList:g,isLoading:h,error:P,findMenuById:v,flatMenuList:f}=N.useMenuModelStore(),{nodes:j,treeNodes:I,loadFavoritesIfNeeded:z}=N.useFavoriteStore(),x=l.useMemo(()=>{const k=[],w=(b,S=0)=>{if(b.menuGbCd===t.menuGubunCode.program&&b.scrnPath){const M=" ".repeat(S),O=b.menuNo||"";k.push({value:b.menuId,label:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs("span",{children:[M,b.menuNm]}),e.jsx("span",{style:{fontSize:"11px",color:"#999",backgroundColor:"#f0f0f0",padding:"2px 6px",borderRadius:"3px",marginLeft:"8px"},children:O})]}),menuItem:b})}b.children&&b.children.length>0&&b.children.forEach(M=>w(M,S+1))};return g.forEach(b=>w(b)),k},[g]),a=l.useMemo(()=>r.trim()?x.filter(k=>{const w=k.menuItem.menuNm.toLowerCase(),b=String(k.menuItem.menuNo||"미지정").toLowerCase(),S=r.toLowerCase();return w.includes(S)||b.includes(S)}):[],[x,r]),T=k=>{if(!k||typeof k!="string"){console.warn("Invalid menu selection value:",k);return}if(!/^[a-zA-Z0-9_-]+$/.test(k)){console.warn("Invalid menu ID format:",k);return}const w=x.find(b=>b.value===k);if(w){const{menuItem:b}=w;if(!b||!b.menuId||!b.menuNm){console.warn("Invalid menu item:",b);return}b.menuGbCd===t.menuGubunCode.program&&b.scrnPath?(console.log("✅ 검색으로 프로그램 메뉴 선택 - 탭 추가 및 setCurrentProgram 호출"),console.log("메뉴명:",b.menuNm,"경로:",b.scrnPath,"scrnId:",b.scrnId),p(b)):(b.menuGbCd===t.menuGubunCode.mainMenu||b.menuGbCd===t.menuGubunCode.subMenu)&&(console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"),console.log("메뉴명:",b.menuNm,"menuGbCd:",b.menuGbCd)),s("")}},B=l.useCallback(k=>{const w=v(k);w?.menuGbCd===t.menuGubunCode.program&&(console.log("메뉴명:",w.menuNm,"경로:",w.scrnPath,"scrnId:",w.scrnId),p(w))},[v,p]),W=l.useCallback(k=>k.map(w=>({key:w.menuId,label:e.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:e.jsx("span",{children:w.menuNm})}),icon:q(w.iconCd,w.menuGbCd),children:w.children&&w.children.length>0?W(w.children):void 0})),[]),q=(k,w)=>{if(k){const b=H[k];if(b)return e.jsx(b,{})}if(w)switch(w){case t.menuGubunCode.mainMenu:return e.jsx(H.HomeOutlined,{});case t.menuGubunCode.subMenu:return null;case t.menuGubunCode.program:return null;default:return null}return null},V=l.useCallback(k=>{if(g.length===0)return[];const w=S=>{if(S)return typeof S=="string"?j[S]:S},b=S=>{if(S.type==="M"){const M=S,O=v(M.menuId)||void 0,E=!!O,de=E?`${O?.menuNm??M.menuNm??M.menuId}`:`${M.menuNm??M.menuId} (삭제됨)`;return{key:M.menuId,label:de,icon:E?void 0:e.jsx(L.WarningOutlined,{style:{color:"#faad14"}})}}else{const M=S,O=(M.children??[]).map(w).filter(Boolean).map(b);return{key:M.bkmkId,label:M.bkmkNm??M.bkmkId,icon:M.prntBkmkId==="-"?e.jsx(L.StarOutlined,{}):e.jsx(L.FolderOpenOutlined,{}),children:O}}};return k.map(b)},[v,j,g]),D=l.useMemo(()=>V(I),[V,I,j]);return l.useEffect(()=>{F.getUserId()&&z(F.getUserId())},[z]),l.useEffect(()=>{o==="category"&&s("")},[o]),l.useEffect(()=>{if(!m||o!=="category")return;const w=(b=>{const S=[],M=new Map(f.map(E=>[E.menuId,E]));let O=b;for(;O;){const E=M.get(O);if(!E)break;if(E.menuPrntId&&E.menuPrntId!=="-"&&E.menuPrntId!=="")S.push(E.menuPrntId),O=E.menuPrntId;else break}return S})(m);w.length>0&&d(b=>{const S=new Set([...b,...w]);return Array.from(S)})},[m,o,f]),e.jsxs(Te,{className:t.className.wrapper,collapsed:t.collapsed||u,trigger:null,width:t.width||230,children:[e.jsx("div",{style:{position:"absolute",top:"9px",right:"-25px",zIndex:"1000",width:"25px",height:"41px",backgroundColor:"#ffffff",border:"1px solid #dddddd",borderRadius:"0 10px 10px 0",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",boxShadow:"2px 2px 2px rgba(0, 0, 0, 0.05)",transition:"all 0.3s ease"},children:e.jsx(i.Button,{type:"text",icon:t.collapsed||u?e.jsx(L.MenuUnfoldOutlined,{}):e.jsx(L.MenuFoldOutlined,{}),style:{fontSize:"12px",color:"#787878",padding:0,width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"0 10px 10px 0"},onClick:C})}),!(t.collapsed||u)&&e.jsx("div",{style:{padding:10},children:e.jsx(i.AutoComplete,{value:r,options:a,onSelect:T,onSearch:s,style:{width:"100%"},allowClear:!0,children:e.jsx(i.Input,{className:t.className.search,placeholder:t.style.search.placeholder,prefix:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:e.jsx("path",{d:"M16.4972 16.6667L13.0355 13.1694M14.8475 8.75C14.8475 5.29822 12.0777 2.5 8.66105 2.5C5.24437 2.5 2.47461 5.29822 2.47461 8.75C2.47461 12.2018 5.24437 15 8.66105 15C12.0777 15 14.8475 12.2018 14.8475 8.75Z",stroke:"#5F5F5F",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),size:"middle",style:{height:t.style.search.height||30}})})}),!(t.collapsed||u)&&e.jsx("div",{style:{width:"100%",padding:"0px 10px",marginBottom:"10px"},children:e.jsx(i.Segmented,{className:t.className.segmented.wrapper,options:[{label:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:t.className.segmented.item,style:{display:"flex",alignItems:"center"},children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[e.jsx("path",{d:"M2.46979 6.90625H13.0298C13.7298 6.90625 14.2965 7.47292 14.2965 8.17292V13.5396H1.20312V8.17292C1.20312 7.47292 1.76979 6.90625 2.46979 6.90625Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M2.76318 4.70626C2.76318 4.00626 3.18318 3.75293 3.69652 3.75293H11.8032C12.3165 3.75293 12.7365 4.00626 12.7365 4.70626",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M4.71631 1.45996H10.783",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}),"카테고리"]}),value:"category"},{label:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:t.className.segmented.item,style:{display:"flex",alignItems:"center"},children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:e.jsx("path",{d:"M7.11329 1.33356C7.32084 0.888813 7.66676 0.888813 7.88296 1.33356L9.258 4.25619C9.46556 4.70094 10.0277 5.12753 10.4947 5.20014L13.5647 5.67212C14.0317 5.74473 14.1441 6.08964 13.7982 6.43455L11.5757 8.70367C11.2384 9.04858 11.0222 9.73839 11.1 10.2285L11.6276 13.4325C11.7054 13.9227 11.4287 14.1405 11.0049 13.9045L8.26348 12.3887C7.83972 12.1527 7.15653 12.1527 6.73277 12.3887L3.99134 13.9045C3.56759 14.1405 3.29085 13.9227 3.36868 13.4325L3.89621 10.2285C3.97405 9.73839 3.76649 9.04858 3.42057 8.70367L1.19802 6.43455C0.86075 6.08964 0.964526 5.74473 1.43152 5.67212L4.50158 5.20014C4.96857 5.12753 5.5307 4.70094 5.73825 4.25619L7.11329 1.33356Z",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"4"})})}),"즐겨찾기"]}),value:"favorite"}],value:o,onChange:k=>{c(k)},style:{width:"100%"},block:!0})}),e.jsxs("div",{className:t.className.sider.content,children:[h&&e.jsxs("div",{className:t.className.sider.loading,style:{padding:10,margin:"0 auto",textAlign:"center",color:"var(--text-primary)"},children:[e.jsx(i.ConfigProvider,{theme:{components:{Spin:{colorPrimary:"var(--primary-color)"}}},children:e.jsx(i.Spin,{size:"default"})}),e.jsx("div",{className:t.className.sider.loadingText,style:{marginTop:10},children:"메뉴 로딩 중..."})]}),P&&e.jsxs("div",{className:t.className.sider.error,children:[e.jsx(L.ExclamationCircleOutlined,{className:t.className.sider.errorIcon}),e.jsx("div",{className:t.className.sider.errorText,children:"메뉴 로드 실패"})]}),!h&&!P&&o==="category"&&g.length===0&&e.jsx("div",{style:{padding:"16px",textAlign:"center",color:"#666",fontSize:"12px"},children:"메뉴가 없습니다"}),!h&&!P&&o==="favorite"&&D.length===0&&e.jsx("div",{style:{padding:"16px",textAlign:"center",color:"#666",fontSize:"12px"},children:"즐겨찾기된 메뉴가 없습니다"}),!h&&!P&&o==="category"&&g.length>0&&e.jsx("div",{className:t.className.sider.menuContainer,children:e.jsx(i.Menu,{theme:"light",mode:"inline",items:W(g),className:t.className.sider.menu,selectedKeys:[m||""],openKeys:y,onOpenChange:d,onClick:k=>B(k.key)})}),!h&&!P&&o==="favorite"&&D.length>0&&e.jsx("div",{className:t.className.sider.menuContainer,children:e.jsx(i.Menu,{theme:"light",mode:"inline",items:D,className:t.className.sider.menu,selectedKeys:[m||""],onClick:k=>B(k.key)})})]})]})};class Be extends l.Component{constructor(t){super(t),this.resetError=()=>{this.setState({hasError:!1,error:void 0,errorInfo:void 0})},this.state={hasError:!1}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("ErrorBound caught an error:",t,r),this.setState({error:t,errorInfo:r})}render(){return this.state.hasError?this.props.fallback?this.props.fallback:e.jsxs("div",{style:{padding:"40px 20px",textAlign:"center",backgroundColor:"#fafafa",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"},children:[e.jsx(i.Result,{status:"error",title:"컴포넌트 로딩 중 오류가 발생했습니다",subTitle:this.state.error?`오류 내용: ${this.state.error.message}`:"알 수 없는 오류가 발생했습니다",extra:[e.jsx(i.Button,{type:"primary",icon:e.jsx(L.ReloadOutlined,{}),onClick:this.resetError,style:{marginRight:8},children:"다시 시도"},"retry")]}),this.state.error&&e.jsxs("details",{style:{marginTop:"20px",textAlign:"left",maxWidth:"600px",backgroundColor:"#fff",padding:"16px",borderRadius:"6px",border:"1px solid #d9d9d9"},children:[e.jsx("summary",{style:{cursor:"pointer",fontWeight:"bold"},children:"오류 상세 정보"}),e.jsx("pre",{style:{marginTop:"8px",fontSize:"12px",color:"#666",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:this.state.error.stack})]})]}):this.props.children}}const Ee=({isActive:n,instance:t,params:r})=>{const{activeMenuId:s,closeTab:o}=N.useMenuViewStore(),c=()=>{s&&o(s)};return t?e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"},children:e.jsx(Be,{children:e.jsx(l.Suspense,{fallback:null,children:t&&l.createElement(t,{params:r})})})}):e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"},children:e.jsx("div",{style:{width:500,maxWidth:"90%",background:"#fff",borderRadius:16,boxShadow:"0 8px 30px rgba(0,0,0,0.05)",padding:24},children:e.jsx(i.Result,{icon:e.jsx(L.ExclamationCircleTwoTone,{twoToneColor:"#69b1ff"}),status:"warning",title:"등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",subTitle:e.jsx(i.Typography.Text,{type:"secondary",children:"자세한 내용은 관리자에게 문의바랍니다."}),extra:e.jsx(i.Space,{children:e.jsx(i.Button,{icon:e.jsx(L.CloseOutlined,{}),onClick:c,children:"탭 닫기"})})})})})},re=l.memo(Ee),se=({menuGubunCode:n={mainMenu:"MAIN",subMenu:"SUB",program:"PRGM"},mode:t="horizontal",style:r,routeMap:s})=>{const{menuList:o,findMenuById:c,flatMenuList:y}=N.useMenuModelStore(),{activeMenuId:d}=N.useMenuViewStore(),m=R.useNavigate(),[u,p]=l.useState([]),C=l.useCallback((v,f)=>{if(v){const j=H[v];if(j)return e.jsx(j,{})}if(f)switch(f){case n.mainMenu:return e.jsx(H.HomeOutlined,{});default:return null}return null},[n]),g=l.useCallback(v=>v.map(f=>{const j=f.children&&f.children.length===1&&f.children[0].menuGbCd===n.program;return{key:f.menuId,label:f.menuNm,icon:C(f.iconCd,f.menuGbCd),children:f.children&&f.children.length>0&&!j?g(f.children):void 0}}),[C,n]),h=l.useMemo(()=>g(o),[o,g]),P=l.useCallback(v=>{const f=c(v.key);if(f){if(f.children&&f.children.length===1&&f.children[0].menuGbCd===n.program){const j=f.children[0];let I=s?.[j.menuId]||j.scrnPath||"/";I==="/"?I="/main":I.startsWith("/main")||(I=I.startsWith("/")?`/main${I}`:`/main/${I}`),m(I);return}if(f.menuGbCd===n.program&&f.scrnPath){let j=s?.[f.menuId]||f.scrnPath||"/";j==="/"?j="/main":j.startsWith("/main")||(j=j.startsWith("/")?`/main${j}`:`/main/${j}`),m(j);return}}},[c,n,m,s]);return l.useEffect(()=>{if(!d||t!=="vertical")return;const f=(j=>{const I=[],z=new Map(y.map(a=>[a.menuId,a]));let x=j;for(;x;){const a=z.get(x);if(!a)break;if(a.menuPrntId&&a.menuPrntId!=="-"&&a.menuPrntId!=="")I.push(a.menuPrntId),x=a.menuPrntId;else break}return I})(d);f.length>0&&p(j=>{const I=new Set([...j,...f]);return Array.from(I)})},[d,t,y]),e.jsx(i.Menu,{mode:t,theme:"light",items:h,selectedKeys:[d||""],openKeys:t==="vertical"?u:void 0,onOpenChange:t==="vertical"?p:void 0,onClick:P,style:r})},oe=()=>e.jsxs(e.Fragment,{children:[e.jsx("link",{rel:"preload",as:"image",href:"/src/styles/assets/images/backgrounds/LandingContainer_bg.png"}),e.jsx("div",{className:"LandingContainer-wrap",children:e.jsx("div",{className:"inner",children:e.jsx("div",{className:"content"})})})]}),Re=(n,t)=>{console.log("createPopupViewLoader 호출 - popupUrl:",n);const s=(o=>{if(o.startsWith("/src/pages/views/popup/")){const d=o+".tsx";return console.log(`팝업 URL 변환: ${o} -> ${d}`),d}const y=`/src/pages/views/popup/${o.startsWith("/")?o.substring(1):o}.tsx`;return console.log(`팝업 URL 변환: ${o} -> ${y}`),y})(n);return!s||!t?.glob||!t.glob[s]?(console.warn(`팝업 뷰를 찾을 수 없습니다: ${n} (${s})`),console.warn("사용 가능한 팝업 뷰들:",Object.keys(t?.glob||{})),null):t.glob[s]},Oe=({popup:n,modules:t})=>{const[r,s]=l.useState(null),[o,c]=l.useState(!1),[y,d]=l.useState(null),m=()=>{console.log("PopupArea - handleClose:",n.popupId),N.usePopupStore.getState().closePopup(n.popupId)};return l.useEffect(()=>{(async()=>{console.log("팝업 뷰 로드 시작:",n.popupUrl),c(!0),d(null);try{const p=Re(n.popupUrl,t);if(!p){const h=`팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;console.error(h),d(h),c(!1);return}console.log("팝업 뷰 모듈 로드 중...");const C=await p();console.log("팝업 뷰 모듈 로드 완료:",C);const g=C.default;if(console.log("팝업 뷰 컴포넌트:",g),!g)throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");s(()=>g),console.log("팝업 뷰 설정 완료")}catch(p){console.error("팝업 뷰 로드 실패:",p),d(p instanceof Error?p.message:"팝업 뷰 로드 실패")}finally{c(!1)}})()},[n.popupUrl]),o?e.jsxs("div",{className:"popup-loading",children:[e.jsx(i.Spin,{size:"large"}),e.jsx("p",{children:"팝업을 로드하는 중..."})]}):y?e.jsxs("div",{className:"popup-error",children:[e.jsx(i.Empty,{description:y,image:i.Empty.PRESENTED_IMAGE_SIMPLE}),e.jsx(i.Button,{icon:e.jsx(L.ReloadOutlined,{}),onClick:()=>window.location.reload(),children:"다시 시도"})]}):r?e.jsx(l.Suspense,{fallback:e.jsxs("div",{className:"popup-loading",children:[e.jsx(i.Spin,{size:"large"}),e.jsx("p",{children:"컴포넌트를 로드하는 중..."})]}),children:e.jsx(r,{popup:{...n,close:m},onClose:m})}):e.jsx("div",{className:"popup-empty",children:e.jsx(i.Empty,{description:"팝업 내용을 불러올 수 없습니다."})})},ae=({modules:n})=>{const{popups:t}=N.usePopupStore();return t.length===0?null:e.jsx(e.Fragment,{children:t.map(r=>{if(r.isLocal||r.popupCode.startsWith("CORE_"))return null;const s=r.config||{},o=s.width||r.width||800,c=s.height||r.height||600,y=s.title||r.popupTitle,d=r.buttonList?.map((m,u)=>({key:m.btnId||`btn_${u}`,text:m.btnNm,type:m.btnId==="CLOSE"?"default":"primary",disabled:m.enblYn!=="Y",danger:!1}))||[];return console.log("팝업 렌더링:",{popupId:r.popupId,popupCode:r.popupCode,title:y,width:o,height:c,buttons:d}),e.jsx(A.SearchBoxProvider,{children:e.jsx("div",{children:e.jsx(Oe,{popup:r,modules:n})},r.popupId)},`sbp-${r.popupId}`)})})},ie=()=>{const{popups:n,closePopup:t}=N.usePopupStore();return e.jsx(e.Fragment,{children:n.map(r=>{if(!(r.isLocal||r.popupCode.startsWith("CORE_")))return null;const s=ee[r.popupCode];if(!s)return null;const o=s.component;return e.jsx(A.SearchBoxProvider,{children:e.jsx(l.Suspense,{fallback:null,children:e.jsx(o,{popup:r,onClose:()=>t(r.popupId)})},r.popupId)},`sbp-${r.popupId}`)})})},ze=n=>({position:"absolute",inset:0,visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"}),De=({once:n=!0})=>{const{lock:t}=A.useLock(),r=l.useRef(!1);return l.useEffect(()=>{n&&r.current||(r.current=!0,t())},[n,t]),null},le=({isActive:n,flagged:t,tabKey:r,onUnlock:s,children:o})=>{const c=l.useRef(null),[y,d]=l.useState(!1),m=l.useCallback(p=>{c.current=p,d(!!p)},[]),u=ze(n);return e.jsx("div",{ref:m,style:u,children:y?e.jsxs(A.ScreenProtectProvider,{idleMs:Number.POSITIVE_INFINITY,persistLocked:!1,overlayScope:"scoped",overlayPosition:"absolute",eventTarget:c.current,overlayId:`tab-overlay-${r}`,onUnlock:async()=>(s(),!0),children:[n&&t?e.jsx(De,{once:!0}):null,o]}):o})},Fe=({config:n={},modules:t={view:{path:"/src/pages/views/content"},popup:{path:"/src/pages/views/popups"}}})=>{const r=l.useRef(new Map),{tabs:s,tabParams:o,activeMenuId:c,tabProtectFlag:y,clearProtectFlagForKey:d}=N.useMenuViewStore(),m=l.useCallback(u=>{const p=r.current.get(u.key);if(p)return p;const C=u.gubun==="M"?`${t.view.path}${u.menuItem?.scrnPath}.tsx`:`${t.view.path}${u.componentItem?.scrnPath}.tsx`;let g=t.view?.glob?.[C];if(!g&&typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:U&&U.tagName.toUpperCase()==="SCRIPT"&&U.src||new URL("chunks/layout-components-pfHVy2at.cjs",document.baseURI).href}<"u",g){const h=l.lazy(g);return r.current.set(u.key,h),h}return null},[t.view?.glob]);return e.jsxs(i.Layout,{className:"main-layout",children:[e.jsx(Q,{config:n?.header}),e.jsxs(i.Layout,{children:[e.jsx(ne,{config:n?.sidebar}),e.jsxs("div",{className:"content-container",children:[e.jsx(te,{config:n?.menuTab}),e.jsxs(X,{config:n?.content,children:[e.jsx("div",{className:"view-container",children:e.jsxs("div",{style:{position:"relative",width:"100%",height:"100%"},children:[s.map(u=>{const p=m(u),C=c===u.key,g=!!y?.[u.key],h=o[u.key]||{};return e.jsx(A.SearchBoxProvider,{children:e.jsx(le,{isActive:C,flagged:g,tabKey:u.key,onUnlock:()=>d(u.key),children:e.jsx(re,{isActive:C,instance:p||void 0,params:h},u.key)},u.key)},`sbp-${u.key}`)}),(!c||s.length===0)&&e.jsx(oe,{})]})}),e.jsx(ie,{}),e.jsx(ae,{modules:t?.popup})]})]})]}),(n?.quickService?.visible??!0)&&e.jsx(Y.QuickServiceToggle,{})]})},ce=({children:n,menuGubunCode:t={mainMenu:"CMPRGRM",subMenu:"CMPRGRS",program:"CMPRGRP"},routeMap:r,routes:s})=>{const o=R.useLocation(),c=R.useNavigate(),{flatMenuList:y,findMenuById:d}=N.useMenuModelStore(),m=l.useMemo(()=>{const p=o.pathname,C=p.replace(/^\/main/,"")||"/";if(r){const g=Object.keys(r).find(P=>r[P]===p);if(g)return d(g);const h=Object.keys(r).find(P=>(r[P].replace(/^\/main/,"")||"/")===C);if(h)return d(h)}return y.find(g=>g.menuGbCd===t.program&&g.scrnPath&&(g.scrnPath===C||g.scrnPath===p||p.endsWith(g.scrnPath)||C===g.scrnPath))},[o.pathname,y,t.program,r,d]),u=l.useMemo(()=>{if(!m)return[];const p=[],C=h=>{if(!h||!h.menuPrntId||h.menuPrntId==="-")return[];const P=d(h.menuPrntId);return P?[...C(P),P]:[]};return C(m).forEach(h=>{if(h.menuGbCd===t.mainMenu||h.menuGbCd===t.subMenu){let P;if(r&&h.menuId&&(P=r[h.menuId]),!P&&s&&h.scrnPath){const v=h.scrnPath.startsWith("/")?h.scrnPath:`/${h.scrnPath}`,f=Object.keys(s).find(j=>j===v||j===`/main${v}`);f&&(P=f.startsWith("/main")?f:`/main${f.startsWith("/")?f:`/${f}`}`)}p.push({title:h.menuNm,onClick:P?()=>c(P):void 0})}}),p.push({title:m.menuNm}),p},[m,t,c,d]);return e.jsxs("div",{style:{height:"100%",padding:"15px 20px"},children:[e.jsx(i.Breadcrumb,{separator:">",items:u,style:{marginBottom:"16px"}}),e.jsx("div",{children:n})]})},$e=({config:n={}})=>{const t=n?.header?.menu,r=t?.visible!==!1,s=t?.routes,o=l.useMemo(()=>{if(!s)return;const c={},{flatMenuList:y}=N.useMenuModelStore.getState();return y.forEach(d=>{if(d.menuGbCd===t?.menuGubunCode?.program&&d.scrnPath){const m=d.scrnPath.startsWith("/")?d.scrnPath:`/${d.scrnPath}`,u=Object.keys(s).find(p=>{const C=p==="/"?"/":p.startsWith("/")?p:`/${p}`;return C===m||C===`/main${m}`||m===C.replace(/^\/main/,"")});if(u){const p=u==="/"?"/main":u.startsWith("/main")?u:`/main${u.startsWith("/")?u:`/${u}`}`;c[d.menuId]=p}}}),c},[s,t?.menuGubunCode?.program]);return e.jsxs(i.Layout,{className:"main-layout",children:[e.jsx(Q,{config:n?.header,children:r&&e.jsx(se,{menuGubunCode:t?.menuGubunCode,mode:t?.style?.mode||"horizontal",routeMap:o,style:{border:"none",backgroundColor:"transparent",minWidth:0,flex:1,...t?.style}})}),e.jsx("div",{className:"content-container",children:e.jsxs(X,{config:n?.content,children:[e.jsx("div",{className:"view-container",children:e.jsx("div",{style:{position:"relative",width:"100%",height:"100%"},children:e.jsx(l.Suspense,{fallback:e.jsx("div",{children:"Loading..."}),children:e.jsx(R.Routes,{children:Object.entries(s||{}).map(([c,y])=>{const d=c==="/"?"":c.replace(/^\/main/,"").replace(/^\//,"")||"";return e.jsx(R.Route,{path:d,element:e.jsx(ce,{menuGubunCode:t?.menuGubunCode,routeMap:o,routes:s,children:e.jsx(y,{})})},c)})})})})}),e.jsx(ie,{})]})})]})};function Ae({config:n,ui:t,navigate:r}){const{loading:s,capsOn:o,prefills:c,onKeyDown:y,doLogin:d}=N.useLogin(n),m=u=>d(u,r);return l.useEffect(()=>{N.useSystemStore.getState().fetchSystemMap()},[]),e.jsx(e.Fragment,{children:t({onSubmit:m,loading:s,capsOn:o,onKeyDown:y,prefills:c})})}function We({onSubmit:n,loading:t,capsOn:r,onKeyDown:s,prefills:o,labels:c={id:"ID 혹은 사번",pw:"비밀번호",remember:"Remember me",login:"로그인"},header:y,footer:d}){const[m]=i.Form.useForm();return l.useEffect(()=>{o&&(o.id||o.pswr)&&m.setFieldsValue({id:o.id,pswr:o.pswr})},[o,m]),e.jsx("div",{className:"login-main",children:e.jsxs("div",{className:"login_wrap",children:[y||e.jsx("div",{className:"logo_box"}),e.jsx("div",{className:"login_title"}),e.jsx(i.Form,{form:m,onFinish:n,className:"login-form",children:e.jsxs(i.Flex,{vertical:!0,children:[e.jsx(i.Form.Item,{name:"id",rules:[{required:!0,message:"아이디를 입력해주세요."},{whitespace:!0,message:"아이디는 공백이 들어갈 수 없습니다."}],children:e.jsx(i.Input,{allowClear:!0,placeholder:c.id,onKeyDown:s})}),e.jsx(i.Form.Item,{name:"pswr",rules:[{required:!0,message:"비밀번호를 입력하세요."}],children:e.jsx(i.Input.Password,{allowClear:!0,placeholder:c.pw,onKeyDown:s})}),e.jsx(i.Form.Item,{name:"remember",valuePropName:"checked",children:e.jsx(i.Checkbox,{children:c.remember})}),e.jsx("div",{className:r?"caps-lock caps-lock-on":"caps-lock",children:r?"Caps Lock On":"Caps Lock Off"}),e.jsx(i.Form.Item,{children:e.jsx(i.Button,{type:"primary",htmlType:"submit",loading:t,block:!0,children:c.login})})]})}),d]})})}exports.AppWrapper=we;exports.BwgCoreLogin=Ae;exports.BwgPortal01=Fe;exports.BwgPortal02=$e;exports.ConfigurableContent=X;exports.ConfigurableHeader=Q;exports.ConfigurableMenuTab=te;exports.ConfigurableSidebar=ne;exports.ContentContainer=re;exports.ContentWrapper=ce;exports.DefaultLoginView=We;exports.HeaderContainer=se;exports.LandingContainer=oe;exports.LoadingContainer=je;exports.PopupContainer=ae;exports.ProtectWrapper=le;exports.localPopupRegistry=ee;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BwgMaskedPicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/BwgMaskedPicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AACxD,OAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAkBjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAE3C,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAoR7C,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/FileUtils.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,OAAM,MAAqB,KAAG,IAU1F,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAqCrE"}
|