@bwg-ui/core 1.2.19 → 1.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/chunks/{MenuReport-ByLduwwZ.js → MenuReport-D-gxEaXb.js} +1 -1
  2. package/dist/chunks/{MenuReport-D5nIx5g9.cjs → MenuReport-DbGZz84g.cjs} +1 -1
  3. package/dist/chunks/{common-components-CyxuMobg.js → common-components-BLgaNCNY.js} +2934 -2997
  4. package/dist/chunks/{common-components-BXjzima0.cjs → common-components-CeY5flj3.cjs} +37 -37
  5. package/dist/chunks/layout-components-C_HvgcCg.cjs +35 -0
  6. package/dist/chunks/{layout-components-CyKRhOdT.js → layout-components-IvmBzdev.js} +25 -25
  7. package/dist/components/common/BwgGrid.d.ts +7 -3
  8. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  9. package/dist/components/common/index.cjs +1 -1
  10. package/dist/components/common/index.js +1 -1
  11. package/dist/components/guide/BwgPracticeGuideS00.d.ts.map +1 -1
  12. package/dist/components/guide/index.cjs +1 -1
  13. package/dist/components/guide/index.js +60 -66
  14. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  15. package/dist/components/layout/index.cjs +1 -1
  16. package/dist/components/layout/index.js +1 -1
  17. package/dist/components/pages/auth/CMAuthMstrM01.d.ts.map +1 -1
  18. package/dist/components/pages/auth/CMRoleMstrM01.d.ts.map +1 -1
  19. package/dist/components/pages/rsrc/CMMenuMstrM01.d.ts.map +1 -1
  20. package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts.map +1 -1
  21. package/dist/components/popup/index.cjs +1 -1
  22. package/dist/components/popup/index.js +1 -1
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +248 -250
  25. package/dist/stores/index.cjs +1 -1
  26. package/dist/stores/index.js +1 -1
  27. package/dist/utils/commonUtils.d.ts +23 -84
  28. package/dist/utils/commonUtils.d.ts.map +1 -1
  29. package/dist/utils/gwUtils.d.ts +20 -1
  30. package/dist/utils/gwUtils.d.ts.map +1 -1
  31. package/dist/utils/index.cjs +1 -1
  32. package/dist/utils/index.d.ts +12 -14
  33. package/dist/utils/index.d.ts.map +1 -1
  34. package/dist/utils/index.js +1130 -978
  35. package/package.json +1 -1
  36. package/dist/chunks/layout-components-CfFi4fiJ.cjs +0 -35
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),g=require("../utils/index.cjs"),F=require("antd"),Z=require("../chunks/layout-components-CfFi4fiJ.cjs"),L=require("react"),V=require("react-router-dom");function Q(n,r){let e;try{e=n()}catch{return}return{getItem:o=>{var t;const a=c=>c===null?null:JSON.parse(c,void 0),d=(t=e.getItem(o))!=null?t:null;return d instanceof Promise?d.then(a):a(d)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const T=n=>r=>{try{const e=n(r);return e instanceof Promise?e:{then(s){return T(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return T(s)(e)}}}},ee=(n,r)=>(e,s,o)=>{let t={storage:Q(()=>localStorage),partialize:C=>C,version:0,merge:(C,S)=>({...S,...C}),...r},a=!1;const d=new Set,c=new Set;let i=t.storage;if(!i)return n((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${t.name}', the given storage is currently unavailable.`),e(...C)},s,o);const p=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},I=o.setState;o.setState=(C,S)=>(I(C,S),p());const m=n((...C)=>(e(...C),p()),s,o);o.getInitialState=()=>m;let u;const h=()=>{var C,S;if(!i)return;a=!1,d.forEach(y=>{var N;return y((N=s())!=null?N:m)});const k=((S=t.onRehydrateStorage)==null?void 0:S.call(t,(C=s())!=null?C:m))||void 0;return T(i.getItem.bind(i))(t.name).then(y=>{if(y)if(typeof y.version=="number"&&y.version!==t.version){if(t.migrate){const N=t.migrate(y.state,y.version);return N instanceof Promise?N.then(K=>[!0,K]):[!0,N]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,y.state];return[!1,void 0]}).then(y=>{var N;const[K,W]=y;if(u=t.merge(W,(N=s())!=null?N:m),e(u,!0),K)return p()}).then(()=>{k?.(u,void 0),u=s(),a=!0,c.forEach(y=>y(u))}).catch(y=>{k?.(void 0,y)})};return o.persist={setOptions:C=>{t={...t,...C},C.storage&&(i=C.storage)},clearStorage:()=>{i?.removeItem(t.name)},getOptions:()=>t,rehydrate:()=>h(),hasHydrated:()=>a,onHydrate:C=>(d.add(C),()=>{d.delete(C)}),onFinishHydration:C=>(c.add(C),()=>{c.delete(C)})},t.skipHydration||h(),u||m},M=ee,w=b.create()(M((n,r)=>({user:null,hrInfo:null,isLoggedIn:()=>!!r().user,setLoginUser:(e,s)=>{n({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{n({user:null,hrInfo:null}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=r().user,t=r().hrInfo;o&&n({user:{...o,...e}}),t&&n({hrInfo:{...t,...s}})}}),{name:"user-storage",partialize:n=>({user:n.user,hrInfo:n.hrInfo,isLoggedIn:n.isLoggedIn})})),A={CACHE_SIZE_LIMIT:1e3},l={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 n=Array.from(this.cacheHits.entries());n.sort((e,s)=>e[1]-s[1]),n.slice(0,Math.floor(n.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(n){return this.loadedGroups.has(n)},markGroupLoaded(n){this.loadedGroups.add(n)}},te=n=>{console.log("대규모 데이터 변환 시작:",n);const r={};if(n&&n.code&&Array.isArray(n.code)){const e=n.code,s=n.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;r[a]||(r[a]={});const c=(o.get(t.cmmnCd)||[]).reduce((i,p)=>(p.optnCd&&p.optnNm&&(i[p.optnCd]=p.optnNm),i),{});r[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(c).length>0?c:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",r),r},f=b.create()(M((n,r)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchData:async()=>{n({isLoading:!0,error:null});try{console.log("대규모 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await g.callService(g.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("대규모 공통코드 응답:",e),console.log("대규모 공통코드목록:",e.code),console.log("대규모 공통코드옵션션목록:",e.opt);const s=te(e);l.clearCache();const o=new Set(Object.keys(s));o.forEach(t=>{l.markGroupLoaded(t)}),n({codeData:s,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:o}),console.log("대규모 공통코드 데이터 가져오기 완료")}catch(e){console.error("대규모 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"대규모 공통코드 데이터 가져오기 실패"})}},loadSpecificGroup:async e=>{const{codeData:s,loadedGroups:o}=r();if(!s||o.has(e))return;const t=new Set(o).add(e);n({loadedGroups:t}),l.markGroupLoaded(e)},setData:e=>{l.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{l.markGroupLoaded(o)}),n({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{l.clearCache(),n({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set})},getLoadedGroups:()=>Array.from(r().loadedGroups)}),{name:"large-data-storage",partialize:n=>({codeData:n.codeData,lastUpdated:n.lastUpdated,loadedGroups:Array.from(n.loadedGroups)})})),D=b.create()(M((n,r)=>({get codeData(){return f.getState().codeData},get isLoading(){return f.getState().isLoading},get error(){return f.getState().error},get lastUpdated(){return f.getState().lastUpdated},fetchCommonCodes:async()=>{await f.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:d=!1}=s||{},c=`simpleCodeList_${e}_${o}_${t}_${a}_${d}`;if(l.optionCache.has(c)){const h=l.cacheHits.get(c)||0;return l.cacheHits.set(c,h+1),l.optionCache.get(c)}const i=f.getState().codeData;if(!i)return[];if(!l.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const p=[],I=i[e];I&&Object.values(I).forEach(h=>{if(!(o&&!h.enabled)&&!(t&&h.systemCodeYn!=="Y"))if(d){const C=e.length,S=h.codeValue.substring(C);S.length>0&&p.push({...h,codeValue:S})}else p.push(h)});let m;a?m=p.sort((h,C)=>h.sortOrder!==C.sortOrder?h.sortOrder-C.sortOrder:h.codeValue.localeCompare(C.codeValue)):m=p.sort((h,C)=>h.codeValue.localeCompare(C.codeValue));const u=m.map(h=>({label:h.codeNm,value:h.codeValue,tagColor:h.labelColor}));return l.optionCache.size>=A.CACHE_SIZE_LIMIT&&l.cleanupCache(),l.optionCache.set(c,u),l.cacheHits.set(c,1),u},getCodeName:e=>{if(l.nameCache.has(e)){const o=l.cacheHits.get(`name_${e}`)||0;return l.cacheHits.set(`name_${e}`,o+1),l.nameCache.get(e)}const s=f.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 l.nameCache.set(e,t.codeNm),l.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(l.colorCache.has(e)){const o=l.cacheHits.get(`color_${e}`)||0;return l.cacheHits.set(`color_${e}`,o+1),l.colorCache.get(e)}const s=f.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 l.colorCache.set(e,t.labelColor||""),l.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(l.optionCache.has(s)){const i=l.cacheHits.get(s)||0;return l.cacheHits.set(s,i+1),l.optionCache.get(s)}const o=f.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],d=[];Object.values(t).filter(i=>i.enabled).sort((i,p)=>i.sortOrder-p.sortOrder).forEach(i=>{a.push(i.codeNm),d.push(i.codeValue)});const c={labels:a,values:d,lookupDisplay:!0};return l.optionCache.set(s,c),l.cacheHits.set(s,1),c},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(l.codeCache.has(t)){const p=l.cacheHits.get(t)||0;return l.cacheHits.set(t,p+1),l.codeCache.get(t)}const a=f.getState().codeData;if(!a)return[];const d=[],c=a[e];c&&Object.values(c).forEach(p=>{p.enabled&&p.options&&p.options[s]===o&&d.push({...p,codeNm:p.options[s]||p.codeNm})});const i=d.sort((p,I)=>p.codeValue.localeCompare(I.codeValue));return l.codeCache.size>=A.CACHE_SIZE_LIMIT&&l.cleanupCache(),l.codeCache.set(t,i),l.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:d=!1}=o||{},c=`codeListByOption_${e}_${s}_${t}_${a}_${d}`;if(l.codeCache.has(c)){const u=l.cacheHits.get(c)||0;return l.cacheHits.set(c,u+1),l.codeCache.get(c)}const i=f.getState().codeData;if(!i)return[];if(!l.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const p=[],I=i[e];I&&Object.values(I).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&p.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return d?m=p.sort((u,h)=>u.value.localeCompare(h.value)):m=p.sort((u,h)=>u.value.localeCompare(h.value)),l.codeCache.size>=A.CACHE_SIZE_LIMIT&&l.cleanupCache(),l.codeCache.set(c,m),l.cacheHits.set(c,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(l.nameCache.has(e)){const t=l.cacheHits.get(e)||0;return l.cacheHits.set(e,t+1),JSON.parse(l.nameCache.get(e))}const s=f.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return l.nameCache.set(e,JSON.stringify(o)),l.cacheHits.set(e,1),o},clearCodes:()=>{f.getState().clearData()}}),{name:"code-storage",partialize:n=>({})})),oe=b.create()(M((n,r)=>({get codeData(){return f.getState().codeData},get isLoading(){return f.getState().isLoading},get error(){return f.getState().error},get lastUpdated(){return f.getState().lastUpdated},fetchCommonCodes:async()=>{await f.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(l.optionCache.has(o)){const d=l.cacheHits.get(o)||0;return l.cacheHits.set(o,d+1),l.optionCache.get(o)}const t=f.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const d=a[s].options;return l.optionCache.set(o,d),l.cacheHits.set(o,1),d}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(l.optionCache.has(t)){const c=l.cacheHits.get(t)||0;return l.cacheHits.set(t,c+1),l.optionCache.get(t)}const a=r().getOptionValue(e,s),d=a?a[o]:null;return l.optionCache.set(t,d),l.cacheHits.set(t,1),d},clearCodes:()=>{f.getState().clearData()}}),{name:"option-storage",partialize:n=>({})})),se=b.create()(M((n,r)=>({get codeData(){return f.getState().codeData},get isLoading(){return f.getState().isLoading},get error(){return f.getState().error},get lastUpdated(){return f.getState().lastUpdated},fetchCommonCodes:async()=>{await f.getState().fetchData()},getColorCode:e=>{if(l.colorCache.has(e)){const o=l.cacheHits.get(`color_${e}`)||0;return l.cacheHits.set(`color_${e}`,o+1),l.colorCache.get(e)}const s=f.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 l.colorCache.set(e,t.labelColor||""),l.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(l.optionCache.has(e)){const t=l.cacheHits.get(e)||0;return l.cacheHits.set(e,t+1),l.optionCache.get(e)}const s=f.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})})}),l.optionCache.set(e,o),l.cacheHits.set(e,1),o},clearCodes:()=>{f.getState().clearData()}}),{name:"color-storage",partialize:n=>({})})),ne=(n,r)=>({nodes:{},rootIds:[],loadedFor:void 0,loading:!1,error:void 0,treeNodes:[],isMenuBookmarked:e=>Object.values(r().nodes).some(s=>s.type==="M"&&s.menuId===e),getPrntBkmkIdByMenuId:e=>{const s=P(r().nodes,e);return s?r().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=P(r().nodes,e);if(!s)return null;const o=r().nodes[s];return o?.type==="M"?o:null},getFolderTree:e=>{const{nodes:s,rootIds:o}=r(),t=d=>e?d.toLowerCase().includes(e.toLowerCase()):!0,a=d=>{const c=s[d];if(!c||c.type!=="F")return null;const i=c,p=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||p.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:p.length?p:void 0}:null};return o.map(d=>a(d)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=r();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){n({loading:!0,error:void 0});try{const t=await g.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],d=re(a),c=v(d.nodes,d.rootIds);n({...d,treeNodes:c,loadedFor:e,loading:!1})}catch(t){throw n({loading:!1,error:t?.message||"즐겨찾기 로드 실패"}),t}}},loadFavoritesIfNeeded:async e=>{const s=r();(s.loadedFor!==e||Object.keys(s.nodes).length===0)&&await r().loadFavorites(e)},clearFavorites:()=>{n({nodes:{},rootIds:[],treeNodes:[],loadedFor:void 0,loading:!1,error:void 0}),console.log("📚 북마크 스토어 초기화 완료")},addNode:async e=>{const s=B(r()),o=ae();n(t=>{const a=e.sortOrdr??$(t,e.prntBkmkId),d={...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 de(d,o,e.prntBkmkId),d.treeNodes=v(d.nodes,d.rootIds),d});try{let t=o;const a=$(r(),e.prntBkmkId),d=await g.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:g.getUserId()});return t=String(d?.bkmkId??d?.itemId??o),n(c=>{const i=pe(c,o,t);return{...i,treeNodes:v(i.nodes,i.rootIds)}}),t}catch(t){throw n(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=r(),d=structuredClone(a.nodes),c=[...a.rootIds],i=d[e];if(!i)return;if(s!=="-"){const u=d[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const p=i.prntBkmkId??"-",I=p==="-"?c:d[p].children||=[];{const u=I.indexOf(e);u>=0&&I.splice(u,1)}const m=s==="-"?c:d[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,n({nodes:d,rootIds:c}),j(d,c,s),j(d,c,p);try{await g.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw n(a),u}},removeNode:async e=>{const s=B(r());n(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return q(t,e),t.treeNodes=v(t.nodes,t.rootIds),t});try{await g.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw n(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const d=B(r());n(c=>{const i={...c,nodes:{...c.nodes}},p=i.nodes[e];return p?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...p,bkmkNm:o}),i});try{await g.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:g.getUserId()})}catch(c){throw n(d),c}},addFolder:async(e,s,o,t)=>await r().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>P(r().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await r().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:g.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=r(),t=Object.values(o.nodes).find(d=>d.type==="M"&&d.menuId===s.menuId);if(t){await r().removeNode(t.bkmkId);return}let a=x(o);a||(await r().loadFavorites(e,!0),a=x(r())),a&&await r().addNode({type:"M",prntBkmkId:a,sysCd:"KH",userId:g.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=r(),o=P(s.nodes,e);o&&await r().removeNode(o)},removeMenu:async e=>{await r().removeNode(e)},removeFolder:async e=>{await r().removeNode(e)},editFolder:async(e,s,o,t,a)=>{await r().editNode({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})},convertToAntTreeData:(e,s,o,t=!1)=>{const a=c=>o?c.toLowerCase().includes(o.toLowerCase()):!0,d=c=>{const i=e[c];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const p=i,I=(p.children||[]).map(u=>d(u)).filter(Boolean);return a(p.bkmkNm)||I.length>0?{key:p.bkmkId,type:"F",title:`📁 ${p.bkmkNm}`,bkmkNm:p.bkmkNm,prntBkmkId:p.prntBkmkId,sortOrdr:p.sortOrdr,fullPath:p.fullPath,children:I.length?I:void 0}:null}else{const p=i,I=p.menuNm?`${p.menuNm} (${p.menuId})`:p.menuId;return a(I)?{key:p.bkmkId,type:"M",title:`📄 ${I}`,prntBkmkId:p.prntBkmkId,sortOrdr:p.sortOrdr,fullPath:p.fullPath,isLeaf:!0}:null}};return s.map(d).filter(Boolean)}}),R=b.create(ne);function re(n){const r={},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"){r[a.bkmkId]={...a,bkmkNm:t.bkmkNm??t.BKMK_NM??t.name??a.bkmkId,children:[]};const d=Array.isArray(t.children)?t.children:[];s(d)}else r[a.bkmkId]={...a,menuId:t.menuId??t.MENU_ID??"",menuNm:t.menuNm??t.MENU_NM}})};return s(n),Object.values(r).forEach(o=>{if(o.prntBkmkId&&o.prntBkmkId!=="-"){const t=r[o.prntBkmkId];t?.type==="F"&&t.children.push(o.bkmkId)}else o.type==="F"&&e.push(o.bkmkId)}),e.sort((o,t)=>(r[o].sortOrdr??0)-(r[t].sortOrdr??0)),Object.values(r).forEach(o=>{o.type==="F"&&o.children.sort((a,d)=>(r[a].sortOrdr??0)-(r[d].sortOrdr??0))}),{nodes:r,rootIds:e}}function B(n){return{...n,nodes:JSON.parse(JSON.stringify(n.nodes)),rootIds:n.rootIds.slice()}}function ae(){return`tmp_${Math.random().toString(36).slice(2,10)}`}function $(n,r){if(!r||r==="-")return n.rootIds.length;const e=n.nodes[r];return e?e.children.length:0}function de(n,r,e){const s=n.nodes[r];if(s)if(e&&e!=="-"){const o=n.nodes[e];if(!o||o.type!=="F")return;s.prntBkmkId=e,o.children=[...o.children,r]}else s.prntBkmkId="-",n.rootIds=[...n.rootIds,r]}function ce(n,r){const e=n.nodes[r];if(!e)return;const s=e.prntBkmkId;if(s&&s!=="-"){const o=n.nodes[s];o?.type==="F"&&(o.children=o.children.filter(t=>t!==r))}else n.rootIds=n.rootIds.filter(o=>o!==r)}function q(n,r){const e=n.nodes[r];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>q(n,a)),ce(n,r);const{[r]:s,...o}=n.nodes;n.nodes=o}function pe(n,r,e){if(r===e)return n;const s=n.nodes[r];if(!s)return n;const o=JSON.parse(JSON.stringify(s));o.bkmkId=e;const t={...n.nodes,[e]:o};delete t[r];let a=n.rootIds;if(o.prntBkmkId&&o.prntBkmkId!=="-"){const d=t[o.prntBkmkId];d?.type==="F"&&(t[o.prntBkmkId]={...d,children:d.children.map(c=>c===r?e:c)})}else a=n.rootIds.map(d=>d===r?e:d);return{...n,nodes:t,rootIds:a}}function x(n){return n.rootIds.find(r=>n.nodes[r]?.type==="F")??null}function v(n,r){const e={};Object.values(n).forEach(c=>{const i=c.bkmkId,p=c.prntBkmkId;!i||!p||p==="-"||p===i||(e[p]??=[]).push(i)});const s=new Set,o=c=>{if(s.has(c))return null;const i=n[c];if(!i)return null;s.add(c);try{if(i.type==="F"){const I=i,m=e[c]??[];return{type:"F",bkmkId:c,bkmkNm:I.bkmkNm,prntBkmkId:I.prntBkmkId,children:m.map(o).filter(Boolean)}}const p=i;return{type:"M",bkmkId:c,bkmkNm:p.menuNm,menuId:p.menuId,menuNm:p.menuNm,prntBkmkId:p.prntBkmkId}}finally{s.delete(c)}},t=Object.values(n).filter(c=>c.prntBkmkId==="-"&&c.type==="M").map(c=>c.bkmkId),a=Object.values(n).filter(c=>c.prntBkmkId==="-"&&c.type==="F").map(c=>c.bkmkId);return Array.from(new Set([...r,...t,...a])).map(o).filter(Boolean)}function P(n,r){for(const e of Object.values(n))if(e.type==="M"&&e.menuId===r)return e.bkmkId;return null}function j(n,r,e){(!e||e==="-"?r:n[e].children||[]).forEach((o,t)=>{const a=n[o];a&&(a.sortOrdr=t)})}const H={DEFAULT_PRNT_GBCD:1},le=n=>n&&typeof n=="object"&&typeof n.menuId=="string"&&typeof n.menuNm=="string",z=n=>Array.isArray(n)&&n.every(le);let E=[],Y=[];const ie=n=>{if(n&&typeof n=="object"){const r=n;if(r.menus&&z(r.menus))return r.menus;if(z(n))return n}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(n,r)=>!!r&&n.crprCd===r.crprCd&&n.userId===r.userId&&(n.prntGbcd??H.DEFAULT_PRNT_GBCD)===(r.prntGbcd??H.DEFAULT_PRNT_GBCD),me=n=>{if(E.length===n.length&&E.every((t,a)=>t.menuId===n[a]?.menuId&&t.menuPrntId===n[a]?.menuPrntId))return Y;if(!n.length)return[];const r=new Map,e=[];n.forEach(t=>t?.menuId&&r.set(t.menuId,{...t,children:[]})),n.forEach(t=>{const a=r.get(t.menuId);a&&(t.menuPrntId&&t.menuPrntId!==""&&t.menuPrntId!=="-"?r.get(t.menuPrntId)?.children?.push(a):e.push(a))});const s=t=>t.sort((a,d)=>(a?.menuNo??0)-(d?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return E=[...n],Y=o,o},_=b.create((n,r)=>({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,r()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}n({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await g.callService(g.getServiceCode("AUTH_MENU"),t),d=ie(a),c=me(d);n({flatMenuList:d,menuList:c,isLoading:!1,error:null})}catch(a){n({isLoading:!1,error:a?.message??"메뉴 로드 실패"})}},clearMenu:()=>{n({menuList:[],flatMenuList:[],error:null,_lastFetchParams:null})},findMenuById:e=>{const{flatMenuList:s}=r();return s.find(o=>o.menuId===e)??null}})),O={MAX_TABS:15},G=b.create((n,r)=>({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},clearMenuViewStore:()=>{n({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{}})},openTabFromMenu:(e,s)=>{const{tabs:o}=r(),t=o.find(d=>d.key===e.menuId),a=o.find(d=>d.key===e.menuId);if(t)a!=null?(n({activeMenuId:e.menuId,activeMenuItem:e}),r().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&r().setProtectFlagForKey(e.menuId)):F.message.warning("유효하지 않은 메뉴정보입니다.");else{if(o.length>O.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),F.message.warning(`최대 ${O.MAX_TABS}개의 탭만 열 수 있습니다.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),g=require("../utils/index.cjs"),F=require("antd"),Z=require("../chunks/layout-components-C_HvgcCg.cjs"),L=require("react"),V=require("react-router-dom");function Q(n,r){let e;try{e=n()}catch{return}return{getItem:o=>{var t;const a=c=>c===null?null:JSON.parse(c,void 0),d=(t=e.getItem(o))!=null?t:null;return d instanceof Promise?d.then(a):a(d)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const T=n=>r=>{try{const e=n(r);return e instanceof Promise?e:{then(s){return T(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return T(s)(e)}}}},ee=(n,r)=>(e,s,o)=>{let t={storage:Q(()=>localStorage),partialize:C=>C,version:0,merge:(C,S)=>({...S,...C}),...r},a=!1;const d=new Set,c=new Set;let i=t.storage;if(!i)return n((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${t.name}', the given storage is currently unavailable.`),e(...C)},s,o);const p=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},I=o.setState;o.setState=(C,S)=>(I(C,S),p());const m=n((...C)=>(e(...C),p()),s,o);o.getInitialState=()=>m;let u;const h=()=>{var C,S;if(!i)return;a=!1,d.forEach(y=>{var N;return y((N=s())!=null?N:m)});const k=((S=t.onRehydrateStorage)==null?void 0:S.call(t,(C=s())!=null?C:m))||void 0;return T(i.getItem.bind(i))(t.name).then(y=>{if(y)if(typeof y.version=="number"&&y.version!==t.version){if(t.migrate){const N=t.migrate(y.state,y.version);return N instanceof Promise?N.then(K=>[!0,K]):[!0,N]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,y.state];return[!1,void 0]}).then(y=>{var N;const[K,W]=y;if(u=t.merge(W,(N=s())!=null?N:m),e(u,!0),K)return p()}).then(()=>{k?.(u,void 0),u=s(),a=!0,c.forEach(y=>y(u))}).catch(y=>{k?.(void 0,y)})};return o.persist={setOptions:C=>{t={...t,...C},C.storage&&(i=C.storage)},clearStorage:()=>{i?.removeItem(t.name)},getOptions:()=>t,rehydrate:()=>h(),hasHydrated:()=>a,onHydrate:C=>(d.add(C),()=>{d.delete(C)}),onFinishHydration:C=>(c.add(C),()=>{c.delete(C)})},t.skipHydration||h(),u||m},M=ee,w=b.create()(M((n,r)=>({user:null,hrInfo:null,isLoggedIn:()=>!!r().user,setLoginUser:(e,s)=>{n({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{n({user:null,hrInfo:null}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=r().user,t=r().hrInfo;o&&n({user:{...o,...e}}),t&&n({hrInfo:{...t,...s}})}}),{name:"user-storage",partialize:n=>({user:n.user,hrInfo:n.hrInfo,isLoggedIn:n.isLoggedIn})})),A={CACHE_SIZE_LIMIT:1e3},l={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 n=Array.from(this.cacheHits.entries());n.sort((e,s)=>e[1]-s[1]),n.slice(0,Math.floor(n.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(n){return this.loadedGroups.has(n)},markGroupLoaded(n){this.loadedGroups.add(n)}},te=n=>{console.log("대규모 데이터 변환 시작:",n);const r={};if(n&&n.code&&Array.isArray(n.code)){const e=n.code,s=n.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;r[a]||(r[a]={});const c=(o.get(t.cmmnCd)||[]).reduce((i,p)=>(p.optnCd&&p.optnNm&&(i[p.optnCd]=p.optnNm),i),{});r[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(c).length>0?c:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",r),r},f=b.create()(M((n,r)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchData:async()=>{n({isLoading:!0,error:null});try{console.log("대규모 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await g.callService(g.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("대규모 공통코드 응답:",e),console.log("대규모 공통코드목록:",e.code),console.log("대규모 공통코드옵션션목록:",e.opt);const s=te(e);l.clearCache();const o=new Set(Object.keys(s));o.forEach(t=>{l.markGroupLoaded(t)}),n({codeData:s,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:o}),console.log("대규모 공통코드 데이터 가져오기 완료")}catch(e){console.error("대규모 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"대규모 공통코드 데이터 가져오기 실패"})}},loadSpecificGroup:async e=>{const{codeData:s,loadedGroups:o}=r();if(!s||o.has(e))return;const t=new Set(o).add(e);n({loadedGroups:t}),l.markGroupLoaded(e)},setData:e=>{l.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{l.markGroupLoaded(o)}),n({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{l.clearCache(),n({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set})},getLoadedGroups:()=>Array.from(r().loadedGroups)}),{name:"large-data-storage",partialize:n=>({codeData:n.codeData,lastUpdated:n.lastUpdated,loadedGroups:Array.from(n.loadedGroups)})})),D=b.create()(M((n,r)=>({get codeData(){return f.getState().codeData},get isLoading(){return f.getState().isLoading},get error(){return f.getState().error},get lastUpdated(){return f.getState().lastUpdated},fetchCommonCodes:async()=>{await f.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:d=!1}=s||{},c=`simpleCodeList_${e}_${o}_${t}_${a}_${d}`;if(l.optionCache.has(c)){const h=l.cacheHits.get(c)||0;return l.cacheHits.set(c,h+1),l.optionCache.get(c)}const i=f.getState().codeData;if(!i)return[];if(!l.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const p=[],I=i[e];I&&Object.values(I).forEach(h=>{if(!(o&&!h.enabled)&&!(t&&h.systemCodeYn!=="Y"))if(d){const C=e.length,S=h.codeValue.substring(C);S.length>0&&p.push({...h,codeValue:S})}else p.push(h)});let m;a?m=p.sort((h,C)=>h.sortOrder!==C.sortOrder?h.sortOrder-C.sortOrder:h.codeValue.localeCompare(C.codeValue)):m=p.sort((h,C)=>h.codeValue.localeCompare(C.codeValue));const u=m.map(h=>({label:h.codeNm,value:h.codeValue,tagColor:h.labelColor}));return l.optionCache.size>=A.CACHE_SIZE_LIMIT&&l.cleanupCache(),l.optionCache.set(c,u),l.cacheHits.set(c,1),u},getCodeName:e=>{if(l.nameCache.has(e)){const o=l.cacheHits.get(`name_${e}`)||0;return l.cacheHits.set(`name_${e}`,o+1),l.nameCache.get(e)}const s=f.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 l.nameCache.set(e,t.codeNm),l.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(l.colorCache.has(e)){const o=l.cacheHits.get(`color_${e}`)||0;return l.cacheHits.set(`color_${e}`,o+1),l.colorCache.get(e)}const s=f.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 l.colorCache.set(e,t.labelColor||""),l.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(l.optionCache.has(s)){const i=l.cacheHits.get(s)||0;return l.cacheHits.set(s,i+1),l.optionCache.get(s)}const o=f.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],d=[];Object.values(t).filter(i=>i.enabled).sort((i,p)=>i.sortOrder-p.sortOrder).forEach(i=>{a.push(i.codeNm),d.push(i.codeValue)});const c={labels:a,values:d,lookupDisplay:!0};return l.optionCache.set(s,c),l.cacheHits.set(s,1),c},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(l.codeCache.has(t)){const p=l.cacheHits.get(t)||0;return l.cacheHits.set(t,p+1),l.codeCache.get(t)}const a=f.getState().codeData;if(!a)return[];const d=[],c=a[e];c&&Object.values(c).forEach(p=>{p.enabled&&p.options&&p.options[s]===o&&d.push({...p,codeNm:p.options[s]||p.codeNm})});const i=d.sort((p,I)=>p.codeValue.localeCompare(I.codeValue));return l.codeCache.size>=A.CACHE_SIZE_LIMIT&&l.cleanupCache(),l.codeCache.set(t,i),l.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:d=!1}=o||{},c=`codeListByOption_${e}_${s}_${t}_${a}_${d}`;if(l.codeCache.has(c)){const u=l.cacheHits.get(c)||0;return l.cacheHits.set(c,u+1),l.codeCache.get(c)}const i=f.getState().codeData;if(!i)return[];if(!l.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const p=[],I=i[e];I&&Object.values(I).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&p.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return d?m=p.sort((u,h)=>u.value.localeCompare(h.value)):m=p.sort((u,h)=>u.value.localeCompare(h.value)),l.codeCache.size>=A.CACHE_SIZE_LIMIT&&l.cleanupCache(),l.codeCache.set(c,m),l.cacheHits.set(c,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(l.nameCache.has(e)){const t=l.cacheHits.get(e)||0;return l.cacheHits.set(e,t+1),JSON.parse(l.nameCache.get(e))}const s=f.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return l.nameCache.set(e,JSON.stringify(o)),l.cacheHits.set(e,1),o},clearCodes:()=>{f.getState().clearData()}}),{name:"code-storage",partialize:n=>({})})),oe=b.create()(M((n,r)=>({get codeData(){return f.getState().codeData},get isLoading(){return f.getState().isLoading},get error(){return f.getState().error},get lastUpdated(){return f.getState().lastUpdated},fetchCommonCodes:async()=>{await f.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(l.optionCache.has(o)){const d=l.cacheHits.get(o)||0;return l.cacheHits.set(o,d+1),l.optionCache.get(o)}const t=f.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const d=a[s].options;return l.optionCache.set(o,d),l.cacheHits.set(o,1),d}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(l.optionCache.has(t)){const c=l.cacheHits.get(t)||0;return l.cacheHits.set(t,c+1),l.optionCache.get(t)}const a=r().getOptionValue(e,s),d=a?a[o]:null;return l.optionCache.set(t,d),l.cacheHits.set(t,1),d},clearCodes:()=>{f.getState().clearData()}}),{name:"option-storage",partialize:n=>({})})),se=b.create()(M((n,r)=>({get codeData(){return f.getState().codeData},get isLoading(){return f.getState().isLoading},get error(){return f.getState().error},get lastUpdated(){return f.getState().lastUpdated},fetchCommonCodes:async()=>{await f.getState().fetchData()},getColorCode:e=>{if(l.colorCache.has(e)){const o=l.cacheHits.get(`color_${e}`)||0;return l.cacheHits.set(`color_${e}`,o+1),l.colorCache.get(e)}const s=f.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 l.colorCache.set(e,t.labelColor||""),l.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(l.optionCache.has(e)){const t=l.cacheHits.get(e)||0;return l.cacheHits.set(e,t+1),l.optionCache.get(e)}const s=f.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})})}),l.optionCache.set(e,o),l.cacheHits.set(e,1),o},clearCodes:()=>{f.getState().clearData()}}),{name:"color-storage",partialize:n=>({})})),ne=(n,r)=>({nodes:{},rootIds:[],loadedFor:void 0,loading:!1,error:void 0,treeNodes:[],isMenuBookmarked:e=>Object.values(r().nodes).some(s=>s.type==="M"&&s.menuId===e),getPrntBkmkIdByMenuId:e=>{const s=P(r().nodes,e);return s?r().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=P(r().nodes,e);if(!s)return null;const o=r().nodes[s];return o?.type==="M"?o:null},getFolderTree:e=>{const{nodes:s,rootIds:o}=r(),t=d=>e?d.toLowerCase().includes(e.toLowerCase()):!0,a=d=>{const c=s[d];if(!c||c.type!=="F")return null;const i=c,p=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||p.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:p.length?p:void 0}:null};return o.map(d=>a(d)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=r();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){n({loading:!0,error:void 0});try{const t=await g.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],d=re(a),c=v(d.nodes,d.rootIds);n({...d,treeNodes:c,loadedFor:e,loading:!1})}catch(t){throw n({loading:!1,error:t?.message||"즐겨찾기 로드 실패"}),t}}},loadFavoritesIfNeeded:async e=>{const s=r();(s.loadedFor!==e||Object.keys(s.nodes).length===0)&&await r().loadFavorites(e)},clearFavorites:()=>{n({nodes:{},rootIds:[],treeNodes:[],loadedFor:void 0,loading:!1,error:void 0}),console.log("📚 북마크 스토어 초기화 완료")},addNode:async e=>{const s=B(r()),o=ae();n(t=>{const a=e.sortOrdr??$(t,e.prntBkmkId),d={...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 de(d,o,e.prntBkmkId),d.treeNodes=v(d.nodes,d.rootIds),d});try{let t=o;const a=$(r(),e.prntBkmkId),d=await g.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:g.getUserId()});return t=String(d?.bkmkId??d?.itemId??o),n(c=>{const i=pe(c,o,t);return{...i,treeNodes:v(i.nodes,i.rootIds)}}),t}catch(t){throw n(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=r(),d=structuredClone(a.nodes),c=[...a.rootIds],i=d[e];if(!i)return;if(s!=="-"){const u=d[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const p=i.prntBkmkId??"-",I=p==="-"?c:d[p].children||=[];{const u=I.indexOf(e);u>=0&&I.splice(u,1)}const m=s==="-"?c:d[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,n({nodes:d,rootIds:c}),j(d,c,s),j(d,c,p);try{await g.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw n(a),u}},removeNode:async e=>{const s=B(r());n(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return q(t,e),t.treeNodes=v(t.nodes,t.rootIds),t});try{await g.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw n(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const d=B(r());n(c=>{const i={...c,nodes:{...c.nodes}},p=i.nodes[e];return p?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...p,bkmkNm:o}),i});try{await g.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:g.getUserId()})}catch(c){throw n(d),c}},addFolder:async(e,s,o,t)=>await r().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>P(r().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await r().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:g.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=r(),t=Object.values(o.nodes).find(d=>d.type==="M"&&d.menuId===s.menuId);if(t){await r().removeNode(t.bkmkId);return}let a=x(o);a||(await r().loadFavorites(e,!0),a=x(r())),a&&await r().addNode({type:"M",prntBkmkId:a,sysCd:"KH",userId:g.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=r(),o=P(s.nodes,e);o&&await r().removeNode(o)},removeMenu:async e=>{await r().removeNode(e)},removeFolder:async e=>{await r().removeNode(e)},editFolder:async(e,s,o,t,a)=>{await r().editNode({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})},convertToAntTreeData:(e,s,o,t=!1)=>{const a=c=>o?c.toLowerCase().includes(o.toLowerCase()):!0,d=c=>{const i=e[c];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const p=i,I=(p.children||[]).map(u=>d(u)).filter(Boolean);return a(p.bkmkNm)||I.length>0?{key:p.bkmkId,type:"F",title:`📁 ${p.bkmkNm}`,bkmkNm:p.bkmkNm,prntBkmkId:p.prntBkmkId,sortOrdr:p.sortOrdr,fullPath:p.fullPath,children:I.length?I:void 0}:null}else{const p=i,I=p.menuNm?`${p.menuNm} (${p.menuId})`:p.menuId;return a(I)?{key:p.bkmkId,type:"M",title:`📄 ${I}`,prntBkmkId:p.prntBkmkId,sortOrdr:p.sortOrdr,fullPath:p.fullPath,isLeaf:!0}:null}};return s.map(d).filter(Boolean)}}),R=b.create(ne);function re(n){const r={},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"){r[a.bkmkId]={...a,bkmkNm:t.bkmkNm??t.BKMK_NM??t.name??a.bkmkId,children:[]};const d=Array.isArray(t.children)?t.children:[];s(d)}else r[a.bkmkId]={...a,menuId:t.menuId??t.MENU_ID??"",menuNm:t.menuNm??t.MENU_NM}})};return s(n),Object.values(r).forEach(o=>{if(o.prntBkmkId&&o.prntBkmkId!=="-"){const t=r[o.prntBkmkId];t?.type==="F"&&t.children.push(o.bkmkId)}else o.type==="F"&&e.push(o.bkmkId)}),e.sort((o,t)=>(r[o].sortOrdr??0)-(r[t].sortOrdr??0)),Object.values(r).forEach(o=>{o.type==="F"&&o.children.sort((a,d)=>(r[a].sortOrdr??0)-(r[d].sortOrdr??0))}),{nodes:r,rootIds:e}}function B(n){return{...n,nodes:JSON.parse(JSON.stringify(n.nodes)),rootIds:n.rootIds.slice()}}function ae(){return`tmp_${Math.random().toString(36).slice(2,10)}`}function $(n,r){if(!r||r==="-")return n.rootIds.length;const e=n.nodes[r];return e?e.children.length:0}function de(n,r,e){const s=n.nodes[r];if(s)if(e&&e!=="-"){const o=n.nodes[e];if(!o||o.type!=="F")return;s.prntBkmkId=e,o.children=[...o.children,r]}else s.prntBkmkId="-",n.rootIds=[...n.rootIds,r]}function ce(n,r){const e=n.nodes[r];if(!e)return;const s=e.prntBkmkId;if(s&&s!=="-"){const o=n.nodes[s];o?.type==="F"&&(o.children=o.children.filter(t=>t!==r))}else n.rootIds=n.rootIds.filter(o=>o!==r)}function q(n,r){const e=n.nodes[r];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>q(n,a)),ce(n,r);const{[r]:s,...o}=n.nodes;n.nodes=o}function pe(n,r,e){if(r===e)return n;const s=n.nodes[r];if(!s)return n;const o=JSON.parse(JSON.stringify(s));o.bkmkId=e;const t={...n.nodes,[e]:o};delete t[r];let a=n.rootIds;if(o.prntBkmkId&&o.prntBkmkId!=="-"){const d=t[o.prntBkmkId];d?.type==="F"&&(t[o.prntBkmkId]={...d,children:d.children.map(c=>c===r?e:c)})}else a=n.rootIds.map(d=>d===r?e:d);return{...n,nodes:t,rootIds:a}}function x(n){return n.rootIds.find(r=>n.nodes[r]?.type==="F")??null}function v(n,r){const e={};Object.values(n).forEach(c=>{const i=c.bkmkId,p=c.prntBkmkId;!i||!p||p==="-"||p===i||(e[p]??=[]).push(i)});const s=new Set,o=c=>{if(s.has(c))return null;const i=n[c];if(!i)return null;s.add(c);try{if(i.type==="F"){const I=i,m=e[c]??[];return{type:"F",bkmkId:c,bkmkNm:I.bkmkNm,prntBkmkId:I.prntBkmkId,children:m.map(o).filter(Boolean)}}const p=i;return{type:"M",bkmkId:c,bkmkNm:p.menuNm,menuId:p.menuId,menuNm:p.menuNm,prntBkmkId:p.prntBkmkId}}finally{s.delete(c)}},t=Object.values(n).filter(c=>c.prntBkmkId==="-"&&c.type==="M").map(c=>c.bkmkId),a=Object.values(n).filter(c=>c.prntBkmkId==="-"&&c.type==="F").map(c=>c.bkmkId);return Array.from(new Set([...r,...t,...a])).map(o).filter(Boolean)}function P(n,r){for(const e of Object.values(n))if(e.type==="M"&&e.menuId===r)return e.bkmkId;return null}function j(n,r,e){(!e||e==="-"?r:n[e].children||[]).forEach((o,t)=>{const a=n[o];a&&(a.sortOrdr=t)})}const H={DEFAULT_PRNT_GBCD:1},le=n=>n&&typeof n=="object"&&typeof n.menuId=="string"&&typeof n.menuNm=="string",z=n=>Array.isArray(n)&&n.every(le);let E=[],Y=[];const ie=n=>{if(n&&typeof n=="object"){const r=n;if(r.menus&&z(r.menus))return r.menus;if(z(n))return n}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(n,r)=>!!r&&n.crprCd===r.crprCd&&n.userId===r.userId&&(n.prntGbcd??H.DEFAULT_PRNT_GBCD)===(r.prntGbcd??H.DEFAULT_PRNT_GBCD),me=n=>{if(E.length===n.length&&E.every((t,a)=>t.menuId===n[a]?.menuId&&t.menuPrntId===n[a]?.menuPrntId))return Y;if(!n.length)return[];const r=new Map,e=[];n.forEach(t=>t?.menuId&&r.set(t.menuId,{...t,children:[]})),n.forEach(t=>{const a=r.get(t.menuId);a&&(t.menuPrntId&&t.menuPrntId!==""&&t.menuPrntId!=="-"?r.get(t.menuPrntId)?.children?.push(a):e.push(a))});const s=t=>t.sort((a,d)=>(a?.menuNo??0)-(d?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return E=[...n],Y=o,o},_=b.create((n,r)=>({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,r()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}n({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await g.callService(g.getServiceCode("AUTH_MENU"),t),d=ie(a),c=me(d);n({flatMenuList:d,menuList:c,isLoading:!1,error:null})}catch(a){n({isLoading:!1,error:a?.message??"메뉴 로드 실패"})}},clearMenu:()=>{n({menuList:[],flatMenuList:[],error:null,_lastFetchParams:null})},findMenuById:e=>{const{flatMenuList:s}=r();return s.find(o=>o.menuId===e)??null}})),O={MAX_TABS:15},G=b.create((n,r)=>({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},clearMenuViewStore:()=>{n({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{}})},openTabFromMenu:(e,s)=>{const{tabs:o}=r(),t=o.find(d=>d.key===e.menuId),a=o.find(d=>d.key===e.menuId);if(t)a!=null?(n({activeMenuId:e.menuId,activeMenuItem:e}),r().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&r().setProtectFlagForKey(e.menuId)):F.message.warning("유효하지 않은 메뉴정보입니다.");else{if(o.length>O.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),F.message.warning(`최대 ${O.MAX_TABS}개의 탭만 열 수 있습니다.
2
2
  기존 탭을 닫고 다시 시도해주세요.`);return}const d={key:e.menuId,label:e.menuNm,gubun:"M",menuItem:e,closable:!0};n({tabs:[...o,d],activeMenuId:e.menuId,activeMenuItem:e}),r().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&r().setProtectFlagForKey(e.menuId)}},openTabByMenuId:(e,s)=>{const o=_.getState().findMenuById(e);o?r().openTabFromMenu(o,s):F.message.warning("메뉴 ID를 찾을 수 없습니다.")},openDetailView:(e,s,o)=>{const{tabs:t}=r();if(t.find(d=>d.key===e.viewId))r().focusTab(e.viewId);else{const d={key:e.viewId,label:e.viewLabel,gubun:"C",componentItem:{scrnPath:s,prsnInfoYn:o,prntInfo:e.prntInfo},closable:!0};n({tabs:[...t,d],activeMenuId:e.viewId,activeDetailItem:e}),r().setTabParams(e.viewId,e.viewParams||{})}},closeTab:e=>{const{tabs:s,activeMenuId:o}=r();s.find(d=>d.key===e);const t=s.filter(d=>d.key!==e);let a=o;if(o===e){const d=s.findIndex(c=>c.key===e);a=t.length?t[Math.min(d,t.length-1)]?.key??null:null}n({tabs:t}),a&&r().focusTab(a)},focusTab:e=>{const{tabs:s}=r(),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"?(n({activeMenuId:e,activeMenuItem:o.menuItem,activeDetailItem:t}),console.log("✅ 탭 포커스 (개인정보) - activeMenuItem:",o.menuItem),r().setProtectFlagForKey(e)):(n({activeMenuId:e,activeMenuItem:o.menuItem,activeDetailItem:t}),r().clearProtectFlagForKey(e))}else n({activeMenuId:e,activeMenuItem:null,activeDetailItem:null}),console.warn("❌ 탭을 찾을 수 없음:",e)},closeAllTabs:()=>n({tabs:[],activeMenuId:null,activeMenuItem:null,activeDetailItem:null}),toggleSidebar:()=>n(e=>({sidebarCollapsed:!e.sidebarCollapsed})),reorderTabs:e=>n(s=>{const o=new Map(s.tabs.map(t=>[t.key,t]));return{tabs:e.map(t=>o.get(t)).filter(Boolean)}}),setProtectFlagForKey:e=>n(s=>({tabProtectFlag:{...s.tabProtectFlag,[e]:!0}})),clearProtectFlagForKey:e=>n(s=>{const o={...s.tabProtectFlag};return delete o[e],{tabProtectFlag:o}}),setTabParams:(e,s)=>n(o=>{const t=o.tabParams[e]||{},a={...s||{}};return Object.keys(t).length===Object.keys(a).length&&Object.keys(a).every(c=>t[c]===a[c])?o:{tabParams:{...o.tabParams,[e]:a}}}),setComponentLabelMap:(e,s)=>n({componentLabelMap:e})})),X=b.create((n,r)=>({popups:[],activePopupId:null,isLoading:!1,error:null,zIndexSeed:1e3,openPopup:async(e,s,o)=>{n({isLoading:!0,error:null});try{let t=null;const a=await g.callService(g.getServiceCode("SRCH_POPU"),{crprCd:g.getUserInfo()?.crprCd,popuCd:e});t=a?.mstr;const d=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),p=r().zIndexSeed+1,I={popupId:`popup_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,popupCode:e,popupTitle:o?.title||t.popuNm||"팝업",popupUrl:i,popupParams:s,width:t.popuWdth||800,height:t.popuHght||600,resizable:!0,draggable:!0,buttonList:d,config:o,zIndex:p},m=r().popups.find(u=>u.popupCode===e);if(m){n({activePopupId:m.popupId,popups:r().popups.map(u=>u.popupId===m.popupId?{...u,config:o}:u),isLoading:!1});return}n(u=>({popups:[...u.popups,I],activePopupId:I.popupId,isLoading:!1,zIndexSeed:p}))}catch(t){n({error:t instanceof Error?t.message:"팝업 열기 실패",isLoading:!1})}},openCorePopup:(e,s)=>{const o=`popup_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,t=r().zIndexSeed+1,d=Z.localPopupRegistry[e]?.defaultConfig||{},c={...d,...s,buttons:s?.buttons!==void 0?s.buttons:d.buttons,callback:s?.callback!==void 0?s.callback:d.callback},i=s?.defaultParams||{},p=r().popups.find(m=>m.popupCode===e&&m.isLocal);if(p){const m=r().zIndexSeed+1;n({activePopupId:p.popupId,zIndexSeed:m}),n(u=>({popups:u.popups.map(h=>h.popupId===p.popupId?{...h,config:c,zIndex:m,close:()=>{r().closePopup(p.popupId)}}:h)}));return}const I={popupId:o,popupCode:e,popupTitle:c.title||e,popupUrl:"",popupParams:i,width:c.width||1e3,height:c.height||700,resizable:c.resizable!==void 0?c.resizable:!0,draggable:c.draggable!==void 0?c.draggable:!0,buttonList:[],config:c,isLocal:!0,zIndex:t,close:()=>{r().closePopup(o)}};n(m=>({popups:[...m.popups,I],activePopupId:o,zIndexSeed:t}))},closePopup:e=>{const{popups:s,activePopupId:o}=r(),t=s.filter(d=>d.popupId!==e);let a=o;o===e&&(a=t.length>0?t[t.length-1].popupId:null),n({popups:t,activePopupId:a})},closeAllPopups:()=>{n({popups:[],activePopupId:null})},setActivePopup:e=>{const s=r().zIndexSeed+1;n(o=>({activePopupId:e,zIndexSeed:s,popups:o.popups.map(t=>t.popupId===e?{...t,zIndex:s}:t)}))},updatePopupConfig:(e,s)=>{n(o=>({popups:o.popups.map(t=>t.popupId===e?{...t,config:{...t.config,...s}}:t)}))}})),U=b.create()(M((n,r)=>({systemMap:[],fetchSystemMap:async()=>{n({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:"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=>{n({systemMap:e})},clearSystemMap:()=>{n({systemMap:[]})},getBySysCd:e=>r().systemMap.filter(s=>s.sysCd===e),getByAppItCd:e=>r().systemMap.filter(s=>s.appItCd===e),findByAppCd:e=>r().systemMap.find(s=>s.appCd===e),filterSystemMap:e=>{const{sysCd:s,appItCd:o,appCd:t}=e;return r().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(n=>({requestCount:0,loading:!1,showLoading:()=>n(r=>{const e=r.requestCount+1;return{requestCount:e,loading:e>0}}),hideLoading:()=>n(r=>{const e=Math.max(0,r.requestCount-1);return{requestCount:e,loading:e>0}})})),he=b.create(n=>({requestCount:0,loading:!1,showLoading:()=>n(r=>{const e=r.requestCount+1;return{requestCount:e,loading:e>0}}),hideLoading:()=>n(r=>{const e=Math.max(0,r.requestCount-1);return{requestCount:e,loading:e>0}})}));function J(){const[n,r]=L.useState(!1),e=L.useCallback(s=>{const o=s?.getModifierState?.("CapsLock");typeof o=="boolean"&&r(o)},[]);return{capsOn:n,onKeyDown:e}}function Ie(n){const{loginApi:r,fetchCommonCodes:e,onAfterLogin:s,onError:o,rememberCookie:t={enabled:!0,days:30}}=n,[a,d]=L.useState(!1),{capsOn:c,onKeyDown:i}=J(),p="SCMSIGN00101",I=`${__SYS_CD__}_login_id`,m={id:t?.enabled?g.getCookie(I):void 0,pswr:void 0},u=L.useCallback(async(h,C)=>{d(!0);try{const S={crprCd:"100",id:h.id,pswr:await g.encryptSha256(h.pswr)},y=await(r??(N=>g.callService(p,N)))(S);if(y?.userInfo?.userId){if(w.getState().setLoginUser(y.userInfo,y?.hrInfo),t?.enabled){const N=t.days??30;h.remember?g.setCookie(I,h.id??"",N):g.setCookie(I,"",0)}return e?await e():await D.getState().fetchCommonCodes(),s?s(y,C):(F.message.success(`${y.userInfo.userNm}님 환영합니다.`),C("/main")),{user:y.userInfo,response:y}}else throw o?.({user:y.userInfo,response:y,navigate:C}),new Error("사용자 정보가 유효하지 않습니다.")}catch(S){throw o?.(S),S}finally{d(!1)}},[p,r,e,s,o,t?.enabled,t?.days]);return{loading:a,capsOn:c,onKeyDown:i,prefills:m,doLogin:u}}function fe(){const n=V.useNavigate();return()=>{w.getState().clearLoginUser(),U.getState().clearSystemMap(),D.getState().clearCodes(),_.getState().clearMenu(),G.getState().clearMenuViewStore(),R.getState().clearFavorites(),n("/login")}}const ye=()=>D.getState(),ge=()=>X.getState(),Se=()=>w.getState(),Ne=()=>R.getState(),be=()=>_.getState(),Me=()=>G.getState(),ke=()=>U.getState();exports.useCapsLock=J;exports.useCode=ye;exports.useCodeStore=D;exports.useColorStore=se;exports.useFavorite=Ne;exports.useFavoriteStore=R;exports.useLoadingStore=Ce;exports.useLogin=Ie;exports.useLogout=fe;exports.useMenuModel=be;exports.useMenuModelStore=_;exports.useMenuView=Me;exports.useMenuViewStore=G;exports.useOptionStore=oe;exports.usePopupLoadingStore=he;exports.usePopupState=ge;exports.usePopupStore=X;exports.useSystemCode=ke;exports.useSystemStore=U;exports.useUser=Se;exports.useUserStore=w;
@@ -1,7 +1,7 @@
1
1
  import { create as N } from "zustand";
2
2
  import { callService as b, getServiceCode as E, getUserId as v, getUserInfo as Q, getCookie as ee, encryptSha256 as te, setCookie as G } from "../utils/index.js";
3
3
  import { message as L } from "antd";
4
- import { l as oe } from "../chunks/layout-components-CyKRhOdT.js";
4
+ import { l as oe } from "../chunks/layout-components-IvmBzdev.js";
5
5
  import { useState as Y, useCallback as X } from "react";
6
6
  import { useNavigate as se } from "react-router-dom";
7
7
  function ne(n, r) {
@@ -1,4 +1,4 @@
1
- import { default as dayjs, Dayjs, OpUnitType } from 'dayjs';
1
+ import { Dayjs, OpUnitType, QUnitType, ManipulateType } from 'dayjs';
2
2
  /**
3
3
  * 테마 관련 쿠키 상수
4
4
  */
@@ -234,89 +234,27 @@ export declare const generateRandomString: (length: number, chars?: string) => s
234
234
  */
235
235
  export declare const generateUID: (length?: number) => string;
236
236
  export declare function encryptSha256(input: string): Promise<string>;
237
- /**
238
- * 공통 날짜 형식 상수
239
- */
240
- export declare const COMMON_DATE_FORMAT = "YYYYMMDD";
241
- /**
242
- * 현재 날짜/시간 Dayjs 객체로 가져오기
243
- * @returns Dayjs 객체
244
- */
245
- export declare const getCurrentDate: () => Dayjs;
246
- /**
247
- * 현재 날짜/시간 지정한 포맷으로 가져오기
248
- * @param format (디폴트- YYYYMMDD 형식)
249
- * @returns 지정한 포맷의 날짜/시간
250
- */
251
- export declare const getCurrentDateString: (format?: string) => string;
252
- /**
253
- * 날짜 문자열이 유효한지 검증(YYYYMMDD 형식)
254
- * @param date 날짜 문자열
255
- * @returns 유효성 여부(true/false)
256
- */
257
- export declare const isValidDate: (date: string) => boolean;
258
- /**
259
- * 년도 문자열이 유효한지 검증(YYYY 형식)
260
- * @param year 년도 문자열
261
- * @returns 유효성 여부(true/false)
262
- */
263
- export declare const isValidYear: (year: string) => boolean;
264
- export declare const isValidYearMonth: (yearMonth: string) => boolean;
265
- /**
266
- * 날짜시간 문자열이 유효한지 검증(YYYYMMDDHHmmss 형식)
267
- * @param dateTime 날짜시간 문자열
268
- * @returns 유효성 여부(true/false)
269
- */
270
- export declare const isValidDateTime: (dateTime: string) => boolean;
271
- /**
272
- * 기준일자를 지정한 포맷으로 변환하여 반환
273
- * @param date 기준일자
274
- * @param flag 형식플래그 (디폴트- CM)
275
- * @returns 형식 변환 날짜
276
- */
277
- export declare const datetimeFormat: (date: string | Date | dayjs.Dayjs, flag?: "CM" | "C" | "H" | "H1" | "D" | "S" | "M" | "YM" | "DT" | "T" | "HM") => string;
278
- /**
279
- * 지정일의 마지막 일자 반환
280
- * @param date 기준일자
281
- * @param div 년월일구분
282
- * @returns 마지막 일자(YYYYMMDD 형식)
283
- */
284
- export declare const getLastDateByDiv: (date: string | Date | dayjs.Dayjs, div?: OpUnitType) => string;
285
- /**
286
- * 기준일자의 구분에 따른 시작일자를 반환
287
- * @param date 기준일자
288
- * @param div 년월일구분
289
- * @returns 날짜(YYYYMMDD 형식)
290
- */
291
- export declare const getStartDateByDiv: (date: string | Date | dayjs.Dayjs, div?: OpUnitType) => string;
292
- /**
293
- * 지정월에서 offset만큼 더한 일자 반환(month)
294
- * @param date 기준일자
295
- * @param offset 더할 숫자
296
- * @returns 날짜(YYYYMMDD 형식)
297
- */
298
- export declare const addMonths: (date: string | Date | dayjs.Dayjs, offset: number) => string;
299
- /**
300
- * 지정일에서 offset만큼 더한 일자 반환(day)
301
- * @param date 기준일자
302
- * @param offset 더할 숫자
303
- * @returns 날짜(YYYYMMDD 형식)
304
- */
305
- export declare const addDays: (date: string | Date | dayjs.Dayjs, offset: number) => string;
306
- /**
307
- * 지정일에서 비교일자를 뺀 일자 반환
308
- * @param date1 기준일자
309
- * @param date2 비교일자
310
- * @returns 일자 차이
311
- */
312
- export declare const diffDays: (date1: string | Date | dayjs.Dayjs, date2: string | Date | dayjs.Dayjs) => number;
313
- /**
314
- * 만나이 계산
315
- * @param birthDate 생년월일 (YYYYMMDD 형식)
316
- * @returns 만나이 (정수)
317
- */
318
- export declare const getAge: (birthDate?: string) => number;
319
- export type SystemCodeLike = {
237
+ /** 공통 기본 포맷 */
238
+ export declare const DEFAULT_FMT = "YYYYMMDD";
239
+ /** 지금 */
240
+ export declare const now: () => Dayjs;
241
+ export declare const getTodateString: (fmt?: string) => string;
242
+ /** 포맷팅 (기본: YYYYMMDD) */
243
+ export declare const format: (date: string | Date | Dayjs, fmt?: string) => string;
244
+ /** 엄격 검증 (format 지정 가능, 기본: YYYYMMDD) */
245
+ export declare const isValid: (value: string, fmt?: string) => boolean;
246
+ /** 자주 쓰는 검증 래퍼 */
247
+ export declare const isValidDate: (yyyymmdd: string) => boolean;
248
+ export declare const isValidYear: (yyyy: string) => boolean;
249
+ export declare const isValidYearMonth: (yyyymm: string) => boolean;
250
+ /** 시작/끝 경계 (year|quarter|month|week|day 등) */
251
+ export declare const startOf: (date: string | Date | Dayjs, unit?: OpUnitType | QUnitType, fmt?: string) => string;
252
+ export declare const endOf: (date: string | Date | Dayjs, unit?: OpUnitType | QUnitType, fmt?: string) => string;
253
+ /** 더하기(일/월/년 단위 자유) */
254
+ export declare const add: (date: string | Date | Dayjs, amount: number, unit?: ManipulateType, fmt?: string) => string;
255
+ /** 차이 (기본: 'day') */
256
+ export declare const diff: (date1: string | Date | Dayjs, date2: string | Date | Dayjs, unit?: OpUnitType | QUnitType) => number;
257
+ type SystemCodeLike = {
320
258
  sysCd: string;
321
259
  appCd: string;
322
260
  appItCd?: string;
@@ -332,4 +270,5 @@ export type ApiDeps = {
332
270
  };
333
271
  export declare const initApiDeps: (deps: ApiDeps) => void;
334
272
  export declare const getApiDeps: () => ApiDeps;
273
+ export {};
335
274
  //# sourceMappingURL=commonUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonUtils.d.ts","sourceRoot":"","sources":["../../src/utils/commonUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commonUtils.d.ts","sourceRoot":"","sources":["../../src/utils/commonUtils.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,25 @@
5
5
  * @description sftp 파일 업로드 함수 (api서버의 gwSftp를 통해 접속정보를 이용하여 sftp 업로드 수행)
6
6
  *
7
7
  */
8
+ export interface connInfoProp {
9
+ aprvKey?: string;
10
+ formId?: string;
11
+ bodyXml?: string;
12
+ status?: string;
13
+ docId?: string;
14
+ updatedDate?: Date;
15
+ docTitle?: string;
16
+ dprtNo?: string;
17
+ emplNo?: string;
18
+ sysGubun?: string;
19
+ receiptPointId?: string;
20
+ categoryId?: string;
21
+ isPublic?: string;
22
+ anno?: string;
23
+ viewYn?: string;
24
+ docNo?: string;
25
+ sendName?: string;
26
+ }
8
27
  export declare const uploadFilesViaSftp: (file: any) => Promise<any>;
9
28
  export interface SubmitGwApprovalOptions {
10
29
  trxCd?: string;
@@ -20,7 +39,7 @@ export interface SubmitGwApprovalOptions {
20
39
  * @param fileGrpKey 업로드할 파일그룹 키
21
40
  * @param options 동작 옵션
22
41
  */
23
- export declare const submitGwApproval: (data?: Record<string, any> | null, fileGrpKey?: string | null, options?: SubmitGwApprovalOptions) => Promise<any>;
42
+ export declare const submitGwApproval: (data?: Record<string, any> & connInfoProp, fileGrpKey?: string | null, options?: SubmitGwApprovalOptions) => Promise<any>;
24
43
  /**
25
44
  * aprvKey를 input으로 받고,
26
45
  * SCMINTF00101 거래를 호출한 결과값을 통해
@@ -1 +1 @@
1
- {"version":3,"file":"gwUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gwUtils.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM,GAAG,iBAwGjD,CAAC;AAGF,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,aAAa,MAAM,GAAG,IAAI,EAC1B,UAAU,uBAAuB,iBAyIlC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,UAAU,2BAA2B;;;;;;;;;;;;;;;EAuCtC,CAAC"}
1
+ {"version":3,"file":"gwUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gwUtils.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,GAAU,MAAM,GAAG,iBAwGjD,CAAC;AAGF,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,EACzC,aAAa,MAAM,GAAG,IAAI,EAC1B,UAAU,uBAAuB,iBA2IlC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,UAAU,2BAA2B;;;;;;;;;;;;;;;EAyCtC,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const ie=require("axios"),E=require("../chunks/common-components-BXjzima0.cjs"),$=require("dayjs"),D=require("antd"),T=require("../stores/index.cjs"),Ue={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let W={};function Ie(e){W=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function ce(e){return W[e]&&W[e].trim()!==""?W[e]:Ue[e]}function ue(){const e={};for(const t of Object.keys(Ue))e[t]=ce(t);return e}function Ee(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=ue();for(const[t,r]of Object.entries(e)){const o=W[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const Ne=Object.freeze(Object.defineProperty({__proto__:null,getAllServiceCodes:ue,getServiceCode:ce,logServiceCodeConfig:Ee,setServiceCodeOverrides:Ie},Symbol.toStringTag,{value:"Module"}));var Z={exports:{}};function Fr(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 X={exports:{}};const Pr={},Hr=Object.freeze(Object.defineProperty({__proto__:null,default:Pr},Symbol.toStringTag,{value:"Module"})),Lr=E.getAugmentedNamespace(Hr);var zr=X.exports,Me;function Ae(){return Me||(Me=1,(function(e,t){(function(r,o){e.exports=o()})(zr,function(){var r=r||(function(o,i){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 E.commonjsGlobal<"u"&&E.commonjsGlobal.crypto&&(l=E.commonjsGlobal.crypto),!l&&typeof Fr=="function")try{l=Lr}catch{}var m=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.")},x=Object.create||(function(){function n(){}return function(a){var d;return n.prototype=a,d=new n,n.prototype=null,d}})(),c={},g=c.lib={},w=g.Base=(function(){return{extend:function(n){var a=x(this);return n&&a.mixIn(n),(!a.hasOwnProperty("init")||this.init===a.init)&&(a.init=function(){a.$super.init.apply(this,arguments)}),a.init.prototype=a,a.$super=this,a},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var a in n)n.hasOwnProperty(a)&&(this[a]=n[a]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),v=g.WordArray=w.extend({init:function(n,a){n=this.words=n||[],a!=i?this.sigBytes=a:this.sigBytes=n.length*4},toString:function(n){return(n||f).stringify(this)},concat:function(n){var a=this.words,d=n.words,h=this.sigBytes,C=n.sigBytes;if(this.clamp(),h%4)for(var b=0;b<C;b++){var M=d[b>>>2]>>>24-b%4*8&255;a[h+b>>>2]|=M<<24-(h+b)%4*8}else for(var _=0;_<C;_+=4)a[h+_>>>2]=d[_>>>2];return this.sigBytes+=C,this},clamp:function(){var n=this.words,a=this.sigBytes;n[a>>>2]&=4294967295<<32-a%4*8,n.length=o.ceil(a/4)},clone:function(){var n=w.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var a=[],d=0;d<n;d+=4)a.push(m());return new v.init(a,n)}}),p=c.enc={},f=p.Hex={stringify:function(n){for(var a=n.words,d=n.sigBytes,h=[],C=0;C<d;C++){var b=a[C>>>2]>>>24-C%4*8&255;h.push((b>>>4).toString(16)),h.push((b&15).toString(16))}return h.join("")},parse:function(n){for(var a=n.length,d=[],h=0;h<a;h+=2)d[h>>>3]|=parseInt(n.substr(h,2),16)<<24-h%8*4;return new v.init(d,a/2)}},y=p.Latin1={stringify:function(n){for(var a=n.words,d=n.sigBytes,h=[],C=0;C<d;C++){var b=a[C>>>2]>>>24-C%4*8&255;h.push(String.fromCharCode(b))}return h.join("")},parse:function(n){for(var a=n.length,d=[],h=0;h<a;h++)d[h>>>2]|=(n.charCodeAt(h)&255)<<24-h%4*8;return new v.init(d,a)}},s=p.Utf8={stringify:function(n){try{return decodeURIComponent(escape(y.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return y.parse(unescape(encodeURIComponent(n)))}},u=g.BufferedBlockAlgorithm=w.extend({reset:function(){this._data=new v.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=s.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var a,d=this._data,h=d.words,C=d.sigBytes,b=this.blockSize,M=b*4,_=C/M;n?_=o.ceil(_):_=o.max((_|0)-this._minBufferSize,0);var k=_*b,U=o.min(k*4,C);if(k){for(var q=0;q<k;q+=b)this._doProcessBlock(h,q);a=h.splice(0,k),d.sigBytes-=U}return new v.init(a,U)},clone:function(){var n=w.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});g.Hasher=u.extend({cfg:w.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){u.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){n&&this._append(n);var a=this._doFinalize();return a},blockSize:16,_createHelper:function(n){return function(a,d){return new n.init(d).finalize(a)}},_createHmacHelper:function(n){return function(a,d){return new S.HMAC.init(n,d).finalize(a)}}});var S=c.algo={};return c})(Math);return r})})(X)),X.exports}var jr=Z.exports,_e;function Vr(){return _e||(_e=1,(function(e,t){(function(r,o){e.exports=o(Ae())})(jr,function(r){return(function(o){var i=r,l=i.lib,m=l.WordArray,x=l.Hasher,c=i.algo,g=[],w=[];(function(){function f(S){for(var n=o.sqrt(S),a=2;a<=n;a++)if(!(S%a))return!1;return!0}function y(S){return(S-(S|0))*4294967296|0}for(var s=2,u=0;u<64;)f(s)&&(u<8&&(g[u]=y(o.pow(s,1/2))),w[u]=y(o.pow(s,1/3)),u++),s++})();var v=[],p=c.SHA256=x.extend({_doReset:function(){this._hash=new m.init(g.slice(0))},_doProcessBlock:function(f,y){for(var s=this._hash.words,u=s[0],S=s[1],n=s[2],a=s[3],d=s[4],h=s[5],C=s[6],b=s[7],M=0;M<64;M++){if(M<16)v[M]=f[y+M]|0;else{var _=v[M-15],k=(_<<25|_>>>7)^(_<<14|_>>>18)^_>>>3,U=v[M-2],q=(U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10;v[M]=k+v[M-7]+q+v[M-16]}var Ar=d&h^~d&C,Or=u&S^u&n^S&n,Yr=(u<<30|u>>>2)^(u<<19|u>>>13)^(u<<10|u>>>22),Br=(d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25),be=b+Br+Ar+w[M]+v[M],Rr=Yr+Or;b=C,C=h,h=d,d=a+be|0,a=n,n=S,S=u,u=be+Rr|0}s[0]=s[0]+u|0,s[1]=s[1]+S|0,s[2]=s[2]+n|0,s[3]=s[3]+a|0,s[4]=s[4]+d|0,s[5]=s[5]+h|0,s[6]=s[6]+C|0,s[7]=s[7]+b|0},_doFinalize:function(){var f=this._data,y=f.words,s=this._nDataBytes*8,u=f.sigBytes*8;return y[u>>>5]|=128<<24-u%32,y[(u+64>>>9<<4)+14]=o.floor(s/4294967296),y[(u+64>>>9<<4)+15]=s,f.sigBytes=y.length*4,this._process(),this._hash},clone:function(){var f=x.clone.call(this);return f._hash=this._hash.clone(),f}});i.SHA256=x._createHelper(p),i.HmacSHA256=x._createHmacHelper(p)})(Math),r.SHA256})})(Z)),Z.exports}var qr=Vr();const Wr=E.getDefaultExportFromCjs(qr);var Q={exports:{}},Kr=Q.exports,$e;function Gr(){return $e||($e=1,(function(e,t){(function(r,o){e.exports=o(Ae())})(Kr,function(r){return(function(){var o=r,i=o.lib,l=i.WordArray,m=o.enc;m.Base64={stringify:function(c){var g=c.words,w=c.sigBytes,v=this._map;c.clamp();for(var p=[],f=0;f<w;f+=3)for(var y=g[f>>>2]>>>24-f%4*8&255,s=g[f+1>>>2]>>>24-(f+1)%4*8&255,u=g[f+2>>>2]>>>24-(f+2)%4*8&255,S=y<<16|s<<8|u,n=0;n<4&&f+n*.75<w;n++)p.push(v.charAt(S>>>6*(3-n)&63));var a=v.charAt(64);if(a)for(;p.length%4;)p.push(a);return p.join("")},parse:function(c){var g=c.length,w=this._map,v=this._reverseMap;if(!v){v=this._reverseMap=[];for(var p=0;p<w.length;p++)v[w.charCodeAt(p)]=p}var f=w.charAt(64);if(f){var y=c.indexOf(f);y!==-1&&(g=y)}return x(c,g,v)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function x(c,g,w){for(var v=[],p=0,f=0;f<g;f++)if(f%4){var y=w[c.charCodeAt(f-1)]<<f%4*2,s=w[c.charCodeAt(f)]>>>6-f%4*2,u=y|s;v[p>>>2]|=u<<24-p%4*8,p++}return l.create(v,p)}})(),r.enc.Base64})})(Q)),Q.exports}var Jr=Gr();const Zr=E.getDefaultExportFromCjs(Jr);var ee={exports:{}},Xr=ee.exports,De;function Qr(){return De||(De=1,(function(e,t){(function(r,o){e.exports=o()})(Xr,(function(){return function(r,o,i){r=r||{};var l=o.prototype,m={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 x(g,w,v,p){return l.fromToBase(g,w,v,p)}i.en.relativeTime=m,l.fromToBase=function(g,w,v,p,f){for(var y,s,u,S=v.$locale().relativeTime||m,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"}],a=n.length,d=0;d<a;d+=1){var h=n[d];h.d&&(y=p?i(g).diff(v,h.d,!0):v.diff(g,h.d,!0));var C=(r.rounding||Math.round)(Math.abs(y));if(u=y>0,C<=h.r||!h.r){C<=1&&d>0&&(h=n[d-1]);var b=S[h.l];f&&(C=f(""+C)),s=typeof b=="string"?b.replace("%d",C):b(C,w,h.l,u);break}}if(w)return s;var M=u?S.future:S.past;return typeof M=="function"?M(s):M.replace("%s",s)},l.to=function(g,w){return x(g,w,this,!0)},l.from=function(g,w){return x(g,w,this)};var c=function(g){return g.$u?i.utc():i()};l.toNow=function(g){return this.to(c(this),g)},l.fromNow=function(g){return this.from(c(this),g)}}}))})(ee)),ee.exports}var eo=Qr();const to=E.getDefaultExportFromCjs(eo);var te={exports:{}},ro=te.exports,ke;function oo(){return ke||(ke=1,(function(e,t){(function(r,o){e.exports=o()})(ro,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(i,l,m){var x,c=function(p,f,y){y===void 0&&(y={});var s=new Date(p),u=(function(S,n){n===void 0&&(n={});var a=n.timeZoneName||"short",d=S+"|"+a,h=o[d];return h||(h=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:S,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:a}),o[d]=h),h})(f,y);return u.formatToParts(s)},g=function(p,f){for(var y=c(p,f),s=[],u=0;u<y.length;u+=1){var S=y[u],n=S.type,a=S.value,d=r[n];d>=0&&(s[d]=parseInt(a,10))}var h=s[3],C=h===24?0:h,b=s[0]+"-"+s[1]+"-"+s[2]+" "+C+":"+s[4]+":"+s[5]+":000",M=+p;return(m.utc(b).valueOf()-(M-=M%1e3))/6e4},w=l.prototype;w.tz=function(p,f){p===void 0&&(p=x);var y,s=this.utcOffset(),u=this.toDate(),S=u.toLocaleString("en-US",{timeZone:p}),n=Math.round((u-new Date(S))/1e3/60),a=15*-Math.round(u.getTimezoneOffset()/15)-n;if(!Number(a))y=this.utcOffset(0,f);else if(y=m(S,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(a,!0),f){var d=y.utcOffset();y=y.add(s-d,"minute")}return y.$x.$timezone=p,y},w.offsetName=function(p){var f=this.$x.$timezone||m.tz.guess(),y=c(this.valueOf(),f,{timeZoneName:p}).find((function(s){return s.type.toLowerCase()==="timezonename"}));return y&&y.value};var v=w.startOf;w.startOf=function(p,f){if(!this.$x||!this.$x.$timezone)return v.call(this,p,f);var y=m(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return v.call(y,p,f).tz(this.$x.$timezone,!0)},m.tz=function(p,f,y){var s=y&&f,u=y||f||x,S=g(+m(),u);if(typeof p!="string")return m(p).tz(u);var n=(function(C,b,M){var _=C-60*b*1e3,k=g(_,M);if(b===k)return[_,b];var U=g(_-=60*(k-b)*1e3,M);return k===U?[_,k]:[C-60*Math.min(k,U)*1e3,Math.max(k,U)]})(m.utc(p,s).valueOf(),S,u),a=n[0],d=n[1],h=m(a).utcOffset(d);return h.$x.$timezone=u,h},m.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},m.tz.setDefault=function(p){x=p}}}))})(te)),te.exports}var no=oo();const so=E.getDefaultExportFromCjs(no);var re={exports:{}},ao=re.exports,Te;function io(){return Te||(Te=1,(function(e,t){(function(r,o){e.exports=o()})(ao,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(l,m,x){var c=m.prototype;x.utc=function(s){var u={date:s,utc:!0,args:arguments};return new m(u)},c.utc=function(s){var u=x(this.toDate(),{locale:this.$L,utc:!0});return s?u.add(this.utcOffset(),r):u},c.local=function(){return x(this.toDate(),{locale:this.$L,utc:!1})};var g=c.parse;c.parse=function(s){s.utc&&(this.$u=!0),this.$utils().u(s.$offset)||(this.$offset=s.$offset),g.call(this,s)};var w=c.init;c.init=function(){if(this.$u){var s=this.$d;this.$y=s.getUTCFullYear(),this.$M=s.getUTCMonth(),this.$D=s.getUTCDate(),this.$W=s.getUTCDay(),this.$H=s.getUTCHours(),this.$m=s.getUTCMinutes(),this.$s=s.getUTCSeconds(),this.$ms=s.getUTCMilliseconds()}else w.call(this)};var v=c.utcOffset;c.utcOffset=function(s,u){var S=this.$utils().u;if(S(s))return this.$u?0:S(this.$offset)?v.call(this):this.$offset;if(typeof s=="string"&&(s=(function(h){h===void 0&&(h="");var C=h.match(o);if(!C)return null;var b=(""+C[0]).match(i)||["-",0,0],M=b[0],_=60*+b[1]+ +b[2];return _===0?0:M==="+"?_:-_})(s),s===null))return this;var n=Math.abs(s)<=16?60*s:s;if(n===0)return this.utc(u);var a=this.clone();if(u)return a.$offset=n,a.$u=!1,a;var d=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(a=this.local().add(n+d,r)).$offset=n,a.$x.$localOffset=d,a};var p=c.format;c.format=function(s){var u=s||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return p.call(this,u)},c.valueOf=function(){var s=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*s},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var f=c.toDate;c.toDate=function(s){return s==="s"&&this.$offset?x(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var y=c.diff;c.diff=function(s,u,S){if(s&&this.$u===s.$u)return y.call(this,s,u,S);var n=this.local(),a=x(s).local();return y.call(n,a,u,S)}}}))})(re)),re.exports}var co=io();const uo=E.getDefaultExportFromCjs(co),Oe="ui_theme",Ye=e=>typeof e=="string",Be=e=>typeof e=="number"&&!isNaN(e),Re=e=>typeof e=="boolean",Fe=e=>typeof e=="function",Pe=e=>e!==null&&typeof e=="object",He=e=>Array.isArray(e),Le=e=>e===null,ze=e=>e===void 0,je=e=>e==null,Ve=(e,t)=>{let r=0;return(...o)=>{const i=Date.now();i-r>=t&&(r=i,e(...o))}},qe=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},We=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},K=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},Ke=()=>K()==="mobile",Ge=()=>K()==="tablet",Je=()=>K()==="desktop",Ze=()=>"#"+Math.floor(Math.random()*16777215).toString(16),G=e=>!e||e.length===0,Xe=e=>[...new Set(e)],Qe=e=>{if(!G(e))return Math.max(...e)},et=e=>{if(!G(e))return Math.min(...e)},tt=e=>{if(!G(e))return e.reduce((t,r)=>t+r,0)/e.length},rt=e=>e.reduce((t,r)=>t+r,0),ot=(e,t)=>e.filter(t).length,nt=e=>[...e].reverse(),st=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},at=(e,t)=>Math.random()*(t-e)+e,it=(e,t,r)=>Math.min(Math.max(e,t),r),ct=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),ut=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},lt=(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}},dt=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},ft=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},ht=(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=/`},mt=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let i=r[o];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(t)===0)return i.substring(t.length,i.length)}return null},pt=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},le=e=>typeof e!="string"?!e:e.trim().length===0,gt=(e,t)=>le(e)?t:e||"",yt=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),vt=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),wt=e=>{try{return new URL(e),!0}catch{return!1}},St=(e,t,r=" ")=>e.padStart(t,r),Ct=(e,t,r=" ")=>e.padEnd(t,r),de=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},lo=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),ne=(e=32)=>{const r=lo().replace(/-/g,"");return e>=32?r+de(e-32,"0123456789abcdef"):r.substring(0,e)};async function xt(e){return Wr(e).toString(Zr)}$.extend(to);$.extend(uo);$.extend(so);$.locale("ko");const N="YYYYMMDD",bt=()=>$(),fe=(e=N)=>$().format(e),Mt=e=>$(e,N,!0).isValid(),_t=e=>$(e,"YYYY",!0).isValid(),$t=e=>$(e,"YYYYMM",!0).isValid(),Dt=e=>$(e,"YYYYMMDDHHmmss",!0).isValid(),kt=(e,t="CM")=>{let r="";return t=="CM"?r="YYYYMMDD":t=="C"?r="YYYY.MM.DD":t=="H"?r="YYYY년 MM월 DD일":t=="D"?r="YYYY-MM-DD":t=="S"?r="YYYY/MM/DD":t=="M"?r="YYYY-MM":t=="YM"?r="YYYY년 MM월":t=="DT"?r="YYYY-MM-DD HH:mm:ss":t=="T"?r="HH:mm:ss":t=="HM"&&(r="HH:mm"),$(e).format(r)},Tt=(e,t="month")=>$(e).endOf(t).format(N),Ut=(e,t="month")=>$(e).startOf(t).format(N),It=(e,t)=>$(e).add(t,"month").format(N),Et=(e,t)=>$(e).add(t,"day").format(N),Nt=(e,t)=>$(e).diff(t,"day"),At=(e=N)=>{const t=$(e),r=$();let o=r.year()-t.year();return(r.month()<t.month()||r.month()===t.month()&&r.date()<t.date())&&o--,o};let Ot={};const Yt=e=>{Ot=e},R=()=>Ot,Bt=Object.freeze(Object.defineProperty({__proto__:null,COMMON_DATE_FORMAT:N,THEME_COOKIE_NAME:Oe,addDays:Et,addMonths:It,arrAverage:tt,arrCount:ot,arrMax:Qe,arrMin:et,arrReverse:nt,arrSum:rt,arrUnique:Xe,clamp:it,clearSessionStorage:ft,copyToClipboard:We,datetimeFormat:kt,debounce:qe,deleteCookie:pt,diffDays:Nt,duplicates:st,encryptSha256:xt,generateRandomColor:Ze,generateRandomString:de,generateUID:ne,getAge:At,getApiDeps:R,getCookie:mt,getCurrentDate:bt,getCurrentDateString:fe,getDeviceType:K,getLastDateByDiv:Tt,getSessionStorage:lt,getStartDateByDiv:Ut,initApiDeps:Yt,isArray:He,isBoolean:Re,isDesktop:Je,isEmpty:le,isEmptyArray:G,isFunction:Fe,isMobile:Ke,isNull:Le,isNullOrUndefined:je,isNumber:Be,isObject:Pe,isSafeEmpty:gt,isString:Ye,isTablet:Ge,isUndefined:ze,isValidDate:Mt,isValidDateTime:Dt,isValidEmail:vt,isValidUrl:wt,isValidYear:_t,isValidYearMonth:$t,padLeft:St,padRight:Ct,random:at,removeSessionStorage:dt,round:ct,setCookie:ht,setSessionStorage:ut,throttle:Ve,toCamelCase:yt},Symbol.toStringTag,{value:"Module"})),se=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let Rt=[],Ft=[];function Pt(e){e.devHosts&&(Rt=e.devHosts),e.prodHosts&&(Ft=e.prodHosts)}function Ht(){if(typeof window<"u"&&window.location)return window.location.hostname}const he=(()=>{const e=Ht();return!!(e&&Rt.includes(e))})(),me=(()=>{const e=Ht();return!!(e&&Ft.includes(e))})();function Lt(){return se?"X":he?"D":me?"P":"X"}const zt=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:Pt,getEnvCode:Lt,isDev:he,isLocal:se,isProd:me},Symbol.toStringTag,{value:"Module"})),I={duration:4.5,placement:"topRight"};class P{constructor(){}static getInstance(){return P.instance||(P.instance=new P),P.instance}showBwgError(t){const{message:r,description:o,duration:i=I.duration,placement:l=I.placement}=t;D.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:i,placement:l,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){D.notification.success({message:`${t}`,description:r,duration:o||I.duration,placement:I.placement})}showInfo(t,r,o){D.notification.info({message:`${t}`,description:r,duration:o||I.duration,placement:I.placement})}showWarning(t,r,o){D.notification.warning({message:`${t}`,description:r,duration:o||I.duration,placement:I.placement})}showError(t,r,o){D.notification.error({message:`${t}`,description:r,duration:o||I.duration,placement:I.placement})}destroy(){D.notification.destroy()}close(t){D.notification.destroy()}}const A=P.getInstance(),pe=e=>{A.showBwgError(e)},jt=(e,t,r)=>{A.showSuccess(e,t,r)},ge=(e,t,r)=>{A.showInfo(e,t,r)},ye=(e,t,r)=>{A.showWarning(e,t,r)},Vt=(e,t,r)=>{A.showError(e,t,r)},qt=()=>{A.destroy()},Wt=e=>{A.close(e)},Kt=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:Wt,destroyNotifications:qt,notiBwgError:pe,notiError:Vt,notiInfo:ge,notiSuccess:jt,notiWarning:ye,notificationService:A},Symbol.toStringTag,{value:"Module"})),H=()=>T.useUserStore.getState().user?.crprCd||null,L=()=>{const e=T.useUserStore.getState().user;return T.useUserStore.getState().hrInfo?.empNo||e?.userId||null},ve=()=>T.useUserStore.getState().user?.userNm||null,Gt=()=>T.useUserStore.getState().user?.userDvsn||null,Jt=()=>T.useUserStore.getState().user?.emplNo||null,z=()=>{const e=T.useUserStore.getState().hrInfo,t=T.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},we=()=>T.useUserStore.getState().user?.dprtNm||null,J=()=>T.useUserStore.getState().user?.roleList||null,Zt=e=>{const t=J();return t?t.includes(e):!1},Xt=e=>{const t=J();return t?e.some(r=>t.includes(r)):!1},Qt=e=>{const t=J();return t?e.every(r=>t.includes(r)):!1},er=()=>T.useUserStore.getState().isLoggedIn(),j=()=>T.useUserStore.getState().user,tr=()=>j()!==null,rr=()=>{const e=ve(),t=L();return e||t||null},or=()=>{const e=we(),t=z();return e||(t?String(t):null)},F=()=>T.useUserStore.getState().hrInfo,nr=()=>F()?.jbpsCd||null,sr=()=>F()?.jbgdCd||null,ar=()=>F()?.jbdtCd||null,ir=()=>F()?.jbkdCd||null,cr=()=>F()?.wkplCd||null,ur=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:H,getDepartmentInfo:or,getDisplayName:rr,getDprtCd:z,getDprtNm:we,getEmplNo:Jt,getHrInfo:F,getJbdtCd:ar,getJbgdCd:sr,getJbkdCd:ir,getJbpsCd:nr,getRoleList:J,getUserDvsn:Gt,getUserId:L,getUserInfo:j,getUserNm:ve,getWkplCd:cr,hasAllRoles:Qt,hasAnyRole:Xt,hasRole:Zt,hasUserInfo:tr,isLoggedIn:er},Symbol.toStringTag,{value:"Module"}));class Y extends Error{constructor(t,r,o,i,l){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=i,this.errorType=l,Error.captureStackTrace&&Error.captureStackTrace(this,Y)}}let B=null;const ae={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},oe=ie.create({timeout:ae.timeout,withCredentials:ae.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":ne()}});oe.interceptors.request.use(e=>{const t=R();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(i){console.warn("trxCd/guid 추출 실패:",i)}e.trxCd=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${r} / 서비스요청자: ${j()?.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)));oe.interceptors.response.use(e=>{const t=R();e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config.isPopup&&t.hidePopupLoading?.();let r="UNKNOWN",o="UNKNOWN";const i=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(m){console.warn("trxCd/guid 추출 실패:",m)}let l=0;return e.config.requestStartTime&&(l=i-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${o}] - (소요시간: ${l}ms)`),e},async e=>{const t=R();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),se&&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 ie.post("/auth/refresh",{refreshToken:r});if(o.data.accessToken){localStorage.setItem("accessToken",o.data.accessToken);const i=e.config;if(i)return i.headers.Authorization=`Bearer ${o.data.accessToken}`,oe(i)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const fo=async()=>{if(B===null){const e=Date.now();await Se();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},ho=(e,t,r,o)=>{const l=R().getActiveMenuId?.();return{header:{trxCd:e,userInfo:j(),clientIp:r,domainId:"DEFAULT",sysCd:o.sysCd,appItDd:o.appItCd,appCd:o.appCd,screenId:l},data:t}},mo=(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},po=async(e,t)=>{let r;const o=t.retryCount||0,i=t.retryDelay||1e3;for(let l=0;l<=o;l++)try{const m=await oe(e);if(m.data?.header?.resCd==0)return yo(m.data);const x=m.data?.header||{},c=x?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",g=x?.msgs?.detailMsgs||c,w=x?.msgCd,v=x?.msgs?.type;throw new Y(c,g,m,w,v)}catch(m){if(r=go(m),m?.isAxiosError&&wo(m)&&l<o){await So(i);continue}break}throw r?(vo(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},go=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,i=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",l=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||i,m=o?.header?.msgCd,x=o?.header?.msgs?.type;return new Y(i,l,r,m,x)}return e instanceof Y,e},yo=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{}},vo=(e,t)=>{if(!t.showError)return;const r=e instanceof Y,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",i=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",l=r?e.detailMsg:e.message,m=r?e.errorType:"";i&&i.startsWith?.("BXM")?pe({message:o,description:l,duration:5}):m==="I"?ge(o,l,5):ye(o,l,5)},lr=async(e,t,r,o,i)=>{console.log("## callService 호출"),console.log(`## 전역 :: ${__SYS_CD__} | ${__APP_CD__} | ${i} | ${t}`);const m=R().findSystemByAppCd?.(i??__APP_CD__);(!m||!m.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",i),await fo();const x={...ae,...o},c=ho(t,r,Ce()||"unknown",m),g=mo(e,x,c);try{return await po(g,x)}catch(w){throw console.error("callService 최종 에러:",w),w}},wo=e=>!e.response||e.response.status>=500&&e.response.status<600,So=e=>new Promise(t=>setTimeout(t,e)),Se=async e=>{if(B===null)if(e===void 0)try{let r=(await ie.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),B=r}catch(t){console.warn("IP 가져오기 실패:",t),B="unknown"}else B=e},Ce=()=>B,dr=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),B||"unknown"),fr=(e,t,r)=>O(e,t,{...r,method:"GET"}),O=async(e,t,r,o)=>lr("/api/service",e,t,r,o),hr=async(e,t,r,o)=>lr(`/api/${__SYS_CD__}/service`,e,t,r,o),mr=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}},pr=Object.freeze(Object.defineProperty({__proto__:null,ApiError:Y,apiGet:fr,callService:O,callServiceBySysCd:hr,getClientIp:Ce,getPermissionService:mr,setClientIp:Se,verifyClientIp:dr},Symbol.toStringTag,{value:"Module"})),gr=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),i=URL.createObjectURL(o),l=document.createElement("a");l.href=i,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(i)};async function yr(e){try{return await O("SCMFILE00101",{crprCd:j()?.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 i=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(i,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const vr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:yr,downloadFile:gr},Symbol.toStringTag,{value:"Module"})),xe=(e,t=3)=>{D.message.success({content:e,duration:t})},V=(e,t=5)=>{D.message.error({content:e,duration:t})},wr=(e,t=4)=>{D.message.warning({content:e,duration:t})},Sr=(e,t=3)=>{D.message.info({content:e,duration:t})},Cr=(e="처리중...")=>D.message.loading({content:e,duration:0}),xr=e=>{D.message.destroy(e)},br=()=>{D.message.destroy()},Mr=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;V(r)},_r=(e="저장")=>{xe(`${e}이 완료되었습니다.`)},$r=(e="저장")=>{V(`${e} 중 오류가 발생했습니다.`)},Dr=e=>{V(`이미 사용중인 ${e}입니다.`)},kr=e=>{V(`${e}을(를) 입력해주세요.`)},Tr=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:br,closeMessage:xr,showApiError:Mr,showDuplicateError:Dr,showError:V,showInfo:Sr,showLoading:Cr,showRequiredError:kr,showSaveError:$r,showSaveSuccess:_r,showSuccess:xe,showWarning:wr},Symbol.toStringTag,{value:"Module"})),Ur={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"}},Ir=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(m,x)=>{const c=new FormData;Object.entries(t).forEach(([v,p])=>{c.append(v,p)});const g=m.originFileObj;c.append("file",g);const w=await fetch("/api/gw-sftp",{method:"POST",body:c});return w.ok?(console.log(e),e.map(v=>v===m?{...v,status:"success",percent:100}:v)):m.status="done",{index:x,response:w,fileName:g.name}}),o=await Promise.all(r),i=o.filter(m=>m.response.ok).length,l=o.length-i;if(i===o.length)return alert(`${i}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${i}개 파일 업로드가 완료되었습니다.`,successCount:i,failCount:l};if(i>0){const m=`${i}개 성공, ${l}개 실패`;return alert(m),{result:"partial",message:m,successCount:i,failCount:l}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:i,failCount:l}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},Co=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",openDraft:i=!0,draftUrlBase:l="https://kgwd.krx.co.kr/ezConn/ezApprGate.do",windowFeatures:m="width=1000,height=600",fetchFilesTrxCd:x="SCMFILE00101"}=r||{},c=e??{},g=c.aprvKey||ne(),w=c.docTitle||"제목없음",v=await O("SCMINTF00101",{crprCd:H(),sysCd:__SYS_CD__,aprvKey:g});if(Array.isArray(v?.sub)&&v.sub.length>=1)return console.log("이미 승인된 기안입니다."),i&&Er(g),{skipped:!0,alreadyDrafted:!0,draftedRes:v};let p;if(t){const s=await O(x,{crprCd:H(),sysCd:__SYS_CD__,fileGrpKey:t}),u=Array.isArray(s?.sub)?s.sub.filter(a=>a?.filePath&&a?.lgclFileNm).map(a=>({filePath:a.filePath,lgclFileNm:a.lgclFileNm})):[];console.log("@@ files",u);const S=u.map(async({filePath:a,lgclFileNm:d})=>{const h=`/api/download?filePath=${encodeURIComponent(a)}&logicalName=${encodeURIComponent(d)}`,C=await fetch(h,{method:"GET"});if(!C.ok)throw new Error(`다운로드 실패: ${d}`);const b=await C.blob();return{originFileObj:new File([b],d,{type:b.type||"application/octet-stream"}),name:d,status:"ready"}}),n=await Promise.all(S);if(u.length){const a=await Ir(n);if(!a||a.result!=="success")throw new Error(a?.message||"파일 업로드 실패");p=n}}console.warn("@@ payloadData",c),console.log(c);const f={...c,crprCd:H(),aprvKey:g,sysCd:__SYS_CD__,draftDt:fe("YYYYMMDD"),docTitle:w,emplNo:c.emplNo||L(),dprtNo:c.dprtNo||z(),formId:"2023000022",fileInfoList:p,connInfo:{keyId:c.aprvKey,formId:"2023000022",bodyHtml:c.bodyHtml||"<div>test</div>",title:c.docTitle,deptCd:c.dprtNo||z(),userId:c.emplNo||L(),status:c.status||0}},y=await O(o,f);if(i&&f?.aprvKey){const s="2023000022",u=z(),S=L(),n=c.aprvKey,a=`${s}:${u}:${S}:${n}:ITSM`,d=`${l}?connkey=${btoa(a)}`;window.open(d,"_blank",m)}return y},Er=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",formId:i="2023000022",requireExisting:l=!1,deptCdOverride:m,userIdOverride:x}=t||{},c=await O("SCMINTF00101",{crprCd:H(),sysCd:__SYS_CD__,aprvKey:e}),g=Array.isArray(c?.sub)&&c.sub.length>=1;if(l&&!g)return console.warn("openGwDraftByAprvKey: 기안 조회 결과 없음"),alert("기안 대상이 존재하지 않습니다."),{opened:!1,hasExisting:g};const w=m??c.sub[0]?.dprtNo,v=x??c.sub[0]?.emplNo,p=`${i}:${w}:${v}:${e}:ITSM`,f=`${r}?connkey=${btoa(p)}`;return window.open(f,"_blank",o),{opened:!0,hasExisting:g,url:f}},xo=pr,bo=Bt,Mo=zt,_o=vr,$o=Tr,Do=Kt,ko=Ne,To=ur,Nr={...pr,...Bt,...zt,...vr,...Tr,...Kt,...Ne,...ur,realFormat:Ur};exports.ApiError=Y;exports.COMMON_DATE_FORMAT=N;exports.THEME_COOKIE_NAME=Oe;exports.addDays=Et;exports.addMonths=It;exports.apiGet=fr;exports.apiUtils=xo;exports.arrAverage=tt;exports.arrCount=ot;exports.arrMax=Qe;exports.arrMin=et;exports.arrReverse=nt;exports.arrSum=rt;exports.arrUnique=Xe;exports.bwgUtils=Nr;exports.callService=O;exports.callServiceBySysCd=hr;exports.clamp=it;exports.clearSessionStorage=ft;exports.closeAllMessages=br;exports.closeMessage=xr;exports.closeNotification=Wt;exports.commonUtils=bo;exports.configureEnvUtils=Pt;exports.copyToClipboard=We;exports.datetimeFormat=kt;exports.debounce=qe;exports.default=Nr;exports.deleteCookie=pt;exports.destroyNotifications=qt;exports.diffDays=Nt;exports.downloadByFileKey=yr;exports.downloadFile=gr;exports.duplicates=st;exports.encryptSha256=xt;exports.envUtils=Mo;exports.fileUtils=_o;exports.generateRandomColor=Ze;exports.generateRandomString=de;exports.generateUID=ne;exports.getAge=At;exports.getAllServiceCodes=ue;exports.getApiDeps=R;exports.getClientIp=Ce;exports.getCookie=mt;exports.getCrprCd=H;exports.getCurrentDate=bt;exports.getCurrentDateString=fe;exports.getDepartmentInfo=or;exports.getDeviceType=K;exports.getDisplayName=rr;exports.getDprtCd=z;exports.getDprtNm=we;exports.getEmplNo=Jt;exports.getEnvCode=Lt;exports.getHrInfo=F;exports.getJbdtCd=ar;exports.getJbgdCd=sr;exports.getJbkdCd=ir;exports.getJbpsCd=nr;exports.getLastDateByDiv=Tt;exports.getPermissionService=mr;exports.getRoleList=J;exports.getServiceCode=ce;exports.getSessionStorage=lt;exports.getStartDateByDiv=Ut;exports.getUserDvsn=Gt;exports.getUserId=L;exports.getUserInfo=j;exports.getUserNm=ve;exports.getWkplCd=cr;exports.hasAllRoles=Qt;exports.hasAnyRole=Xt;exports.hasRole=Zt;exports.hasUserInfo=tr;exports.initApiDeps=Yt;exports.isArray=He;exports.isBoolean=Re;exports.isDesktop=Je;exports.isDev=he;exports.isEmpty=le;exports.isEmptyArray=G;exports.isFunction=Fe;exports.isLocal=se;exports.isLoggedIn=er;exports.isMobile=Ke;exports.isNull=Le;exports.isNullOrUndefined=je;exports.isNumber=Be;exports.isObject=Pe;exports.isProd=me;exports.isSafeEmpty=gt;exports.isString=Ye;exports.isTablet=Ge;exports.isUndefined=ze;exports.isValidDate=Mt;exports.isValidDateTime=Dt;exports.isValidEmail=vt;exports.isValidUrl=wt;exports.isValidYear=_t;exports.isValidYearMonth=$t;exports.logServiceCodeConfig=Ee;exports.messageUtils=$o;exports.notiBwgError=pe;exports.notiError=Vt;exports.notiInfo=ge;exports.notiSuccess=jt;exports.notiWarning=ye;exports.notificationService=A;exports.notificationUtils=Do;exports.openGwDraftByAprvKey=Er;exports.padLeft=St;exports.padRight=Ct;exports.random=at;exports.realFormat=Ur;exports.removeSessionStorage=dt;exports.round=ct;exports.serviceUtils=ko;exports.setClientIp=Se;exports.setCookie=ht;exports.setServiceCodeOverrides=Ie;exports.setSessionStorage=ut;exports.showApiError=Mr;exports.showDuplicateError=Dr;exports.showError=V;exports.showInfo=Sr;exports.showLoading=Cr;exports.showRequiredError=kr;exports.showSaveError=$r;exports.showSaveSuccess=_r;exports.showSuccess=xe;exports.showWarning=wr;exports.submitGwApproval=Co;exports.throttle=Ve;exports.toCamelCase=yt;exports.uploadFilesViaSftp=Ir;exports.userUtils=To;exports.verifyClientIp=dr;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Ue=require("axios"),N=require("../chunks/common-components-CeY5flj3.cjs"),U=require("dayjs"),T=require("antd"),E=require("../stores/index.cjs"),nt=require("lodash"),st={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let te={};function at(e){te=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function Ie(e){return te[e]&&te[e].trim()!==""?te[e]:st[e]}function Ee(){const e={};for(const t of Object.keys(st))e[t]=Ie(t);return e}function it(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=Ee();for(const[t,r]of Object.entries(e)){const o=te[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const ct=Object.freeze(Object.defineProperty({__proto__:null,getAllServiceCodes:Ee,getServiceCode:Ie,logServiceCodeConfig:it,setServiceCodeOverrides:at},Symbol.toStringTag,{value:"Module"}));var le={exports:{}};function uo(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 de={exports:{}};const lo={},fo=Object.freeze(Object.defineProperty({__proto__:null,default:lo},Symbol.toStringTag,{value:"Module"})),ho=N.getAugmentedNamespace(fo);var po=de.exports,Ze;function ut(){return Ze||(Ze=1,(function(e,t){(function(r,o){e.exports=o()})(po,function(){var r=r||(function(o,u){var f;if(typeof window<"u"&&window.crypto&&(f=window.crypto),typeof self<"u"&&self.crypto&&(f=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(f=globalThis.crypto),!f&&typeof window<"u"&&window.msCrypto&&(f=window.msCrypto),!f&&typeof N.commonjsGlobal<"u"&&N.commonjsGlobal.crypto&&(f=N.commonjsGlobal.crypto),!f&&typeof uo=="function")try{f=ho}catch{}var d=function(){if(f){if(typeof f.getRandomValues=="function")try{return f.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof f.randomBytes=="function")try{return f.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},C=Object.create||(function(){function n(){}return function(s){var l;return n.prototype=s,l=new n,n.prototype=null,l}})(),c={},m=c.lib={},h=m.Base=(function(){return{extend:function(n){var s=C(this);return n&&s.mixIn(n),(!s.hasOwnProperty("init")||this.init===s.init)&&(s.init=function(){s.$super.init.apply(this,arguments)}),s.init.prototype=s,s.$super=this,s},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var s in n)n.hasOwnProperty(s)&&(this[s]=n[s]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),w=m.WordArray=h.extend({init:function(n,s){n=this.words=n||[],s!=u?this.sigBytes=s:this.sigBytes=n.length*4},toString:function(n){return(n||y).stringify(this)},concat:function(n){var s=this.words,l=n.words,g=this.sigBytes,x=n.sigBytes;if(this.clamp(),g%4)for(var b=0;b<x;b++){var $=l[b>>>2]>>>24-b%4*8&255;s[g+b>>>2]|=$<<24-(g+b)%4*8}else for(var M=0;M<x;M+=4)s[g+M>>>2]=l[M>>>2];return this.sigBytes+=x,this},clamp:function(){var n=this.words,s=this.sigBytes;n[s>>>2]&=4294967295<<32-s%4*8,n.length=o.ceil(s/4)},clone:function(){var n=h.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var s=[],l=0;l<n;l+=4)s.push(d());return new w.init(s,n)}}),v=c.enc={},y=v.Hex={stringify:function(n){for(var s=n.words,l=n.sigBytes,g=[],x=0;x<l;x++){var b=s[x>>>2]>>>24-x%4*8&255;g.push((b>>>4).toString(16)),g.push((b&15).toString(16))}return g.join("")},parse:function(n){for(var s=n.length,l=[],g=0;g<s;g+=2)l[g>>>3]|=parseInt(n.substr(g,2),16)<<24-g%8*4;return new w.init(l,s/2)}},S=v.Latin1={stringify:function(n){for(var s=n.words,l=n.sigBytes,g=[],x=0;x<l;x++){var b=s[x>>>2]>>>24-x%4*8&255;g.push(String.fromCharCode(b))}return g.join("")},parse:function(n){for(var s=n.length,l=[],g=0;g<s;g++)l[g>>>2]|=(n.charCodeAt(g)&255)<<24-g%4*8;return new w.init(l,s)}},i=v.Utf8={stringify:function(n){try{return decodeURIComponent(escape(S.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return S.parse(unescape(encodeURIComponent(n)))}},a=m.BufferedBlockAlgorithm=h.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=i.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var s,l=this._data,g=l.words,x=l.sigBytes,b=this.blockSize,$=b*4,M=x/$;n?M=o.ceil(M):M=o.max((M|0)-this._minBufferSize,0);var _=M*b,D=o.min(_*4,x);if(_){for(var k=0;k<_;k+=b)this._doProcessBlock(g,k);s=g.splice(0,_),l.sigBytes-=D}return new w.init(s,D)},clone:function(){var n=h.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});m.Hasher=a.extend({cfg:h.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){a.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){n&&this._append(n);var s=this._doFinalize();return s},blockSize:16,_createHelper:function(n){return function(s,l){return new n.init(l).finalize(s)}},_createHmacHelper:function(n){return function(s,l){return new p.HMAC.init(n,l).finalize(s)}}});var p=c.algo={};return c})(Math);return r})})(de)),de.exports}var mo=le.exports,Je;function go(){return Je||(Je=1,(function(e,t){(function(r,o){e.exports=o(ut())})(mo,function(r){return(function(o){var u=r,f=u.lib,d=f.WordArray,C=f.Hasher,c=u.algo,m=[],h=[];(function(){function y(p){for(var n=o.sqrt(p),s=2;s<=n;s++)if(!(p%s))return!1;return!0}function S(p){return(p-(p|0))*4294967296|0}for(var i=2,a=0;a<64;)y(i)&&(a<8&&(m[a]=S(o.pow(i,1/2))),h[a]=S(o.pow(i,1/3)),a++),i++})();var w=[],v=c.SHA256=C.extend({_doReset:function(){this._hash=new d.init(m.slice(0))},_doProcessBlock:function(y,S){for(var i=this._hash.words,a=i[0],p=i[1],n=i[2],s=i[3],l=i[4],g=i[5],x=i[6],b=i[7],$=0;$<64;$++){if($<16)w[$]=y[S+$]|0;else{var M=w[$-15],_=(M<<25|M>>>7)^(M<<14|M>>>18)^M>>>3,D=w[$-2],k=(D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10;w[$]=_+w[$-7]+k+w[$-16]}var I=l&g^~l&x,A=a&p^a&n^p&n,Y=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),F=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),j=b+F+I+h[$]+w[$],R=Y+A;b=x,x=g,g=l,l=s+j|0,s=n,n=p,p=a,a=j+R|0}i[0]=i[0]+a|0,i[1]=i[1]+p|0,i[2]=i[2]+n|0,i[3]=i[3]+s|0,i[4]=i[4]+l|0,i[5]=i[5]+g|0,i[6]=i[6]+x|0,i[7]=i[7]+b|0},_doFinalize:function(){var y=this._data,S=y.words,i=this._nDataBytes*8,a=y.sigBytes*8;return S[a>>>5]|=128<<24-a%32,S[(a+64>>>9<<4)+14]=o.floor(i/4294967296),S[(a+64>>>9<<4)+15]=i,y.sigBytes=S.length*4,this._process(),this._hash},clone:function(){var y=C.clone.call(this);return y._hash=this._hash.clone(),y}});u.SHA256=C._createHelper(v),u.HmacSHA256=C._createHmacHelper(v)})(Math),r.SHA256})})(le)),le.exports}var yo=go();const vo=N.getDefaultExportFromCjs(yo);var fe={exports:{}},wo=fe.exports,Xe;function So(){return Xe||(Xe=1,(function(e,t){(function(r,o){e.exports=o(ut())})(wo,function(r){return(function(){var o=r,u=o.lib,f=u.WordArray,d=o.enc;d.Base64={stringify:function(c){var m=c.words,h=c.sigBytes,w=this._map;c.clamp();for(var v=[],y=0;y<h;y+=3)for(var S=m[y>>>2]>>>24-y%4*8&255,i=m[y+1>>>2]>>>24-(y+1)%4*8&255,a=m[y+2>>>2]>>>24-(y+2)%4*8&255,p=S<<16|i<<8|a,n=0;n<4&&y+n*.75<h;n++)v.push(w.charAt(p>>>6*(3-n)&63));var s=w.charAt(64);if(s)for(;v.length%4;)v.push(s);return v.join("")},parse:function(c){var m=c.length,h=this._map,w=this._reverseMap;if(!w){w=this._reverseMap=[];for(var v=0;v<h.length;v++)w[h.charCodeAt(v)]=v}var y=h.charAt(64);if(y){var S=c.indexOf(y);S!==-1&&(m=S)}return C(c,m,w)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function C(c,m,h){for(var w=[],v=0,y=0;y<m;y++)if(y%4){var S=h[c.charCodeAt(y-1)]<<y%4*2,i=h[c.charCodeAt(y)]>>>6-y%4*2,a=S|i;w[v>>>2]|=a<<24-v%4*8,v++}return f.create(w,v)}})(),r.enc.Base64})})(fe)),fe.exports}var Co=So();const xo=N.getDefaultExportFromCjs(Co);var he={exports:{}},bo=he.exports,Qe;function $o(){return Qe||(Qe=1,(function(e,t){(function(r,o){e.exports=o()})(bo,(function(){return function(r,o,u){r=r||{};var f=o.prototype,d={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 C(m,h,w,v){return f.fromToBase(m,h,w,v)}u.en.relativeTime=d,f.fromToBase=function(m,h,w,v,y){for(var S,i,a,p=w.$locale().relativeTime||d,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"}],s=n.length,l=0;l<s;l+=1){var g=n[l];g.d&&(S=v?u(m).diff(w,g.d,!0):w.diff(m,g.d,!0));var x=(r.rounding||Math.round)(Math.abs(S));if(a=S>0,x<=g.r||!g.r){x<=1&&l>0&&(g=n[l-1]);var b=p[g.l];y&&(x=y(""+x)),i=typeof b=="string"?b.replace("%d",x):b(x,h,g.l,a);break}}if(h)return i;var $=a?p.future:p.past;return typeof $=="function"?$(i):$.replace("%s",i)},f.to=function(m,h){return C(m,h,this,!0)},f.from=function(m,h){return C(m,h,this)};var c=function(m){return m.$u?u.utc():u()};f.toNow=function(m){return this.to(c(this),m)},f.fromNow=function(m){return this.from(c(this),m)}}}))})(he)),he.exports}var Mo=$o();const _o=N.getDefaultExportFromCjs(Mo);var pe={exports:{}},Do=pe.exports,et;function ko(){return et||(et=1,(function(e,t){(function(r,o){e.exports=o()})(Do,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(u,f,d){var C,c=function(v,y,S){S===void 0&&(S={});var i=new Date(v),a=(function(p,n){n===void 0&&(n={});var s=n.timeZoneName||"short",l=p+"|"+s,g=o[l];return g||(g=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:p,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:s}),o[l]=g),g})(y,S);return a.formatToParts(i)},m=function(v,y){for(var S=c(v,y),i=[],a=0;a<S.length;a+=1){var p=S[a],n=p.type,s=p.value,l=r[n];l>=0&&(i[l]=parseInt(s,10))}var g=i[3],x=g===24?0:g,b=i[0]+"-"+i[1]+"-"+i[2]+" "+x+":"+i[4]+":"+i[5]+":000",$=+v;return(d.utc(b).valueOf()-($-=$%1e3))/6e4},h=f.prototype;h.tz=function(v,y){v===void 0&&(v=C);var S,i=this.utcOffset(),a=this.toDate(),p=a.toLocaleString("en-US",{timeZone:v}),n=Math.round((a-new Date(p))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-n;if(!Number(s))S=this.utcOffset(0,y);else if(S=d(p,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(s,!0),y){var l=S.utcOffset();S=S.add(i-l,"minute")}return S.$x.$timezone=v,S},h.offsetName=function(v){var y=this.$x.$timezone||d.tz.guess(),S=c(this.valueOf(),y,{timeZoneName:v}).find((function(i){return i.type.toLowerCase()==="timezonename"}));return S&&S.value};var w=h.startOf;h.startOf=function(v,y){if(!this.$x||!this.$x.$timezone)return w.call(this,v,y);var S=d(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return w.call(S,v,y).tz(this.$x.$timezone,!0)},d.tz=function(v,y,S){var i=S&&y,a=S||y||C,p=m(+d(),a);if(typeof v!="string")return d(v).tz(a);var n=(function(x,b,$){var M=x-60*b*1e3,_=m(M,$);if(b===_)return[M,b];var D=m(M-=60*(_-b)*1e3,$);return _===D?[M,_]:[x-60*Math.min(_,D)*1e3,Math.max(_,D)]})(d.utc(v,i).valueOf(),p,a),s=n[0],l=n[1],g=d(s).utcOffset(l);return g.$x.$timezone=a,g},d.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},d.tz.setDefault=function(v){C=v}}}))})(pe)),pe.exports}var To=ko();const Uo=N.getDefaultExportFromCjs(To);var me={exports:{}},Io=me.exports,tt;function Eo(){return tt||(tt=1,(function(e,t){(function(r,o){e.exports=o()})(Io,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,u=/([+-]|\d\d)/g;return function(f,d,C){var c=d.prototype;C.utc=function(i){var a={date:i,utc:!0,args:arguments};return new d(a)},c.utc=function(i){var a=C(this.toDate(),{locale:this.$L,utc:!0});return i?a.add(this.utcOffset(),r):a},c.local=function(){return C(this.toDate(),{locale:this.$L,utc:!1})};var m=c.parse;c.parse=function(i){i.utc&&(this.$u=!0),this.$utils().u(i.$offset)||(this.$offset=i.$offset),m.call(this,i)};var h=c.init;c.init=function(){if(this.$u){var i=this.$d;this.$y=i.getUTCFullYear(),this.$M=i.getUTCMonth(),this.$D=i.getUTCDate(),this.$W=i.getUTCDay(),this.$H=i.getUTCHours(),this.$m=i.getUTCMinutes(),this.$s=i.getUTCSeconds(),this.$ms=i.getUTCMilliseconds()}else h.call(this)};var w=c.utcOffset;c.utcOffset=function(i,a){var p=this.$utils().u;if(p(i))return this.$u?0:p(this.$offset)?w.call(this):this.$offset;if(typeof i=="string"&&(i=(function(g){g===void 0&&(g="");var x=g.match(o);if(!x)return null;var b=(""+x[0]).match(u)||["-",0,0],$=b[0],M=60*+b[1]+ +b[2];return M===0?0:$==="+"?M:-M})(i),i===null))return this;var n=Math.abs(i)<=16?60*i:i;if(n===0)return this.utc(a);var s=this.clone();if(a)return s.$offset=n,s.$u=!1,s;var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(s=this.local().add(n+l,r)).$offset=n,s.$x.$localOffset=l,s};var v=c.format;c.format=function(i){var a=i||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return v.call(this,a)},c.valueOf=function(){var i=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*i},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var y=c.toDate;c.toDate=function(i){return i==="s"&&this.$offset?C(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var S=c.diff;c.diff=function(i,a,p){if(i&&this.$u===i.$u)return S.call(this,i,a,p);var n=this.local(),s=C(i).local();return S.call(n,s,a,p)}}}))})(me)),me.exports}var Oo=Eo();const No=N.getDefaultExportFromCjs(Oo);var ge={exports:{}},Ao=ge.exports,rt;function Yo(){return rt||(rt=1,(function(e,t){(function(r,o){e.exports=o()})(Ao,(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/,f=/\d\d/,d=/\d\d?/,C=/\d*[^-_:/,()\s\d]+/,c={},m=function(a){return(a=+a)+(a>68?1900:2e3)},h=function(a){return function(p){this[a]=+p}},w=[/[+-]\d\d:?(\d\d)?|Z/,function(a){(this.zone||(this.zone={})).offset=(function(p){if(!p||p==="Z")return 0;var n=p.match(/([+-]|\d\d)/g),s=60*n[1]+(+n[2]||0);return s===0?0:n[0]==="+"?-s:s})(a)}],v=function(a){var p=c[a];return p&&(p.indexOf?p:p.s.concat(p.f))},y=function(a,p){var n,s=c.meridiem;if(s){for(var l=1;l<=24;l+=1)if(a.indexOf(s(l,0,p))>-1){n=l>12;break}}else n=a===(p?"pm":"PM");return n},S={A:[C,function(a){this.afternoon=y(a,!1)}],a:[C,function(a){this.afternoon=y(a,!0)}],Q:[u,function(a){this.month=3*(a-1)+1}],S:[u,function(a){this.milliseconds=100*+a}],SS:[f,function(a){this.milliseconds=10*+a}],SSS:[/\d{3}/,function(a){this.milliseconds=+a}],s:[d,h("seconds")],ss:[d,h("seconds")],m:[d,h("minutes")],mm:[d,h("minutes")],H:[d,h("hours")],h:[d,h("hours")],HH:[d,h("hours")],hh:[d,h("hours")],D:[d,h("day")],DD:[f,h("day")],Do:[C,function(a){var p=c.ordinal,n=a.match(/\d+/);if(this.day=n[0],p)for(var s=1;s<=31;s+=1)p(s).replace(/\[|\]/g,"")===a&&(this.day=s)}],w:[d,h("week")],ww:[f,h("week")],M:[d,h("month")],MM:[f,h("month")],MMM:[C,function(a){var p=v("months"),n=(v("monthsShort")||p.map((function(s){return s.slice(0,3)}))).indexOf(a)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[C,function(a){var p=v("months").indexOf(a)+1;if(p<1)throw new Error;this.month=p%12||p}],Y:[/[+-]?\d+/,h("year")],YY:[f,function(a){this.year=m(a)}],YYYY:[/\d{4}/,h("year")],Z:w,ZZ:w};function i(a){var p,n;p=a,n=c&&c.formats;for(var s=(a=p.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(A,Y,F){return Y||F.slice(1)}))}))).match(o),l=s.length,g=0;g<l;g+=1){var x=s[g],b=S[x],$=b&&b[0],M=b&&b[1];s[g]=M?{regex:$,parser:M}:x.replace(/^\[|\]$/g,"")}return function(_){for(var D={},k=0,I=0;k<l;k+=1){var A=s[k];if(typeof A=="string")I+=A.length;else{var Y=A.regex,F=A.parser,j=_.slice(I),R=Y.exec(j)[0];F.call(D,R),_=_.replace(R,"")}}return(function(q){var ae=q.afternoon;if(ae!==void 0){var O=q.hours;ae?O<12&&(q.hours+=12):O===12&&(q.hours=0),delete q.afternoon}})(D),D}}return function(a,p,n){n.p.customParseFormat=!0,a&&a.parseTwoDigitYear&&(m=a.parseTwoDigitYear);var s=p.prototype,l=s.parse;s.parse=function(g){var x=g.date,b=g.utc,$=g.args;this.$u=b;var M=$[1];if(typeof M=="string"){var _=$[2]===!0,D=$[3]===!0,k=_||D,I=$[2];D&&(I=$[2]),c=this.$locale(),!_&&I&&(c=n.Ls[I]),this.$d=(function(j,R,q,ae){try{if(["x","X"].indexOf(R)>-1)return new Date((R==="X"?1e3:1)*j);var O=i(R)(j),Ce=O.year,ie=O.month,no=O.day,so=O.hours,ao=O.minutes,io=O.seconds,co=O.milliseconds,Ke=O.zone,Ge=O.week,xe=new Date,be=no||(Ce||ie?1:xe.getDate()),$e=Ce||xe.getFullYear(),ce=0;Ce&&!ie||(ce=ie>0?ie-1:xe.getMonth());var ue,Me=so||0,_e=ao||0,De=io||0,ke=co||0;return Ke?new Date(Date.UTC($e,ce,be,Me,_e,De,ke+60*Ke.offset*1e3)):q?new Date(Date.UTC($e,ce,be,Me,_e,De,ke)):(ue=new Date($e,ce,be,Me,_e,De,ke),Ge&&(ue=ae(ue).week(Ge).toDate()),ue)}catch{return new Date("")}})(x,M,b,n),this.init(),I&&I!==!0&&(this.$L=this.locale(I).$L),k&&x!=this.format(M)&&(this.$d=new Date("")),c={}}else if(M instanceof Array)for(var A=M.length,Y=1;Y<=A;Y+=1){$[1]=M[Y-1];var F=n.apply(this,$);if(F.isValid()){this.$d=F.$d,this.$L=F.$L,this.init();break}Y===A&&(this.$d=new Date(""))}else l.call(this,g)}}}))})(ge)),ge.exports}var Bo=Yo();const Fo=N.getDefaultExportFromCjs(Bo);var ye={exports:{}},Po=ye.exports,ot;function Ro(){return ot||(ot=1,(function(e,t){(function(r,o){e.exports=o()})(Po,(function(){var r="month",o="quarter";return function(u,f){var d=f.prototype;d.quarter=function(m){return this.$utils().u(m)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(m-1))};var C=d.add;d.add=function(m,h){return m=Number(m),this.$utils().p(h)===o?this.add(3*m,r):C.bind(this)(m,h)};var c=d.startOf;d.startOf=function(m,h){var w=this.$utils(),v=!!w.u(h)||h;if(w.p(m)===o){var y=this.quarter()-1;return v?this.month(3*y).startOf(r).startOf("day"):this.month(3*y+2).endOf(r).endOf("day")}return c.bind(this)(m,h)}}}))})(ye)),ye.exports}var Lo=Ro();const Ho=N.getDefaultExportFromCjs(Lo),lt="ui_theme",dt=e=>typeof e=="string",ft=e=>typeof e=="number"&&!isNaN(e),ht=e=>typeof e=="boolean",pt=e=>typeof e=="function",mt=e=>e!==null&&typeof e=="object",gt=e=>Array.isArray(e),yt=e=>e===null,vt=e=>e===void 0,wt=e=>e==null,St=(e,t)=>{let r=0;return(...o)=>{const u=Date.now();u-r>=t&&(r=u,e(...o))}},Ct=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},xt=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},re=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},bt=()=>re()==="mobile",$t=()=>re()==="tablet",Mt=()=>re()==="desktop",_t=()=>"#"+Math.floor(Math.random()*16777215).toString(16),oe=e=>!e||e.length===0,Dt=e=>[...new Set(e)],kt=e=>{if(!oe(e))return Math.max(...e)},Tt=e=>{if(!oe(e))return Math.min(...e)},Ut=e=>{if(!oe(e))return e.reduce((t,r)=>t+r,0)/e.length},It=e=>e.reduce((t,r)=>t+r,0),Et=(e,t)=>e.filter(t).length,Ot=e=>[...e].reverse(),Nt=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},At=(e,t)=>Math.random()*(t-e)+e,Yt=(e,t,r)=>Math.min(Math.max(e,t),r),Bt=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),Ft=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},Pt=(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}},Rt=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},Lt=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},Ht=(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=/`},zt=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},jt=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},Oe=e=>typeof e!="string"?!e:e.trim().length===0,qt=(e,t)=>Oe(e)?t:e||"",Vt=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),Wt=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),Kt=e=>{try{return new URL(e),!0}catch{return!1}},Gt=(e,t,r=" ")=>e.padStart(t,r),Zt=(e,t,r=" ")=>e.padEnd(t,r),Ne=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},zo=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),we=(e=32)=>{const r=zo().replace(/-/g,"");return e>=32?r+Ne(e-32,"0123456789abcdef"):r.substring(0,e)};async function Jt(e){return vo(e).toString(xo)}U.extend(_o);U.extend(No);U.extend(Uo);U.locale("ko");U.extend(Fo);U.extend(Ho);const z="YYYYMMDD",Ae=()=>U(),Ye=(e=z)=>Be(Ae(),e),Be=(e,t=z)=>U(e).format(t),ne=(e,t=z)=>U(e,t,!0).isValid(),Xt=e=>ne(e,"YYYYMMDD"),Qt=e=>ne(e,"YYYY"),er=e=>ne(e,"YYYYMM"),tr=(e,t="month",r=z)=>U(e).startOf(t).format(r),rr=(e,t="month",r=z)=>U(e).endOf(t).format(r),or=(e,t,r="day",o=z)=>U(e).add(t,r).format(o),nr=(e,t,r="day")=>U(e).diff(U(t),r);let sr={};const ar=e=>{sr=e},W=()=>sr,ir=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_FMT:z,THEME_COOKIE_NAME:lt,add:or,arrAverage:Ut,arrCount:Et,arrMax:kt,arrMin:Tt,arrReverse:Ot,arrSum:It,arrUnique:Dt,clamp:Yt,clearSessionStorage:Lt,copyToClipboard:xt,debounce:Ct,deleteCookie:jt,diff:nr,duplicates:Nt,encryptSha256:Jt,endOf:rr,format:Be,generateRandomColor:_t,generateRandomString:Ne,generateUID:we,getApiDeps:W,getCookie:zt,getDeviceType:re,getSessionStorage:Pt,getTodateString:Ye,initApiDeps:ar,isArray:gt,isBoolean:ht,isDesktop:Mt,isEmpty:Oe,isEmptyArray:oe,isFunction:pt,isMobile:bt,isNull:yt,isNullOrUndefined:wt,isNumber:ft,isObject:mt,isSafeEmpty:qt,isString:dt,isTablet:$t,isUndefined:vt,isValid:ne,isValidDate:Xt,isValidEmail:Wt,isValidUrl:Kt,isValidYear:Qt,isValidYearMonth:er,now:Ae,padLeft:Gt,padRight:Zt,random:At,removeSessionStorage:Rt,round:Bt,setCookie:Ht,setSessionStorage:Ft,startOf:tr,throttle:St,toCamelCase:Vt},Symbol.toStringTag,{value:"Module"})),Se=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let cr=[],ur=[];function lr(e){e.devHosts&&(cr=e.devHosts),e.prodHosts&&(ur=e.prodHosts)}function dr(){if(typeof window<"u"&&window.location)return window.location.hostname}const Fe=(()=>{const e=dr();return!!(e&&cr.includes(e))})(),Pe=(()=>{const e=dr();return!!(e&&ur.includes(e))})();function fr(){return Se?"X":Fe?"D":Pe?"P":"X"}const hr=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:lr,getEnvCode:fr,isDev:Fe,isLocal:Se,isProd:Pe},Symbol.toStringTag,{value:"Module"})),B={duration:4.5,placement:"topRight"};class G{constructor(){}static getInstance(){return G.instance||(G.instance=new G),G.instance}showBwgError(t){const{message:r,description:o,duration:u=B.duration,placement:f=B.placement}=t;T.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:u,placement:f,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){T.notification.success({message:`${t}`,description:r,duration:o||B.duration,placement:B.placement})}showInfo(t,r,o){T.notification.info({message:`${t}`,description:r,duration:o||B.duration,placement:B.placement})}showWarning(t,r,o){T.notification.warning({message:`${t}`,description:r,duration:o||B.duration,placement:B.placement})}showError(t,r,o){T.notification.error({message:`${t}`,description:r,duration:o||B.duration,placement:B.placement})}destroy(){T.notification.destroy()}close(t){T.notification.destroy()}}const P=G.getInstance(),Re=e=>{P.showBwgError(e)},pr=(e,t,r)=>{P.showSuccess(e,t,r)},Le=(e,t,r)=>{P.showInfo(e,t,r)},He=(e,t,r)=>{P.showWarning(e,t,r)},mr=(e,t,r)=>{P.showError(e,t,r)},gr=()=>{P.destroy()},yr=e=>{P.close(e)},vr=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:yr,destroyNotifications:gr,notiBwgError:Re,notiError:mr,notiInfo:Le,notiSuccess:pr,notiWarning:He,notificationService:P},Symbol.toStringTag,{value:"Module"})),Z=()=>E.useUserStore.getState().user?.crprCd||null,J=()=>{const e=E.useUserStore.getState().user;return E.useUserStore.getState().hrInfo?.empNo||e?.userId||null},ze=()=>E.useUserStore.getState().user?.userNm||null,wr=()=>E.useUserStore.getState().user?.userDvsn||null,Sr=()=>E.useUserStore.getState().user?.emplNo||null,X=()=>{const e=E.useUserStore.getState().hrInfo,t=E.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},je=()=>E.useUserStore.getState().user?.dprtNm||null,se=()=>E.useUserStore.getState().user?.roleList||null,Cr=e=>{const t=se();return t?t.includes(e):!1},xr=e=>{const t=se();return t?e.some(r=>t.includes(r)):!1},br=e=>{const t=se();return t?e.every(r=>t.includes(r)):!1},$r=()=>E.useUserStore.getState().isLoggedIn(),Q=()=>E.useUserStore.getState().user,Mr=()=>Q()!==null,_r=()=>{const e=ze(),t=J();return e||t||null},Dr=()=>{const e=je(),t=X();return e||(t?String(t):null)},K=()=>E.useUserStore.getState().hrInfo,kr=()=>K()?.jbpsCd||null,Tr=()=>K()?.jbgdCd||null,Ur=()=>K()?.jbdtCd||null,Ir=()=>K()?.jbkdCd||null,Er=()=>K()?.wkplCd||null,Or=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:Z,getDepartmentInfo:Dr,getDisplayName:_r,getDprtCd:X,getDprtNm:je,getEmplNo:Sr,getHrInfo:K,getJbdtCd:Ur,getJbgdCd:Tr,getJbkdCd:Ir,getJbpsCd:kr,getRoleList:se,getUserDvsn:wr,getUserId:J,getUserInfo:Q,getUserNm:ze,getWkplCd:Er,hasAllRoles:br,hasAnyRole:xr,hasRole:Cr,hasUserInfo:Mr,isLoggedIn:$r},Symbol.toStringTag,{value:"Module"}));class H extends Error{constructor(t,r,o,u,f){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=u,this.errorType=f,Error.captureStackTrace&&Error.captureStackTrace(this,H)}}let V=null;const Te={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},ve=Ue.create({timeout:Te.timeout,withCredentials:Te.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":we()}});ve.interceptors.request.use(e=>{const t=W();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} / 서비스요청자: ${Q()?.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)));ve.interceptors.response.use(e=>{const t=W();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(d){console.warn("trxCd/guid 추출 실패:",d)}let f=0;return e.config.requestStartTime&&(f=u-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${o}] - (소요시간: ${f}ms)`),e},async e=>{const t=W();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),Se&&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 Ue.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}`,ve(u)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const jo=async()=>{if(V===null){const e=Date.now();await qe();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},qo=(e,t,r,o)=>{const f=W().getActiveMenuId?.();return{header:{trxCd:e,userInfo:Q(),clientIp:r,domainId:"DEFAULT",sysCd:o?.sysCd,appItDd:o?.appItCd,appCd:o?.appCd,screenId:f},data:t}},Vo=(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},Wo=async(e,t)=>{let r;const o=t.retryCount||0,u=t.retryDelay||1e3;for(let f=0;f<=o;f++)try{const d=await ve(e);if(d.data?.header?.resCd==0)return Go(d.data);const C=d.data?.header||{},c=C?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",m=C?.msgs?.detailMsgs||c,h=C?.msgCd,w=C?.msgs?.type;throw new H(c,m,d,h,w)}catch(d){if(r=Ko(d),d?.isAxiosError&&Jo(d)&&f<o){await Xo(u);continue}break}throw r?(Zo(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},Ko=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,u=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",f=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||u,d=o?.header?.msgCd,C=o?.header?.msgs?.type;return new H(u,f,r,d,C)}return e instanceof H,e},Go=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{}},Zo=(e,t)=>{if(!t.showError)return;const r=e instanceof H,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",u=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",f=r?e.detailMsg:e.message,d=r?e.errorType:"";u&&u.startsWith?.("BXM")?Re({message:o,description:f,duration:5}):d==="I"?Le(o,f,5):He(o,f,5)},Nr=async(e,t,r,o,u)=>{console.log("## callService 호출"),console.log(`## 전역 :: ${__SYS_CD__} | ${__APP_CD__} | ${u} | ${t}`);const d=W().findSystemByAppCd?.(u??__APP_CD__);(!d||!d.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",u),await jo();const C={...Te,...o},c=qo(t,r,Ve()||"unknown",d),m=Vo(e,C,c);try{return await Wo(m,C)}catch(h){throw console.error("callService 최종 에러:",h),h}},Jo=e=>!e.response||e.response.status>=500&&e.response.status<600,Xo=e=>new Promise(t=>setTimeout(t,e)),qe=async e=>{if(V===null)if(e===void 0)try{let r=(await Ue.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),V=r}catch(t){console.warn("IP 가져오기 실패:",t),V="unknown"}else V=e},Ve=()=>V,Ar=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),V||"unknown"),Yr=(e,t,r)=>L(e,t,{...r,method:"GET"}),L=async(e,t,r,o)=>Nr("/api/service",e,t,r,o),Br=async(e,t,r,o)=>Nr(`/api/${__SYS_CD__}/service`,e,t,r,o),Fr=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}},Pr=Object.freeze(Object.defineProperty({__proto__:null,ApiError:H,apiGet:Yr,callService:L,callServiceBySysCd:Br,getClientIp:Ve,getPermissionService:Fr,setClientIp:qe,verifyClientIp:Ar},Symbol.toStringTag,{value:"Module"})),Rr=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),u=URL.createObjectURL(o),f=document.createElement("a");f.href=u,f.download=t,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(u)};async function Lr(e){try{return await L("SCMFILE00101",{crprCd:Q()?.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 Hr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:Lr,downloadFile:Rr},Symbol.toStringTag,{value:"Module"})),We=(e,t=3)=>{T.message.success({content:e,duration:t})},ee=(e,t=5)=>{T.message.error({content:e,duration:t})},zr=(e,t=4)=>{T.message.warning({content:e,duration:t})},jr=(e,t=3)=>{T.message.info({content:e,duration:t})},qr=(e="처리중...")=>T.message.loading({content:e,duration:0}),Vr=e=>{T.message.destroy(e)},Wr=()=>{T.message.destroy()},Kr=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;ee(r)},Gr=(e="저장")=>{We(`${e}이 완료되었습니다.`)},Zr=(e="저장")=>{ee(`${e} 중 오류가 발생했습니다.`)},Jr=e=>{ee(`이미 사용중인 ${e}입니다.`)},Xr=e=>{ee(`${e}을(를) 입력해주세요.`)},Qr=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:Wr,closeMessage:Vr,showApiError:Kr,showDuplicateError:Jr,showError:ee,showInfo:jr,showLoading:qr,showRequiredError:Xr,showSaveError:Zr,showSaveSuccess:Gr,showSuccess:We,showWarning:zr},Symbol.toStringTag,{value:"Module"})),eo={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"}},to=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(d,C)=>{const c=new FormData;Object.entries(t).forEach(([w,v])=>{c.append(w,v)});const m=d.originFileObj;c.append("file",m);const h=await fetch("/api/gw-sftp",{method:"POST",body:c});return h.ok?(console.log(e),e.map(w=>w===d?{...w,status:"success",percent:100}:w)):d.status="done",{index:C,response:h,fileName:m.name}}),o=await Promise.all(r),u=o.filter(d=>d.response.ok).length,f=o.length-u;if(u===o.length)return alert(`${u}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${u}개 파일 업로드가 완료되었습니다.`,successCount:u,failCount:f};if(u>0){const d=`${u}개 성공, ${f}개 실패`;return alert(d),{result:"partial",message:d,successCount:u,failCount:f}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:u,failCount:f}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},Qo=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",openDraft:u=!0,draftUrlBase:f="https://kgwd.krx.co.kr/ezConn/ezApprGate.do",windowFeatures:d="width=1000,height=600",fetchFilesTrxCd:C="SCMFILE00101"}=r||{},c=e??{},m=c.aprvKey||we(),h=c.docTitle||"제목없음",w=await L("SCMINTF00101",{crprCd:Z(),sysCd:__SYS_CD__,aprvKey:m});if(Array.isArray(w?.sub)&&w.sub.length>=1)return console.log("이미 승인된 기안입니다."),u&&ro(m),{skipped:!0,alreadyDrafted:!0,draftedRes:w};let v;if(t){const i=await L(C,{crprCd:Z(),sysCd:__SYS_CD__,fileGrpKey:t}),a=Array.isArray(i?.sub)?i.sub.filter(s=>s?.filePath&&s?.lgclFileNm).map(s=>({filePath:s.filePath,lgclFileNm:s.lgclFileNm})):[];console.log("@@ files",a);const p=a.map(async({filePath:s,lgclFileNm:l})=>{const g=`/api/download?filePath=${encodeURIComponent(s)}&logicalName=${encodeURIComponent(l)}`,x=await fetch(g,{method:"GET"});if(!x.ok)throw new Error(`다운로드 실패: ${l}`);const b=await x.blob();return{originFileObj:new File([b],l,{type:b.type||"application/octet-stream"}),name:l,status:"ready"}}),n=await Promise.all(p);if(a.length){const s=await to(n);if(!s||s.result!=="success")throw new Error(s?.message||"파일 업로드 실패");v=n}}console.warn("@@ payloadData",c),console.log(c);const y={...c,crprCd:Z(),aprvKey:m,sysCd:__SYS_CD__,draftDt:Ye("YYYYMMDD"),docTitle:h,emplNo:c.emplNo||J(),dprtNo:c.dprtNo||X(),formId:"2023000022",fileInfoList:v,connInfo:{keyId:c.aprvKey,formId:"2023000022",bodyXml:c.bodyXml||"<div>test</div>",title:c.docTitle,deptCd:c.dprtNo||X(),userId:c.emplNo||J(),status:c.status||"INT"}},S=await L(o,y);if(u&&y?.aprvKey){const i="2023000022",a=c.dprtNo||X(),p=c.emplNo||J(),n=c.aprvKey,s=`${i}:${a}:${p}:${n}:ITSM`,l=`${f}?connkey=${btoa(nt.unescape(encodeURIComponent(s)))}`;window.open(l,"_blank",d)}return{response:S,aprvKey:m}},ro=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",formId:u="2023000022",requireExisting:f=!1,deptCdOverride:d,userIdOverride:C}=t||{},c=await L("SCMINTF00101",{crprCd:Z(),sysCd:__SYS_CD__,aprvKey:e}),m=Array.isArray(c?.sub)&&c.sub.length>=1;if(f&&!m)return console.warn("openGwDraftByAprvKey: 기안 조회 결과 없음"),alert("기안 대상이 존재하지 않습니다."),{opened:!1,hasExisting:m};const h=d??c.sub[0]?.dprtNo,w=C??c.sub[0]?.emplNo,v=`${u}:${h}:${w}:${e}:ITSM`,y=`${r}?connkey=${btoa(nt.unescape(encodeURIComponent(v)))}`;return window.open(y,"_blank",o),{opened:!0,hasExisting:m,url:y}},en=Pr,tn=ir,rn=hr,on=Hr,nn=Qr,sn=vr,an=ct,cn=Or,oo={...Pr,...ir,...hr,...Hr,...Qr,...vr,...ct,...Or,realFormat:eo};exports.ApiError=H;exports.DEFAULT_FMT=z;exports.THEME_COOKIE_NAME=lt;exports.add=or;exports.apiGet=Yr;exports.apiUtils=en;exports.arrAverage=Ut;exports.arrCount=Et;exports.arrMax=kt;exports.arrMin=Tt;exports.arrReverse=Ot;exports.arrSum=It;exports.arrUnique=Dt;exports.bwgUtils=oo;exports.callService=L;exports.callServiceBySysCd=Br;exports.clamp=Yt;exports.clearSessionStorage=Lt;exports.closeAllMessages=Wr;exports.closeMessage=Vr;exports.closeNotification=yr;exports.commonUtils=tn;exports.configureEnvUtils=lr;exports.copyToClipboard=xt;exports.debounce=Ct;exports.default=oo;exports.deleteCookie=jt;exports.destroyNotifications=gr;exports.diff=nr;exports.downloadByFileKey=Lr;exports.downloadFile=Rr;exports.duplicates=Nt;exports.encryptSha256=Jt;exports.endOf=rr;exports.envUtils=rn;exports.fileUtils=on;exports.format=Be;exports.generateRandomColor=_t;exports.generateRandomString=Ne;exports.generateUID=we;exports.getAllServiceCodes=Ee;exports.getApiDeps=W;exports.getClientIp=Ve;exports.getCookie=zt;exports.getCrprCd=Z;exports.getDepartmentInfo=Dr;exports.getDeviceType=re;exports.getDisplayName=_r;exports.getDprtCd=X;exports.getDprtNm=je;exports.getEmplNo=Sr;exports.getEnvCode=fr;exports.getHrInfo=K;exports.getJbdtCd=Ur;exports.getJbgdCd=Tr;exports.getJbkdCd=Ir;exports.getJbpsCd=kr;exports.getPermissionService=Fr;exports.getRoleList=se;exports.getServiceCode=Ie;exports.getSessionStorage=Pt;exports.getTodateString=Ye;exports.getUserDvsn=wr;exports.getUserId=J;exports.getUserInfo=Q;exports.getUserNm=ze;exports.getWkplCd=Er;exports.hasAllRoles=br;exports.hasAnyRole=xr;exports.hasRole=Cr;exports.hasUserInfo=Mr;exports.initApiDeps=ar;exports.isArray=gt;exports.isBoolean=ht;exports.isDesktop=Mt;exports.isDev=Fe;exports.isEmpty=Oe;exports.isEmptyArray=oe;exports.isFunction=pt;exports.isLocal=Se;exports.isLoggedIn=$r;exports.isMobile=bt;exports.isNull=yt;exports.isNullOrUndefined=wt;exports.isNumber=ft;exports.isObject=mt;exports.isProd=Pe;exports.isSafeEmpty=qt;exports.isString=dt;exports.isTablet=$t;exports.isUndefined=vt;exports.isValid=ne;exports.isValidDate=Xt;exports.isValidEmail=Wt;exports.isValidUrl=Kt;exports.isValidYear=Qt;exports.isValidYearMonth=er;exports.logServiceCodeConfig=it;exports.messageUtils=nn;exports.notiBwgError=Re;exports.notiError=mr;exports.notiInfo=Le;exports.notiSuccess=pr;exports.notiWarning=He;exports.notificationService=P;exports.notificationUtils=sn;exports.now=Ae;exports.openGwDraftByAprvKey=ro;exports.padLeft=Gt;exports.padRight=Zt;exports.random=At;exports.realFormat=eo;exports.removeSessionStorage=Rt;exports.round=Bt;exports.serviceUtils=an;exports.setClientIp=qe;exports.setCookie=Ht;exports.setServiceCodeOverrides=at;exports.setSessionStorage=Ft;exports.showApiError=Kr;exports.showDuplicateError=Jr;exports.showError=ee;exports.showInfo=jr;exports.showLoading=qr;exports.showRequiredError=Xr;exports.showSaveError=Zr;exports.showSaveSuccess=Gr;exports.showSuccess=We;exports.showWarning=zr;exports.startOf=tr;exports.submitGwApproval=Qo;exports.throttle=St;exports.toCamelCase=Vt;exports.uploadFilesViaSftp=to;exports.userUtils=cn;exports.verifyClientIp=Ar;