@bwg-ui/core 1.3.6 → 1.3.7
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-Cs78BtE7.cjs → CMSearchIntfGwP01-0t3umcc_.cjs} +1 -1
- package/dist/chunks/{CMSearchIntfGwP01-BBdPmalj.js → CMSearchIntfGwP01-DCHZJn2H.js} +1 -1
- package/dist/chunks/{MenuReport-BCO-gXwk.cjs → MenuReport-C70mGz2g.cjs} +1 -1
- package/dist/chunks/{MenuReport-CYK_Eaqa.js → MenuReport-IBdoU2S3.js} +2 -2
- package/dist/chunks/{common-components-mXgJEMpT.cjs → common-components-DNgQR-Ge.cjs} +7 -7
- package/dist/chunks/{common-components-C61ER0qC.js → common-components-DeYL3J6X.js} +6448 -6443
- package/dist/chunks/layout-components-Bf9IsLUS.cjs +38 -0
- package/dist/chunks/{layout-components-gqu1pmfr.js → layout-components-DnuV2Psp.js} +626 -602
- package/dist/chunks/provider-Bi5OYngn.cjs +1 -0
- package/dist/chunks/{provider-Kxea5IoZ.js → provider-Bx4VpaFf.js} +90 -74
- package/dist/components/common/BwgGrid.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +1 -1
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.js +2 -2
- package/dist/components/layout/AppWrapper.d.ts +5 -1
- package/dist/components/layout/AppWrapper.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/rsrc/CMPopuMstrM01.d.ts.map +1 -1
- package/dist/components/popup/index.cjs +1 -1
- package/dist/components/popup/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +273 -271
- package/dist/provider/contexts/PageContentContext.d.ts +23 -0
- package/dist/provider/contexts/PageContentContext.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/index.cjs +1 -1
- package/dist/provider/index.js +21 -19
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.js +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts +16 -22
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1260 -1230
- package/dist/utils/messageUtils.d.ts +36 -48
- package/dist/utils/messageUtils.d.ts.map +1 -1
- package/dist/utils/modalUtils.d.ts +68 -0
- package/dist/utils/modalUtils.d.ts.map +1 -0
- package/dist/utils/notificationUtils.d.ts +50 -41
- package/dist/utils/notificationUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/layout-components-D7I6VhXN.cjs +0 -38
- package/dist/chunks/provider-r4mkv5Zs.cjs +0 -1
package/dist/provider/index.js
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { A as o, B as
|
|
1
|
+
import { A as o, B as a, C as r, P as u, o as i, S as d, p as C, r as t, f as v, b as P, j as c, h as n, k as S, i as g, g as m, l as p, n as B, s as h, m as l, e as L, c as w, q as A, u as f } from "../chunks/provider-Bx4VpaFf.js";
|
|
2
2
|
export {
|
|
3
3
|
o as AuthProvider,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
u as
|
|
7
|
-
i as
|
|
8
|
-
d as
|
|
9
|
-
C as
|
|
10
|
-
|
|
11
|
-
v as
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
a as BwgViewProvider,
|
|
5
|
+
r as CommonCodeProvider,
|
|
6
|
+
u as PageContentProvider,
|
|
7
|
+
i as ScreenProtectProvider,
|
|
8
|
+
d as SearchBoxProvider,
|
|
9
|
+
C as ServiceCodeProvider,
|
|
10
|
+
t as useAllServiceCodes,
|
|
11
|
+
v as useAuth,
|
|
12
|
+
P as useBwgView,
|
|
13
|
+
c as useCodeColor,
|
|
14
|
+
n as useCodeList,
|
|
15
|
+
S as useCodeListByOption,
|
|
16
|
+
g as useCodeName,
|
|
17
|
+
m as useCommonCode,
|
|
17
18
|
p as useGridLookup,
|
|
18
19
|
B as useLock,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
h as useLogServiceCodeConfig,
|
|
21
|
+
l as usePageContent,
|
|
22
|
+
L as usePopup,
|
|
23
|
+
w as useSearchBox,
|
|
24
|
+
A as useServiceCode,
|
|
25
|
+
f as useServiceCodeValue
|
|
24
26
|
};
|
package/dist/stores/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),I=require("../utils/index.cjs"),L=require("antd"),V=require("../chunks/layout-components-D7I6VhXN.cjs"),k=require("react"),Q=require("axios");function ee(r,n){let e;try{e=r()}catch{return}return{getItem:o=>{var t;const a=d=>d===null?null:JSON.parse(d,void 0),c=(t=e.getItem(o))!=null?t:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const G=r=>n=>{try{const e=r(n);return e instanceof Promise?e:{then(s){return G(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return G(s)(e)}}}},te=(r,n)=>(e,s,o)=>{let t={storage:ee(()=>localStorage),partialize:C=>C,version:0,merge:(C,N)=>({...N,...C}),...n},a=!1;const c=new Set,d=new Set;let i=t.storage;if(!i)return r((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${t.name}', the given storage is currently unavailable.`),e(...C)},s,o);const l=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},h=o.setState;o.setState=(C,N)=>(h(C,N),l());const m=r((...C)=>(e(...C),l()),s,o);o.getInitialState=()=>m;let u;const f=()=>{var C,N;if(!i)return;a=!1,c.forEach(g=>{var M;return g((M=s())!=null?M:m)});const S=((N=t.onRehydrateStorage)==null?void 0:N.call(t,(C=s())!=null?C:m))||void 0;return G(i.getItem.bind(i))(t.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==t.version){if(t.migrate){const M=t.migrate(g.state,g.version);return M instanceof Promise?M.then(A=>[!0,A]):[!0,M]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,g.state];return[!1,void 0]}).then(g=>{var M;const[A,Z]=g;if(u=t.merge(Z,(M=s())!=null?M:m),e(u,!0),A)return l()}).then(()=>{S?.(u,void 0),u=s(),a=!0,d.forEach(g=>g(u))}).catch(g=>{S?.(void 0,g)})};return o.persist={setOptions:C=>{t={...t,...C},C.storage&&(i=C.storage)},clearStorage:()=>{i?.removeItem(t.name)},getOptions:()=>t,rehydrate:()=>f(),hasHydrated:()=>a,onHydrate:C=>(c.add(C),()=>{c.delete(C)}),onFinishHydration:C=>(d.add(C),()=>{d.delete(C)})},t.skipHydration||f(),u||m},v=te,P=b.create()(v((r,n)=>({user:null,hrInfo:null,buttonAuths:{},componentSize:1,gridSize:2,spacingSize:2,enableProtectWrapper:!0,gridLayouts:{},theme:"modern",isLoggedIn:()=>!!n().user,setLoginUser:(e,s)=>{r({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{r({user:null,hrInfo:null,buttonAuths:{}}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=n().user,t=n().hrInfo;o&&r({user:{...o,...e}}),t&&r({hrInfo:{...t,...s}})},setComponentSize:e=>{r({componentSize:e}),console.log("컴포넌트 사이즈 변경:",e)},setGridSize:e=>{r({gridSize:e}),console.log("그리드 사이즈 변경:",e)},setSpacingSize:e=>{r({spacingSize:e}),console.log("여백 사이즈 변경:",e)},setEnableProtectWrapper:e=>{r({enableProtectWrapper:e})},setTheme:e=>{r({theme:e}),console.log("테마 변경:",e)},getButtonAuth:(e,s)=>{const o=`${e}_${s}`;return n().buttonAuths[o]||null},setButtonAuth:(e,s,o)=>{const t=`${e}_${s}`;r(a=>({buttonAuths:{...a.buttonAuths,[t]:o}}))},clearButtonAuths:()=>{r({buttonAuths:{}})},getGridLayouts:e=>n().gridLayouts[e]||[],getGridLayout:(e,s,o)=>n().getGridLayouts(e).find(c=>c.menuId===s&&c.gridId===o)||null,saveGridLayout:(e,s,o,t)=>{const a={...n().gridLayouts};a[e]||(a[e]=[]);const c=a[e].findIndex(i=>i.menuId===s&&i.gridId===o),d={menuId:s,gridId:o,layout:t};c>=0?a[e][c]=d:a[e].push(d),r({gridLayouts:a}),console.log(`[UserStore] 그리드 레이아웃 저장 완료: ${e}/${s}/${o}`)},removeGridLayout:(e,s,o)=>{const t={...n().gridLayouts};t[e]&&(t[e]=t[e].filter(a=>!(a.menuId===s&&a.gridId===o)),r({gridLayouts:t}),console.log(`[UserStore] 그리드 레이아웃 삭제 완료: ${e}/${s}/${o}`))},clearGridLayouts:e=>{const s={...n().gridLayouts};delete s[e],r({gridLayouts:s}),console.log(`[UserStore] ${e}의 모든 그리드 레이아웃 삭제 완료`)},clearAllGridLayouts:()=>{r({gridLayouts:{}}),console.log("[UserStore] 전체 그리드 레이아웃 삭제 완료")}}),{name:"user-storage",partialize:r=>({user:r.user,hrInfo:r.hrInfo,componentSize:r.componentSize,gridSize:r.gridSize,spacingSize:r.spacingSize,enableProtectWrapper:r.enableProtectWrapper,gridLayouts:r.gridLayouts,theme:r.theme})})),E={CACHE_SIZE_LIMIT:1e3},p={codeCache:new Map,nameCache:new Map,optionCache:new Map,colorCache:new Map,loadedGroups:new Set,cacheHits:new Map,clearCache(){this.codeCache.clear(),this.nameCache.clear(),this.optionCache.clear(),this.colorCache.clear(),this.loadedGroups.clear(),this.cacheHits.clear()},cleanupCache(){const r=Array.from(this.cacheHits.entries());r.sort((e,s)=>e[1]-s[1]),r.slice(0,Math.floor(r.length*.3)).forEach(([e])=>{this.codeCache.delete(e),this.nameCache.delete(e),this.optionCache.delete(e),this.colorCache.delete(e),this.cacheHits.delete(e)})},isGroupLoaded(r){return this.loadedGroups.has(r)},markGroupLoaded(r){this.loadedGroups.add(r)}},O=r=>{console.log("대규모 데이터 변환 시작:",r);const n={};if(r&&r.code&&Array.isArray(r.code)){const e=r.code,s=r.opt||[],o=new Map;s.forEach(t=>{t.cmmnCd&&t.enblYn==="Y"&&(o.has(t.cmmnCd)||o.set(t.cmmnCd,[]),o.get(t.cmmnCd).push(t))}),e.forEach(t=>{if(t&&t.cmmnCdGrp&&t.cmmnCd&&t.enblYn==="Y"){const a=t.cmmnCdGrp;n[a]||(n[a]={});const d=(o.get(t.cmmnCd)||[]).reduce((i,l)=>(l.optnCd&&l.optnNm&&(i[l.optnCd]=l.optnNm),i),{});n[a][t.cmmnCd]={codeValue:t.cmmnCd,codeNm:t.cmmnCdNm,groupCode:t.cmmnCdGrp,commonCode:t.cmmnCd,labelColor:t.cmmnCdClr,systemCodeYn:t.syscdYn,sortOrder:parseInt(t.sortOrd)||1,enabled:t.enblYn==="Y",options:Object.keys(d).length>0?d:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",n),n},y=b.create()(v((r,n)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchSystemCodes:async()=>{r({isLoading:!0,error:null});try{console.log("시스템 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await I.callService(I.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("시스템 공통코드 응답:",e),console.log("시스템 공통코드목록:",e.code),console.log("시스템 공통코드옵션목록:",e.opt);const s=O(e),t={...n().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),r({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("시스템 공통코드 데이터 가져오기 완료")}catch(e){console.error("시스템 공통코드 데이터 가져오기 실패:",e),r({isLoading:!1,error:e instanceof Error?e.message:"시스템 공통코드 데이터 가져오기 실패"})}},fetchBusinessCodes:async()=>{r({isLoading:!0,error:null});try{console.log("업무 공통코드 데이터 가져오기 시작: SCMSIGN00302");const e=await I.callService("SCMSIGN00302",{sysCd:__SYS_CD__});console.log("업무 공통코드 응답:",e),console.log("업무 공통코드목록:",e.code),console.log("업무 공통코드옵션목록:",e.opt);const s=O(e),t={...n().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),r({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("업무 공통코드 데이터 가져오기 완료")}catch(e){console.error("업무 공통코드 데이터 가져오기 실패:",e),r({isLoading:!1,error:e instanceof Error?e.message:"업무 공통코드 데이터 가져오기 실패"})}},fetchData:async()=>{r({isLoading:!0,error:null});try{console.log("전체 공통코드 데이터 가져오기 시작 (시스템 + 업무)");const[e,s]=await Promise.all([I.callService(I.getServiceCode("SRCH_CODE"),{crprCd:"100"}),I.callService("SCMSIGN00302",{sysCd:__SYS_CD__})]);console.log("시스템 공통코드 응답:",e),console.log("업무 공통코드 응답:",s);const o=O(e),t=O(s),a={...o,...t};p.clearCache();const c=new Set(Object.keys(a));c.forEach(d=>{p.markGroupLoaded(d)}),r({codeData:a,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:c}),console.log("전체 공통코드 데이터 가져오기 완료")}catch(e){console.error("전체 공통코드 데이터 가져오기 실패:",e),r({isLoading:!1,error:e instanceof Error?e.message:"전체 공통코드 데이터 가져오기 실패"})}},loadSpecificGroup:async e=>{const{codeData:s,loadedGroups:o}=n();if(!s||o.has(e))return;const t=new Set(o).add(e);r({loadedGroups:t}),p.markGroupLoaded(e)},setData:e=>{p.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{p.markGroupLoaded(o)}),r({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{p.clearCache(),r({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set})},getLoadedGroups:()=>Array.from(n().loadedGroups)}),{name:"large-data-storage",partialize:r=>({codeData:r.codeData,lastUpdated:r.lastUpdated,loadedGroups:Array.from(r.loadedGroups)})})),D=b.create()(v((r,n)=>({get codeData(){return y.getState().codeData},get isLoading(){return y.getState().isLoading},get error(){return y.getState().error},get lastUpdated(){return y.getState().lastUpdated},fetchCommonCodes:async()=>{await y.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:c=!1}=s||{},d=`simpleCodeList_${e}_${o}_${t}_${a}_${c}`;if(p.optionCache.has(d)){const f=p.cacheHits.get(d)||0;return p.cacheHits.set(d,f+1),p.optionCache.get(d)}const i=y.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],h=i[e];h&&Object.values(h).forEach(f=>{if(!(o&&!f.enabled)&&!(t&&f.systemCodeYn!=="Y"))if(c){const C=e.length,N=f.codeValue.substring(C);N.length>0&&l.push({...f,codeValue:N})}else l.push(f)});let m;a?m=l.sort((f,C)=>f.sortOrder!==C.sortOrder?f.sortOrder-C.sortOrder:f.codeValue.localeCompare(C.codeValue)):m=l.sort((f,C)=>f.codeValue.localeCompare(C.codeValue));const u=m.map(f=>({label:f.codeNm,value:f.codeValue,tagColor:f.labelColor}));return p.optionCache.size>=E.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.optionCache.set(d,u),p.cacheHits.set(d,1),u},getCodeName:e=>{if(p.nameCache.has(e)){const o=p.cacheHits.get(`name_${e}`)||0;return p.cacheHits.set(`name_${e}`,o+1),p.nameCache.get(e)}const s=y.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.nameCache.set(e,t.codeNm),p.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=y.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(p.optionCache.has(s)){const i=p.cacheHits.get(s)||0;return p.cacheHits.set(s,i+1),p.optionCache.get(s)}const o=y.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],c=[];Object.values(t).filter(i=>i.enabled).sort((i,l)=>i.sortOrder-l.sortOrder).forEach(i=>{a.push(i.codeNm),c.push(i.codeValue)});const d={labels:a,values:c,lookupDisplay:!0};return p.optionCache.set(s,d),p.cacheHits.set(s,1),d},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(p.codeCache.has(t)){const l=p.cacheHits.get(t)||0;return p.cacheHits.set(t,l+1),p.codeCache.get(t)}const a=y.getState().codeData;if(!a)return[];const c=[],d=a[e];d&&Object.values(d).forEach(l=>{l.enabled&&l.options&&l.options[s]===o&&c.push({...l,codeNm:l.options[s]||l.codeNm})});const i=c.sort((l,h)=>l.codeValue.localeCompare(h.codeValue));return p.codeCache.size>=E.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(t,i),p.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:c=!1}=o||{},d=`codeListByOption_${e}_${s}_${t}_${a}_${c}`;if(p.codeCache.has(d)){const u=p.cacheHits.get(d)||0;return p.cacheHits.set(d,u+1),p.codeCache.get(d)}const i=y.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],h=i[e];h&&Object.values(h).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&l.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return c?m=l.sort((u,f)=>u.value.localeCompare(f.value)):m=l.sort((u,f)=>u.value.localeCompare(f.value)),p.codeCache.size>=E.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(d,m),p.cacheHits.set(d,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(p.nameCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),JSON.parse(p.nameCache.get(e))}const s=y.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return p.nameCache.set(e,JSON.stringify(o)),p.cacheHits.set(e,1),o},clearCodes:()=>{y.getState().clearData()}}),{name:"code-storage",partialize:r=>({})})),oe=b.create()(v((r,n)=>({get codeData(){return y.getState().codeData},get isLoading(){return y.getState().isLoading},get error(){return y.getState().error},get lastUpdated(){return y.getState().lastUpdated},fetchCommonCodes:async()=>{await y.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(p.optionCache.has(o)){const c=p.cacheHits.get(o)||0;return p.cacheHits.set(o,c+1),p.optionCache.get(o)}const t=y.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const c=a[s].options;return p.optionCache.set(o,c),p.cacheHits.set(o,1),c}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(p.optionCache.has(t)){const d=p.cacheHits.get(t)||0;return p.cacheHits.set(t,d+1),p.optionCache.get(t)}const a=n().getOptionValue(e,s),c=a?a[o]:null;return p.optionCache.set(t,c),p.cacheHits.set(t,1),c},clearCodes:()=>{y.getState().clearData()}}),{name:"option-storage",partialize:r=>({})})),se=b.create()(v((r,n)=>({get codeData(){return y.getState().codeData},get isLoading(){return y.getState().isLoading},get error(){return y.getState().error},get lastUpdated(){return y.getState().lastUpdated},fetchCommonCodes:async()=>{await y.getState().fetchData()},getColorCode:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=y.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(p.optionCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),p.optionCache.get(e)}const s=y.getState().codeData;if(!s)return[];const o=[];return Object.values(s).forEach(t=>{Object.values(t).forEach(a=>{a.labelColor&&o.push({code:a.codeValue,color:a.labelColor})})}),p.optionCache.set(e,o),p.cacheHits.set(e,1),o},clearCodes:()=>{y.getState().clearData()}}),{name:"color-storage",partialize:r=>({})})),re=(r,n)=>({nodes:{},rootIds:[],loadedFor:void 0,loading:!1,error:void 0,treeNodes:[],isMenuBookmarked:e=>Object.values(n().nodes).some(s=>s.type==="M"&&s.menuId===e),getPrntBkmkIdByMenuId:e=>{const s=F(n().nodes,e);return s?n().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=F(n().nodes,e);if(!s)return null;const o=n().nodes[s];return o?.type==="M"?o:null},getFolderTree:e=>{const{nodes:s,rootIds:o}=n(),t=c=>e?c.toLowerCase().includes(e.toLowerCase()):!0,a=c=>{const d=s[c];if(!d||d.type!=="F")return null;const i=d,l=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||l.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:l.length?l:void 0}:null};return o.map(c=>a(c)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=n();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){r({loading:!0,error:void 0});try{const t=await I.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],c=ne(a),d=w(c.nodes,c.rootIds);r({...c,treeNodes:d,loadedFor:e,loading:!1})}catch(t){throw r({loading:!1,error:t?.message||"즐겨찾기 로드 실패"}),t}}},loadFavoritesIfNeeded:async e=>{const s=n();(s.loadedFor!==e||Object.keys(s.nodes).length===0)&&await n().loadFavorites(e)},clearFavorites:()=>{r({nodes:{},rootIds:[],treeNodes:[],loadedFor:void 0,loading:!1,error:void 0}),console.log("📚 북마크 스토어 초기화 완료")},addNode:async e=>{const s=K(n()),o=ae();r(t=>{const a=e.sortOrdr??x(t,e.prntBkmkId),c={...t,nodes:{...t.nodes,[o]:e.type==="F"?{bkmkId:o,type:"F",prntBkmkId:e.prntBkmkId||"-",sortOrdr:a,bkmkNm:e.bkmkNm??"새 폴더",children:[],sysCd:e.sysCd,userId:e.userId}:{bkmkId:o,type:"M",prntBkmkId:e.prntBkmkId,sortOrdr:a,menuId:e.menuId??"",menuNm:e.menuNm,sysCd:e.sysCd,userId:e.userId}},rootIds:t.rootIds.slice(),treeNodes:t.treeNodes};return ce(c,o,e.prntBkmkId),c.treeNodes=w(c.nodes,c.rootIds),c});try{let t=o;const a=x(n(),e.prntBkmkId),c=await I.callService("SCMBKMK00102",{iudFlag:"I",type:e.type,sysCd:e.sysCd,userId:e.userId,bkmkId:o,bkmkNm:e.bkmkNm,prntBkmkId:e.prntBkmkId,menuId:e.menuId,sortOrdr:a,chngId:I.getUserId()});return t=String(c?.bkmkId??c?.itemId??o),r(d=>{const i=le(d,o,t);return{...i,treeNodes:w(i.nodes,i.rootIds)}}),t}catch(t){throw r(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=n(),c=structuredClone(a.nodes),d=[...a.rootIds],i=c[e];if(!i)return;if(s!=="-"){const u=c[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const l=i.prntBkmkId??"-",h=l==="-"?d:c[l].children||=[];{const u=h.indexOf(e);u>=0&&h.splice(u,1)}const m=s==="-"?d:c[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,r({nodes:c,rootIds:d}),j(c,d,s),j(c,d,l);try{await I.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw r(a),u}},removeNode:async e=>{const s=K(n());r(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return X(t,e),t.treeNodes=w(t.nodes,t.rootIds),t});try{await I.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw r(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const c=K(n());r(d=>{const i={...d,nodes:{...d.nodes}},l=i.nodes[e];return l?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...l,bkmkNm:o}),i});try{await I.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:I.getUserId()})}catch(d){throw r(c),d}},addFolder:async(e,s,o,t)=>await n().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>F(n().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await n().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:I.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=n(),t=Object.values(o.nodes).find(c=>c.type==="M"&&c.menuId===s.menuId);if(t){await n().removeNode(t.bkmkId);return}let a=z(o);a||(await n().loadFavorites(e,!0),a=z(n())),a&&await n().addNode({type:"M",prntBkmkId:a,sysCd:"KH",userId:I.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=n(),o=F(s.nodes,e);o&&await n().removeNode(o)},removeMenu:async e=>{await n().removeNode(e)},removeFolder:async e=>{await n().removeNode(e)},editFolder:async(e,s,o,t,a)=>{await n().editNode({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})},convertToAntTreeData:(e,s,o,t=!1)=>{const a=d=>o?d.toLowerCase().includes(o.toLowerCase()):!0,c=d=>{const i=e[d];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const l=i,h=(l.children||[]).map(u=>c(u)).filter(Boolean);return a(l.bkmkNm)||h.length>0?{key:l.bkmkId,type:"F",title:`📁 ${l.bkmkNm}`,bkmkNm:l.bkmkNm,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,children:h.length?h:void 0}:null}else{const l=i,h=l.menuNm?`${l.menuNm} (${l.menuId})`:l.menuId;return a(h)?{key:l.bkmkId,type:"M",title:`📄 ${h}`,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,isLeaf:!0}:null}};return s.map(c).filter(Boolean)}}),R=b.create(re);function ne(r){const n={},e=[],s=o=>{o.forEach(t=>{const a={type:t.type,bkmkId:t.bkmkId??t.BKMK_ID??t.id,prntBkmkId:t.prntBkmkId??t.PRNT_BKMK_ID??"-",sortOrdr:Number(t.sortOrdr??t.SORT_ORDR??0),sysCd:t.sysCd??t.SYS_CD,userId:t.userId??t.USER_ID,fullPath:t.fullPath??t.FULL_PATH};if(t.type==="F"){n[a.bkmkId]={...a,bkmkNm:t.bkmkNm??t.BKMK_NM??t.name??a.bkmkId,children:[]};const c=Array.isArray(t.children)?t.children:[];s(c)}else n[a.bkmkId]={...a,menuId:t.menuId??t.MENU_ID??"",menuNm:t.menuNm??t.MENU_NM}})};return s(r),Object.values(n).forEach(o=>{if(o.prntBkmkId&&o.prntBkmkId!=="-"){const t=n[o.prntBkmkId];t?.type==="F"&&t.children.push(o.bkmkId)}else o.type==="F"&&e.push(o.bkmkId)}),e.sort((o,t)=>(n[o].sortOrdr??0)-(n[t].sortOrdr??0)),Object.values(n).forEach(o=>{o.type==="F"&&o.children.sort((a,c)=>(n[a].sortOrdr??0)-(n[c].sortOrdr??0))}),{nodes:n,rootIds:e}}function K(r){return{...r,nodes:JSON.parse(JSON.stringify(r.nodes)),rootIds:r.rootIds.slice()}}function ae(){return`tmp_${I.generateUID()}`}function x(r,n){if(!n||n==="-")return r.rootIds.length;const e=r.nodes[n];return e?e.children.length:0}function ce(r,n,e){const s=r.nodes[n];if(s)if(e&&e!=="-"){const o=r.nodes[e];if(!o||o.type!=="F")return;s.prntBkmkId=e,o.children=[...o.children,n]}else s.prntBkmkId="-",r.rootIds=[...r.rootIds,n]}function de(r,n){const e=r.nodes[n];if(!e)return;const s=e.prntBkmkId;if(s&&s!=="-"){const o=r.nodes[s];o?.type==="F"&&(o.children=o.children.filter(t=>t!==n))}else r.rootIds=r.rootIds.filter(o=>o!==n)}function X(r,n){const e=r.nodes[n];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>X(r,a)),de(r,n);const{[n]:s,...o}=r.nodes;r.nodes=o}function le(r,n,e){if(n===e)return r;const s=r.nodes[n];if(!s)return r;const o=JSON.parse(JSON.stringify(s));o.bkmkId=e;const t={...r.nodes,[e]:o};delete t[n];let a=r.rootIds;if(o.prntBkmkId&&o.prntBkmkId!=="-"){const c=t[o.prntBkmkId];c?.type==="F"&&(t[o.prntBkmkId]={...c,children:c.children.map(d=>d===n?e:d)})}else a=r.rootIds.map(c=>c===n?e:c);return{...r,nodes:t,rootIds:a}}function z(r){return r.rootIds.find(n=>r.nodes[n]?.type==="F")??null}function w(r,n){const e={};Object.values(r).forEach(d=>{const i=d.bkmkId,l=d.prntBkmkId;!i||!l||l==="-"||l===i||(e[l]??=[]).push(i)});const s=new Set,o=d=>{if(s.has(d))return null;const i=r[d];if(!i)return null;s.add(d);try{if(i.type==="F"){const h=i,m=e[d]??[];return{type:"F",bkmkId:d,bkmkNm:h.bkmkNm,prntBkmkId:h.prntBkmkId,children:m.map(o).filter(Boolean)}}const l=i;return{type:"M",bkmkId:d,bkmkNm:l.menuNm,menuId:l.menuId,menuNm:l.menuNm,prntBkmkId:l.prntBkmkId}}finally{s.delete(d)}},t=Object.values(r).filter(d=>d.prntBkmkId==="-"&&d.type==="M").map(d=>d.bkmkId),a=Object.values(r).filter(d=>d.prntBkmkId==="-"&&d.type==="F").map(d=>d.bkmkId);return Array.from(new Set([...n,...t,...a])).map(o).filter(Boolean)}function F(r,n){for(const e of Object.values(r))if(e.type==="M"&&e.menuId===n)return e.bkmkId;return null}function j(r,n,e){(!e||e==="-"?n:r[e].children||[]).forEach((o,t)=>{const a=r[o];a&&(a.sortOrdr=t)})}const H={DEFAULT_PRNT_GBCD:1},pe=r=>r&&typeof r=="object"&&typeof r.menuId=="string"&&typeof r.menuNm=="string",Y=r=>Array.isArray(r)&&r.every(pe);let B=[],q=[];const ie=r=>{if(r&&typeof r=="object"){const n=r;if(n.menus&&Y(n.menus))return n.menus;if(Y(r))return r}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(r,n)=>!!n&&r.crprCd===n.crprCd&&r.userId===n.userId&&(r.prntGbcd??H.DEFAULT_PRNT_GBCD)===(n.prntGbcd??H.DEFAULT_PRNT_GBCD),me=r=>{if(B.length===r.length&&B.every((t,a)=>t.menuId===r[a]?.menuId&&t.menuPrntId===r[a]?.menuPrntId))return q;if(!r.length)return[];const n=new Map,e=[];r.forEach(t=>t?.menuId&&n.set(t.menuId,{...t,children:[]})),r.forEach(t=>{const a=n.get(t.menuId);a&&(t.menuPrntId&&t.menuPrntId!==""&&t.menuPrntId!=="-"?n.get(t.menuPrntId)?.children?.push(a):e.push(a))});const s=t=>t.sort((a,c)=>(a?.menuNo??0)-(c?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return B=[...r],q=o,o},_=b.create((r,n)=>({menuList:[],flatMenuList:[],isLoading:!1,error:null,_lastFetchParams:null,fetchMenu:async({crprCd:e,userId:s,prntGbcd:o})=>{const t={crprCd:e,userId:s,prntGbcd:o??H.DEFAULT_PRNT_GBCD};if(ue(t,n()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}r({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await I.callService(I.getServiceCode("AUTH_MENU"),t),c=ie(a),d=me(c);r({flatMenuList:c,menuList:d,isLoading:!1,error:null})}catch(a){r({isLoading:!1,error:a?.message??"메뉴 로드 실패"})}},clearMenu:()=>{r({menuList:[],flatMenuList:[],error:null,_lastFetchParams:null})},findMenuById:e=>{const{flatMenuList:s}=n();return s.find(o=>o.menuId===e)??null}})),T={MAX_TABS:15},U=b.create((r,n)=>({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:T.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},pinnedTabs:new Set,refreshTabKey:{},clearMenuViewStore:()=>{r({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:T.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},pinnedTabs:new Set,refreshTabKey:{}})},openTabFromMenu:(e,s,o)=>{const{tabs:t}=n(),a=t.find(i=>i.key===e.menuId),c=o?.skipRefreshModal??!1;if(a){if(c){n().focusTab(e.menuId),n().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&n().setProtectFlagForKey(e.menuId);return}L.Modal.confirm({title:`[${e.menuNm}] 메뉴이동 알림`,content:"이미 열린 화면입니다. 새로고침 하시겠습니까?",centered:!0,okText:"예",cancelText:"아니오",onOk:()=>{n().refreshTab(e.menuId),n().focusTab(e.menuId),n().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&n().setProtectFlagForKey(e.menuId)},onCancel:()=>{n().focusTab(e.menuId),n().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&n().setProtectFlagForKey(e.menuId)}});return}if(t.length>=T.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),L.message.warning(`최대 ${T.MAX_TABS}개의 탭만 열 수 있습니다.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),I=require("../utils/index.cjs"),L=require("antd"),V=require("../chunks/layout-components-Bf9IsLUS.cjs"),k=require("react"),Q=require("axios");function ee(r,n){let e;try{e=r()}catch{return}return{getItem:o=>{var t;const a=d=>d===null?null:JSON.parse(d,void 0),c=(t=e.getItem(o))!=null?t:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const G=r=>n=>{try{const e=r(n);return e instanceof Promise?e:{then(s){return G(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return G(s)(e)}}}},te=(r,n)=>(e,s,o)=>{let t={storage:ee(()=>localStorage),partialize:C=>C,version:0,merge:(C,N)=>({...N,...C}),...n},a=!1;const c=new Set,d=new Set;let i=t.storage;if(!i)return r((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${t.name}', the given storage is currently unavailable.`),e(...C)},s,o);const l=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},h=o.setState;o.setState=(C,N)=>(h(C,N),l());const m=r((...C)=>(e(...C),l()),s,o);o.getInitialState=()=>m;let u;const f=()=>{var C,N;if(!i)return;a=!1,c.forEach(g=>{var M;return g((M=s())!=null?M:m)});const S=((N=t.onRehydrateStorage)==null?void 0:N.call(t,(C=s())!=null?C:m))||void 0;return G(i.getItem.bind(i))(t.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==t.version){if(t.migrate){const M=t.migrate(g.state,g.version);return M instanceof Promise?M.then(A=>[!0,A]):[!0,M]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,g.state];return[!1,void 0]}).then(g=>{var M;const[A,Z]=g;if(u=t.merge(Z,(M=s())!=null?M:m),e(u,!0),A)return l()}).then(()=>{S?.(u,void 0),u=s(),a=!0,d.forEach(g=>g(u))}).catch(g=>{S?.(void 0,g)})};return o.persist={setOptions:C=>{t={...t,...C},C.storage&&(i=C.storage)},clearStorage:()=>{i?.removeItem(t.name)},getOptions:()=>t,rehydrate:()=>f(),hasHydrated:()=>a,onHydrate:C=>(c.add(C),()=>{c.delete(C)}),onFinishHydration:C=>(d.add(C),()=>{d.delete(C)})},t.skipHydration||f(),u||m},v=te,P=b.create()(v((r,n)=>({user:null,hrInfo:null,buttonAuths:{},componentSize:1,gridSize:2,spacingSize:2,enableProtectWrapper:!0,gridLayouts:{},theme:"modern",isLoggedIn:()=>!!n().user,setLoginUser:(e,s)=>{r({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{r({user:null,hrInfo:null,buttonAuths:{}}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=n().user,t=n().hrInfo;o&&r({user:{...o,...e}}),t&&r({hrInfo:{...t,...s}})},setComponentSize:e=>{r({componentSize:e}),console.log("컴포넌트 사이즈 변경:",e)},setGridSize:e=>{r({gridSize:e}),console.log("그리드 사이즈 변경:",e)},setSpacingSize:e=>{r({spacingSize:e}),console.log("여백 사이즈 변경:",e)},setEnableProtectWrapper:e=>{r({enableProtectWrapper:e})},setTheme:e=>{r({theme:e}),console.log("테마 변경:",e)},getButtonAuth:(e,s)=>{const o=`${e}_${s}`;return n().buttonAuths[o]||null},setButtonAuth:(e,s,o)=>{const t=`${e}_${s}`;r(a=>({buttonAuths:{...a.buttonAuths,[t]:o}}))},clearButtonAuths:()=>{r({buttonAuths:{}})},getGridLayouts:e=>n().gridLayouts[e]||[],getGridLayout:(e,s,o)=>n().getGridLayouts(e).find(c=>c.menuId===s&&c.gridId===o)||null,saveGridLayout:(e,s,o,t)=>{const a={...n().gridLayouts};a[e]||(a[e]=[]);const c=a[e].findIndex(i=>i.menuId===s&&i.gridId===o),d={menuId:s,gridId:o,layout:t};c>=0?a[e][c]=d:a[e].push(d),r({gridLayouts:a}),console.log(`[UserStore] 그리드 레이아웃 저장 완료: ${e}/${s}/${o}`)},removeGridLayout:(e,s,o)=>{const t={...n().gridLayouts};t[e]&&(t[e]=t[e].filter(a=>!(a.menuId===s&&a.gridId===o)),r({gridLayouts:t}),console.log(`[UserStore] 그리드 레이아웃 삭제 완료: ${e}/${s}/${o}`))},clearGridLayouts:e=>{const s={...n().gridLayouts};delete s[e],r({gridLayouts:s}),console.log(`[UserStore] ${e}의 모든 그리드 레이아웃 삭제 완료`)},clearAllGridLayouts:()=>{r({gridLayouts:{}}),console.log("[UserStore] 전체 그리드 레이아웃 삭제 완료")}}),{name:"user-storage",partialize:r=>({user:r.user,hrInfo:r.hrInfo,componentSize:r.componentSize,gridSize:r.gridSize,spacingSize:r.spacingSize,enableProtectWrapper:r.enableProtectWrapper,gridLayouts:r.gridLayouts,theme:r.theme})})),E={CACHE_SIZE_LIMIT:1e3},p={codeCache:new Map,nameCache:new Map,optionCache:new Map,colorCache:new Map,loadedGroups:new Set,cacheHits:new Map,clearCache(){this.codeCache.clear(),this.nameCache.clear(),this.optionCache.clear(),this.colorCache.clear(),this.loadedGroups.clear(),this.cacheHits.clear()},cleanupCache(){const r=Array.from(this.cacheHits.entries());r.sort((e,s)=>e[1]-s[1]),r.slice(0,Math.floor(r.length*.3)).forEach(([e])=>{this.codeCache.delete(e),this.nameCache.delete(e),this.optionCache.delete(e),this.colorCache.delete(e),this.cacheHits.delete(e)})},isGroupLoaded(r){return this.loadedGroups.has(r)},markGroupLoaded(r){this.loadedGroups.add(r)}},O=r=>{console.log("대규모 데이터 변환 시작:",r);const n={};if(r&&r.code&&Array.isArray(r.code)){const e=r.code,s=r.opt||[],o=new Map;s.forEach(t=>{t.cmmnCd&&t.enblYn==="Y"&&(o.has(t.cmmnCd)||o.set(t.cmmnCd,[]),o.get(t.cmmnCd).push(t))}),e.forEach(t=>{if(t&&t.cmmnCdGrp&&t.cmmnCd&&t.enblYn==="Y"){const a=t.cmmnCdGrp;n[a]||(n[a]={});const d=(o.get(t.cmmnCd)||[]).reduce((i,l)=>(l.optnCd&&l.optnNm&&(i[l.optnCd]=l.optnNm),i),{});n[a][t.cmmnCd]={codeValue:t.cmmnCd,codeNm:t.cmmnCdNm,groupCode:t.cmmnCdGrp,commonCode:t.cmmnCd,labelColor:t.cmmnCdClr,systemCodeYn:t.syscdYn,sortOrder:parseInt(t.sortOrd)||1,enabled:t.enblYn==="Y",options:Object.keys(d).length>0?d:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",n),n},y=b.create()(v((r,n)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchSystemCodes:async()=>{r({isLoading:!0,error:null});try{console.log("시스템 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await I.callService(I.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("시스템 공통코드 응답:",e),console.log("시스템 공통코드목록:",e.code),console.log("시스템 공통코드옵션목록:",e.opt);const s=O(e),t={...n().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),r({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("시스템 공통코드 데이터 가져오기 완료")}catch(e){console.error("시스템 공통코드 데이터 가져오기 실패:",e),r({isLoading:!1,error:e instanceof Error?e.message:"시스템 공통코드 데이터 가져오기 실패"})}},fetchBusinessCodes:async()=>{r({isLoading:!0,error:null});try{console.log("업무 공통코드 데이터 가져오기 시작: SCMSIGN00302");const e=await I.callService("SCMSIGN00302",{sysCd:__SYS_CD__});console.log("업무 공통코드 응답:",e),console.log("업무 공통코드목록:",e.code),console.log("업무 공통코드옵션목록:",e.opt);const s=O(e),t={...n().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),r({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("업무 공통코드 데이터 가져오기 완료")}catch(e){console.error("업무 공통코드 데이터 가져오기 실패:",e),r({isLoading:!1,error:e instanceof Error?e.message:"업무 공통코드 데이터 가져오기 실패"})}},fetchData:async()=>{r({isLoading:!0,error:null});try{console.log("전체 공통코드 데이터 가져오기 시작 (시스템 + 업무)");const[e,s]=await Promise.all([I.callService(I.getServiceCode("SRCH_CODE"),{crprCd:"100"}),I.callService("SCMSIGN00302",{sysCd:__SYS_CD__})]);console.log("시스템 공통코드 응답:",e),console.log("업무 공통코드 응답:",s);const o=O(e),t=O(s),a={...o,...t};p.clearCache();const c=new Set(Object.keys(a));c.forEach(d=>{p.markGroupLoaded(d)}),r({codeData:a,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:c}),console.log("전체 공통코드 데이터 가져오기 완료")}catch(e){console.error("전체 공통코드 데이터 가져오기 실패:",e),r({isLoading:!1,error:e instanceof Error?e.message:"전체 공통코드 데이터 가져오기 실패"})}},loadSpecificGroup:async e=>{const{codeData:s,loadedGroups:o}=n();if(!s||o.has(e))return;const t=new Set(o).add(e);r({loadedGroups:t}),p.markGroupLoaded(e)},setData:e=>{p.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{p.markGroupLoaded(o)}),r({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{p.clearCache(),r({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set})},getLoadedGroups:()=>Array.from(n().loadedGroups)}),{name:"large-data-storage",partialize:r=>({codeData:r.codeData,lastUpdated:r.lastUpdated,loadedGroups:Array.from(r.loadedGroups)})})),D=b.create()(v((r,n)=>({get codeData(){return y.getState().codeData},get isLoading(){return y.getState().isLoading},get error(){return y.getState().error},get lastUpdated(){return y.getState().lastUpdated},fetchCommonCodes:async()=>{await y.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:c=!1}=s||{},d=`simpleCodeList_${e}_${o}_${t}_${a}_${c}`;if(p.optionCache.has(d)){const f=p.cacheHits.get(d)||0;return p.cacheHits.set(d,f+1),p.optionCache.get(d)}const i=y.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],h=i[e];h&&Object.values(h).forEach(f=>{if(!(o&&!f.enabled)&&!(t&&f.systemCodeYn!=="Y"))if(c){const C=e.length,N=f.codeValue.substring(C);N.length>0&&l.push({...f,codeValue:N})}else l.push(f)});let m;a?m=l.sort((f,C)=>f.sortOrder!==C.sortOrder?f.sortOrder-C.sortOrder:f.codeValue.localeCompare(C.codeValue)):m=l.sort((f,C)=>f.codeValue.localeCompare(C.codeValue));const u=m.map(f=>({label:f.codeNm,value:f.codeValue,tagColor:f.labelColor}));return p.optionCache.size>=E.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.optionCache.set(d,u),p.cacheHits.set(d,1),u},getCodeName:e=>{if(p.nameCache.has(e)){const o=p.cacheHits.get(`name_${e}`)||0;return p.cacheHits.set(`name_${e}`,o+1),p.nameCache.get(e)}const s=y.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.nameCache.set(e,t.codeNm),p.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=y.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(p.optionCache.has(s)){const i=p.cacheHits.get(s)||0;return p.cacheHits.set(s,i+1),p.optionCache.get(s)}const o=y.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],c=[];Object.values(t).filter(i=>i.enabled).sort((i,l)=>i.sortOrder-l.sortOrder).forEach(i=>{a.push(i.codeNm),c.push(i.codeValue)});const d={labels:a,values:c,lookupDisplay:!0};return p.optionCache.set(s,d),p.cacheHits.set(s,1),d},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(p.codeCache.has(t)){const l=p.cacheHits.get(t)||0;return p.cacheHits.set(t,l+1),p.codeCache.get(t)}const a=y.getState().codeData;if(!a)return[];const c=[],d=a[e];d&&Object.values(d).forEach(l=>{l.enabled&&l.options&&l.options[s]===o&&c.push({...l,codeNm:l.options[s]||l.codeNm})});const i=c.sort((l,h)=>l.codeValue.localeCompare(h.codeValue));return p.codeCache.size>=E.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(t,i),p.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:c=!1}=o||{},d=`codeListByOption_${e}_${s}_${t}_${a}_${c}`;if(p.codeCache.has(d)){const u=p.cacheHits.get(d)||0;return p.cacheHits.set(d,u+1),p.codeCache.get(d)}const i=y.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],h=i[e];h&&Object.values(h).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&l.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return c?m=l.sort((u,f)=>u.value.localeCompare(f.value)):m=l.sort((u,f)=>u.value.localeCompare(f.value)),p.codeCache.size>=E.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(d,m),p.cacheHits.set(d,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(p.nameCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),JSON.parse(p.nameCache.get(e))}const s=y.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return p.nameCache.set(e,JSON.stringify(o)),p.cacheHits.set(e,1),o},clearCodes:()=>{y.getState().clearData()}}),{name:"code-storage",partialize:r=>({})})),oe=b.create()(v((r,n)=>({get codeData(){return y.getState().codeData},get isLoading(){return y.getState().isLoading},get error(){return y.getState().error},get lastUpdated(){return y.getState().lastUpdated},fetchCommonCodes:async()=>{await y.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(p.optionCache.has(o)){const c=p.cacheHits.get(o)||0;return p.cacheHits.set(o,c+1),p.optionCache.get(o)}const t=y.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const c=a[s].options;return p.optionCache.set(o,c),p.cacheHits.set(o,1),c}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(p.optionCache.has(t)){const d=p.cacheHits.get(t)||0;return p.cacheHits.set(t,d+1),p.optionCache.get(t)}const a=n().getOptionValue(e,s),c=a?a[o]:null;return p.optionCache.set(t,c),p.cacheHits.set(t,1),c},clearCodes:()=>{y.getState().clearData()}}),{name:"option-storage",partialize:r=>({})})),se=b.create()(v((r,n)=>({get codeData(){return y.getState().codeData},get isLoading(){return y.getState().isLoading},get error(){return y.getState().error},get lastUpdated(){return y.getState().lastUpdated},fetchCommonCodes:async()=>{await y.getState().fetchData()},getColorCode:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=y.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(p.optionCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),p.optionCache.get(e)}const s=y.getState().codeData;if(!s)return[];const o=[];return Object.values(s).forEach(t=>{Object.values(t).forEach(a=>{a.labelColor&&o.push({code:a.codeValue,color:a.labelColor})})}),p.optionCache.set(e,o),p.cacheHits.set(e,1),o},clearCodes:()=>{y.getState().clearData()}}),{name:"color-storage",partialize:r=>({})})),re=(r,n)=>({nodes:{},rootIds:[],loadedFor:void 0,loading:!1,error:void 0,treeNodes:[],isMenuBookmarked:e=>Object.values(n().nodes).some(s=>s.type==="M"&&s.menuId===e),getPrntBkmkIdByMenuId:e=>{const s=F(n().nodes,e);return s?n().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=F(n().nodes,e);if(!s)return null;const o=n().nodes[s];return o?.type==="M"?o:null},getFolderTree:e=>{const{nodes:s,rootIds:o}=n(),t=c=>e?c.toLowerCase().includes(e.toLowerCase()):!0,a=c=>{const d=s[c];if(!d||d.type!=="F")return null;const i=d,l=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||l.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:l.length?l:void 0}:null};return o.map(c=>a(c)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=n();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){r({loading:!0,error:void 0});try{const t=await I.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],c=ne(a),d=w(c.nodes,c.rootIds);r({...c,treeNodes:d,loadedFor:e,loading:!1})}catch(t){throw r({loading:!1,error:t?.message||"즐겨찾기 로드 실패"}),t}}},loadFavoritesIfNeeded:async e=>{const s=n();(s.loadedFor!==e||Object.keys(s.nodes).length===0)&&await n().loadFavorites(e)},clearFavorites:()=>{r({nodes:{},rootIds:[],treeNodes:[],loadedFor:void 0,loading:!1,error:void 0}),console.log("📚 북마크 스토어 초기화 완료")},addNode:async e=>{const s=K(n()),o=ae();r(t=>{const a=e.sortOrdr??x(t,e.prntBkmkId),c={...t,nodes:{...t.nodes,[o]:e.type==="F"?{bkmkId:o,type:"F",prntBkmkId:e.prntBkmkId||"-",sortOrdr:a,bkmkNm:e.bkmkNm??"새 폴더",children:[],sysCd:e.sysCd,userId:e.userId}:{bkmkId:o,type:"M",prntBkmkId:e.prntBkmkId,sortOrdr:a,menuId:e.menuId??"",menuNm:e.menuNm,sysCd:e.sysCd,userId:e.userId}},rootIds:t.rootIds.slice(),treeNodes:t.treeNodes};return ce(c,o,e.prntBkmkId),c.treeNodes=w(c.nodes,c.rootIds),c});try{let t=o;const a=x(n(),e.prntBkmkId),c=await I.callService("SCMBKMK00102",{iudFlag:"I",type:e.type,sysCd:e.sysCd,userId:e.userId,bkmkId:o,bkmkNm:e.bkmkNm,prntBkmkId:e.prntBkmkId,menuId:e.menuId,sortOrdr:a,chngId:I.getUserId()});return t=String(c?.bkmkId??c?.itemId??o),r(d=>{const i=le(d,o,t);return{...i,treeNodes:w(i.nodes,i.rootIds)}}),t}catch(t){throw r(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=n(),c=structuredClone(a.nodes),d=[...a.rootIds],i=c[e];if(!i)return;if(s!=="-"){const u=c[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const l=i.prntBkmkId??"-",h=l==="-"?d:c[l].children||=[];{const u=h.indexOf(e);u>=0&&h.splice(u,1)}const m=s==="-"?d:c[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,r({nodes:c,rootIds:d}),j(c,d,s),j(c,d,l);try{await I.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw r(a),u}},removeNode:async e=>{const s=K(n());r(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return X(t,e),t.treeNodes=w(t.nodes,t.rootIds),t});try{await I.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw r(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const c=K(n());r(d=>{const i={...d,nodes:{...d.nodes}},l=i.nodes[e];return l?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...l,bkmkNm:o}),i});try{await I.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:I.getUserId()})}catch(d){throw r(c),d}},addFolder:async(e,s,o,t)=>await n().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>F(n().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await n().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:I.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=n(),t=Object.values(o.nodes).find(c=>c.type==="M"&&c.menuId===s.menuId);if(t){await n().removeNode(t.bkmkId);return}let a=z(o);a||(await n().loadFavorites(e,!0),a=z(n())),a&&await n().addNode({type:"M",prntBkmkId:a,sysCd:"KH",userId:I.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=n(),o=F(s.nodes,e);o&&await n().removeNode(o)},removeMenu:async e=>{await n().removeNode(e)},removeFolder:async e=>{await n().removeNode(e)},editFolder:async(e,s,o,t,a)=>{await n().editNode({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})},convertToAntTreeData:(e,s,o,t=!1)=>{const a=d=>o?d.toLowerCase().includes(o.toLowerCase()):!0,c=d=>{const i=e[d];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const l=i,h=(l.children||[]).map(u=>c(u)).filter(Boolean);return a(l.bkmkNm)||h.length>0?{key:l.bkmkId,type:"F",title:`📁 ${l.bkmkNm}`,bkmkNm:l.bkmkNm,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,children:h.length?h:void 0}:null}else{const l=i,h=l.menuNm?`${l.menuNm} (${l.menuId})`:l.menuId;return a(h)?{key:l.bkmkId,type:"M",title:`📄 ${h}`,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,isLeaf:!0}:null}};return s.map(c).filter(Boolean)}}),R=b.create(re);function ne(r){const n={},e=[],s=o=>{o.forEach(t=>{const a={type:t.type,bkmkId:t.bkmkId??t.BKMK_ID??t.id,prntBkmkId:t.prntBkmkId??t.PRNT_BKMK_ID??"-",sortOrdr:Number(t.sortOrdr??t.SORT_ORDR??0),sysCd:t.sysCd??t.SYS_CD,userId:t.userId??t.USER_ID,fullPath:t.fullPath??t.FULL_PATH};if(t.type==="F"){n[a.bkmkId]={...a,bkmkNm:t.bkmkNm??t.BKMK_NM??t.name??a.bkmkId,children:[]};const c=Array.isArray(t.children)?t.children:[];s(c)}else n[a.bkmkId]={...a,menuId:t.menuId??t.MENU_ID??"",menuNm:t.menuNm??t.MENU_NM}})};return s(r),Object.values(n).forEach(o=>{if(o.prntBkmkId&&o.prntBkmkId!=="-"){const t=n[o.prntBkmkId];t?.type==="F"&&t.children.push(o.bkmkId)}else o.type==="F"&&e.push(o.bkmkId)}),e.sort((o,t)=>(n[o].sortOrdr??0)-(n[t].sortOrdr??0)),Object.values(n).forEach(o=>{o.type==="F"&&o.children.sort((a,c)=>(n[a].sortOrdr??0)-(n[c].sortOrdr??0))}),{nodes:n,rootIds:e}}function K(r){return{...r,nodes:JSON.parse(JSON.stringify(r.nodes)),rootIds:r.rootIds.slice()}}function ae(){return`tmp_${I.generateUID()}`}function x(r,n){if(!n||n==="-")return r.rootIds.length;const e=r.nodes[n];return e?e.children.length:0}function ce(r,n,e){const s=r.nodes[n];if(s)if(e&&e!=="-"){const o=r.nodes[e];if(!o||o.type!=="F")return;s.prntBkmkId=e,o.children=[...o.children,n]}else s.prntBkmkId="-",r.rootIds=[...r.rootIds,n]}function de(r,n){const e=r.nodes[n];if(!e)return;const s=e.prntBkmkId;if(s&&s!=="-"){const o=r.nodes[s];o?.type==="F"&&(o.children=o.children.filter(t=>t!==n))}else r.rootIds=r.rootIds.filter(o=>o!==n)}function X(r,n){const e=r.nodes[n];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>X(r,a)),de(r,n);const{[n]:s,...o}=r.nodes;r.nodes=o}function le(r,n,e){if(n===e)return r;const s=r.nodes[n];if(!s)return r;const o=JSON.parse(JSON.stringify(s));o.bkmkId=e;const t={...r.nodes,[e]:o};delete t[n];let a=r.rootIds;if(o.prntBkmkId&&o.prntBkmkId!=="-"){const c=t[o.prntBkmkId];c?.type==="F"&&(t[o.prntBkmkId]={...c,children:c.children.map(d=>d===n?e:d)})}else a=r.rootIds.map(c=>c===n?e:c);return{...r,nodes:t,rootIds:a}}function z(r){return r.rootIds.find(n=>r.nodes[n]?.type==="F")??null}function w(r,n){const e={};Object.values(r).forEach(d=>{const i=d.bkmkId,l=d.prntBkmkId;!i||!l||l==="-"||l===i||(e[l]??=[]).push(i)});const s=new Set,o=d=>{if(s.has(d))return null;const i=r[d];if(!i)return null;s.add(d);try{if(i.type==="F"){const h=i,m=e[d]??[];return{type:"F",bkmkId:d,bkmkNm:h.bkmkNm,prntBkmkId:h.prntBkmkId,children:m.map(o).filter(Boolean)}}const l=i;return{type:"M",bkmkId:d,bkmkNm:l.menuNm,menuId:l.menuId,menuNm:l.menuNm,prntBkmkId:l.prntBkmkId}}finally{s.delete(d)}},t=Object.values(r).filter(d=>d.prntBkmkId==="-"&&d.type==="M").map(d=>d.bkmkId),a=Object.values(r).filter(d=>d.prntBkmkId==="-"&&d.type==="F").map(d=>d.bkmkId);return Array.from(new Set([...n,...t,...a])).map(o).filter(Boolean)}function F(r,n){for(const e of Object.values(r))if(e.type==="M"&&e.menuId===n)return e.bkmkId;return null}function j(r,n,e){(!e||e==="-"?n:r[e].children||[]).forEach((o,t)=>{const a=r[o];a&&(a.sortOrdr=t)})}const H={DEFAULT_PRNT_GBCD:1},pe=r=>r&&typeof r=="object"&&typeof r.menuId=="string"&&typeof r.menuNm=="string",Y=r=>Array.isArray(r)&&r.every(pe);let B=[],q=[];const ie=r=>{if(r&&typeof r=="object"){const n=r;if(n.menus&&Y(n.menus))return n.menus;if(Y(r))return r}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(r,n)=>!!n&&r.crprCd===n.crprCd&&r.userId===n.userId&&(r.prntGbcd??H.DEFAULT_PRNT_GBCD)===(n.prntGbcd??H.DEFAULT_PRNT_GBCD),me=r=>{if(B.length===r.length&&B.every((t,a)=>t.menuId===r[a]?.menuId&&t.menuPrntId===r[a]?.menuPrntId))return q;if(!r.length)return[];const n=new Map,e=[];r.forEach(t=>t?.menuId&&n.set(t.menuId,{...t,children:[]})),r.forEach(t=>{const a=n.get(t.menuId);a&&(t.menuPrntId&&t.menuPrntId!==""&&t.menuPrntId!=="-"?n.get(t.menuPrntId)?.children?.push(a):e.push(a))});const s=t=>t.sort((a,c)=>(a?.menuNo??0)-(c?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return B=[...r],q=o,o},_=b.create((r,n)=>({menuList:[],flatMenuList:[],isLoading:!1,error:null,_lastFetchParams:null,fetchMenu:async({crprCd:e,userId:s,prntGbcd:o})=>{const t={crprCd:e,userId:s,prntGbcd:o??H.DEFAULT_PRNT_GBCD};if(ue(t,n()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}r({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await I.callService(I.getServiceCode("AUTH_MENU"),t),c=ie(a),d=me(c);r({flatMenuList:c,menuList:d,isLoading:!1,error:null})}catch(a){r({isLoading:!1,error:a?.message??"메뉴 로드 실패"})}},clearMenu:()=>{r({menuList:[],flatMenuList:[],error:null,_lastFetchParams:null})},findMenuById:e=>{const{flatMenuList:s}=n();return s.find(o=>o.menuId===e)??null}})),T={MAX_TABS:15},U=b.create((r,n)=>({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:T.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},pinnedTabs:new Set,refreshTabKey:{},clearMenuViewStore:()=>{r({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:T.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},pinnedTabs:new Set,refreshTabKey:{}})},openTabFromMenu:(e,s,o)=>{const{tabs:t}=n(),a=t.find(i=>i.key===e.menuId),c=o?.skipRefreshModal??!1;if(a){if(c){n().focusTab(e.menuId),n().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&n().setProtectFlagForKey(e.menuId);return}L.Modal.confirm({title:`[${e.menuNm}] 메뉴이동 알림`,content:"이미 열린 화면입니다. 새로고침 하시겠습니까?",centered:!0,okText:"예",cancelText:"아니오",onOk:()=>{n().refreshTab(e.menuId),n().focusTab(e.menuId),n().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&n().setProtectFlagForKey(e.menuId)},onCancel:()=>{n().focusTab(e.menuId),n().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&n().setProtectFlagForKey(e.menuId)}});return}if(t.length>=T.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),L.message.warning(`최대 ${T.MAX_TABS}개의 탭만 열 수 있습니다.
|
|
2
2
|
기존 탭을 닫고 다시 시도해주세요.`);return}const d={key:e.menuId,label:e.menuNm,gubun:"M",menuItem:e,closable:!0};r({tabs:[...t,d],activeMenuId:e.menuId,activeMenuItem:e}),n().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&n().setProtectFlagForKey(e.menuId)},openTabByMenuId:(e,s,o)=>{const t=_.getState().findMenuById(e);t?n().openTabFromMenu(t,s,o):L.message.warning("메뉴 ID를 찾을 수 없습니다.")},openDetailView:(e,s,o)=>{const{tabs:t}=n();if(t.find(c=>c.key===e.viewId))n().focusTab(e.viewId);else{const c={key:e.viewId,label:e.viewLabel,gubun:"C",componentItem:{scrnPath:s,prsnInfoYn:o,prntInfo:e.prntInfo},closable:!0};r({tabs:[...t,c],activeMenuId:e.viewId,activeDetailItem:e}),n().setTabParams(e.viewId,e.viewParams||{})}},closeTab:e=>{const{tabs:s,activeMenuId:o,pinnedTabs:t}=n();if(t.has(e))return;s.find(d=>d.key===e);const a=s.filter(d=>d.key!==e);let c=o;if(o===e){const d=s.findIndex(i=>i.key===e);c=a.length?a[Math.min(d,a.length-1)]?.key??null:null}r({tabs:a}),c&&n().focusTab(c)},focusTab:e=>{const{tabs:s}=n(),o=s.find(t=>t.key===e);if(o){const t=o.gubun==="C"?{viewId:o.key,viewLabel:o.label,prntInfo:o.componentItem?.prntInfo}:null;o.menuItem?.prsnInfoYn==="Y"?(r({activeMenuId:e,activeMenuItem:o.menuItem,activeDetailItem:t}),console.log("✅ 탭 포커스 (개인정보) - activeMenuItem:",o.menuItem),n().setProtectFlagForKey(e)):(r({activeMenuId:e,activeMenuItem:o.menuItem,activeDetailItem:t}),n().clearProtectFlagForKey(e))}else r({activeMenuId:e,activeMenuItem:null,activeDetailItem:null}),console.warn("❌ 탭을 찾을 수 없음:",e)},closeAllTabs:()=>r({tabs:[],activeMenuId:null,activeMenuItem:null,activeDetailItem:null}),toggleSidebar:()=>r(e=>({sidebarCollapsed:!e.sidebarCollapsed})),reorderTabs:e=>r(s=>{const o=new Map(s.tabs.map(t=>[t.key,t]));return{tabs:e.map(t=>o.get(t)).filter(Boolean)}}),setProtectFlagForKey:e=>r(s=>({tabProtectFlag:{...s.tabProtectFlag,[e]:!0}})),clearProtectFlagForKey:e=>r(s=>{const o={...s.tabProtectFlag};return delete o[e],{tabProtectFlag:o}}),setTabParams:(e,s)=>r(o=>{const t=o.tabParams[e]||{},a={...s||{}};return Object.keys(t).length===Object.keys(a).length&&Object.keys(a).every(d=>t[d]===a[d])?o:{tabParams:{...o.tabParams,[e]:a}}}),setComponentLabelMap:(e,s)=>r({componentLabelMap:e}),togglePinTab:e=>r(s=>{const o=new Set(s.pinnedTabs);return o.has(e)?o.delete(e):o.add(e),{pinnedTabs:o}}),refreshTab:e=>r(s=>({refreshTabKey:{...s.refreshTabKey,[e]:Date.now()}})),closeOtherTabs:e=>{const{tabs:s,activeMenuId:o}=n();if(!s.find(d=>d.key===e))return;const a=n().pinnedTabs;s.filter(d=>d.key!==e&&!a.has(d.key)).forEach(d=>n().closeTab(d.key)),o!==e&&n().focusTab(e)},closeRightTabs:e=>{const{tabs:s}=n(),o=s.findIndex(c=>c.key===e);if(o<0)return;const t=n().pinnedTabs;s.slice(o+1).filter(c=>!t.has(c.key)).forEach(c=>n().closeTab(c.key))}})),W=b.create((r,n)=>({popups:[],activePopupId:null,isLoading:!1,error:null,zIndexSeed:1e3,openPopup:async(e,s,o)=>{r({isLoading:!0,error:null});try{let t=null;const a=await I.callService(I.getServiceCode("SRCH_POPU"),{crprCd:I.getUserInfo()?.crprCd,popuCd:e});t=a?.mstr;const c=a?.dtls||[];if(!t||!t.popuUrl){const u=`팝업 정보를 찾을 수 없습니다: ${e}`;throw console.error(u),new Error(u)}const i=(u=>`/src/pages/views/popup/${u}`)(t.popuUrl),l=n().zIndexSeed+1,h={popupId:`popup_${Date.now()}_${I.generateUID()}`,popupCode:e,popupTitle:o?.title||t.popuNm||"팝업",popupUrl:i,popupParams:s,width:t.popuWdth||800,height:t.popuHght||600,resizable:!0,draggable:!0,buttonList:c,config:o,zIndex:l},m=n().popups.find(u=>u.popupCode===e);if(m){r({activePopupId:m.popupId,popups:n().popups.map(u=>u.popupId===m.popupId?{...u,config:o}:u),isLoading:!1});return}r(u=>({popups:[...u.popups,h],activePopupId:h.popupId,isLoading:!1,zIndexSeed:l}))}catch(t){r({error:t instanceof Error?t.message:"팝업 열기 실패",isLoading:!1})}},openCorePopup:(e,s)=>{const o=`popup_${Date.now()}_${I.generateUID()}`,t=n().zIndexSeed+1,c=V.localPopupRegistry[e]?.defaultConfig||{},d={...c,...s,buttons:s?.buttons!==void 0?s.buttons:c.buttons,callback:s?.callback!==void 0?s.callback:c.callback},i=s?.defaultParams||{},l=n().popups.find(m=>m.popupCode===e&&m.isLocal);if(l){const m=n().zIndexSeed+1;r({activePopupId:l.popupId,zIndexSeed:m}),r(u=>({popups:u.popups.map(f=>f.popupId===l.popupId?{...f,config:d,zIndex:m,close:()=>{n().closePopup(l.popupId)}}:f)}));return}const h={popupId:o,popupCode:e,popupTitle:d.title||e,popupUrl:"",popupParams:i,width:d.width||1e3,height:d.height||700,resizable:d.resizable!==void 0?d.resizable:!0,draggable:d.draggable!==void 0?d.draggable:!0,buttonList:[],config:d,isLocal:!0,zIndex:t,close:()=>{n().closePopup(o)}};r(m=>({popups:[...m.popups,h],activePopupId:o,zIndexSeed:t}))},closePopup:e=>{const{popups:s,activePopupId:o}=n(),t=s.filter(c=>c.popupId!==e);let a=o;o===e&&(a=t.length>0?t[t.length-1].popupId:null),r({popups:t,activePopupId:a})},closeAllPopups:()=>{r({popups:[],activePopupId:null})},setActivePopup:e=>{const s=n().zIndexSeed+1;r(o=>({activePopupId:e,zIndexSeed:s,popups:o.popups.map(t=>t.popupId===e?{...t,zIndex:s}:t)}))},updatePopupConfig:(e,s)=>{r(o=>({popups:o.popups.map(t=>t.popupId===e?{...t,config:{...t.config,...s}}:t)}))}})),$=b.create()(v((r,n)=>({systemMap:[],fetchSystemMap:async()=>{r({systemMap:[{sysCd:"KE",appItCd:"ERPS",appCd:"SAP",systemNm:"K-ERP",appNm:"SAP"},{sysCd:"KE",appItCd:"KERP",appCd:"FI",systemNm:"K-ERP",appNm:"재무회계"},{sysCd:"KE",appItCd:"KERP",appCd:"FM",systemNm:"K-ERP",appNm:"예산관리"},{sysCd:"KE",appItCd:"KERP",appCd:"MM",systemNm:"K-ERP",appNm:"구매계약"},{sysCd:"KE",appItCd:"KERP",appCd:"SD",systemNm:"K-ERP",appNm:"영업관리"},{sysCd:"CH",appItCd:"KERP",appCd:"PMN",systemNm:"K-ERP",appNm:"파트너관리"},{sysCd:"FB",appItCd:"FBK",appCd:"FBK",systemNm:"펌뱅킹",appNm:"펌뱅킹"},{sysCd:"IA",appItCd:"IAC",appCd:"IAC",systemNm:"내부회계",appNm:"내부회계"},{sysCd:"ET",appItCd:"ETAX",appCd:"ETAX",systemNm:"전자세금계산서",appNm:"전자세금계산서"},{sysCd:"HR",appItCd:"KHR",appCd:"HR",systemNm:"K-HR",appNm:"HR 솔루션"},{sysCd:"YT",appItCd:"KHYT",appCd:"YT",systemNm:"K-HR 연말정산",appNm:"연말정산"},{sysCd:"CM",appItCd:"KCM",appCd:"CM",systemNm:"K-HR 프레임워크 공통",appNm:"프레임워크 공통"},{sysCd:"PA",appItCd:"KHPE",appCd:"PE",systemNm:"K-HR 평정",appNm:"평정"},{sysCd:"OT",appItCd:"POF",appCd:"POF",systemNm:"시간외(PC-OFF)",appNm:"시간외(PC-OFF)"},{sysCd:"DC",appItCd:"CDT",appCd:"CDT",systemNm:"전자계약",appNm:"전자계약"},{sysCd:"KS",appItCd:"KSCM",appCd:"KSCM",systemNm:"KS-공통",appNm:"KS-공통"},{sysCd:"KS",appItCd:"EAUD",appCd:"EAUD",systemNm:"K-업무지원",appNm:"e-감사"},{sysCd:"KS",appItCd:"INR",appCd:"INR",systemNm:"K-업무지원",appNm:"청렴신고"},{sysCd:"KS",appItCd:"ITSM",appCd:"ITAM",systemNm:"K-업무지원",appNm:"ITAM"},{sysCd:"KS",appItCd:"CMM",appCd:"CMM",systemNm:"K-업무지원",appNm:"차량/회의실"},{sysCd:"KS",appItCd:"OAM",appCd:"OAM",systemNm:"K-업무지원",appNm:"OA전산물품관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"GAM",systemNm:"K-업무지원",appNm:"총무관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"ACM",systemNm:"K-업무지원",appNm:"출입관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"IVM",systemNm:"K-업무지원",appNm:"비품관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"SGS",systemNm:"K-업무지원",appNm:"인장서비스"},{sysCd:"KS",appItCd:"HIS",appCd:"HIS",systemNm:"K-업무지원",appNm:"사료관리"},{sysCd:"KS",appItCd:"WFAX",appCd:"WFAX",systemNm:"K-업무지원",appNm:"웹펙스서비스"},{sysCd:"KS",appItCd:"SMS",appCd:"SMS",systemNm:"K-업무지원",appNm:"메시지서비스"},{sysCd:"KS",appItCd:"BID",appCd:"BID",systemNm:"K-업무지원",appNm:"경영공시"},{sysCd:"KS",appItCd:"PAM",appCd:"PAM",systemNm:"K-업무지원",appNm:"언론미디어"},{sysCd:"KS",appItCd:"DAC",appCd:"DAC",systemNm:"K-업무지원",appNm:"심의자문위원회"},{sysCd:"KS",appItCd:"IPR",appCd:"IPR",systemNm:"K-업무지원",appNm:"지식재산권신청"},{sysCd:"KS",appItCd:"ISB",appCd:"ISB",systemNm:"K-업무지원",appNm:"정보공유게시판"},{sysCd:"DE",appItCd:"BCOM",appCd:"BCOM",systemNm:"온통",appNm:"온통"},{sysCd:"TS",appItCd:"ITSM",appCd:"ITSM",systemNm:"ITSM",appNm:"ITSM"},{sysCd:"EP",appItCd:"EPOP",appCd:"EPOP",systemNm:"국민신문고",appNm:"국민신문고"},{sysCd:"VC",appItCd:"VOC",appCd:"VOC",systemNm:"VOC",appNm:"VOC"},{sysCd:"CC",appItCd:"CAL",appCd:"CAL",systemNm:"콜센터",appNm:"콜센터"},{sysCd:"LA",appItCd:"LEG",appCd:"LEG",systemNm:"법규포털",appNm:"법규포털"},{sysCd:"IM",appItCd:"IDXM",appCd:"IDXM",systemNm:"지수방법론",appNm:"지수방법론"},{sysCd:"PM",appItCd:"ORM",appCd:"ORM",systemNm:"운영리스크관리",appNm:"운영리스크관리"},{sysCd:"RF",appItCd:"RFID",appCd:"RFID",systemNm:"RFID(비품관리)",appNm:"RFID(비품관리)"},{sysCd:"SL",appItCd:"SGM",appCd:"SGM",systemNm:"인장관리",appNm:"인장관리"},{sysCd:"DM",appItCd:"LBS",appCd:"LBS",systemNm:"도서관리",appNm:"도서관리"},{sysCd:"HE",appItCd:"RMS",appCd:"RMS",systemNm:"원격지원",appNm:"원격지원"},{sysCd:"WF",appItCd:"WFX",appCd:"WFX",systemNm:"WebFax",appNm:"WebFax"},{sysCd:"SM",appItCd:"SMT",appCd:"SMT",systemNm:"SMS",appNm:"SMS"},{sysCd:"SO",appItCd:"SSO",appCd:"SSO",systemNm:"SSO",appNm:"SSO"},{sysCd:"SF",appItCd:"SFO",appCd:"SFO",systemNm:"생체인증(One Pass)",appNm:"생체인증 FIDO"},{sysCd:"SP",appItCd:"SPO",appCd:"SPO",systemNm:"생체인증(장정맥)",appNm:"생체인증 장정맥"},{sysCd:"AG",appItCd:"APG",appCd:"APG",systemNm:"API GW",appNm:"API Gateway"},{sysCd:"AM",appItCd:"APM",appCd:"APM",systemNm:"APM",appNm:"APM"},{sysCd:"JS",appItCd:"BXS",appCd:"BXS",systemNm:"배치스케줄러",appNm:"배치스케줄러"},{sysCd:"DT",appItCd:"PDT",appCd:"PDT",systemNm:"개인정보변환",appNm:"개인정보변환"}]})},setSystemMap:e=>{r({systemMap:e})},clearSystemMap:()=>{r({systemMap:[]})},getBySysCd:e=>n().systemMap.filter(s=>s.sysCd===e),getByAppItCd:e=>n().systemMap.filter(s=>s.appItCd===e),findByAppCd:e=>n().systemMap.find(s=>s.appCd===e),filterSystemMap:e=>{const{sysCd:s,appItCd:o,appCd:t}=e;return n().systemMap.filter(a=>(s?a.sysCd===s:!0)&&(o?a.appItCd===o:!0)&&(t?a.appCd===t:!0))}}),{name:"system-info-store"})),Ce=b.create(r=>({requestCount:0,loading:!1,showLoading:()=>r(n=>{const e=n.requestCount+1;return{requestCount:e,loading:e>0}}),hideLoading:()=>r(n=>{const e=Math.max(0,n.requestCount-1);return{requestCount:e,loading:e>0}})})),fe=b.create(r=>({requestCount:0,loading:!1,showLoading:()=>r(n=>{const e=n.requestCount+1;return{requestCount:e,loading:e>0}}),hideLoading:()=>r(n=>{const e=Math.max(0,n.requestCount-1);return{requestCount:e,loading:e>0}})}));function J(){const[r,n]=k.useState(!1),e=k.useCallback(s=>{const o=s?.getModifierState?.("CapsLock");typeof o=="boolean"&&n(o)},[]);return{capsOn:r,onKeyDown:e}}function he(r){const{loginApi:n,fetchCommonCodes:e,onAfterLogin:s,onError:o,rememberCookie:t={enabled:!0,days:30}}=r,[a,c]=k.useState(!1),{capsOn:d,onKeyDown:i}=J(),l="SCMSIGN00101",h=`${__SYS_CD__}_login_id`,m={id:t?.enabled?I.getCookie(h):void 0,pswr:void 0},u=k.useCallback(async f=>{c(!0);try{const C={crprCd:"100",id:f.id,pswr:await I.encryptSha256(f.pswr)},S=await(n??(g=>I.callService(l,g)))(C);if(S?.userInfo?.userId){if(P.getState().setLoginUser(S.userInfo,S?.hrInfo),localStorage.setItem("LOGIN_USER_ID",S.userInfo.userId),t?.enabled){const g=t.days??30;f.remember?I.setCookie(h,f.id??"",g):I.setCookie(h,"",0)}return e?await e():await D.getState().fetchCommonCodes(),s(S),{user:S.userInfo,response:S}}else throw o({user:S.userInfo,response:S}),new Error("사용자 정보가 유효하지 않습니다.")}catch(C){o(C)}finally{c(!1)}},[l,n,e,s,o,t?.enabled,t?.days]);return{loading:a,capsOn:d,prefills:m,onKeyDown:i,doLogin:u}}function Ie(r){const{loginApi:n,fetchCommonCodes:e,onAfterLogin:s,onError:o}=r,[t,a]=k.useState("LOADING"),c=k.useCallback(async d=>{a("LOADING");try{const i=new URLSearchParams;i.append("ip",I.getClientIp()||"");const l=await Q.post("/api/sso",i);if(l.data.result&&l.data.userId)L.message.success(l.data.message);else if(!l.data.result)throw console.error(l.data.code," ::: ",l.data.message),L.message.error(l.data.message),new Error(l.data.message);const h={crprCd:"100",sysCd:d.sysCd,userId:l.data.userId,id:l.data.userId,pswr:await I.encryptSha256("krx2025!@")},u=await(n??(f=>I.callService("SCMSIGN00199",f)))(h);if(u?.userInfo?.userId)return P.getState().setLoginUser(u.userInfo,u?.hrInfo),localStorage.setItem("LOGIN_USER_ID",u.userInfo.userId),e?await e():await D.getState().fetchCommonCodes(),s(u),a("SUCCESS"),{user:u.userInfo,response:u};throw new Error("INVALID_USER")}catch(i){o?.({msg:i.message}),a("FAIL")}},[n,e,s,o]);return{loginStatus:t,doSsoLogin:c}}function ye(r){return()=>{P.getState().clearLoginUser(),$.getState().clearSystemMap(),D.getState().clearCodes(),_.getState().clearMenu(),U.getState().clearMenuViewStore(),R.getState().clearFavorites(),localStorage.removeItem("LOGIN_USER_ID"),r?.()}}const ge=()=>D.getState(),Se=()=>W.getState(),be=()=>P.getState(),Ne=()=>R.getState(),Me=()=>_.getState(),ke=()=>U.getState(),ve=()=>$.getState();exports.useCapsLock=J;exports.useCode=ge;exports.useCodeStore=D;exports.useColorStore=se;exports.useFavorite=Ne;exports.useFavoriteStore=R;exports.useLoadingStore=Ce;exports.useLogin=he;exports.useLogout=ye;exports.useMenuModel=Me;exports.useMenuModelStore=_;exports.useMenuView=ke;exports.useMenuViewStore=U;exports.useOptionStore=oe;exports.usePopupLoadingStore=fe;exports.usePopupState=Se;exports.usePopupStore=W;exports.useSsoLogin=Ie;exports.useSystemCode=ve;exports.useSystemStore=$;exports.useUser=be;exports.useUserStore=P;
|
package/dist/stores/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { create as b } from "zustand";
|
|
2
2
|
import { callService as S, getServiceCode as w, getUserId as v, generateUID as G, getUserInfo as oe, getCookie as se, encryptSha256 as J, setCookie as z, getClientIp as ne } from "../utils/index.js";
|
|
3
3
|
import { message as F, Modal as re } from "antd";
|
|
4
|
-
import { l as ae } from "../chunks/layout-components-
|
|
4
|
+
import { l as ae } from "../chunks/layout-components-DnuV2Psp.js";
|
|
5
5
|
import { useState as U, useCallback as $ } from "react";
|
|
6
6
|
import de from "axios";
|
|
7
7
|
function ce(n, r) {
|
package/dist/utils/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Ge=require("axios"),V=require("../chunks/common-components-mXgJEMpT.cjs"),T=require("dayjs"),E=require("antd"),U=require("../stores/index.cjs"),Lo=require("react-dom"),Oe={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let pe={};function _t(e){pe=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function We(e){return pe[e]&&pe[e].trim()!==""?pe[e]:Oe[e]}function Ke(){const e={};for(const t of Object.keys(Oe))e[t]=We(t);return e}function Mt(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=Ke();for(const[t,r]of Object.entries(e)){const o=pe[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const $t=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SERVICE_CODES:Oe,getAllServiceCodes:Ke,getServiceCode:We,logServiceCodeConfig:Mt,setServiceCodeOverrides:_t},Symbol.toStringTag,{value:"Module"}));var _e={exports:{}};function Bo(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Me={exports:{}};const Fo={},Po=Object.freeze(Object.defineProperty({__proto__:null,default:Fo},Symbol.toStringTag,{value:"Module"})),Ho=V.getAugmentedNamespace(Po);var jo=Me.exports,mt;function Dt(){return mt||(mt=1,(function(e,t){(function(r,o){e.exports=o()})(jo,function(){var r=r||(function(o,u){var l;if(typeof window<"u"&&window.crypto&&(l=window.crypto),typeof self<"u"&&self.crypto&&(l=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(l=globalThis.crypto),!l&&typeof window<"u"&&window.msCrypto&&(l=window.msCrypto),!l&&typeof V.commonjsGlobal<"u"&&V.commonjsGlobal.crypto&&(l=V.commonjsGlobal.crypto),!l&&typeof Bo=="function")try{l=Ho}catch{}var c=function(){if(l){if(typeof l.getRandomValues=="function")try{return l.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof l.randomBytes=="function")try{return l.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},S=Object.create||(function(){function n(){}return function(i){var p;return n.prototype=i,p=new n,n.prototype=null,p}})(),g={},v=g.lib={},d=v.Base=(function(){return{extend:function(n){var i=S(this);return n&&i.mixIn(n),(!i.hasOwnProperty("init")||this.init===i.init)&&(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),b=v.WordArray=d.extend({init:function(n,i){n=this.words=n||[],i!=u?this.sigBytes=i:this.sigBytes=n.length*4},toString:function(n){return(n||y).stringify(this)},concat:function(n){var i=this.words,p=n.words,h=this.sigBytes,C=n.sigBytes;if(this.clamp(),h%4)for(var x=0;x<C;x++){var _=p[x>>>2]>>>24-x%4*8&255;i[h+x>>>2]|=_<<24-(h+x)%4*8}else for(var M=0;M<C;M+=4)i[h+M>>>2]=p[M>>>2];return this.sigBytes+=C,this},clamp:function(){var n=this.words,i=this.sigBytes;n[i>>>2]&=4294967295<<32-i%4*8,n.length=o.ceil(i/4)},clone:function(){var n=d.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var i=[],p=0;p<n;p+=4)i.push(c());return new b.init(i,n)}}),m=g.enc={},y=m.Hex={stringify:function(n){for(var i=n.words,p=n.sigBytes,h=[],C=0;C<p;C++){var x=i[C>>>2]>>>24-C%4*8&255;h.push((x>>>4).toString(16)),h.push((x&15).toString(16))}return h.join("")},parse:function(n){for(var i=n.length,p=[],h=0;h<i;h+=2)p[h>>>3]|=parseInt(n.substr(h,2),16)<<24-h%8*4;return new b.init(p,i/2)}},w=m.Latin1={stringify:function(n){for(var i=n.words,p=n.sigBytes,h=[],C=0;C<p;C++){var x=i[C>>>2]>>>24-C%4*8&255;h.push(String.fromCharCode(x))}return h.join("")},parse:function(n){for(var i=n.length,p=[],h=0;h<i;h++)p[h>>>2]|=(n.charCodeAt(h)&255)<<24-h%4*8;return new b.init(p,i)}},a=m.Utf8={stringify:function(n){try{return decodeURIComponent(escape(w.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return w.parse(unescape(encodeURIComponent(n)))}},s=v.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new b.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=a.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var i,p=this._data,h=p.words,C=p.sigBytes,x=this.blockSize,_=x*4,M=C/_;n?M=o.ceil(M):M=o.max((M|0)-this._minBufferSize,0);var $=M*x,D=o.min($*4,C);if($){for(var k=0;k<$;k+=x)this._doProcessBlock(h,k);i=h.splice(0,$),p.sigBytes-=D}return new b.init(i,D)},clone:function(){var n=d.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});v.Hasher=s.extend({cfg:d.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){s.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){n&&this._append(n);var i=this._doFinalize();return i},blockSize:16,_createHelper:function(n){return function(i,p){return new n.init(p).finalize(i)}},_createHmacHelper:function(n){return function(i,p){return new f.HMAC.init(n,p).finalize(i)}}});var f=g.algo={};return g})(Math);return r})})(Me)),Me.exports}var qo=_e.exports,ht;function zo(){return ht||(ht=1,(function(e,t){(function(r,o){e.exports=o(Dt())})(qo,function(r){return(function(){var o=r,u=o.lib,l=u.WordArray,c=o.enc;c.Base64={stringify:function(g){var v=g.words,d=g.sigBytes,b=this._map;g.clamp();for(var m=[],y=0;y<d;y+=3)for(var w=v[y>>>2]>>>24-y%4*8&255,a=v[y+1>>>2]>>>24-(y+1)%4*8&255,s=v[y+2>>>2]>>>24-(y+2)%4*8&255,f=w<<16|a<<8|s,n=0;n<4&&y+n*.75<d;n++)m.push(b.charAt(f>>>6*(3-n)&63));var i=b.charAt(64);if(i)for(;m.length%4;)m.push(i);return m.join("")},parse:function(g){var v=g.length,d=this._map,b=this._reverseMap;if(!b){b=this._reverseMap=[];for(var m=0;m<d.length;m++)b[d.charCodeAt(m)]=m}var y=d.charAt(64);if(y){var w=g.indexOf(y);w!==-1&&(v=w)}return S(g,v,b)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function S(g,v,d){for(var b=[],m=0,y=0;y<v;y++)if(y%4){var w=d[g.charCodeAt(y-1)]<<y%4*2,a=d[g.charCodeAt(y)]>>>6-y%4*2,s=w|a;b[m>>>2]|=s<<24-m%4*8,m++}return l.create(b,m)}})(),r.enc.Base64})})(_e)),_e.exports}var Vo=zo();const Go=V.getDefaultExportFromCjs(Vo);var $e={exports:{}},Wo=$e.exports,yt;function Ko(){return yt||(yt=1,(function(e,t){(function(r,o){e.exports=o(Dt())})(Wo,function(r){return(function(o){var u=r,l=u.lib,c=l.WordArray,S=l.Hasher,g=u.algo,v=[],d=[];(function(){function y(f){for(var n=o.sqrt(f),i=2;i<=n;i++)if(!(f%i))return!1;return!0}function w(f){return(f-(f|0))*4294967296|0}for(var a=2,s=0;s<64;)y(a)&&(s<8&&(v[s]=w(o.pow(a,1/2))),d[s]=w(o.pow(a,1/3)),s++),a++})();var b=[],m=g.SHA256=S.extend({_doReset:function(){this._hash=new c.init(v.slice(0))},_doProcessBlock:function(y,w){for(var a=this._hash.words,s=a[0],f=a[1],n=a[2],i=a[3],p=a[4],h=a[5],C=a[6],x=a[7],_=0;_<64;_++){if(_<16)b[_]=y[w+_]|0;else{var M=b[_-15],$=(M<<25|M>>>7)^(M<<14|M>>>18)^M>>>3,D=b[_-2],k=(D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10;b[_]=$+b[_-7]+k+b[_-16]}var I=p&h^~p&C,G=s&f^s&n^f&n,W=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),J=(p<<26|p>>>6)^(p<<21|p>>>11)^(p<<7|p>>>25),oe=x+J+I+d[_]+b[_],Q=W+G;x=C,C=h,h=p,p=i+oe|0,i=n,n=f,f=s,s=oe+Q|0}a[0]=a[0]+s|0,a[1]=a[1]+f|0,a[2]=a[2]+n|0,a[3]=a[3]+i|0,a[4]=a[4]+p|0,a[5]=a[5]+h|0,a[6]=a[6]+C|0,a[7]=a[7]+x|0},_doFinalize:function(){var y=this._data,w=y.words,a=this._nDataBytes*8,s=y.sigBytes*8;return w[s>>>5]|=128<<24-s%32,w[(s+64>>>9<<4)+14]=o.floor(a/4294967296),w[(s+64>>>9<<4)+15]=a,y.sigBytes=w.length*4,this._process(),this._hash},clone:function(){var y=S.clone.call(this);return y._hash=this._hash.clone(),y}});u.SHA256=S._createHelper(m),u.HmacSHA256=S._createHmacHelper(m)})(Math),r.SHA256})})($e)),$e.exports}var Zo=Ko();const Jo=V.getDefaultExportFromCjs(Zo);var De={exports:{}},Xo=De.exports,vt;function Qo(){return vt||(vt=1,(function(e,t){(function(r,o){e.exports=o()})(Xo,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,u=/\d/,l=/\d\d/,c=/\d\d?/,S=/\d*[^-_:/,()\s\d]+/,g={},v=function(s){return(s=+s)+(s>68?1900:2e3)},d=function(s){return function(f){this[s]=+f}},b=[/[+-]\d\d:?(\d\d)?|Z/,function(s){(this.zone||(this.zone={})).offset=(function(f){if(!f||f==="Z")return 0;var n=f.match(/([+-]|\d\d)/g),i=60*n[1]+(+n[2]||0);return i===0?0:n[0]==="+"?-i:i})(s)}],m=function(s){var f=g[s];return f&&(f.indexOf?f:f.s.concat(f.f))},y=function(s,f){var n,i=g.meridiem;if(i){for(var p=1;p<=24;p+=1)if(s.indexOf(i(p,0,f))>-1){n=p>12;break}}else n=s===(f?"pm":"PM");return n},w={A:[S,function(s){this.afternoon=y(s,!1)}],a:[S,function(s){this.afternoon=y(s,!0)}],Q:[u,function(s){this.month=3*(s-1)+1}],S:[u,function(s){this.milliseconds=100*+s}],SS:[l,function(s){this.milliseconds=10*+s}],SSS:[/\d{3}/,function(s){this.milliseconds=+s}],s:[c,d("seconds")],ss:[c,d("seconds")],m:[c,d("minutes")],mm:[c,d("minutes")],H:[c,d("hours")],h:[c,d("hours")],HH:[c,d("hours")],hh:[c,d("hours")],D:[c,d("day")],DD:[l,d("day")],Do:[S,function(s){var f=g.ordinal,n=s.match(/\d+/);if(this.day=n[0],f)for(var i=1;i<=31;i+=1)f(i).replace(/\[|\]/g,"")===s&&(this.day=i)}],w:[c,d("week")],ww:[l,d("week")],M:[c,d("month")],MM:[l,d("month")],MMM:[S,function(s){var f=m("months"),n=(m("monthsShort")||f.map((function(i){return i.slice(0,3)}))).indexOf(s)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[S,function(s){var f=m("months").indexOf(s)+1;if(f<1)throw new Error;this.month=f%12||f}],Y:[/[+-]?\d+/,d("year")],YY:[l,function(s){this.year=v(s)}],YYYY:[/\d{4}/,d("year")],Z:b,ZZ:b};function a(s){var f,n;f=s,n=g&&g.formats;for(var i=(s=f.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function($,D,k){var I=k&&k.toUpperCase();return D||n[k]||r[k]||n[I].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(G,W,J){return W||J.slice(1)}))}))).match(o),p=i.length,h=0;h<p;h+=1){var C=i[h],x=w[C],_=x&&x[0],M=x&&x[1];i[h]=M?{regex:_,parser:M}:C.replace(/^\[|\]$/g,"")}return function($){for(var D={},k=0,I=0;k<p;k+=1){var G=i[k];if(typeof G=="string")I+=G.length;else{var W=G.regex,J=G.parser,oe=$.slice(I),Q=W.exec(oe)[0];J.call(D,Q),$=$.replace(Q,"")}}return(function(ne){var be=ne.afternoon;if(be!==void 0){var Y=ne.hours;be?Y<12&&(ne.hours+=12):Y===12&&(ne.hours=0),delete ne.afternoon}})(D),D}}return function(s,f,n){n.p.customParseFormat=!0,s&&s.parseTwoDigitYear&&(v=s.parseTwoDigitYear);var i=f.prototype,p=i.parse;i.parse=function(h){var C=h.date,x=h.utc,_=h.args;this.$u=x;var M=_[1];if(typeof M=="string"){var $=_[2]===!0,D=_[3]===!0,k=$||D,I=_[2];D&&(I=_[2]),g=this.$locale(),!$&&I&&(g=n.Ls[I]),this.$d=(function(oe,Q,ne,be){try{if(["x","X"].indexOf(Q)>-1)return new Date((Q==="X"?1e3:1)*oe);var Y=a(Q)(oe),Re=Y.year,Se=Y.month,Oo=Y.day,No=Y.hours,Ao=Y.minutes,Ro=Y.seconds,Yo=Y.milliseconds,pt=Y.zone,gt=Y.week,Ye=new Date,Le=Oo||(Re||Se?1:Ye.getDate()),Be=Re||Ye.getFullYear(),Ce=0;Re&&!Se||(Ce=Se>0?Se-1:Ye.getMonth());var xe,Fe=No||0,Pe=Ao||0,He=Ro||0,je=Yo||0;return pt?new Date(Date.UTC(Be,Ce,Le,Fe,Pe,He,je+60*pt.offset*1e3)):ne?new Date(Date.UTC(Be,Ce,Le,Fe,Pe,He,je)):(xe=new Date(Be,Ce,Le,Fe,Pe,He,je),gt&&(xe=be(xe).week(gt).toDate()),xe)}catch{return new Date("")}})(C,M,x,n),this.init(),I&&I!==!0&&(this.$L=this.locale(I).$L),k&&C!=this.format(M)&&(this.$d=new Date("")),g={}}else if(M instanceof Array)for(var G=M.length,W=1;W<=G;W+=1){_[1]=M[W-1];var J=n.apply(this,_);if(J.isValid()){this.$d=J.$d,this.$L=J.$L,this.init();break}W===G&&(this.$d=new Date(""))}else p.call(this,h)}}}))})(De)),De.exports}var en=Qo();const tn=V.getDefaultExportFromCjs(en);var Ue={exports:{}},rn=Ue.exports,wt;function on(){return wt||(wt=1,(function(e,t){(function(r,o){e.exports=o()})(rn,(function(){var r="month",o="quarter";return function(u,l){var c=l.prototype;c.quarter=function(v){return this.$utils().u(v)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(v-1))};var S=c.add;c.add=function(v,d){return v=Number(v),this.$utils().p(d)===o?this.add(3*v,r):S.bind(this)(v,d)};var g=c.startOf;c.startOf=function(v,d){var b=this.$utils(),m=!!b.u(d)||d;if(b.p(v)===o){var y=this.quarter()-1;return m?this.month(3*y).startOf(r).startOf("day"):this.month(3*y+2).endOf(r).endOf("day")}return g.bind(this)(v,d)}}}))})(Ue)),Ue.exports}var nn=on();const sn=V.getDefaultExportFromCjs(nn);var ke={exports:{}},an=ke.exports,bt;function cn(){return bt||(bt=1,(function(e,t){(function(r,o){e.exports=o()})(an,(function(){return function(r,o,u){r=r||{};var l=o.prototype,c={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function S(v,d,b,m){return l.fromToBase(v,d,b,m)}u.en.relativeTime=c,l.fromToBase=function(v,d,b,m,y){for(var w,a,s,f=b.$locale().relativeTime||c,n=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],i=n.length,p=0;p<i;p+=1){var h=n[p];h.d&&(w=m?u(v).diff(b,h.d,!0):b.diff(v,h.d,!0));var C=(r.rounding||Math.round)(Math.abs(w));if(s=w>0,C<=h.r||!h.r){C<=1&&p>0&&(h=n[p-1]);var x=f[h.l];y&&(C=y(""+C)),a=typeof x=="string"?x.replace("%d",C):x(C,d,h.l,s);break}}if(d)return a;var _=s?f.future:f.past;return typeof _=="function"?_(a):_.replace("%s",a)},l.to=function(v,d){return S(v,d,this,!0)},l.from=function(v,d){return S(v,d,this)};var g=function(v){return v.$u?u.utc():u()};l.toNow=function(v){return this.to(g(this),v)},l.fromNow=function(v){return this.from(g(this),v)}}}))})(ke)),ke.exports}var un=cn();const ln=V.getDefaultExportFromCjs(un);var Ee={exports:{}},dn=Ee.exports,St;function fn(){return St||(St=1,(function(e,t){(function(r,o){e.exports=o()})(dn,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(u,l,c){var S,g=function(m,y,w){w===void 0&&(w={});var a=new Date(m),s=(function(f,n){n===void 0&&(n={});var i=n.timeZoneName||"short",p=f+"|"+i,h=o[p];return h||(h=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:f,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),o[p]=h),h})(y,w);return s.formatToParts(a)},v=function(m,y){for(var w=g(m,y),a=[],s=0;s<w.length;s+=1){var f=w[s],n=f.type,i=f.value,p=r[n];p>=0&&(a[p]=parseInt(i,10))}var h=a[3],C=h===24?0:h,x=a[0]+"-"+a[1]+"-"+a[2]+" "+C+":"+a[4]+":"+a[5]+":000",_=+m;return(c.utc(x).valueOf()-(_-=_%1e3))/6e4},d=l.prototype;d.tz=function(m,y){m===void 0&&(m=S);var w,a=this.utcOffset(),s=this.toDate(),f=s.toLocaleString("en-US",{timeZone:m}),n=Math.round((s-new Date(f))/1e3/60),i=15*-Math.round(s.getTimezoneOffset()/15)-n;if(!Number(i))w=this.utcOffset(0,y);else if(w=c(f,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(i,!0),y){var p=w.utcOffset();w=w.add(a-p,"minute")}return w.$x.$timezone=m,w},d.offsetName=function(m){var y=this.$x.$timezone||c.tz.guess(),w=g(this.valueOf(),y,{timeZoneName:m}).find((function(a){return a.type.toLowerCase()==="timezonename"}));return w&&w.value};var b=d.startOf;d.startOf=function(m,y){if(!this.$x||!this.$x.$timezone)return b.call(this,m,y);var w=c(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return b.call(w,m,y).tz(this.$x.$timezone,!0)},c.tz=function(m,y,w){var a=w&&y,s=w||y||S,f=v(+c(),s);if(typeof m!="string")return c(m).tz(s);var n=(function(C,x,_){var M=C-60*x*1e3,$=v(M,_);if(x===$)return[M,x];var D=v(M-=60*($-x)*1e3,_);return $===D?[M,$]:[C-60*Math.min($,D)*1e3,Math.max($,D)]})(c.utc(m,a).valueOf(),f,s),i=n[0],p=n[1],h=c(i).utcOffset(p);return h.$x.$timezone=s,h},c.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},c.tz.setDefault=function(m){S=m}}}))})(Ee)),Ee.exports}var pn=fn();const gn=V.getDefaultExportFromCjs(pn);var Te={exports:{}},mn=Te.exports,Ct;function hn(){return Ct||(Ct=1,(function(e,t){(function(r,o){e.exports=o()})(mn,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,u=/([+-]|\d\d)/g;return function(l,c,S){var g=c.prototype;S.utc=function(a){var s={date:a,utc:!0,args:arguments};return new c(s)},g.utc=function(a){var s=S(this.toDate(),{locale:this.$L,utc:!0});return a?s.add(this.utcOffset(),r):s},g.local=function(){return S(this.toDate(),{locale:this.$L,utc:!1})};var v=g.parse;g.parse=function(a){a.utc&&(this.$u=!0),this.$utils().u(a.$offset)||(this.$offset=a.$offset),v.call(this,a)};var d=g.init;g.init=function(){if(this.$u){var a=this.$d;this.$y=a.getUTCFullYear(),this.$M=a.getUTCMonth(),this.$D=a.getUTCDate(),this.$W=a.getUTCDay(),this.$H=a.getUTCHours(),this.$m=a.getUTCMinutes(),this.$s=a.getUTCSeconds(),this.$ms=a.getUTCMilliseconds()}else d.call(this)};var b=g.utcOffset;g.utcOffset=function(a,s){var f=this.$utils().u;if(f(a))return this.$u?0:f(this.$offset)?b.call(this):this.$offset;if(typeof a=="string"&&(a=(function(h){h===void 0&&(h="");var C=h.match(o);if(!C)return null;var x=(""+C[0]).match(u)||["-",0,0],_=x[0],M=60*+x[1]+ +x[2];return M===0?0:_==="+"?M:-M})(a),a===null))return this;var n=Math.abs(a)<=16?60*a:a;if(n===0)return this.utc(s);var i=this.clone();if(s)return i.$offset=n,i.$u=!1,i;var p=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(i=this.local().add(n+p,r)).$offset=n,i.$x.$localOffset=p,i};var m=g.format;g.format=function(a){var s=a||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return m.call(this,s)},g.valueOf=function(){var a=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*a},g.isUTC=function(){return!!this.$u},g.toISOString=function(){return this.toDate().toISOString()},g.toString=function(){return this.toDate().toUTCString()};var y=g.toDate;g.toDate=function(a){return a==="s"&&this.$offset?S(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var w=g.diff;g.diff=function(a,s,f){if(a&&this.$u===a.$u)return w.call(this,a,s,f);var n=this.local(),i=S(a).local();return w.call(n,i,s,f)}}}))})(Te)),Te.exports}var yn=hn();const vn=V.getDefaultExportFromCjs(yn),Ut="ui_theme",kt=e=>typeof e=="string",Et=e=>typeof e=="number"&&!isNaN(e),Tt=e=>typeof e=="boolean",It=e=>typeof e=="function",Ot=e=>e!==null&&typeof e=="object",Nt=e=>Array.isArray(e),At=e=>e===null,Rt=e=>e===void 0,Yt=e=>e==null,Lt=(e,t)=>{let r=0;return(...o)=>{const u=Date.now();u-r>=t&&(r=u,e(...o))}},Bt=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},Ft=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},he=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},Pt=()=>he()==="mobile",Ht=()=>he()==="tablet",jt=()=>he()==="desktop",qt=()=>{const e=new Uint32Array(1);return crypto.getRandomValues(e),"#"+(e[0]&16777215).toString(16).padStart(6,"0")},ye=e=>!e||e.length===0,zt=e=>[...new Set(e)],Vt=e=>{if(!ye(e))return Math.max(...e)},Gt=e=>{if(!ye(e))return Math.min(...e)},Wt=e=>{if(!ye(e))return e.reduce((t,r)=>t+r,0)/e.length},Kt=e=>e.reduce((t,r)=>t+r,0),Zt=(e,t)=>e.filter(t).length,Jt=e=>[...e].reverse(),Xt=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},Qt=(e,t)=>(()=>{if(typeof crypto<"u"&&crypto.getRandomValues){const o=new Uint32Array(1);return crypto.getRandomValues(o),o[0]/4294967295}else{const{randomBytes:o}=require("crypto");return o(4).readUInt32BE(0)/4294967295}})()*(t-e)+e,er=(e,t,r)=>Math.min(Math.max(e,t),r),tr=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),rr=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},or=(e,t)=>{try{const r=sessionStorage.getItem(e);return r?JSON.parse(r):t||null}catch(r){return console.error("Error reading from sessionStorage:",r),t||null}},nr=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},sr=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},ar=(e,t,r=30)=>{const o=new Date;o.setTime(o.getTime()+r*24*60*60*1e3),document.cookie=`${e}=${t};expires=${o.toUTCString()};path=/`},ir=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let u=r[o];for(;u.charAt(0)===" ";)u=u.substring(1,u.length);if(u.indexOf(t)===0)return u.substring(t.length,u.length)}return null},cr=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},Ze=e=>typeof e!="string"?!e:e.trim().length===0,ur=(e,t)=>Ze(e)?t:e||"",lr=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),dr=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),fr=e=>{try{return new URL(e),!0}catch{return!1}},pr=(e,t,r=" ")=>e.padStart(t,r),gr=(e,t,r=" ")=>e.padEnd(t,r),Je=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{if(!t||t.length===0)throw new Error("chars must not be empty.");const r=t.length,o=[],u=()=>{if(typeof crypto<"u"&&crypto.getRandomValues){const c=new Uint32Array(1);return crypto.getRandomValues(c),c[0]%r}const{randomBytes:l}=require("crypto");return l(4).readUInt32BE(0)%r};for(let l=0;l<e;l++)o.push(t[u()]);return o.join("")},Xe=()=>{if(typeof crypto<"u"&&"randomUUID"in crypto)return crypto.randomUUID();let e;if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")e=new Uint8Array(16),crypto.getRandomValues(e);else{const{randomBytes:r}=require("crypto");e=Uint8Array.from(r(16))}e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=Array.from(e,r=>r.toString(16).padStart(2,"0")).join("");return t.slice(0,8)+"-"+t.slice(8,12)+"-"+t.slice(12,16)+"-"+t.slice(16,20)+"-"+t.slice(20)},Ne=(e=32)=>{const r=Xe().replace(/-/g,"");return e>=32?r+Je(e-32,"0123456789abcdef"):r.substring(0,e)};async function mr(e){return Jo(e).toString(Go)}T.extend(ln);T.extend(vn);T.extend(gn);T.locale("ko");T.extend(tn);T.extend(sn);const re="YYYYMMDD",Qe=()=>T(),et=(e=re)=>tt(Qe(),e),tt=(e,t=re)=>T(e).format(t),ve=(e,t=re)=>T(e,t,!0).isValid(),hr=e=>ve(e,"YYYYMMDD"),yr=e=>ve(e,"YYYY"),vr=e=>ve(e,"YYYYMM"),wr=(e,t="month",r=re)=>T(e).startOf(t).format(r),br=(e,t="month",r=re)=>T(e).endOf(t).format(r),Sr=(e,t,r="day",o=re)=>T(e).add(t,r).format(o),Cr=(e,t,r="day")=>T(e).diff(T(t),r);let xr={};const _r=e=>{xr=e},ee=()=>xr,Mr=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_FMT:re,THEME_COOKIE_NAME:Ut,add:Sr,arrAverage:Wt,arrCount:Zt,arrMax:Vt,arrMin:Gt,arrReverse:Jt,arrSum:Kt,arrUnique:zt,clamp:er,clearSessionStorage:sr,copyToClipboard:Ft,debounce:Bt,deleteCookie:cr,diff:Cr,duplicates:Xt,encryptSha256:mr,endOf:br,format:tt,generateRandomColor:qt,generateRandomString:Je,generateUID:Ne,generateUUIDv4:Xe,getApiDeps:ee,getCookie:ir,getDeviceType:he,getSessionStorage:or,getTodateString:et,initApiDeps:_r,isArray:Nt,isBoolean:Tt,isDesktop:jt,isEmpty:Ze,isEmptyArray:ye,isFunction:It,isMobile:Pt,isNull:At,isNullOrUndefined:Yt,isNumber:Et,isObject:Ot,isSafeEmpty:ur,isString:kt,isTablet:Ht,isUndefined:Rt,isValid:ve,isValidDate:hr,isValidEmail:dr,isValidUrl:fr,isValidYear:yr,isValidYearMonth:vr,now:Qe,padLeft:pr,padRight:gr,random:Qt,removeSessionStorage:nr,round:tr,setCookie:ar,setSessionStorage:rr,startOf:wr,throttle:Lt,toCamelCase:lr},Symbol.toStringTag,{value:"Module"})),Ae=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let $r=[],Dr=[];function Ur(e){e.devHosts&&($r=e.devHosts),e.prodHosts&&(Dr=e.prodHosts)}function kr(){if(typeof window<"u"&&window.location)return window.location.hostname}const rt=(()=>{const e=kr();return!!(e&&$r.includes(e))})(),ot=(()=>{const e=kr();return!!(e&&Dr.includes(e))})();function Er(){return Ae?"X":rt?"D":ot?"P":"X"}const Tr=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:Ur,getEnvCode:Er,isDev:rt,isLocal:Ae,isProd:ot},Symbol.toStringTag,{value:"Module"})),K={duration:4.5,placement:"topRight"};class ue{constructor(){}static getInstance(){return ue.instance||(ue.instance=new ue),ue.instance}showBwgError(t){const{message:r,description:o,duration:u=K.duration,placement:l=K.placement}=t;E.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:u,placement:l,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){E.notification.success({message:`${t}`,description:r,duration:o||K.duration,placement:K.placement})}showInfo(t,r,o){E.notification.info({message:`${t}`,description:r,duration:o||K.duration,placement:K.placement})}showWarning(t,r,o){E.notification.warning({message:`${t}`,description:r,duration:o||K.duration,placement:K.placement})}showError(t,r,o){E.notification.error({message:`${t}`,description:r,duration:o||K.duration,placement:K.placement})}destroy(){E.notification.destroy()}close(t){E.notification.destroy()}}const X=ue.getInstance(),nt=e=>{X.showBwgError(e)},Ir=(e,t,r)=>{X.showSuccess(e,t,r)},st=(e,t,r)=>{X.showInfo(e,t,r)},at=(e,t,r)=>{X.showWarning(e,t,r)},Or=(e,t,r)=>{X.showError(e,t,r)},Nr=()=>{X.destroy()},Ar=e=>{X.close(e)},Rr=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:Ar,destroyNotifications:Nr,notiBwgError:nt,notiError:Or,notiInfo:st,notiSuccess:Ir,notiWarning:at,notificationService:X},Symbol.toStringTag,{value:"Module"})),le=()=>U.useUserStore.getState().user?.crprCd||null,ge=()=>{const e=U.useUserStore.getState().user,t=U.useUserStore.getState().hrInfo;return e?.userId||t?.empNo||null},it=()=>U.useUserStore.getState().user?.userNm||null,Yr=()=>U.useUserStore.getState().user?.userDvsn||null,Lr=()=>U.useUserStore.getState().user?.emplNo||null,me=()=>{const e=U.useUserStore.getState().hrInfo,t=U.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},Br=()=>U.useUserStore.getState().hrInfo?.fullDeptCd||null,ct=()=>U.useUserStore.getState().hrInfo?.deptNm||null,Fr=()=>U.useUserStore.getState().hrInfo?.fullDeptNm||null,we=()=>U.useUserStore.getState().user?.roleList||null,Pr=e=>{const t=we();return t?t.includes(e):!1},Hr=e=>{const t=we();return t?e.some(r=>t.includes(r)):!1},jr=e=>{const t=we();return t?e.every(r=>t.includes(r)):!1},qr=()=>U.useUserStore.getState().isLoggedIn(),de=()=>U.useUserStore.getState().user,zr=()=>de()!==null,Vr=()=>{const e=it(),t=ge();return e||t||null},Gr=()=>{const e=ct(),t=me();return e||(t?String(t):null)},ie=()=>U.useUserStore.getState().hrInfo,Wr=()=>ie()?.jbpsCd||null,Kr=()=>ie()?.jbgdCd||null,Zr=()=>ie()?.jbdtCd||null,Jr=()=>ie()?.jbkdCd||null,Xr=()=>ie()?.wkplCd||null,Qr=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:le,getDepartmentInfo:Gr,getDisplayName:Vr,getDprtCd:me,getDprtNm:ct,getEmplNo:Lr,getFullDprtCd:Br,getFullDprtNm:Fr,getHrInfo:ie,getJbdtCd:Zr,getJbgdCd:Kr,getJbkdCd:Jr,getJbpsCd:Wr,getRoleList:we,getUserDvsn:Yr,getUserId:ge,getUserInfo:de,getUserNm:it,getWkplCd:Xr,hasAllRoles:jr,hasAnyRole:Hr,hasRole:Pr,hasUserInfo:zr,isLoggedIn:qr},Symbol.toStringTag,{value:"Module"}));class te extends Error{constructor(t,r,o,u,l){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=u,this.errorType=l,Error.captureStackTrace&&Error.captureStackTrace(this,te)}}let se=null;const qe={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},Ie=Ge.create({timeout:qe.timeout,withCredentials:qe.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":Ne()}});Ie.interceptors.request.use(e=>{const t=ee();e.showLoading&&!e.isPopup&&t.showLoading?.(),e.showLoading&&e.isPopup&&t.showPopupLoading?.();let r="UNKNOWN";new Date().getTime();try{e.data&&e.data.header?r=e.data.header.trxCd||"UNKNOWN":e.params&&e.params.header&&(r=e.params.header.trxCd||"UNKNOWN")}catch(u){console.warn("trxCd/guid 추출 실패:",u)}e.trxCd=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${r} / 서비스요청자: ${de()?.userId}]`);const o=localStorage.getItem("accessToken");return o&&(e.headers.Authorization=`Bearer ${o}`),e.headers["Content-Type"]="application/json; charset=UTF-8",e.headers.Accept="application/json; charset=UTF-8",e},e=>(console.error("❌ 요청 인터셉터 에러:",e),Promise.reject(e)));Ie.interceptors.response.use(e=>{const t=ee();e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config.isPopup&&t.hidePopupLoading?.();let r="UNKNOWN",o="UNKNOWN";const u=new Date().getTime();try{e.config.trxCd&&(r=e.config.trxCd),e.config.guid?o=e.config.guid:e.data&&e.data.header&&e.data.header.trxCd?(r=e.data.header.trxCd,o=e.data.header.guid||"UNKNOWN"):e.config.data&&e.config.data.header?(r=e.config.data.header.trxCd||"UNKNOWN",o=e.config.data.header.guid||"UNKNOWN"):e.config.params&&e.config.params.header&&(r=e.config.params.header.trxCd||"UNKNOWN",o=e.config.params.header.guid||"UNKNOWN")}catch(c){console.warn("trxCd/guid 추출 실패:",c)}let l=0;return e.config.requestStartTime&&(l=u-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${o}] - (소요시간: ${l}ms)`),e},async e=>{const t=ee();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),Ae&&console.error("🚨 Error Details:",{message:e.message,status:e.response?.status,statusText:e.response?.statusText,data:e.response?.data,config:{url:e.config?.url,method:e.config?.method,baseURL:e.config?.baseURL}}),e.response?.status===401){const r=localStorage.getItem("refreshToken");if(r)try{const o=await Ge.post("/auth/refresh",{refreshToken:r});if(o.data.accessToken){localStorage.setItem("accessToken",o.data.accessToken);const u=e.config;if(u)return u.headers.Authorization=`Bearer ${o.data.accessToken}`,Ie(u)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const wn=async()=>{if(se===null){const e=Date.now();await lt();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},bn=(e,t,r,o)=>{const l=ee().getActiveMenuId?.();return{header:{trxCd:e,userInfo:de(),clientIp:r,domainId:"DEFAULT",sysCd:o?.sysCd,appItCd:o?.appItCd,appCd:o?.appCd,screenId:l},data:t}},Sn=(e,t,r)=>{const o={method:t.method,url:e,timeout:t.timeout,withCredentials:t.withCredentials,showLoading:t.showLoading,isPopup:t.isPopup,headers:{...t.headers||{}}};return t.method==="GET"?(o.params=r||t.params,t.params&&(o.params=t.params)):(o.data=r||t.data,t.params&&(o.params=t.params)),o},Cn=async(e,t)=>{let r;const o=t.retryCount||0,u=t.retryDelay||1e3;for(let l=0;l<=o;l++)try{const c=await Ie(e);if(c.data?.header?.resCd==0)return _n(c.data);const S=c.data?.header||{},g=S?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",v=S?.msgs?.detailMsgs||g,d=S?.msgCd,b=S?.msgs?.type;throw new te(g,v,c,d,b)}catch(c){if(r=xn(c),c?.isAxiosError&&$n(c)&&l<o){await Dn(u);continue}break}throw r?(Mn(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},xn=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,u=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",l=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||u,c=o?.header?.msgCd,S=o?.header?.msgs?.type;return new te(u,l,r,c,S)}return e instanceof te,e},_n=e=>{if(!e||typeof e!="object")return{};for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t!=="header")return e[t];return{}},Mn=(e,t)=>{if(!t.showError)return;const r=e instanceof te,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",u=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",l=r?e.detailMsg:e.message,c=r?e.errorType:"";u&&u.startsWith?.("BXM")?nt({message:o,description:l,duration:5}):c==="I"?st(o,l,5):at(o,l,5)},ut=async(e,t,r,o,u)=>{const c=ee().findSystemByAppCd?.(u??__APP_CD__)||{sysCd:__SYS_CD__};(!c||!c.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",u),await wn();const S={...qe,...o},g=bn(t,r,dt()||"unknown",c),v=Sn(e,S,g);try{return await Cn(v,S)}catch(d){throw console.error("callService 최종 에러:",d),d}},$n=e=>!e.response||e.response.status>=500&&e.response.status<600,Dn=e=>new Promise(t=>setTimeout(t,e)),lt=async e=>{if(se===null)if(e===void 0)try{let r=(await Ge.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),se=r}catch(t){console.warn("IP 가져오기 실패:",t),se="unknown"}else se=e},dt=()=>se,eo=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),se||"unknown"),ae=async(e,t,r)=>ut("/api/service",e,t,r),to=async(e,t,r)=>ut("/api/service",e.trxCd,t,r,e.appCd),ro=async(e,t,r)=>{const u=ee().findSystemByAppCd?.(e.appCd??__APP_CD__);return!u||!u.sysCd?(console.error("해당 앱코드는 존재하지 않습니다.",e.appCd),Promise.reject(new Error("해당 앱코드는 존재하지 않습니다 ."))):ut("/api/service",e.trxCd,t,{...r,headers:{...r?.headers,sysCd:u?.sysCd}},e.appCd)},oo=async(e,t,r)=>{try{const o=await fetch("/api/permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e,menuId:t,popupId:r})});if(!o.ok)throw new Error(`권한 확인 실패: ${o.status}`);return await o.json()}catch(o){throw console.error("권한 확인 서비스 오류:",o),o}},no=Object.freeze(Object.defineProperty({__proto__:null,ApiError:te,callEndpoint:to,callService:ae,callServiceByAppCd:ro,getClientIp:dt,getPermissionService:oo,setClientIp:lt,verifyClientIp:eo},Symbol.toStringTag,{value:"Module"})),so=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),u=URL.createObjectURL(o),l=document.createElement("a");l.href=u,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(u)};async function ao(e){try{return await ae("SCMFILE00101",{crprCd:de()?.crprCd,sysCd:__SYS_CD__,fileKey:e}).then(r=>{let o;if(r.sub&&(o=r.sub[0]),console.log(r),console.log(o),!o.lgclFileNm)throw console.error("논리파일명이 없습니다."),new Error("논리 파일명 누락");if(!o.filePath)throw console.error("파일 경로가 없습니다."),new Error("파일 경로 누락");const u=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(u,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const io=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:ao,downloadFile:so},Symbol.toStringTag,{value:"Module"}));var ce={},xt;function Un(){if(xt)return ce;xt=1;var e=Lo;if(process.env.NODE_ENV==="production")ce.createRoot=e.createRoot,ce.hydrateRoot=e.hydrateRoot;else{var t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;ce.createRoot=function(r,o){t.usingClientEntryPoint=!0;try{return e.createRoot(r,o)}finally{t.usingClientEntryPoint=!1}},ce.hydrateRoot=function(r,o,u){t.usingClientEntryPoint=!0;try{return e.hydrateRoot(r,o,u)}finally{t.usingClientEntryPoint=!1}}}return ce}var kn=Un();const co=e=>({initContent(t){this._root=kn.createRoot(t)},render(t,r,o,u){const l=this._root;l&&e(t,r,o,u,l)},clearContent(t){},canClick(t){return!0},click(){return{}}}),uo=e=>U.useUserStore.getState().getGridLayouts(e),lo=(e,t,r)=>U.useUserStore.getState().getGridLayout(e,t,r),fo=(e,t,r,o)=>{U.useUserStore.getState().saveGridLayout(e,t,r,o)},po=(e,t,r)=>{U.useUserStore.getState().removeGridLayout(e,t,r)},go=e=>{U.useUserStore.getState().clearGridLayouts(e)},mo=()=>{U.useUserStore.getState().clearAllGridLayouts()},ho=Object.freeze(Object.defineProperty({__proto__:null,clearAllGridLayouts:mo,clearGridLayouts:go,createBwgGridRenderer:co,getGridLayout:lo,getGridLayouts:uo,removeGridLayout:po,saveGridLayout:fo},Symbol.toStringTag,{value:"Module"})),ft=(e,t=3)=>{E.message.success({content:e,duration:t})},fe=(e,t=5)=>{E.message.error({content:e,duration:t})},yo=(e,t=4)=>{E.message.warning({content:e,duration:t})},vo=(e,t=3)=>{E.message.info({content:e,duration:t})},wo=(e="처리중...")=>E.message.loading({content:e,duration:0}),bo=e=>{E.message.destroy(e)},So=()=>{E.message.destroy()},Co=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;fe(r)},xo=(e="저장")=>{ft(`${e}이 완료되었습니다.`)},_o=(e="저장")=>{fe(`${e} 중 오류가 발생했습니다.`)},Mo=e=>{fe(`이미 사용중인 ${e}입니다.`)},$o=e=>{fe(`${e}을(를) 입력해주세요.`)},Do=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:So,closeMessage:bo,showApiError:Co,showDuplicateError:Mo,showError:fe,showInfo:vo,showLoading:wo,showRequiredError:$o,showSaveError:_o,showSaveSuccess:xo,showSuccess:ft,showWarning:yo},Symbol.toStringTag,{value:"Module"})),Uo={left:"left",near:"left",right:"right",far:"right",center:"center",number:"#,##0",number2:"#,##0.00",number3:"#,##0.##",number4:"#,##0.000",number5:"#,##0.#####",editNumber:{type:"number",editFormat:"#,##0"},editNumber2:{type:"number",editFormat:"#,##0.00"},editNumber3:{type:"number",editFormat:"#,##0.##"},editNumber4:{type:"number",editFormat:"#,##0.000"},editNumber5:{type:"number",editFormat:"#,##0.###"},editYmd:{type:"date",datetimeFormat:"yyyyMMdd",autoclose:!0,maxDate:"99991231",minDate:"19000101",showButtons:!1,mask:{editMask:"9999-99-99"}},editYm:{type:"btdate",datetimeFormat:"yyyyMM",btOptions:{startView:1,minViewMode:1,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0,mask:{editMask:"9999-99"}}},editYy:{type:"btdate",datetimeFormat:"yyyy",btOptions:{startView:2,minViewMode:2,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0}},formatYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",formatYm:"([0-9]{4})([0-9]{2});$1-$2",formatYy:"([0-9]{4});$1",lookup:{type:"dropdown",domainOnly:!0},lookupReadOnly:{type:"dropdown",readOnly:!0},maskCard:{type:"text",mask:"0000-0000-0000-0000"},formatMaskCard:"([0-9]{4})([0-9]{4})([0-9]{4})([0-9]{4});$1-$2-$3-$4",maskBsnsNo:{type:"text",mask:"000-00-00000"},formatMaskBsnsNo:"([0-9]{3})([0-9]{2})([0-9]{5});$1-$2-$3",maskRsdn:{type:"text",mask:"000000-0000000"},formatMaskRsdn:"([0-9]{6})([0-9]{7});$1-$2",formatMaskRsdn2:"([0-9]{6})([0-9])([0-9]{6});$1-$2******",maskRsdn2:{type:"text",mask:"999999-9999999"},maskYmd:{type:"text",mask:"0000-00-00"},formatMaskYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",maskYm:{type:"text",mask:"0000-00"},formatMaskYm:"([0-9]{4})([0-9]{2});$1-$2",maskYmdHms:{type:"text",mask:"0000-00-00 00:00:00"},formatYmdHms:"([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2});$1-$2-$3 $4:$5:$6",maskHm:{type:"text",mask:"00:00"},formatHm:"([0-9]{2})([0-9]{2});$1:$2",maskHms:{type:"text",mask:"00:00:00"},formatHms:"([0-9]{2})([0-9]{2})([0-9]{2});$1:$2:$3",checkY:{type:"check",trueValues:"Y",falseValues:"N"},checkN:{type:"check",trueValues:"N",falseValues:"Y"},check1:{type:"check",trueValues:"1",falseValues:"0"},checkTrue:{type:"check",trueValues:"true",falseValues:"false"},checkT:{type:"check",trueValues:"T",falseValues:"F"},checkYdisabled:{type:"check",editable:!1,trueValues:"Y",falseValues:"N"},checkNdisabled:{type:"check",editable:!1,trueValues:"N",falseValues:"Y"},check1disabled:{type:"check",editable:!1,trueValues:"1",falseValues:"0"},count:{suffix:" 건",expression:"count"},count2:{prefix:"총 ",suffix:" 건",expression:"count"},datacount:{suffix:" 건",expression:"datacount"},sum:{numberFormat:"#,##0",expression:"sum"},sum2:{numberFormat:"#,##0.##",expression:"sum"},sum3:{numberFormat:"#,##0.00",expression:"sum"},avg:{numberFormat:"#,##0",expression:"avg"},avg2:{numberFormat:"#,##0.##",expression:"avg"},avg4:{numberFormat:"#,##0.####",expression:"avg"},min:{expression:"min"},max:{expression:"max"},date:{type:"date",mask:{editMask:"9999-99-99",placeHolder:"____-__-__",includedFormat:!0},datetimeFormat:"yyyy-MM-dd",textAlignment:"center",yearNavigation:!0},dateStyle:{datetimeFormat:"yyyy-MM-dd",textAlignment:"center"},maskDateFull:{type:"text",mask:"0000-00-00 00:00:00",textAlignment:"center"},bg_gray01:{background:"#cdcdcd"}},ko=async e=>{if(e.map(t=>{t.status="uploading",t.percent=10,console.log(t)}),!e||!Array.isArray(e)||e.length===0){alert("업로드할 파일을 선택해주세요.");return}try{const t={remoteDir:"/home/krxuser/bkrx/files/testForGW",useOriginalName:"true"},r=e.map(async(c,S)=>{const g=new FormData;Object.entries(t).forEach(([b,m])=>{g.append(b,m)});const v=c.originFileObj;g.append("file",v);const d=await fetch("/api/gw-sftp",{method:"POST",body:g});return d.ok?(console.log(e),e.map(b=>b===c?{...b,status:"success",percent:100}:b)):c.status="done",{index:S,response:d,fileName:v.name}}),o=await Promise.all(r),u=o.filter(c=>c.response.ok).length,l=o.length-u;if(u===o.length)return alert(`${u}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${u}개 파일 업로드가 완료되었습니다.`,successCount:u,failCount:l};if(u>0){const c=`${u}개 성공, ${l}개 실패`;return alert(c),{result:"partial",message:c,successCount:u,failCount:l}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:u,failCount:l}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},En=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",openDraft:u=!0,fetchFilesTrxCd:l="SCMFILE00101"}=r||{},c=e??{},S=c.aprvKey||Ne(),g=c.docTitle||"제목없음";if(c.aprvKey){const m=await ae("SCMINTF00101",{crprCd:le(),sysCd:__SYS_CD__,aprvKey:S});if(Array.isArray(m?.sub)&&m.sub.length>=1)return console.log("이미 승인된 기안입니다."),u&&ze(S),{skipped:!0,alreadyDrafted:!0,draftedRes:m}}let v;if(t){const m=await ae(l,{crprCd:le(),sysCd:__SYS_CD__,fileGrpKey:t}),y=Array.isArray(m?.sub)?m.sub.filter(s=>s?.filePath&&s?.lgclFileNm).map(s=>({filePath:s.filePath,lgclFileNm:s.lgclFileNm})):[];console.log("@@ files",y);const w=y.map(async({filePath:s,lgclFileNm:f})=>{const n=`/api/download?filePath=${encodeURIComponent(s)}&logicalName=${encodeURIComponent(f)}`,i=await fetch(n,{method:"GET"});if(!i.ok)throw new Error(`다운로드 실패: ${f}`);const p=await i.blob();return{originFileObj:new File([p],f,{type:p.type||"application/octet-stream"}),name:f,status:"ready"}}),a=await Promise.all(w);if(y.length){const s=await ko(a);if(!s||s.result!=="success")throw new Error(s?.message||"파일 업로드 실패");v=a}}console.warn("@@ payloadData",c),console.log(c);const d={...c,crprCd:le(),aprvKey:S,sysCd:__SYS_CD__,draftDt:et("YYYYMMDD"),docTitle:g,emplNo:c.emplNo||ge(),dprtNo:c.dprtNo||me(),formId:"2023000022",fileInfoList:v,connInfo:{formId:"2023000022",bodyXml:c.bodyXml||"<div>test</div>",title:g,deptCd:c.dprtNo||me(),userId:c.emplNo||ge(),status:c.status||"INT"}},b=await ae(o,d);return u&&d?.aprvKey&&ze(S),{response:b,aprvKey:S}},ze=async(e,t)=>{if(!e)return console.warn("openGwDraftByAprvKey: aprvKey가 필요합니다."),{opened:!1,reason:"missing_aprvKey"};const{draftUrlBase:r="https://kgwd.krx.co.kr/ezConn/ezApprGate.do",windowFeatures:o="width=1000,height=600",requireExisting:u=!1}=t||{},l=await ae("SCMINTF00101",{crprCd:le(),sysCd:__SYS_CD__,aprvKey:e}),c=Array.isArray(l?.sub)&&l.sub.length>=1;if(u&&!c)return console.warn("openGwDraftByAprvKey: 기안 조회 결과 없음"),alert("기안 대상이 존재하지 않습니다."),{opened:!1,hasExisting:c};const S=l.sub[0];console.log("@@ data",S);const g=S?.dprtNo,v=S?.emplNo,d=S?.aprvKey,b=S?.formId;console.log("@@ deptCd",g),console.log("@@ userId",v),console.log("@@ keyId",d),console.log("@@ formId",b);const m=`${b}:${g}:${v}:${d}:SAMP`;console.log("@@ params",m);const y=new TextEncoder().encode(m),w=Array.from(y,s=>String.fromCharCode(s)).join(""),a=`${r}?connkey=${btoa(w)}`;return console.log("@@ url",a),window.open(a,"_blank",o),{opened:!0,hasExisting:c,url:a}},O=["#fff1f0","#ffccc7","#ffa39e","#ff7875","#ff4d4f","#f5222d","#cf1322","#a8071a","#820014","#5c0011"];O.primary=O[5];const L=["#fff2e8","#ffd8bf","#ffbb96","#ff9c6e","#ff7a45","#fa541c","#d4380d","#ad2102","#871400","#610b00"];L.primary=L[5];const B=["#fff7e6","#ffe7ba","#ffd591","#ffc069","#ffa940","#fa8c16","#d46b08","#ad4e00","#873800","#612500"];B.primary=B[5];const N=["#fffbe6","#fff1b8","#ffe58f","#ffd666","#ffc53d","#faad14","#d48806","#ad6800","#874d00","#613400"];N.primary=N[5];const F=["#feffe6","#ffffb8","#fffb8f","#fff566","#ffec3d","#fadb14","#d4b106","#ad8b00","#876800","#614700"];F.primary=F[5];const P=["#fcffe6","#f4ffb8","#eaff8f","#d3f261","#bae637","#a0d911","#7cb305","#5b8c00","#3f6600","#254000"];P.primary=P[5];const A=["#f6ffed","#d9f7be","#b7eb8f","#95de64","#73d13d","#52c41a","#389e0d","#237804","#135200","#092b00"];A.primary=A[5];const H=["#e6fffb","#b5f5ec","#87e8de","#5cdbd3","#36cfc9","#13c2c2","#08979c","#006d75","#00474f","#002329"];H.primary=H[5];const R=["#e6f4ff","#bae0ff","#91caff","#69b1ff","#4096ff","#1677ff","#0958d9","#003eb3","#002c8c","#001d66"];R.primary=R[5];const j=["#f0f5ff","#d6e4ff","#adc6ff","#85a5ff","#597ef7","#2f54eb","#1d39c4","#10239e","#061178","#030852"];j.primary=j[5];const q=["#f9f0ff","#efdbff","#d3adf7","#b37feb","#9254de","#722ed1","#531dab","#391085","#22075e","#120338"];q.primary=q[5];const z=["#fff0f6","#ffd6e7","#ffadd2","#ff85c0","#f759ab","#eb2f96","#c41d7f","#9e1068","#780650","#520339"];z.primary=z[5];const Ve=["#a6a6a6","#999999","#8c8c8c","#808080","#737373","#666666","#404040","#1a1a1a","#000000","#000000"];Ve.primary=Ve[5];const Z=Ve,Eo={site:{purple01:"var(--bwg-purple-1)",purple02:"var(--bwg-purple-2)",purple03:"var(--bwg-purple-3)",purple04:"var(--bwg-purple-4)",purple05:"var(--bwg-purple-5)",green01:"var(--bwg-green-1)",green02:"var(--bwg-green-2)",green03:"var(--bwg-green-3)",green04:"var(--bwg-green-4)",green05:"var(--bwg-green-5)",blue01:"var(--bwg-blue-1)",blue02:"var(--bwg-blue-2)",blue03:"var(--bwg-blue-3)",blue04:"var(--bwg-blue-4)",blue05:"var(--bwg-blue-5)",red01:"var(--bwg-red-1)",red02:"var(--bwg-red-2)",red03:"var(--bwg-red-3)",red04:"var(--bwg-red-4)",red05:"var(--bwg-red-5)",yellow01:"var(--bwg-yellow-1)",yellow02:"var(--bwg-yellow-2)",yellow03:"var(--bwg-yellow-3)",yellow04:"var(--bwg-yellow-4)",yellow05:"var(--bwg-yellow-5)"},default:{red01:O[0],red02:O[1],red03:O[2],red04:O[3],red05:O[4],red06:O[5],red07:O[6],red08:O[7],red09:O[8],red10:O[9],volcano01:L[0],volcano02:L[1],volcano03:L[2],volcano04:L[3],volcano05:L[4],volcano06:L[5],volcano07:L[6],volcano08:L[7],volcano09:L[8],volcano10:L[9],orange01:B[0],orange02:B[1],orange03:B[2],orange04:B[3],orange05:B[4],orange06:B[5],orange07:B[6],orange08:B[7],orange09:B[8],orange10:B[9],lime01:P[0],lime02:P[1],lime03:P[2],lime04:P[3],lime05:P[4],lime06:P[5],lime07:P[6],lime08:P[7],lime09:P[8],lime10:P[9],gold01:N[0],gold02:N[1],gold03:N[2],gold04:N[3],gold05:N[4],gold06:N[5],gold07:N[6],gold08:N[7],gold09:N[8],gold10:N[9],yellow01:F[0],yellow02:F[1],yellow03:F[2],yellow04:F[3],yellow05:F[4],yellow06:F[5],yellow07:F[6],yellow08:F[7],yellow09:F[8],yellow10:F[9],green01:A[0],green02:A[1],green03:A[2],green04:A[3],green05:A[4],green06:A[5],green07:A[6],green08:A[7],green09:A[8],green10:A[9],cyan01:H[0],cyan02:H[1],cyan03:H[2],cyan04:H[3],cyan05:H[4],cyan06:H[5],cyan07:H[6],cyan08:H[7],cyan09:H[8],cyan10:H[9],blue01:R[0],blue02:R[1],blue03:R[2],blue04:R[3],blue05:R[4],blue06:R[5],blue07:R[6],blue08:R[7],blue09:R[8],blue10:R[9],geekblue01:j[0],geekblue02:j[1],geekblue03:j[2],geekblue04:j[3],geekblue05:j[4],geekblue06:j[5],geekblue07:j[6],geekblue08:j[7],geekblue09:j[8],geekblue10:j[9],purple01:q[0],purple02:q[1],purple03:q[2],purple04:q[3],purple05:q[4],purple06:q[5],purple07:q[6],purple08:q[7],purple09:q[8],purple10:q[9],magenta01:z[0],magenta02:z[1],magenta03:z[2],magenta04:z[3],magenta05:z[4],magenta06:z[5],magenta07:z[6],magenta08:z[7],magenta09:z[8],magenta10:z[9],gray01:Z[0],gray02:Z[1],gray03:Z[2],gray04:Z[3],gray05:Z[4],gray06:Z[5],gray07:Z[6],gray08:Z[7],gray09:Z[8],gray10:Z[9]},status:{error:O[5],warning:N[5],success:A[5],info:R[5]}},To=Object.freeze(Object.defineProperty({__proto__:null,colorFormat:Eo},Symbol.toStringTag,{value:"Module"})),Tn=no,In=Mr,On=Tr,Nn=io,An=ho,Rn=Do,Yn=Rr,Ln=$t,Bn=Qr,Fn=To,Io={...no,...Mr,...Tr,...io,...ho,...Do,...Rr,...$t,...Qr,realFormat:Uo,...To};exports.ApiError=te;exports.DEFAULT_FMT=re;exports.DEFAULT_SERVICE_CODES=Oe;exports.THEME_COOKIE_NAME=Ut;exports.add=Sr;exports.apiUtils=Tn;exports.arrAverage=Wt;exports.arrCount=Zt;exports.arrMax=Vt;exports.arrMin=Gt;exports.arrReverse=Jt;exports.arrSum=Kt;exports.arrUnique=zt;exports.bwgUtils=Io;exports.callEndpoint=to;exports.callService=ae;exports.callServiceByAppCd=ro;exports.clamp=er;exports.clearAllGridLayouts=mo;exports.clearGridLayouts=go;exports.clearSessionStorage=sr;exports.closeAllMessages=So;exports.closeMessage=bo;exports.closeNotification=Ar;exports.colorFormat=Eo;exports.colorUtils=Fn;exports.commonUtils=In;exports.configureEnvUtils=Ur;exports.copyToClipboard=Ft;exports.createBwgGridRenderer=co;exports.debounce=Bt;exports.default=Io;exports.deleteCookie=cr;exports.destroyNotifications=Nr;exports.diff=Cr;exports.downloadByFileKey=ao;exports.downloadFile=so;exports.duplicates=Xt;exports.encryptSha256=mr;exports.endOf=br;exports.envUtils=On;exports.fileUtils=Nn;exports.format=tt;exports.generateRandomColor=qt;exports.generateRandomString=Je;exports.generateUID=Ne;exports.generateUUIDv4=Xe;exports.getAllServiceCodes=Ke;exports.getApiDeps=ee;exports.getClientIp=dt;exports.getCookie=ir;exports.getCrprCd=le;exports.getDepartmentInfo=Gr;exports.getDeviceType=he;exports.getDisplayName=Vr;exports.getDprtCd=me;exports.getDprtNm=ct;exports.getEmplNo=Lr;exports.getEnvCode=Er;exports.getFullDprtCd=Br;exports.getFullDprtNm=Fr;exports.getGridLayout=lo;exports.getGridLayouts=uo;exports.getHrInfo=ie;exports.getJbdtCd=Zr;exports.getJbgdCd=Kr;exports.getJbkdCd=Jr;exports.getJbpsCd=Wr;exports.getPermissionService=oo;exports.getRoleList=we;exports.getServiceCode=We;exports.getSessionStorage=or;exports.getTodateString=et;exports.getUserDvsn=Yr;exports.getUserId=ge;exports.getUserInfo=de;exports.getUserNm=it;exports.getWkplCd=Xr;exports.gridUtils=An;exports.hasAllRoles=jr;exports.hasAnyRole=Hr;exports.hasRole=Pr;exports.hasUserInfo=zr;exports.initApiDeps=_r;exports.isArray=Nt;exports.isBoolean=Tt;exports.isDesktop=jt;exports.isDev=rt;exports.isEmpty=Ze;exports.isEmptyArray=ye;exports.isFunction=It;exports.isLocal=Ae;exports.isLoggedIn=qr;exports.isMobile=Pt;exports.isNull=At;exports.isNullOrUndefined=Yt;exports.isNumber=Et;exports.isObject=Ot;exports.isProd=ot;exports.isSafeEmpty=ur;exports.isString=kt;exports.isTablet=Ht;exports.isUndefined=Rt;exports.isValid=ve;exports.isValidDate=hr;exports.isValidEmail=dr;exports.isValidUrl=fr;exports.isValidYear=yr;exports.isValidYearMonth=vr;exports.logServiceCodeConfig=Mt;exports.messageUtils=Rn;exports.notiBwgError=nt;exports.notiError=Or;exports.notiInfo=st;exports.notiSuccess=Ir;exports.notiWarning=at;exports.notificationService=X;exports.notificationUtils=Yn;exports.now=Qe;exports.openGwDraftByAprvKey=ze;exports.padLeft=pr;exports.padRight=gr;exports.random=Qt;exports.realFormat=Uo;exports.removeGridLayout=po;exports.removeSessionStorage=nr;exports.round=tr;exports.saveGridLayout=fo;exports.serviceUtils=Ln;exports.setClientIp=lt;exports.setCookie=ar;exports.setServiceCodeOverrides=_t;exports.setSessionStorage=rr;exports.showApiError=Co;exports.showDuplicateError=Mo;exports.showError=fe;exports.showInfo=vo;exports.showLoading=wo;exports.showRequiredError=$o;exports.showSaveError=_o;exports.showSaveSuccess=xo;exports.showSuccess=ft;exports.showWarning=yo;exports.startOf=wr;exports.submitGwApproval=En;exports.throttle=Lt;exports.toCamelCase=lr;exports.uploadFilesViaSftp=ko;exports.userUtils=Bn;exports.verifyClientIp=eo;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const We=require("axios"),V=require("../chunks/common-components-DNgQR-Ge.cjs"),E=require("dayjs"),D=require("antd"),U=require("../stores/index.cjs"),Bo=require("react-dom"),Ae={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let ge={};function Ct(e){ge=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function Ke(e){return ge[e]&&ge[e].trim()!==""?ge[e]:Ae[e]}function Ze(){const e={};for(const t of Object.keys(Ae))e[t]=Ke(t);return e}function Mt(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=Ze();for(const[t,r]of Object.entries(e)){const o=ge[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const _t=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SERVICE_CODES:Ae,getAllServiceCodes:Ze,getServiceCode:Ke,logServiceCodeConfig:Mt,setServiceCodeOverrides:Ct},Symbol.toStringTag,{value:"Module"}));var _e={exports:{}};function Po(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var xe={exports:{}};const jo={},Ho=Object.freeze(Object.defineProperty({__proto__:null,default:jo},Symbol.toStringTag,{value:"Module"})),Go=V.getAugmentedNamespace(Ho);var zo=xe.exports,gt;function xt(){return gt||(gt=1,(function(e,t){(function(r,o){e.exports=o()})(zo,function(){var r=r||(function(o,c){var u;if(typeof window<"u"&&window.crypto&&(u=window.crypto),typeof self<"u"&&self.crypto&&(u=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(u=globalThis.crypto),!u&&typeof window<"u"&&window.msCrypto&&(u=window.msCrypto),!u&&typeof V.commonjsGlobal<"u"&&V.commonjsGlobal.crypto&&(u=V.commonjsGlobal.crypto),!u&&typeof Po=="function")try{u=Go}catch{}var l=function(){if(u){if(typeof u.getRandomValues=="function")try{return u.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof u.randomBytes=="function")try{return u.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},S=Object.create||(function(){function n(){}return function(i){var g;return n.prototype=i,g=new n,n.prototype=null,g}})(),m={},v=m.lib={},d=v.Base=(function(){return{extend:function(n){var i=S(this);return n&&i.mixIn(n),(!i.hasOwnProperty("init")||this.init===i.init)&&(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),w=v.WordArray=d.extend({init:function(n,i){n=this.words=n||[],i!=c?this.sigBytes=i:this.sigBytes=n.length*4},toString:function(n){return(n||y).stringify(this)},concat:function(n){var i=this.words,g=n.words,h=this.sigBytes,C=n.sigBytes;if(this.clamp(),h%4)for(var M=0;M<C;M++){var _=g[M>>>2]>>>24-M%4*8&255;i[h+M>>>2]|=_<<24-(h+M)%4*8}else for(var x=0;x<C;x+=4)i[h+x>>>2]=g[x>>>2];return this.sigBytes+=C,this},clamp:function(){var n=this.words,i=this.sigBytes;n[i>>>2]&=4294967295<<32-i%4*8,n.length=o.ceil(i/4)},clone:function(){var n=d.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var i=[],g=0;g<n;g+=4)i.push(l());return new w.init(i,n)}}),p=m.enc={},y=p.Hex={stringify:function(n){for(var i=n.words,g=n.sigBytes,h=[],C=0;C<g;C++){var M=i[C>>>2]>>>24-C%4*8&255;h.push((M>>>4).toString(16)),h.push((M&15).toString(16))}return h.join("")},parse:function(n){for(var i=n.length,g=[],h=0;h<i;h+=2)g[h>>>3]|=parseInt(n.substr(h,2),16)<<24-h%8*4;return new w.init(g,i/2)}},b=p.Latin1={stringify:function(n){for(var i=n.words,g=n.sigBytes,h=[],C=0;C<g;C++){var M=i[C>>>2]>>>24-C%4*8&255;h.push(String.fromCharCode(M))}return h.join("")},parse:function(n){for(var i=n.length,g=[],h=0;h<i;h++)g[h>>>2]|=(n.charCodeAt(h)&255)<<24-h%4*8;return new w.init(g,i)}},a=p.Utf8={stringify:function(n){try{return decodeURIComponent(escape(b.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return b.parse(unescape(encodeURIComponent(n)))}},s=v.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=a.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var i,g=this._data,h=g.words,C=g.sigBytes,M=this.blockSize,_=M*4,x=C/_;n?x=o.ceil(x):x=o.max((x|0)-this._minBufferSize,0);var k=x*M,T=o.min(k*4,C);if(k){for(var $=0;$<k;$+=M)this._doProcessBlock(h,$);i=h.splice(0,k),g.sigBytes-=T}return new w.init(i,T)},clone:function(){var n=d.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});v.Hasher=s.extend({cfg:d.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){s.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){n&&this._append(n);var i=this._doFinalize();return i},blockSize:16,_createHelper:function(n){return function(i,g){return new n.init(g).finalize(i)}},_createHmacHelper:function(n){return function(i,g){return new f.HMAC.init(n,g).finalize(i)}}});var f=m.algo={};return m})(Math);return r})})(xe)),xe.exports}var qo=_e.exports,mt;function Vo(){return mt||(mt=1,(function(e,t){(function(r,o){e.exports=o(xt())})(qo,function(r){return(function(){var o=r,c=o.lib,u=c.WordArray,l=o.enc;l.Base64={stringify:function(m){var v=m.words,d=m.sigBytes,w=this._map;m.clamp();for(var p=[],y=0;y<d;y+=3)for(var b=v[y>>>2]>>>24-y%4*8&255,a=v[y+1>>>2]>>>24-(y+1)%4*8&255,s=v[y+2>>>2]>>>24-(y+2)%4*8&255,f=b<<16|a<<8|s,n=0;n<4&&y+n*.75<d;n++)p.push(w.charAt(f>>>6*(3-n)&63));var i=w.charAt(64);if(i)for(;p.length%4;)p.push(i);return p.join("")},parse:function(m){var v=m.length,d=this._map,w=this._reverseMap;if(!w){w=this._reverseMap=[];for(var p=0;p<d.length;p++)w[d.charCodeAt(p)]=p}var y=d.charAt(64);if(y){var b=m.indexOf(y);b!==-1&&(v=b)}return S(m,v,w)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function S(m,v,d){for(var w=[],p=0,y=0;y<v;y++)if(y%4){var b=d[m.charCodeAt(y-1)]<<y%4*2,a=d[m.charCodeAt(y)]>>>6-y%4*2,s=b|a;w[p>>>2]|=s<<24-p%4*8,p++}return u.create(w,p)}})(),r.enc.Base64})})(_e)),_e.exports}var Wo=Vo();const Ko=V.getDefaultExportFromCjs(Wo);var ke={exports:{}},Zo=ke.exports,pt;function Jo(){return pt||(pt=1,(function(e,t){(function(r,o){e.exports=o(xt())})(Zo,function(r){return(function(o){var c=r,u=c.lib,l=u.WordArray,S=u.Hasher,m=c.algo,v=[],d=[];(function(){function y(f){for(var n=o.sqrt(f),i=2;i<=n;i++)if(!(f%i))return!1;return!0}function b(f){return(f-(f|0))*4294967296|0}for(var a=2,s=0;s<64;)y(a)&&(s<8&&(v[s]=b(o.pow(a,1/2))),d[s]=b(o.pow(a,1/3)),s++),a++})();var w=[],p=m.SHA256=S.extend({_doReset:function(){this._hash=new l.init(v.slice(0))},_doProcessBlock:function(y,b){for(var a=this._hash.words,s=a[0],f=a[1],n=a[2],i=a[3],g=a[4],h=a[5],C=a[6],M=a[7],_=0;_<64;_++){if(_<16)w[_]=y[b+_]|0;else{var x=w[_-15],k=(x<<25|x>>>7)^(x<<14|x>>>18)^x>>>3,T=w[_-2],$=(T<<15|T>>>17)^(T<<13|T>>>19)^T>>>10;w[_]=k+w[_-7]+$+w[_-16]}var I=g&h^~g&C,W=s&f^s&n^f&n,K=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),J=(g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25),oe=M+J+I+d[_]+w[_],X=K+W;M=C,C=h,h=g,g=i+oe|0,i=n,n=f,f=s,s=oe+X|0}a[0]=a[0]+s|0,a[1]=a[1]+f|0,a[2]=a[2]+n|0,a[3]=a[3]+i|0,a[4]=a[4]+g|0,a[5]=a[5]+h|0,a[6]=a[6]+C|0,a[7]=a[7]+M|0},_doFinalize:function(){var y=this._data,b=y.words,a=this._nDataBytes*8,s=y.sigBytes*8;return b[s>>>5]|=128<<24-s%32,b[(s+64>>>9<<4)+14]=o.floor(a/4294967296),b[(s+64>>>9<<4)+15]=a,y.sigBytes=b.length*4,this._process(),this._hash},clone:function(){var y=S.clone.call(this);return y._hash=this._hash.clone(),y}});c.SHA256=S._createHelper(p),c.HmacSHA256=S._createHmacHelper(p)})(Math),r.SHA256})})(ke)),ke.exports}var Xo=Jo();const Qo=V.getDefaultExportFromCjs(Xo);var Te={exports:{}},en=Te.exports,ht;function tn(){return ht||(ht=1,(function(e,t){(function(r,o){e.exports=o()})(en,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,c=/\d/,u=/\d\d/,l=/\d\d?/,S=/\d*[^-_:/,()\s\d]+/,m={},v=function(s){return(s=+s)+(s>68?1900:2e3)},d=function(s){return function(f){this[s]=+f}},w=[/[+-]\d\d:?(\d\d)?|Z/,function(s){(this.zone||(this.zone={})).offset=(function(f){if(!f||f==="Z")return 0;var n=f.match(/([+-]|\d\d)/g),i=60*n[1]+(+n[2]||0);return i===0?0:n[0]==="+"?-i:i})(s)}],p=function(s){var f=m[s];return f&&(f.indexOf?f:f.s.concat(f.f))},y=function(s,f){var n,i=m.meridiem;if(i){for(var g=1;g<=24;g+=1)if(s.indexOf(i(g,0,f))>-1){n=g>12;break}}else n=s===(f?"pm":"PM");return n},b={A:[S,function(s){this.afternoon=y(s,!1)}],a:[S,function(s){this.afternoon=y(s,!0)}],Q:[c,function(s){this.month=3*(s-1)+1}],S:[c,function(s){this.milliseconds=100*+s}],SS:[u,function(s){this.milliseconds=10*+s}],SSS:[/\d{3}/,function(s){this.milliseconds=+s}],s:[l,d("seconds")],ss:[l,d("seconds")],m:[l,d("minutes")],mm:[l,d("minutes")],H:[l,d("hours")],h:[l,d("hours")],HH:[l,d("hours")],hh:[l,d("hours")],D:[l,d("day")],DD:[u,d("day")],Do:[S,function(s){var f=m.ordinal,n=s.match(/\d+/);if(this.day=n[0],f)for(var i=1;i<=31;i+=1)f(i).replace(/\[|\]/g,"")===s&&(this.day=i)}],w:[l,d("week")],ww:[u,d("week")],M:[l,d("month")],MM:[u,d("month")],MMM:[S,function(s){var f=p("months"),n=(p("monthsShort")||f.map((function(i){return i.slice(0,3)}))).indexOf(s)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[S,function(s){var f=p("months").indexOf(s)+1;if(f<1)throw new Error;this.month=f%12||f}],Y:[/[+-]?\d+/,d("year")],YY:[u,function(s){this.year=v(s)}],YYYY:[/\d{4}/,d("year")],Z:w,ZZ:w};function a(s){var f,n;f=s,n=m&&m.formats;for(var i=(s=f.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(k,T,$){var I=$&&$.toUpperCase();return T||n[$]||r[$]||n[I].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(W,K,J){return K||J.slice(1)}))}))).match(o),g=i.length,h=0;h<g;h+=1){var C=i[h],M=b[C],_=M&&M[0],x=M&&M[1];i[h]=x?{regex:_,parser:x}:C.replace(/^\[|\]$/g,"")}return function(k){for(var T={},$=0,I=0;$<g;$+=1){var W=i[$];if(typeof W=="string")I+=W.length;else{var K=W.regex,J=W.parser,oe=k.slice(I),X=K.exec(oe)[0];J.call(T,X),k=k.replace(X,"")}}return(function(ne){var we=ne.afternoon;if(we!==void 0){var Y=ne.hours;we?Y<12&&(ne.hours+=12):Y===12&&(ne.hours=0),delete ne.afternoon}})(T),T}}return function(s,f,n){n.p.customParseFormat=!0,s&&s.parseTwoDigitYear&&(v=s.parseTwoDigitYear);var i=f.prototype,g=i.parse;i.parse=function(h){var C=h.date,M=h.utc,_=h.args;this.$u=M;var x=_[1];if(typeof x=="string"){var k=_[2]===!0,T=_[3]===!0,$=k||T,I=_[2];T&&(I=_[2]),m=this.$locale(),!k&&I&&(m=n.Ls[I]),this.$d=(function(oe,X,ne,we){try{if(["x","X"].indexOf(X)>-1)return new Date((X==="X"?1e3:1)*oe);var Y=a(X)(oe),Le=Y.year,Se=Y.month,Oo=Y.day,Ro=Y.hours,Lo=Y.minutes,Yo=Y.seconds,Fo=Y.milliseconds,dt=Y.zone,ft=Y.week,Ye=new Date,Fe=Oo||(Le||Se?1:Ye.getDate()),Be=Le||Ye.getFullYear(),Ce=0;Le&&!Se||(Ce=Se>0?Se-1:Ye.getMonth());var Me,Pe=Ro||0,je=Lo||0,He=Yo||0,Ge=Fo||0;return dt?new Date(Date.UTC(Be,Ce,Fe,Pe,je,He,Ge+60*dt.offset*1e3)):ne?new Date(Date.UTC(Be,Ce,Fe,Pe,je,He,Ge)):(Me=new Date(Be,Ce,Fe,Pe,je,He,Ge),ft&&(Me=we(Me).week(ft).toDate()),Me)}catch{return new Date("")}})(C,x,M,n),this.init(),I&&I!==!0&&(this.$L=this.locale(I).$L),$&&C!=this.format(x)&&(this.$d=new Date("")),m={}}else if(x instanceof Array)for(var W=x.length,K=1;K<=W;K+=1){_[1]=x[K-1];var J=n.apply(this,_);if(J.isValid()){this.$d=J.$d,this.$L=J.$L,this.init();break}K===W&&(this.$d=new Date(""))}else g.call(this,h)}}}))})(Te)),Te.exports}var rn=tn();const on=V.getDefaultExportFromCjs(rn);var Ue={exports:{}},nn=Ue.exports,yt;function sn(){return yt||(yt=1,(function(e,t){(function(r,o){e.exports=o()})(nn,(function(){var r="month",o="quarter";return function(c,u){var l=u.prototype;l.quarter=function(v){return this.$utils().u(v)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(v-1))};var S=l.add;l.add=function(v,d){return v=Number(v),this.$utils().p(d)===o?this.add(3*v,r):S.bind(this)(v,d)};var m=l.startOf;l.startOf=function(v,d){var w=this.$utils(),p=!!w.u(d)||d;if(w.p(v)===o){var y=this.quarter()-1;return p?this.month(3*y).startOf(r).startOf("day"):this.month(3*y+2).endOf(r).endOf("day")}return m.bind(this)(v,d)}}}))})(Ue)),Ue.exports}var an=sn();const cn=V.getDefaultExportFromCjs(an);var De={exports:{}},ln=De.exports,vt;function un(){return vt||(vt=1,(function(e,t){(function(r,o){e.exports=o()})(ln,(function(){return function(r,o,c){r=r||{};var u=o.prototype,l={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function S(v,d,w,p){return u.fromToBase(v,d,w,p)}c.en.relativeTime=l,u.fromToBase=function(v,d,w,p,y){for(var b,a,s,f=w.$locale().relativeTime||l,n=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],i=n.length,g=0;g<i;g+=1){var h=n[g];h.d&&(b=p?c(v).diff(w,h.d,!0):w.diff(v,h.d,!0));var C=(r.rounding||Math.round)(Math.abs(b));if(s=b>0,C<=h.r||!h.r){C<=1&&g>0&&(h=n[g-1]);var M=f[h.l];y&&(C=y(""+C)),a=typeof M=="string"?M.replace("%d",C):M(C,d,h.l,s);break}}if(d)return a;var _=s?f.future:f.past;return typeof _=="function"?_(a):_.replace("%s",a)},u.to=function(v,d){return S(v,d,this,!0)},u.from=function(v,d){return S(v,d,this)};var m=function(v){return v.$u?c.utc():c()};u.toNow=function(v){return this.to(m(this),v)},u.fromNow=function(v){return this.from(m(this),v)}}}))})(De)),De.exports}var dn=un();const fn=V.getDefaultExportFromCjs(dn);var $e={exports:{}},gn=$e.exports,bt;function mn(){return bt||(bt=1,(function(e,t){(function(r,o){e.exports=o()})(gn,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(c,u,l){var S,m=function(p,y,b){b===void 0&&(b={});var a=new Date(p),s=(function(f,n){n===void 0&&(n={});var i=n.timeZoneName||"short",g=f+"|"+i,h=o[g];return h||(h=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:f,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),o[g]=h),h})(y,b);return s.formatToParts(a)},v=function(p,y){for(var b=m(p,y),a=[],s=0;s<b.length;s+=1){var f=b[s],n=f.type,i=f.value,g=r[n];g>=0&&(a[g]=parseInt(i,10))}var h=a[3],C=h===24?0:h,M=a[0]+"-"+a[1]+"-"+a[2]+" "+C+":"+a[4]+":"+a[5]+":000",_=+p;return(l.utc(M).valueOf()-(_-=_%1e3))/6e4},d=u.prototype;d.tz=function(p,y){p===void 0&&(p=S);var b,a=this.utcOffset(),s=this.toDate(),f=s.toLocaleString("en-US",{timeZone:p}),n=Math.round((s-new Date(f))/1e3/60),i=15*-Math.round(s.getTimezoneOffset()/15)-n;if(!Number(i))b=this.utcOffset(0,y);else if(b=l(f,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(i,!0),y){var g=b.utcOffset();b=b.add(a-g,"minute")}return b.$x.$timezone=p,b},d.offsetName=function(p){var y=this.$x.$timezone||l.tz.guess(),b=m(this.valueOf(),y,{timeZoneName:p}).find((function(a){return a.type.toLowerCase()==="timezonename"}));return b&&b.value};var w=d.startOf;d.startOf=function(p,y){if(!this.$x||!this.$x.$timezone)return w.call(this,p,y);var b=l(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return w.call(b,p,y).tz(this.$x.$timezone,!0)},l.tz=function(p,y,b){var a=b&&y,s=b||y||S,f=v(+l(),s);if(typeof p!="string")return l(p).tz(s);var n=(function(C,M,_){var x=C-60*M*1e3,k=v(x,_);if(M===k)return[x,M];var T=v(x-=60*(k-M)*1e3,_);return k===T?[x,k]:[C-60*Math.min(k,T)*1e3,Math.max(k,T)]})(l.utc(p,a).valueOf(),f,s),i=n[0],g=n[1],h=l(i).utcOffset(g);return h.$x.$timezone=s,h},l.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},l.tz.setDefault=function(p){S=p}}}))})($e)),$e.exports}var pn=mn();const hn=V.getDefaultExportFromCjs(pn);var Ne={exports:{}},yn=Ne.exports,wt;function vn(){return wt||(wt=1,(function(e,t){(function(r,o){e.exports=o()})(yn,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,c=/([+-]|\d\d)/g;return function(u,l,S){var m=l.prototype;S.utc=function(a){var s={date:a,utc:!0,args:arguments};return new l(s)},m.utc=function(a){var s=S(this.toDate(),{locale:this.$L,utc:!0});return a?s.add(this.utcOffset(),r):s},m.local=function(){return S(this.toDate(),{locale:this.$L,utc:!1})};var v=m.parse;m.parse=function(a){a.utc&&(this.$u=!0),this.$utils().u(a.$offset)||(this.$offset=a.$offset),v.call(this,a)};var d=m.init;m.init=function(){if(this.$u){var a=this.$d;this.$y=a.getUTCFullYear(),this.$M=a.getUTCMonth(),this.$D=a.getUTCDate(),this.$W=a.getUTCDay(),this.$H=a.getUTCHours(),this.$m=a.getUTCMinutes(),this.$s=a.getUTCSeconds(),this.$ms=a.getUTCMilliseconds()}else d.call(this)};var w=m.utcOffset;m.utcOffset=function(a,s){var f=this.$utils().u;if(f(a))return this.$u?0:f(this.$offset)?w.call(this):this.$offset;if(typeof a=="string"&&(a=(function(h){h===void 0&&(h="");var C=h.match(o);if(!C)return null;var M=(""+C[0]).match(c)||["-",0,0],_=M[0],x=60*+M[1]+ +M[2];return x===0?0:_==="+"?x:-x})(a),a===null))return this;var n=Math.abs(a)<=16?60*a:a;if(n===0)return this.utc(s);var i=this.clone();if(s)return i.$offset=n,i.$u=!1,i;var g=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(i=this.local().add(n+g,r)).$offset=n,i.$x.$localOffset=g,i};var p=m.format;m.format=function(a){var s=a||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return p.call(this,s)},m.valueOf=function(){var a=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*a},m.isUTC=function(){return!!this.$u},m.toISOString=function(){return this.toDate().toISOString()},m.toString=function(){return this.toDate().toUTCString()};var y=m.toDate;m.toDate=function(a){return a==="s"&&this.$offset?S(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var b=m.diff;m.diff=function(a,s,f){if(a&&this.$u===a.$u)return b.call(this,a,s,f);var n=this.local(),i=S(a).local();return b.call(n,i,s,f)}}}))})(Ne)),Ne.exports}var bn=vn();const wn=V.getDefaultExportFromCjs(bn),kt="ui_theme",Tt=e=>typeof e=="string",Ut=e=>typeof e=="number"&&!isNaN(e),Dt=e=>typeof e=="boolean",$t=e=>typeof e=="function",Nt=e=>e!==null&&typeof e=="object",Et=e=>Array.isArray(e),It=e=>e===null,At=e=>e===void 0,Ot=e=>e==null,Rt=(e,t)=>{let r=0;return(...o)=>{const c=Date.now();c-r>=t&&(r=c,e(...o))}},Lt=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},Yt=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},he=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},Ft=()=>he()==="mobile",Bt=()=>he()==="tablet",Pt=()=>he()==="desktop",jt=()=>{const e=new Uint32Array(1);return crypto.getRandomValues(e),"#"+(e[0]&16777215).toString(16).padStart(6,"0")},ye=e=>!e||e.length===0,Ht=e=>[...new Set(e)],Gt=e=>{if(!ye(e))return Math.max(...e)},zt=e=>{if(!ye(e))return Math.min(...e)},qt=e=>{if(!ye(e))return e.reduce((t,r)=>t+r,0)/e.length},Vt=e=>e.reduce((t,r)=>t+r,0),Wt=(e,t)=>e.filter(t).length,Kt=e=>[...e].reverse(),Zt=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},Jt=(e,t)=>(()=>{if(typeof crypto<"u"&&crypto.getRandomValues){const o=new Uint32Array(1);return crypto.getRandomValues(o),o[0]/4294967295}else{const{randomBytes:o}=require("crypto");return o(4).readUInt32BE(0)/4294967295}})()*(t-e)+e,Xt=(e,t,r)=>Math.min(Math.max(e,t),r),Qt=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),er=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},tr=(e,t)=>{try{const r=sessionStorage.getItem(e);return r?JSON.parse(r):t||null}catch(r){return console.error("Error reading from sessionStorage:",r),t||null}},rr=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},or=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},nr=(e,t,r=30)=>{const o=new Date;o.setTime(o.getTime()+r*24*60*60*1e3),document.cookie=`${e}=${t};expires=${o.toUTCString()};path=/`},sr=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let c=r[o];for(;c.charAt(0)===" ";)c=c.substring(1,c.length);if(c.indexOf(t)===0)return c.substring(t.length,c.length)}return null},ar=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},Je=e=>typeof e!="string"?!e:e.trim().length===0,ir=(e,t)=>Je(e)?t:e||"",cr=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),lr=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),ur=e=>{try{return new URL(e),!0}catch{return!1}},dr=(e,t,r=" ")=>e.padStart(t,r),fr=(e,t,r=" ")=>e.padEnd(t,r),Xe=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{if(!t||t.length===0)throw new Error("chars must not be empty.");const r=t.length,o=[],c=()=>{if(typeof crypto<"u"&&crypto.getRandomValues){const l=new Uint32Array(1);return crypto.getRandomValues(l),l[0]%r}const{randomBytes:u}=require("crypto");return u(4).readUInt32BE(0)%r};for(let u=0;u<e;u++)o.push(t[c()]);return o.join("")},Qe=()=>{if(typeof crypto<"u"&&"randomUUID"in crypto)return crypto.randomUUID();let e;if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")e=new Uint8Array(16),crypto.getRandomValues(e);else{const{randomBytes:r}=require("crypto");e=Uint8Array.from(r(16))}e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=Array.from(e,r=>r.toString(16).padStart(2,"0")).join("");return t.slice(0,8)+"-"+t.slice(8,12)+"-"+t.slice(12,16)+"-"+t.slice(16,20)+"-"+t.slice(20)},Oe=(e=32)=>{const r=Qe().replace(/-/g,"");return e>=32?r+Xe(e-32,"0123456789abcdef"):r.substring(0,e)};async function gr(e){return Qo(e).toString(Ko)}E.extend(fn);E.extend(wn);E.extend(hn);E.locale("ko");E.extend(on);E.extend(cn);const re="YYYYMMDD",et=()=>E(),tt=(e=re)=>rt(et(),e),rt=(e,t=re)=>E(e).format(t),ve=(e,t=re)=>E(e,t,!0).isValid(),mr=e=>ve(e,"YYYYMMDD"),pr=e=>ve(e,"YYYY"),hr=e=>ve(e,"YYYYMM"),yr=(e,t="month",r=re)=>E(e).startOf(t).format(r),vr=(e,t="month",r=re)=>E(e).endOf(t).format(r),br=(e,t,r="day",o=re)=>E(e).add(t,r).format(o),wr=(e,t,r="day")=>E(e).diff(E(t),r);let Sr={};const Cr=e=>{Sr=e},ee=()=>Sr,Mr=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_FMT:re,THEME_COOKIE_NAME:kt,add:br,arrAverage:qt,arrCount:Wt,arrMax:Gt,arrMin:zt,arrReverse:Kt,arrSum:Vt,arrUnique:Ht,clamp:Xt,clearSessionStorage:or,copyToClipboard:Yt,debounce:Lt,deleteCookie:ar,diff:wr,duplicates:Zt,encryptSha256:gr,endOf:vr,format:rt,generateRandomColor:jt,generateRandomString:Xe,generateUID:Oe,generateUUIDv4:Qe,getApiDeps:ee,getCookie:sr,getDeviceType:he,getSessionStorage:tr,getTodateString:tt,initApiDeps:Cr,isArray:Et,isBoolean:Dt,isDesktop:Pt,isEmpty:Je,isEmptyArray:ye,isFunction:$t,isMobile:Ft,isNull:It,isNullOrUndefined:Ot,isNumber:Ut,isObject:Nt,isSafeEmpty:ir,isString:Tt,isTablet:Bt,isUndefined:At,isValid:ve,isValidDate:mr,isValidEmail:lr,isValidUrl:ur,isValidYear:pr,isValidYearMonth:hr,now:et,padLeft:dr,padRight:fr,random:Jt,removeSessionStorage:rr,round:Qt,setCookie:nr,setSessionStorage:er,startOf:yr,throttle:Rt,toCamelCase:cr},Symbol.toStringTag,{value:"Module"})),Re=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let _r=[],xr=[];function kr(e){e.devHosts&&(_r=e.devHosts),e.prodHosts&&(xr=e.prodHosts)}function Tr(){if(typeof window<"u"&&window.location)return window.location.hostname}const ot=(()=>{const e=Tr();return!!(e&&_r.includes(e))})(),nt=(()=>{const e=Tr();return!!(e&&xr.includes(e))})();function Ur(){return Re?"X":ot?"D":nt?"P":"X"}const Dr=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:kr,getEnvCode:Ur,isDev:ot,isLocal:Re,isProd:nt},Symbol.toStringTag,{value:"Module"})),Sn={success:"성공",error:"실패",warning:"경고",info:"안내"};let Q;const $r=e=>{Q={...Q,...e}},Nr=()=>Q,Er=()=>{Q=void 0},Ee=(e,t,r,o)=>{const u={message:t||Sn[e],description:r||"",duration:o?.duration??Q?.duration??4.5,placement:o?.placement??Q?.placement??"topRight",className:o?.className||Q?.className,style:{...Q?.style,...o?.style}};switch(e){case"success":D.notification.success(u);break;case"error":D.notification.error(u);break;case"info":D.notification.info(u);break;case"warning":D.notification.warning(u);break}},st=e=>{const{message:t,description:r,duration:o=4.5,placement:c="topRight"}=e;D.notification.error({message:`${t}`,description:r||"오류가 발생했습니다. 다시 시도해주세요.",duration:o,placement:c,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})},Ir=()=>{D.notification.destroy()},Ar=e=>{D.notification.destroy()},Or=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:Ar,destroyNotifications:Ir,getGlobalNotificationStyle:Nr,notiBwgError:st,openNoti:Ee,resetGlobalNotificationStyle:Er,setGlobalNotificationStyle:$r},Symbol.toStringTag,{value:"Module"})),de=()=>U.useUserStore.getState().user?.crprCd||null,me=()=>{const e=U.useUserStore.getState().user,t=U.useUserStore.getState().hrInfo;return e?.userId||t?.empNo||null},at=()=>U.useUserStore.getState().user?.userNm||null,Rr=()=>U.useUserStore.getState().user?.userDvsn||null,Lr=()=>U.useUserStore.getState().user?.emplNo||null,pe=()=>{const e=U.useUserStore.getState().hrInfo,t=U.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},Yr=()=>U.useUserStore.getState().hrInfo?.fullDeptCd||null,it=()=>U.useUserStore.getState().hrInfo?.deptNm||null,Fr=()=>U.useUserStore.getState().hrInfo?.fullDeptNm||null,be=()=>U.useUserStore.getState().user?.roleList||null,Br=e=>{const t=be();return t?t.includes(e):!1},Pr=e=>{const t=be();return t?e.some(r=>t.includes(r)):!1},jr=e=>{const t=be();return t?e.every(r=>t.includes(r)):!1},Hr=()=>U.useUserStore.getState().isLoggedIn(),fe=()=>U.useUserStore.getState().user,Gr=()=>fe()!==null,zr=()=>{const e=at(),t=me();return e||t||null},qr=()=>{const e=it(),t=pe();return e||(t?String(t):null)},le=()=>U.useUserStore.getState().hrInfo,Vr=()=>le()?.jbpsCd||null,Wr=()=>le()?.jbgdCd||null,Kr=()=>le()?.jbdtCd||null,Zr=()=>le()?.jbkdCd||null,Jr=()=>le()?.wkplCd||null,Xr=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:de,getDepartmentInfo:qr,getDisplayName:zr,getDprtCd:pe,getDprtNm:it,getEmplNo:Lr,getFullDprtCd:Yr,getFullDprtNm:Fr,getHrInfo:le,getJbdtCd:Kr,getJbgdCd:Wr,getJbkdCd:Zr,getJbpsCd:Vr,getRoleList:be,getUserDvsn:Rr,getUserId:me,getUserInfo:fe,getUserNm:at,getWkplCd:Jr,hasAllRoles:jr,hasAnyRole:Pr,hasRole:Br,hasUserInfo:Gr,isLoggedIn:Hr},Symbol.toStringTag,{value:"Module"}));class te extends Error{constructor(t,r,o,c,u){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=c,this.errorType=u,Error.captureStackTrace&&Error.captureStackTrace(this,te)}}let ae=null;const ze={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},Ie=We.create({timeout:ze.timeout,withCredentials:ze.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":Oe()}});Ie.interceptors.request.use(e=>{const t=ee();e.showLoading&&!e.isPopup&&t.showLoading?.(),e.showLoading&&e.isPopup&&t.showPopupLoading?.();let r="UNKNOWN";new Date().getTime();try{e.data&&e.data.header?r=e.data.header.trxCd||"UNKNOWN":e.params&&e.params.header&&(r=e.params.header.trxCd||"UNKNOWN")}catch(c){console.warn("trxCd/guid 추출 실패:",c)}e.trxCd=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${r} / 서비스요청자: ${fe()?.userId}]`);const o=localStorage.getItem("accessToken");return o&&(e.headers.Authorization=`Bearer ${o}`),e.headers["Content-Type"]="application/json; charset=UTF-8",e.headers.Accept="application/json; charset=UTF-8",e},e=>(console.error("❌ 요청 인터셉터 에러:",e),Promise.reject(e)));Ie.interceptors.response.use(e=>{const t=ee();e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config.isPopup&&t.hidePopupLoading?.();let r="UNKNOWN",o="UNKNOWN";const c=new Date().getTime();try{e.config.trxCd&&(r=e.config.trxCd),e.config.guid?o=e.config.guid:e.data&&e.data.header&&e.data.header.trxCd?(r=e.data.header.trxCd,o=e.data.header.guid||"UNKNOWN"):e.config.data&&e.config.data.header?(r=e.config.data.header.trxCd||"UNKNOWN",o=e.config.data.header.guid||"UNKNOWN"):e.config.params&&e.config.params.header&&(r=e.config.params.header.trxCd||"UNKNOWN",o=e.config.params.header.guid||"UNKNOWN")}catch(l){console.warn("trxCd/guid 추출 실패:",l)}let u=0;return e.config.requestStartTime&&(u=c-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${o}] - (소요시간: ${u}ms)`),e},async e=>{const t=ee();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),Re&&console.error("🚨 Error Details:",{message:e.message,status:e.response?.status,statusText:e.response?.statusText,data:e.response?.data,config:{url:e.config?.url,method:e.config?.method,baseURL:e.config?.baseURL}}),e.response?.status===401){const r=localStorage.getItem("refreshToken");if(r)try{const o=await We.post("/auth/refresh",{refreshToken:r});if(o.data.accessToken){localStorage.setItem("accessToken",o.data.accessToken);const c=e.config;if(c)return c.headers.Authorization=`Bearer ${o.data.accessToken}`,Ie(c)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const Cn=async()=>{if(ae===null){const e=Date.now();await lt();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},Mn=(e,t,r,o)=>{const u=ee().getActiveMenuId?.();return{header:{trxCd:e,userInfo:fe(),clientIp:r,domainId:"DEFAULT",sysCd:o?.sysCd,appItCd:o?.appItCd,appCd:o?.appCd,screenId:u},data:t}},_n=(e,t,r)=>{const o={method:t.method,url:e,timeout:t.timeout,withCredentials:t.withCredentials,showLoading:t.showLoading,isPopup:t.isPopup,headers:{...t.headers||{}}};return t.method==="GET"?(o.params=r||t.params,t.params&&(o.params=t.params)):(o.data=r||t.data,t.params&&(o.params=t.params)),o},xn=async(e,t)=>{let r;const o=t.retryCount||0,c=t.retryDelay||1e3;for(let u=0;u<=o;u++)try{const l=await Ie(e);if(l.data?.header?.resCd==0)return Tn(l.data);const S=l.data?.header||{},m=S?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",v=S?.msgs?.detailMsgs||m,d=S?.msgCd,w=S?.msgs?.type;throw new te(m,v,l,d,w)}catch(l){if(r=kn(l),l?.isAxiosError&&Dn(l)&&u<o){await $n(c);continue}break}throw r?(Un(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},kn=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,c=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",u=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||c,l=o?.header?.msgCd,S=o?.header?.msgs?.type;return new te(c,u,r,l,S)}return e instanceof te,e},Tn=e=>{if(!e||typeof e!="object")return{};for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t!=="header")return e[t];return{}},Un=(e,t)=>{if(!t.showError)return;const r=e instanceof te,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",c=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",u=r?e.detailMsg:e.message,l=r?e.errorType:"";c&&c.startsWith?.("BXM")?st({message:o,description:u,duration:5}):l==="I"?Ee("info",o,u,{duration:5}):Ee("warning",o,u,{duration:5})},ct=async(e,t,r,o,c)=>{const l=ee().findSystemByAppCd?.(c??__APP_CD__)||{sysCd:__SYS_CD__};(!l||!l.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",c),await Cn();const S={...ze,...o},m=Mn(t,r,ut()||"unknown",l),v=_n(e,S,m);try{return await xn(v,S)}catch(d){throw console.error("callService 최종 에러:",d),d}},Dn=e=>!e.response||e.response.status>=500&&e.response.status<600,$n=e=>new Promise(t=>setTimeout(t,e)),lt=async e=>{if(ae===null)if(e===void 0)try{let r=(await We.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),ae=r}catch(t){console.warn("IP 가져오기 실패:",t),ae="unknown"}else ae=e},ut=()=>ae,Qr=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),ae||"unknown"),ie=async(e,t,r)=>ct("/api/service",e,t,r),eo=async(e,t,r)=>ct("/api/service",e.trxCd,t,r,e.appCd),to=async(e,t,r)=>{const c=ee().findSystemByAppCd?.(e.appCd??__APP_CD__);return!c||!c.sysCd?(console.error("해당 앱코드는 존재하지 않습니다.",e.appCd),Promise.reject(new Error("해당 앱코드는 존재하지 않습니다 ."))):ct("/api/service",e.trxCd,t,{...r,headers:{...r?.headers,sysCd:c?.sysCd}},e.appCd)},ro=async(e,t,r)=>{try{const o=await fetch("/api/permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e,menuId:t,popupId:r})});if(!o.ok)throw new Error(`권한 확인 실패: ${o.status}`);return await o.json()}catch(o){throw console.error("권한 확인 서비스 오류:",o),o}},oo=Object.freeze(Object.defineProperty({__proto__:null,ApiError:te,callEndpoint:eo,callService:ie,callServiceByAppCd:to,getClientIp:ut,getPermissionService:ro,setClientIp:lt,verifyClientIp:Qr},Symbol.toStringTag,{value:"Module"})),no=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),c=URL.createObjectURL(o),u=document.createElement("a");u.href=c,u.download=t,document.body.appendChild(u),u.click(),document.body.removeChild(u),URL.revokeObjectURL(c)};async function so(e){try{return await ie("SCMFILE00101",{crprCd:fe()?.crprCd,sysCd:__SYS_CD__,fileKey:e}).then(r=>{let o;if(r.sub&&(o=r.sub[0]),console.log(r),console.log(o),!o.lgclFileNm)throw console.error("논리파일명이 없습니다."),new Error("논리 파일명 누락");if(!o.filePath)throw console.error("파일 경로가 없습니다."),new Error("파일 경로 누락");const c=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(c,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const ao=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:so,downloadFile:no},Symbol.toStringTag,{value:"Module"}));var ue={},St;function Nn(){if(St)return ue;St=1;var e=Bo;if(process.env.NODE_ENV==="production")ue.createRoot=e.createRoot,ue.hydrateRoot=e.hydrateRoot;else{var t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;ue.createRoot=function(r,o){t.usingClientEntryPoint=!0;try{return e.createRoot(r,o)}finally{t.usingClientEntryPoint=!1}},ue.hydrateRoot=function(r,o,c){t.usingClientEntryPoint=!0;try{return e.hydrateRoot(r,o,c)}finally{t.usingClientEntryPoint=!1}}}return ue}var En=Nn();const io=e=>({initContent(t){this._root=En.createRoot(t)},render(t,r,o,c){const u=this._root;u&&e(t,r,o,c,u)},clearContent(t){},canClick(t){return!0},click(){return{}}}),co=e=>U.useUserStore.getState().getGridLayouts(e),lo=(e,t,r)=>U.useUserStore.getState().getGridLayout(e,t,r),uo=(e,t,r,o)=>{U.useUserStore.getState().saveGridLayout(e,t,r,o)},fo=(e,t,r)=>{U.useUserStore.getState().removeGridLayout(e,t,r)},go=e=>{U.useUserStore.getState().clearGridLayouts(e)},mo=()=>{U.useUserStore.getState().clearAllGridLayouts()},po=Object.freeze(Object.defineProperty({__proto__:null,clearAllGridLayouts:mo,clearGridLayouts:go,createBwgGridRenderer:io,getGridLayout:lo,getGridLayouts:co,removeGridLayout:fo,saveGridLayout:uo},Symbol.toStringTag,{value:"Module"}));let ce;const ho=e=>{ce={...ce,...e}},yo=()=>ce,vo=()=>{ce=void 0},bo=(e,t,r)=>{const o={duration:r?.duration??ce?.duration??(e==="error"?5:e==="warning"?4:3),className:r?.className||ce?.className,style:{...ce?.style,...r?.style}},c={content:t||"",duration:o.duration,className:o.className,style:o.style};switch(e){case"success":D.message.success(c);break;case"error":D.message.error(c);break;case"warning":D.message.warning(c);break;case"info":D.message.info(c);break}},wo=(e="처리중...")=>D.message.loading({content:e,duration:0}),So=e=>{D.message.destroy(e)},Co=()=>{D.message.destroy()},Mo=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:Co,closeMessage:So,getGlobalMessageStyle:yo,openMessage:bo,resetGlobalMessageStyle:vo,setGlobalMessageStyle:ho,showLoading:wo},Symbol.toStringTag,{value:"Module"})),In={success:"성공",error:"실패",warning:"경고",info:"안내",confirm:"확인"},se={okText:"확인",cancelText:"취소",width:520,centered:!0,maskClosable:!1,closable:!0,autoFocusButton:"ok"};let N;const _o=e=>{N={...N,...e,styles:{...N?.styles,...e.styles}}},xo=()=>N,ko=()=>{N=void 0},An=e=>N?{...e,className:e?.className||N.className,wrapClassName:e?.wrapClassName||N.wrapClassName,styles:{...N.styles,...e?.styles},okText:e?.okText||N.okText||se.okText,cancelText:e?.cancelText||N.cancelText||se.cancelText,width:e?.width||N.width||se.width,centered:e?.centered??N.centered??se.centered,maskClosable:e?.maskClosable??N.maskClosable??se.maskClosable,closable:e?.closable??N.closable??se.closable,autoFocusButton:e?.autoFocusButton??N.autoFocusButton??se.autoFocusButton,onOk:e?.onOk,onCancel:e?.onCancel,icon:e?.icon}:e||{},To=(e,t,r,o)=>{const c=t||In[e],u=An(o),l={title:c,content:r||"",...u};switch(e){case"success":return D.Modal.success(l);case"info":return D.Modal.info(l);case"error":return D.Modal.error(l);case"warning":return D.Modal.warning(l);case"confirm":return D.Modal.confirm(l)}},Uo=()=>{D.Modal.destroyAll()},Do=Object.freeze(Object.defineProperty({__proto__:null,destroyModals:Uo,getGlobalModalStyle:xo,openModal:To,resetGlobalModalStyle:ko,setGlobalModalStyle:_o},Symbol.toStringTag,{value:"Module"})),$o={left:"left",near:"left",right:"right",far:"right",center:"center",number:"#,##0",number2:"#,##0.00",number3:"#,##0.##",number4:"#,##0.000",number5:"#,##0.#####",editNumber:{type:"number",editFormat:"#,##0"},editNumber2:{type:"number",editFormat:"#,##0.00"},editNumber3:{type:"number",editFormat:"#,##0.##"},editNumber4:{type:"number",editFormat:"#,##0.000"},editNumber5:{type:"number",editFormat:"#,##0.###"},editYmd:{type:"date",datetimeFormat:"yyyyMMdd",autoclose:!0,maxDate:"99991231",minDate:"19000101",showButtons:!1,mask:{editMask:"9999-99-99"}},editYm:{type:"btdate",datetimeFormat:"yyyyMM",btOptions:{startView:1,minViewMode:1,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0,mask:{editMask:"9999-99"}}},editYy:{type:"btdate",datetimeFormat:"yyyy",btOptions:{startView:2,minViewMode:2,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0}},formatYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",formatYm:"([0-9]{4})([0-9]{2});$1-$2",formatYy:"([0-9]{4});$1",lookup:{type:"dropdown",domainOnly:!0},lookupReadOnly:{type:"dropdown",readOnly:!0},maskCard:{type:"text",mask:"0000-0000-0000-0000"},formatMaskCard:"([0-9]{4})([0-9]{4})([0-9]{4})([0-9]{4});$1-$2-$3-$4",maskBsnsNo:{type:"text",mask:"000-00-00000"},formatMaskBsnsNo:"([0-9]{3})([0-9]{2})([0-9]{5});$1-$2-$3",maskRsdn:{type:"text",mask:"000000-0000000"},formatMaskRsdn:"([0-9]{6})([0-9]{7});$1-$2",formatMaskRsdn2:"([0-9]{6})([0-9])([0-9]{6});$1-$2******",maskRsdn2:{type:"text",mask:"999999-9999999"},maskYmd:{type:"text",mask:"0000-00-00"},formatMaskYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",maskYm:{type:"text",mask:"0000-00"},formatMaskYm:"([0-9]{4})([0-9]{2});$1-$2",maskYmdHms:{type:"text",mask:"0000-00-00 00:00:00"},formatYmdHms:"([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2});$1-$2-$3 $4:$5:$6",maskHm:{type:"text",mask:"00:00"},formatHm:"([0-9]{2})([0-9]{2});$1:$2",maskHms:{type:"text",mask:"00:00:00"},formatHms:"([0-9]{2})([0-9]{2})([0-9]{2});$1:$2:$3",checkY:{type:"check",trueValues:"Y",falseValues:"N"},checkN:{type:"check",trueValues:"N",falseValues:"Y"},check1:{type:"check",trueValues:"1",falseValues:"0"},checkTrue:{type:"check",trueValues:"true",falseValues:"false"},checkT:{type:"check",trueValues:"T",falseValues:"F"},checkYdisabled:{type:"check",editable:!1,trueValues:"Y",falseValues:"N"},checkNdisabled:{type:"check",editable:!1,trueValues:"N",falseValues:"Y"},check1disabled:{type:"check",editable:!1,trueValues:"1",falseValues:"0"},count:{suffix:" 건",expression:"count"},count2:{prefix:"총 ",suffix:" 건",expression:"count"},datacount:{suffix:" 건",expression:"datacount"},sum:{numberFormat:"#,##0",expression:"sum"},sum2:{numberFormat:"#,##0.##",expression:"sum"},sum3:{numberFormat:"#,##0.00",expression:"sum"},avg:{numberFormat:"#,##0",expression:"avg"},avg2:{numberFormat:"#,##0.##",expression:"avg"},avg4:{numberFormat:"#,##0.####",expression:"avg"},min:{expression:"min"},max:{expression:"max"},date:{type:"date",mask:{editMask:"9999-99-99",placeHolder:"____-__-__",includedFormat:!0},datetimeFormat:"yyyy-MM-dd",textAlignment:"center",yearNavigation:!0},dateStyle:{datetimeFormat:"yyyy-MM-dd",textAlignment:"center"},maskDateFull:{type:"text",mask:"0000-00-00 00:00:00",textAlignment:"center"},bg_gray01:{background:"#cdcdcd"}},No=async e=>{if(e.map(t=>{t.status="uploading",t.percent=10,console.log(t)}),!e||!Array.isArray(e)||e.length===0){alert("업로드할 파일을 선택해주세요.");return}try{const t={remoteDir:"/home/krxuser/bkrx/files/testForGW",useOriginalName:"true"},r=e.map(async(l,S)=>{const m=new FormData;Object.entries(t).forEach(([w,p])=>{m.append(w,p)});const v=l.originFileObj;m.append("file",v);const d=await fetch("/api/gw-sftp",{method:"POST",body:m});return d.ok?(console.log(e),e.map(w=>w===l?{...w,status:"success",percent:100}:w)):l.status="done",{index:S,response:d,fileName:v.name}}),o=await Promise.all(r),c=o.filter(l=>l.response.ok).length,u=o.length-c;if(c===o.length)return alert(`${c}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${c}개 파일 업로드가 완료되었습니다.`,successCount:c,failCount:u};if(c>0){const l=`${c}개 성공, ${u}개 실패`;return alert(l),{result:"partial",message:l,successCount:c,failCount:u}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:c,failCount:u}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},On=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",openDraft:c=!0,fetchFilesTrxCd:u="SCMFILE00101"}=r||{},l=e??{},S=l.aprvKey||Oe(),m=l.docTitle||"제목없음";if(l.aprvKey){const p=await ie("SCMINTF00101",{crprCd:de(),sysCd:__SYS_CD__,aprvKey:S});if(Array.isArray(p?.sub)&&p.sub.length>=1)return console.log("이미 승인된 기안입니다."),c&&qe(S),{skipped:!0,alreadyDrafted:!0,draftedRes:p}}let v;if(t){const p=await ie(u,{crprCd:de(),sysCd:__SYS_CD__,fileGrpKey:t}),y=Array.isArray(p?.sub)?p.sub.filter(s=>s?.filePath&&s?.lgclFileNm).map(s=>({filePath:s.filePath,lgclFileNm:s.lgclFileNm})):[];console.log("@@ files",y);const b=y.map(async({filePath:s,lgclFileNm:f})=>{const n=`/api/download?filePath=${encodeURIComponent(s)}&logicalName=${encodeURIComponent(f)}`,i=await fetch(n,{method:"GET"});if(!i.ok)throw new Error(`다운로드 실패: ${f}`);const g=await i.blob();return{originFileObj:new File([g],f,{type:g.type||"application/octet-stream"}),name:f,status:"ready"}}),a=await Promise.all(b);if(y.length){const s=await No(a);if(!s||s.result!=="success")throw new Error(s?.message||"파일 업로드 실패");v=a}}console.warn("@@ payloadData",l),console.log(l);const d={...l,crprCd:de(),aprvKey:S,sysCd:__SYS_CD__,draftDt:tt("YYYYMMDD"),docTitle:m,emplNo:l.emplNo||me(),dprtNo:l.dprtNo||pe(),formId:"2023000022",fileInfoList:v,connInfo:{formId:"2023000022",bodyXml:l.bodyXml||"<div>test</div>",title:m,deptCd:l.dprtNo||pe(),userId:l.emplNo||me(),status:l.status||"INT"}},w=await ie(o,d);return c&&d?.aprvKey&&qe(S),{response:w,aprvKey:S}},qe=async(e,t)=>{if(!e)return console.warn("openGwDraftByAprvKey: aprvKey가 필요합니다."),{opened:!1,reason:"missing_aprvKey"};const{draftUrlBase:r="https://kgwd.krx.co.kr/ezConn/ezApprGate.do",windowFeatures:o="width=1000,height=600",requireExisting:c=!1}=t||{},u=await ie("SCMINTF00101",{crprCd:de(),sysCd:__SYS_CD__,aprvKey:e}),l=Array.isArray(u?.sub)&&u.sub.length>=1;if(c&&!l)return console.warn("openGwDraftByAprvKey: 기안 조회 결과 없음"),alert("기안 대상이 존재하지 않습니다."),{opened:!1,hasExisting:l};const S=u.sub[0];console.log("@@ data",S);const m=S?.dprtNo,v=S?.emplNo,d=S?.aprvKey,w=S?.formId;console.log("@@ deptCd",m),console.log("@@ userId",v),console.log("@@ keyId",d),console.log("@@ formId",w);const p=`${w}:${m}:${v}:${d}:SAMP`;console.log("@@ params",p);const y=new TextEncoder().encode(p),b=Array.from(y,s=>String.fromCharCode(s)).join(""),a=`${r}?connkey=${btoa(b)}`;return console.log("@@ url",a),window.open(a,"_blank",o),{opened:!0,hasExisting:l,url:a}},A=["#fff1f0","#ffccc7","#ffa39e","#ff7875","#ff4d4f","#f5222d","#cf1322","#a8071a","#820014","#5c0011"];A.primary=A[5];const F=["#fff2e8","#ffd8bf","#ffbb96","#ff9c6e","#ff7a45","#fa541c","#d4380d","#ad2102","#871400","#610b00"];F.primary=F[5];const B=["#fff7e6","#ffe7ba","#ffd591","#ffc069","#ffa940","#fa8c16","#d46b08","#ad4e00","#873800","#612500"];B.primary=B[5];const O=["#fffbe6","#fff1b8","#ffe58f","#ffd666","#ffc53d","#faad14","#d48806","#ad6800","#874d00","#613400"];O.primary=O[5];const P=["#feffe6","#ffffb8","#fffb8f","#fff566","#ffec3d","#fadb14","#d4b106","#ad8b00","#876800","#614700"];P.primary=P[5];const j=["#fcffe6","#f4ffb8","#eaff8f","#d3f261","#bae637","#a0d911","#7cb305","#5b8c00","#3f6600","#254000"];j.primary=j[5];const R=["#f6ffed","#d9f7be","#b7eb8f","#95de64","#73d13d","#52c41a","#389e0d","#237804","#135200","#092b00"];R.primary=R[5];const H=["#e6fffb","#b5f5ec","#87e8de","#5cdbd3","#36cfc9","#13c2c2","#08979c","#006d75","#00474f","#002329"];H.primary=H[5];const L=["#e6f4ff","#bae0ff","#91caff","#69b1ff","#4096ff","#1677ff","#0958d9","#003eb3","#002c8c","#001d66"];L.primary=L[5];const G=["#f0f5ff","#d6e4ff","#adc6ff","#85a5ff","#597ef7","#2f54eb","#1d39c4","#10239e","#061178","#030852"];G.primary=G[5];const z=["#f9f0ff","#efdbff","#d3adf7","#b37feb","#9254de","#722ed1","#531dab","#391085","#22075e","#120338"];z.primary=z[5];const q=["#fff0f6","#ffd6e7","#ffadd2","#ff85c0","#f759ab","#eb2f96","#c41d7f","#9e1068","#780650","#520339"];q.primary=q[5];const Ve=["#a6a6a6","#999999","#8c8c8c","#808080","#737373","#666666","#404040","#1a1a1a","#000000","#000000"];Ve.primary=Ve[5];const Z=Ve,Eo={site:{purple01:"var(--bwg-purple-1)",purple02:"var(--bwg-purple-2)",purple03:"var(--bwg-purple-3)",purple04:"var(--bwg-purple-4)",purple05:"var(--bwg-purple-5)",green01:"var(--bwg-green-1)",green02:"var(--bwg-green-2)",green03:"var(--bwg-green-3)",green04:"var(--bwg-green-4)",green05:"var(--bwg-green-5)",blue01:"var(--bwg-blue-1)",blue02:"var(--bwg-blue-2)",blue03:"var(--bwg-blue-3)",blue04:"var(--bwg-blue-4)",blue05:"var(--bwg-blue-5)",red01:"var(--bwg-red-1)",red02:"var(--bwg-red-2)",red03:"var(--bwg-red-3)",red04:"var(--bwg-red-4)",red05:"var(--bwg-red-5)",yellow01:"var(--bwg-yellow-1)",yellow02:"var(--bwg-yellow-2)",yellow03:"var(--bwg-yellow-3)",yellow04:"var(--bwg-yellow-4)",yellow05:"var(--bwg-yellow-5)"},default:{red01:A[0],red02:A[1],red03:A[2],red04:A[3],red05:A[4],red06:A[5],red07:A[6],red08:A[7],red09:A[8],red10:A[9],volcano01:F[0],volcano02:F[1],volcano03:F[2],volcano04:F[3],volcano05:F[4],volcano06:F[5],volcano07:F[6],volcano08:F[7],volcano09:F[8],volcano10:F[9],orange01:B[0],orange02:B[1],orange03:B[2],orange04:B[3],orange05:B[4],orange06:B[5],orange07:B[6],orange08:B[7],orange09:B[8],orange10:B[9],lime01:j[0],lime02:j[1],lime03:j[2],lime04:j[3],lime05:j[4],lime06:j[5],lime07:j[6],lime08:j[7],lime09:j[8],lime10:j[9],gold01:O[0],gold02:O[1],gold03:O[2],gold04:O[3],gold05:O[4],gold06:O[5],gold07:O[6],gold08:O[7],gold09:O[8],gold10:O[9],yellow01:P[0],yellow02:P[1],yellow03:P[2],yellow04:P[3],yellow05:P[4],yellow06:P[5],yellow07:P[6],yellow08:P[7],yellow09:P[8],yellow10:P[9],green01:R[0],green02:R[1],green03:R[2],green04:R[3],green05:R[4],green06:R[5],green07:R[6],green08:R[7],green09:R[8],green10:R[9],cyan01:H[0],cyan02:H[1],cyan03:H[2],cyan04:H[3],cyan05:H[4],cyan06:H[5],cyan07:H[6],cyan08:H[7],cyan09:H[8],cyan10:H[9],blue01:L[0],blue02:L[1],blue03:L[2],blue04:L[3],blue05:L[4],blue06:L[5],blue07:L[6],blue08:L[7],blue09:L[8],blue10:L[9],geekblue01:G[0],geekblue02:G[1],geekblue03:G[2],geekblue04:G[3],geekblue05:G[4],geekblue06:G[5],geekblue07:G[6],geekblue08:G[7],geekblue09:G[8],geekblue10:G[9],purple01:z[0],purple02:z[1],purple03:z[2],purple04:z[3],purple05:z[4],purple06:z[5],purple07:z[6],purple08:z[7],purple09:z[8],purple10:z[9],magenta01:q[0],magenta02:q[1],magenta03:q[2],magenta04:q[3],magenta05:q[4],magenta06:q[5],magenta07:q[6],magenta08:q[7],magenta09:q[8],magenta10:q[9],gray01:Z[0],gray02:Z[1],gray03:Z[2],gray04:Z[3],gray05:Z[4],gray06:Z[5],gray07:Z[6],gray08:Z[7],gray09:Z[8],gray10:Z[9]},status:{error:A[5],warning:O[5],success:R[5],info:L[5]}},Io=Object.freeze(Object.defineProperty({__proto__:null,colorFormat:Eo},Symbol.toStringTag,{value:"Module"})),Rn=oo,Ln=Mr,Yn=Dr,Fn=ao,Bn=po,Pn=Mo,jn=Do,Hn=Or,Gn=_t,zn=Xr,qn=Io,Ao={...oo,...Mr,...Dr,...ao,...po,...Mo,...Do,...Or,..._t,...Xr,realFormat:$o,...Io};exports.ApiError=te;exports.DEFAULT_FMT=re;exports.DEFAULT_SERVICE_CODES=Ae;exports.THEME_COOKIE_NAME=kt;exports.add=br;exports.apiUtils=Rn;exports.arrAverage=qt;exports.arrCount=Wt;exports.arrMax=Gt;exports.arrMin=zt;exports.arrReverse=Kt;exports.arrSum=Vt;exports.arrUnique=Ht;exports.bwgUtils=Ao;exports.callEndpoint=eo;exports.callService=ie;exports.callServiceByAppCd=to;exports.clamp=Xt;exports.clearAllGridLayouts=mo;exports.clearGridLayouts=go;exports.clearSessionStorage=or;exports.closeAllMessages=Co;exports.closeMessage=So;exports.closeNotification=Ar;exports.colorFormat=Eo;exports.colorUtils=qn;exports.commonUtils=Ln;exports.configureEnvUtils=kr;exports.copyToClipboard=Yt;exports.createBwgGridRenderer=io;exports.debounce=Lt;exports.default=Ao;exports.deleteCookie=ar;exports.destroyModals=Uo;exports.destroyNotifications=Ir;exports.diff=wr;exports.downloadByFileKey=so;exports.downloadFile=no;exports.duplicates=Zt;exports.encryptSha256=gr;exports.endOf=vr;exports.envUtils=Yn;exports.fileUtils=Fn;exports.format=rt;exports.generateRandomColor=jt;exports.generateRandomString=Xe;exports.generateUID=Oe;exports.generateUUIDv4=Qe;exports.getAllServiceCodes=Ze;exports.getApiDeps=ee;exports.getClientIp=ut;exports.getCookie=sr;exports.getCrprCd=de;exports.getDepartmentInfo=qr;exports.getDeviceType=he;exports.getDisplayName=zr;exports.getDprtCd=pe;exports.getDprtNm=it;exports.getEmplNo=Lr;exports.getEnvCode=Ur;exports.getFullDprtCd=Yr;exports.getFullDprtNm=Fr;exports.getGlobalMessageStyle=yo;exports.getGlobalModalStyle=xo;exports.getGlobalNotificationStyle=Nr;exports.getGridLayout=lo;exports.getGridLayouts=co;exports.getHrInfo=le;exports.getJbdtCd=Kr;exports.getJbgdCd=Wr;exports.getJbkdCd=Zr;exports.getJbpsCd=Vr;exports.getPermissionService=ro;exports.getRoleList=be;exports.getServiceCode=Ke;exports.getSessionStorage=tr;exports.getTodateString=tt;exports.getUserDvsn=Rr;exports.getUserId=me;exports.getUserInfo=fe;exports.getUserNm=at;exports.getWkplCd=Jr;exports.gridUtils=Bn;exports.hasAllRoles=jr;exports.hasAnyRole=Pr;exports.hasRole=Br;exports.hasUserInfo=Gr;exports.initApiDeps=Cr;exports.isArray=Et;exports.isBoolean=Dt;exports.isDesktop=Pt;exports.isDev=ot;exports.isEmpty=Je;exports.isEmptyArray=ye;exports.isFunction=$t;exports.isLocal=Re;exports.isLoggedIn=Hr;exports.isMobile=Ft;exports.isNull=It;exports.isNullOrUndefined=Ot;exports.isNumber=Ut;exports.isObject=Nt;exports.isProd=nt;exports.isSafeEmpty=ir;exports.isString=Tt;exports.isTablet=Bt;exports.isUndefined=At;exports.isValid=ve;exports.isValidDate=mr;exports.isValidEmail=lr;exports.isValidUrl=ur;exports.isValidYear=pr;exports.isValidYearMonth=hr;exports.logServiceCodeConfig=Mt;exports.messageUtils=Pn;exports.modalUtils=jn;exports.notiBwgError=st;exports.notificationUtils=Hn;exports.now=et;exports.openGwDraftByAprvKey=qe;exports.openMessage=bo;exports.openModal=To;exports.openNoti=Ee;exports.padLeft=dr;exports.padRight=fr;exports.random=Jt;exports.realFormat=$o;exports.removeGridLayout=fo;exports.removeSessionStorage=rr;exports.resetGlobalMessageStyle=vo;exports.resetGlobalModalStyle=ko;exports.resetGlobalNotificationStyle=Er;exports.round=Qt;exports.saveGridLayout=uo;exports.serviceUtils=Gn;exports.setClientIp=lt;exports.setCookie=nr;exports.setGlobalMessageStyle=ho;exports.setGlobalModalStyle=_o;exports.setGlobalNotificationStyle=$r;exports.setServiceCodeOverrides=Ct;exports.setSessionStorage=er;exports.showLoading=wo;exports.startOf=yr;exports.submitGwApproval=On;exports.throttle=Rt;exports.toCamelCase=cr;exports.uploadFilesViaSftp=No;exports.userUtils=zn;exports.verifyClientIp=Qr;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './envUtils';
|
|
|
4
4
|
export * from './fileUtils';
|
|
5
5
|
export * from './gridUtils';
|
|
6
6
|
export * from './messageUtils';
|
|
7
|
+
export * from './modalUtils';
|
|
7
8
|
export * from './notificationUtils';
|
|
8
9
|
export { default as realFormat } from './realFormat';
|
|
9
10
|
export * from './serviceConfig';
|
|
@@ -16,6 +17,7 @@ import * as envUtilsModule from './envUtils';
|
|
|
16
17
|
import * as fileUtilsModule from './fileUtils';
|
|
17
18
|
import * as gridUtilsModule from './gridUtils';
|
|
18
19
|
import * as messageUtilsModule from './messageUtils';
|
|
20
|
+
import * as modalUtilsModule from './modalUtils';
|
|
19
21
|
import * as notificationUtilsModule from './notificationUtils';
|
|
20
22
|
import * as serviceConfigModule from './serviceConfig';
|
|
21
23
|
import * as userUtilsModule from './userUtils';
|
|
@@ -26,6 +28,7 @@ export declare const envUtils: typeof envUtilsModule;
|
|
|
26
28
|
export declare const fileUtils: typeof fileUtilsModule;
|
|
27
29
|
export declare const gridUtils: typeof gridUtilsModule;
|
|
28
30
|
export declare const messageUtils: typeof messageUtilsModule;
|
|
31
|
+
export declare const modalUtils: typeof modalUtilsModule;
|
|
29
32
|
export declare const notificationUtils: typeof notificationUtilsModule;
|
|
30
33
|
export declare const serviceUtils: typeof serviceConfigModule;
|
|
31
34
|
export declare const userUtils: typeof userUtilsModule;
|
|
@@ -469,34 +472,25 @@ export declare const bwgUtils: {
|
|
|
469
472
|
readonly AUTH_BMRK: "SCMBMRK00101";
|
|
470
473
|
readonly SYST_CODE: "SCMSYST00101";
|
|
471
474
|
};
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
showWarning(message: string, description?: string, duration?: number): void;
|
|
477
|
-
showError(message: string, description?: string, duration?: number): void;
|
|
478
|
-
destroy(): void;
|
|
479
|
-
close(key: string): void;
|
|
480
|
-
};
|
|
475
|
+
setGlobalNotificationStyle: (config: Partial<notificationUtilsModule.GlobalNotificationStyleConfig>) => void;
|
|
476
|
+
getGlobalNotificationStyle: () => Partial<notificationUtilsModule.GlobalNotificationStyleConfig> | undefined;
|
|
477
|
+
resetGlobalNotificationStyle: () => void;
|
|
478
|
+
openNoti: (type: notificationUtilsModule.NotificationType, title?: string, message?: string, extraOptions?: notificationUtilsModule.NotificationExtraOptions) => void;
|
|
481
479
|
notiBwgError: (props: notificationUtilsModule.BwgErrorProps) => void;
|
|
482
|
-
notiSuccess: (message: string, description?: string, duration?: number) => void;
|
|
483
|
-
notiInfo: (message: string, description?: string, duration?: number) => void;
|
|
484
|
-
notiWarning: (message: string, description?: string, duration?: number) => void;
|
|
485
|
-
notiError: (message: string, description?: string, duration?: number) => void;
|
|
486
480
|
destroyNotifications: () => void;
|
|
487
481
|
closeNotification: (key: string) => void;
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
482
|
+
setGlobalModalStyle: (config: Partial<modalUtilsModule.GlobalModalStyleConfig>) => void;
|
|
483
|
+
getGlobalModalStyle: () => Partial<modalUtilsModule.GlobalModalStyleConfig> | undefined;
|
|
484
|
+
resetGlobalModalStyle: () => void;
|
|
485
|
+
openModal: (type: modalUtilsModule.ModalType, title?: string, content?: string | React.ReactNode, extraOptions?: modalUtilsModule.ModalExtraOptions) => ReturnType<import('antd/es/modal/confirm').ModalFunc> | ReturnType<import('antd/es/modal/confirm').ModalFunc> | ReturnType<import('antd/es/modal/confirm').ModalFunc> | ReturnType<import('antd/es/modal/confirm').ModalFunc> | ReturnType<import('antd/es/modal/confirm').ModalFunc>;
|
|
486
|
+
destroyModals: () => void;
|
|
487
|
+
setGlobalMessageStyle: (config: Partial<messageUtilsModule.GlobalMessageStyleConfig>) => void;
|
|
488
|
+
getGlobalMessageStyle: () => Partial<messageUtilsModule.GlobalMessageStyleConfig> | undefined;
|
|
489
|
+
resetGlobalMessageStyle: () => void;
|
|
490
|
+
openMessage: (type: messageUtilsModule.MessageType, content?: string, extraOptions?: messageUtilsModule.MessageExtraOptions) => void;
|
|
492
491
|
showLoading: (content?: string) => import('antd/es/message/interface').MessageType;
|
|
493
492
|
closeMessage: (key: string) => void;
|
|
494
493
|
closeAllMessages: () => void;
|
|
495
|
-
showApiError: (error: any, defaultMessage?: string) => void;
|
|
496
|
-
showSaveSuccess: (type?: string) => void;
|
|
497
|
-
showSaveError: (type?: string) => void;
|
|
498
|
-
showDuplicateError: (fieldName: string) => void;
|
|
499
|
-
showRequiredError: (fieldName: string) => void;
|
|
500
494
|
createBwgGridRenderer: (renderFunction: (grid: any, model: any, w: any, h: any, root: any) => void) => gridUtilsModule.BwgGridRenderType;
|
|
501
495
|
getGridLayouts: (sysCd: string) => gridUtilsModule.GridLayoutInfo[];
|
|
502
496
|
getGridLayout: (sysCd: string, menuId: string, gridId: string) => any | null;
|