@bwg-ui/core 1.2.32 → 1.2.34

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 (32) hide show
  1. package/dist/chunks/{CMSearchIntfGwP01-uJxdFXUb.cjs → CMSearchIntfGwP01-CmRmK_7Z.cjs} +1 -1
  2. package/dist/chunks/{CMSearchIntfGwP01-C_y_G3xh.js → CMSearchIntfGwP01-DmVxvizb.js} +1 -1
  3. package/dist/chunks/MenuReport-D3V5JPQR.cjs +1 -0
  4. package/dist/chunks/{MenuReport-XwdiwiFn.js → MenuReport-Dsh_obqp.js} +26 -26
  5. package/dist/chunks/{common-components-Cxh8PLBH.js → common-components-BJrGciHA.js} +14139 -13549
  6. package/dist/chunks/common-components-BpsIQZ0O.cjs +1057 -0
  7. package/dist/chunks/{layout-components-Bp6b-T1V.js → layout-components-DuSrPWSr.js} +8 -8
  8. package/dist/chunks/{layout-components-B4ptqDmC.cjs → layout-components-fFjip5fv.cjs} +2 -2
  9. package/dist/components/common/index.cjs +1 -1
  10. package/dist/components/common/index.js +1 -1
  11. package/dist/components/core/index.cjs +1 -1
  12. package/dist/components/core/index.js +219 -219
  13. package/dist/components/guide/index.cjs +1 -1
  14. package/dist/components/guide/index.js +1 -1
  15. package/dist/components/layout/index.cjs +1 -1
  16. package/dist/components/layout/index.js +1 -1
  17. package/dist/components/popup/index.cjs +1 -1
  18. package/dist/components/popup/index.js +1 -1
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/stores/index.cjs +1 -1
  22. package/dist/stores/index.js +1 -1
  23. package/dist/styles/assets/images/header/icon/ico-bell.svg +3 -3
  24. package/dist/styles/assets/images/header/icon/ico-logout.svg +10 -10
  25. package/dist/styles/assets/images/header/icon/ico-setting.svg +4 -4
  26. package/dist/styles/assets/images/header/icon/ico-sidebar-arrow.svg +3 -3
  27. package/dist/styles/layout.css +1234 -1234
  28. package/dist/utils/index.cjs +1 -1
  29. package/dist/utils/index.js +1 -1
  30. package/package.json +1 -1
  31. package/dist/chunks/MenuReport-DkWB3Yyc.cjs +0 -1
  32. package/dist/chunks/common-components-DcTm1Tn1.cjs +0 -1109
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../chunks/common-components-DcTm1Tn1.cjs"),a=require("react"),w=require("antd"),o=require("../../utils/index.cjs"),l=require("../core/index.cjs"),B=require("../../provider/index.cjs"),y=()=>e.jsx(t.BwgSpace,{children:"BwgComponentGuide"}),b=()=>e.jsx(t.BwgSpace,{children:"BwgDeveloperGuide"}),f=()=>{const s=a.useRef(null),r=a.useRef(null),[u,m]=a.useState(""),n=a.useMemo(()=>[{reqNo:"REQ-2025-001",eventType:"결혼",employeeId:"E001",employeeName:"김지원",relation:"본인",eventDate:"2025-10-05",amount:"200000",docTitle:"본인 결혼 경조사",note:"",requestDate:"2025-10-01",status:"접수",fileGrpKey:"293",aprvKey:"4d04f9f9a0ca4de8b475bc0b86263e7"},{reqNo:"REQ-2025-002",eventType:"출산",employeeId:"E002",employeeName:"박지영",relation:"배우자",eventDate:"2025-09-28",amount:"150000",docTitle:"배우자 출산 경조사",note:"증빙 파일 첨부",requestDate:"2025-09-29",status:"완료",fileGrpKey:"294"},{reqNo:"REQ-2025-003",eventType:"조의",employeeId:"E003",employeeName:"이도현",relation:"부모",eventDate:"2025-10-10",amount:"100000",docTitle:"부모상 조의",note:"",requestDate:"2025-10-11",status:"진행",fileGrpKey:"295"}],[]),d=a.useMemo(()=>[{fieldName:"reqNo",width:120,header:{text:"신청번호"},styleName:"center"},{fieldName:"aprvKey",width:120,header:{text:"그룹웨어 신청번호"},styleName:"center"},{fieldName:"eventType",width:110,header:{text:"경조구분"},styleName:"center"},{fieldName:"employeeName",width:120,header:{text:"대상자"},styleName:"left"},{fieldName:"relation",width:100,header:{text:"관계"},styleName:"center"},{fieldName:"amount",width:120,header:{text:"금액"},styleName:"right"},{fieldName:"docTitle",width:120,header:{text:"제목"},styleName:"left"},{fieldName:"requestDate",width:130,header:{text:"신청일자"},styleName:"center"},{fieldName:"status",width:100,header:{text:"상태"},styleName:"center"},{fieldName:"fileGrpKey",width:100,header:{text:"파일그룹키"},styleName:"center"},{fieldName:"testData",width:100,header:{text:"테스트 값"},lookupDisplay:!0,labels:["메인메뉴","서브메뉴","프로그램"],values:["CMPRGRM","CMPRGRS","CMPRGRP"]}],[]),c=a.useCallback((i,p)=>{const x=i.getDataSource().getJsonRow(p.dataRow);m(x.fileGrpKey)},[]),h=a.useMemo(()=>({onCurrentChanged:c}),[c]),g={search:()=>{s.current?.addAllData?.(n)},new:()=>{r.current?.resetFields?.(),r.current?.setFieldsValue?.({status:"임시"})}};return e.jsxs(t.ContentLayOut,{type:"horizontal",children:[e.jsxs(t.ContentBox,{border:!0,children:[e.jsx(t.BwgTitleBox,{title:"경조사비 신청",children:e.jsx(t.ButtonAccessController,{buttons:[{id:"search",label:"조회",onClick:()=>{g.search()}},{id:"new",label:"신규",onClick:()=>{g.new()}}]})}),e.jsx(t.BwgGrid,{ref:s,bindRef:r,gridColumns:d,gridEvents:h,gridInitCallback:()=>{s.current?.addAllData?.(n)},gridOptions:{edit:{editable:!0}}})]}),e.jsxs(t.ContentBox,{border:!0,style:{width:"40%"},children:[e.jsx(t.BwgTitleBox,{title:"상세 정보",children:e.jsx(l.BwgButton,{size:"small",onClick:()=>{const i=r.current?.getFieldsValue()?.fileGrpKey;console.log(i),o.submitGwApproval().then(p=>{console.log(p)})},children:"기안"})}),e.jsxs(l.BwgForm,{ref:r,children:[e.jsx(w.Divider,{orientation:"left",plain:!0,children:"기본 정보"}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"reqNo",label:"신청번호"},inputProps:{disabled:!0}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgSelect,{itemProps:{name:"status",label:"상태"},selectProps:{options:[{label:"임시",value:"임시"},{label:"접수",value:"접수"},{label:"진행",value:"진행"},{label:"완료",value:"완료"},{label:"반려",value:"반려"}]}})})]}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgSelect,{itemProps:{name:"eventType",label:"경조구분"},selectProps:{options:[{label:"결혼",value:"결혼"},{label:"출산",value:"출산"},{label:"조의",value:"조의"},{label:"기타",value:"기타"}]}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgSelect,{itemProps:{name:"relation",label:"관계"},selectProps:{options:[{label:"본인",value:"본인"},{label:"배우자",value:"배우자"},{label:"부모",value:"부모"},{label:"자녀",value:"자녀"},{label:"형제자매",value:"형제자매"},{label:"기타",value:"기타"}]}})})]}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"employeeId",label:"사번"}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"employeeName",label:"대상자"}})})]}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgDatePicker,{type:"date",itemProps:{name:"eventDate",label:"경조일자"}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"amount",label:"금액"},inputProps:{placeholder:"숫자만",style:{textAlign:"right"}}})})]}),e.jsx(t.BwgRow,{style:{marginBottom:8},children:e.jsx(t.BwgCol,{span:24,children:e.jsx(l.BwgInput,{itemProps:{name:"docTitle",label:"제목"}})})}),e.jsx(w.Divider,{style:{margin:"8px 0"}}),e.jsx(l.BwgInput,{itemProps:{name:"aprvKey",label:"그룹웨어 신청번호"}}),e.jsx(l.BwgInput,{itemProps:{name:"fileGrpKey",label:"파일그룹키"},inputProps:{disabled:!0}}),e.jsx(l.BwgUploader,{itemProps:{name:"files",label:"첨부파일"},fileGrpKey:u,onUploadComplete:i=>{console.log(i)}})]})]})]})},C=()=>{a.useEffect(()=>{s.current&&s.current.addAllData(m)},[]),B.usePopup(),a.useRef(null),a.useRef(null),a.useRef(null),a.useRef(null);const s=a.useRef(null),r=a.useRef(null),u=[{fieldName:"sysCd",width:100,header:{text:"시스템 코드"}},{fieldName:"aprvKey",width:100,header:{text:"연계Key"}},{fieldName:"dcmtGb",width:100,header:{text:"GW/내부결제 구분"}},{fieldName:"formId",width:100,header:{text:"FormId"}},{fieldName:"docTitle",width:100,header:{text:"문서 제목"}},{fieldName:"aprvStts",width:100,header:{text:"결재 상태"}},{fieldName:"draftDt",width:100,header:{text:"기안 날짜"}}],m=[{a0:"a0",a1:"a1",a2:"a2",a3:"a3",ab1:"ab1"}];return e.jsx(t.ContentLayOut,{children:e.jsxs(t.ContentBox,{className:"ml10",children:[e.jsx(t.BwgTitleBox,{title:"전자결재 목록",children:e.jsx(l.BwgButton,{onClick:()=>{o.callService("SCMINTF00101",{crprCd:o.getCrprCd(),sysCd:__SYS_CD__}).then(n=>{r.current?.addAllData(n.sub)})},children:"조회"})}),e.jsx(t.BwgGrid,{gridColumns:u,gridEvents:{onCellDblClicked(n,d){console.log(d);const c=n.getDataSource().getJsonRow(d.dataRow);o.openGwDraftByAprvKey(c.aprvKey)}},ref:r,gridInitCallback:()=>{o.callService("SCMINTF00101",{crprCd:o.getCrprCd(),sysCd:__SYS_CD__}).then(n=>{r.current?.addAllData(n.sub)})}})]})})},j=()=>e.jsx(t.BwgView,{buttons:{grant:[{id:"search",label:"조회",onClick:()=>{console.log("search")}},{id:"new",label:"신규",onClick:()=>{console.log("new")}}],custom:[{id:"manual",label:"매뉴얼",onClick:()=>{console.log("manual")}}]},children:e.jsx(t.BwgTabs,{items:[{key:"M01S00",label:"경조사비 신청",children:e.jsx(f,{})},{key:"M01S01",label:"기안연계 목록",children:e.jsx(C,{})}]})});exports.BwgComponentGuide=y;exports.BwgDeveloperGuide=b;exports.BwgPracticeGuide=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../chunks/common-components-BpsIQZ0O.cjs"),a=require("react"),w=require("antd"),o=require("../../utils/index.cjs"),l=require("../core/index.cjs"),B=require("../../provider/index.cjs"),y=()=>e.jsx(t.BwgSpace,{children:"BwgComponentGuide"}),b=()=>e.jsx(t.BwgSpace,{children:"BwgDeveloperGuide"}),f=()=>{const s=a.useRef(null),r=a.useRef(null),[u,m]=a.useState(""),n=a.useMemo(()=>[{reqNo:"REQ-2025-001",eventType:"결혼",employeeId:"E001",employeeName:"김지원",relation:"본인",eventDate:"2025-10-05",amount:"200000",docTitle:"본인 결혼 경조사",note:"",requestDate:"2025-10-01",status:"접수",fileGrpKey:"293",aprvKey:"4d04f9f9a0ca4de8b475bc0b86263e7"},{reqNo:"REQ-2025-002",eventType:"출산",employeeId:"E002",employeeName:"박지영",relation:"배우자",eventDate:"2025-09-28",amount:"150000",docTitle:"배우자 출산 경조사",note:"증빙 파일 첨부",requestDate:"2025-09-29",status:"완료",fileGrpKey:"294"},{reqNo:"REQ-2025-003",eventType:"조의",employeeId:"E003",employeeName:"이도현",relation:"부모",eventDate:"2025-10-10",amount:"100000",docTitle:"부모상 조의",note:"",requestDate:"2025-10-11",status:"진행",fileGrpKey:"295"}],[]),d=a.useMemo(()=>[{fieldName:"reqNo",width:120,header:{text:"신청번호"},styleName:"center"},{fieldName:"aprvKey",width:120,header:{text:"그룹웨어 신청번호"},styleName:"center"},{fieldName:"eventType",width:110,header:{text:"경조구분"},styleName:"center"},{fieldName:"employeeName",width:120,header:{text:"대상자"},styleName:"left"},{fieldName:"relation",width:100,header:{text:"관계"},styleName:"center"},{fieldName:"amount",width:120,header:{text:"금액"},styleName:"right"},{fieldName:"docTitle",width:120,header:{text:"제목"},styleName:"left"},{fieldName:"requestDate",width:130,header:{text:"신청일자"},styleName:"center"},{fieldName:"status",width:100,header:{text:"상태"},styleName:"center"},{fieldName:"fileGrpKey",width:100,header:{text:"파일그룹키"},styleName:"center"},{fieldName:"testData",width:100,header:{text:"테스트 값"},lookupDisplay:!0,labels:["메인메뉴","서브메뉴","프로그램"],values:["CMPRGRM","CMPRGRS","CMPRGRP"]}],[]),c=a.useCallback((i,p)=>{const x=i.getDataSource().getJsonRow(p.dataRow);m(x.fileGrpKey)},[]),h=a.useMemo(()=>({onCurrentChanged:c}),[c]),g={search:()=>{s.current?.addAllData?.(n)},new:()=>{r.current?.resetFields?.(),r.current?.setFieldsValue?.({status:"임시"})}};return e.jsxs(t.ContentLayOut,{type:"horizontal",children:[e.jsxs(t.ContentBox,{border:!0,children:[e.jsx(t.BwgTitleBox,{title:"경조사비 신청",children:e.jsx(t.ButtonAccessController,{buttons:[{id:"search",label:"조회",onClick:()=>{g.search()}},{id:"new",label:"신규",onClick:()=>{g.new()}}]})}),e.jsx(t.BwgGrid,{ref:s,bindRef:r,gridColumns:d,gridEvents:h,gridInitCallback:()=>{s.current?.addAllData?.(n)},gridOptions:{edit:{editable:!0}}})]}),e.jsxs(t.ContentBox,{border:!0,style:{width:"40%"},children:[e.jsx(t.BwgTitleBox,{title:"상세 정보",children:e.jsx(l.BwgButton,{size:"small",onClick:()=>{const i=r.current?.getFieldsValue()?.fileGrpKey;console.log(i),o.submitGwApproval().then(p=>{console.log(p)})},children:"기안"})}),e.jsxs(l.BwgForm,{ref:r,children:[e.jsx(w.Divider,{orientation:"left",plain:!0,children:"기본 정보"}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"reqNo",label:"신청번호"},inputProps:{disabled:!0}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgSelect,{itemProps:{name:"status",label:"상태"},selectProps:{options:[{label:"임시",value:"임시"},{label:"접수",value:"접수"},{label:"진행",value:"진행"},{label:"완료",value:"완료"},{label:"반려",value:"반려"}]}})})]}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgSelect,{itemProps:{name:"eventType",label:"경조구분"},selectProps:{options:[{label:"결혼",value:"결혼"},{label:"출산",value:"출산"},{label:"조의",value:"조의"},{label:"기타",value:"기타"}]}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgSelect,{itemProps:{name:"relation",label:"관계"},selectProps:{options:[{label:"본인",value:"본인"},{label:"배우자",value:"배우자"},{label:"부모",value:"부모"},{label:"자녀",value:"자녀"},{label:"형제자매",value:"형제자매"},{label:"기타",value:"기타"}]}})})]}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"employeeId",label:"사번"}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"employeeName",label:"대상자"}})})]}),e.jsxs(t.BwgRow,{style:{marginBottom:8},children:[e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgDatePicker,{type:"date",itemProps:{name:"eventDate",label:"경조일자"}})}),e.jsx(t.BwgCol,{span:12,children:e.jsx(l.BwgInput,{itemProps:{name:"amount",label:"금액"},inputProps:{placeholder:"숫자만",style:{textAlign:"right"}}})})]}),e.jsx(t.BwgRow,{style:{marginBottom:8},children:e.jsx(t.BwgCol,{span:24,children:e.jsx(l.BwgInput,{itemProps:{name:"docTitle",label:"제목"}})})}),e.jsx(w.Divider,{style:{margin:"8px 0"}}),e.jsx(l.BwgInput,{itemProps:{name:"aprvKey",label:"그룹웨어 신청번호"}}),e.jsx(l.BwgInput,{itemProps:{name:"fileGrpKey",label:"파일그룹키"},inputProps:{disabled:!0}}),e.jsx(l.BwgUploader,{itemProps:{name:"files",label:"첨부파일"},fileGrpKey:u,onUploadComplete:i=>{console.log(i)}})]})]})]})},C=()=>{a.useEffect(()=>{s.current&&s.current.addAllData(m)},[]),B.usePopup(),a.useRef(null),a.useRef(null),a.useRef(null),a.useRef(null);const s=a.useRef(null),r=a.useRef(null),u=[{fieldName:"sysCd",width:100,header:{text:"시스템 코드"}},{fieldName:"aprvKey",width:100,header:{text:"연계Key"}},{fieldName:"dcmtGb",width:100,header:{text:"GW/내부결제 구분"}},{fieldName:"formId",width:100,header:{text:"FormId"}},{fieldName:"docTitle",width:100,header:{text:"문서 제목"}},{fieldName:"aprvStts",width:100,header:{text:"결재 상태"}},{fieldName:"draftDt",width:100,header:{text:"기안 날짜"}}],m=[{a0:"a0",a1:"a1",a2:"a2",a3:"a3",ab1:"ab1"}];return e.jsx(t.ContentLayOut,{children:e.jsxs(t.ContentBox,{className:"ml10",children:[e.jsx(t.BwgTitleBox,{title:"전자결재 목록",children:e.jsx(l.BwgButton,{onClick:()=>{o.callService("SCMINTF00101",{crprCd:o.getCrprCd(),sysCd:__SYS_CD__}).then(n=>{r.current?.addAllData(n.sub)})},children:"조회"})}),e.jsx(t.BwgGrid,{gridColumns:u,gridEvents:{onCellDblClicked(n,d){console.log(d);const c=n.getDataSource().getJsonRow(d.dataRow);o.openGwDraftByAprvKey(c.aprvKey)}},ref:r,gridInitCallback:()=>{o.callService("SCMINTF00101",{crprCd:o.getCrprCd(),sysCd:__SYS_CD__}).then(n=>{r.current?.addAllData(n.sub)})}})]})})},j=()=>e.jsx(t.BwgView,{buttons:{grant:[{id:"search",label:"조회",onClick:()=>{console.log("search")}},{id:"new",label:"신규",onClick:()=>{console.log("new")}}],custom:[{id:"manual",label:"매뉴얼",onClick:()=>{console.log("manual")}}]},children:e.jsx(t.BwgTabs,{items:[{key:"M01S00",label:"경조사비 신청",children:e.jsx(f,{})},{key:"M01S01",label:"기안연계 목록",children:e.jsx(C,{})}]})});exports.BwgComponentGuide=y;exports.BwgDeveloperGuide=b;exports.BwgPracticeGuide=j;
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
- import { b as B, C as D, d as f, e as g, f as K, h as P, i as s, j as l, k, l as S } from "../../chunks/common-components-Cxh8PLBH.js";
2
+ import { b as B, C as D, d as f, e as g, f as K, h as P, i as s, j as l, k, l as S } from "../../chunks/common-components-BJrGciHA.js";
3
3
  import { useRef as n, useState as T, useMemo as b, useCallback as M, useEffect as I } from "react";
4
4
  import { Divider as C } from "antd";
5
5
  import { submitGwApproval as E, callService as N, getCrprCd as v, openGwDraftByAprvKey as _ } from "../../utils/index.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/layout-components-B4ptqDmC.cjs");exports.AppWrapper=e.AppWrapper;exports.BwgCoreLogin=e.BwgCoreLogin;exports.BwgPortal01=e.BwgPortal01;exports.BwgPortal02=e.BwgPortal02;exports.ConfigurableContent=e.ConfigurableContent;exports.ConfigurableHeader=e.ConfigurableHeader;exports.ConfigurableMenuTab=e.ConfigurableMenuTab;exports.ConfigurableSidebar=e.ConfigurableSidebar;exports.ContentContainer=e.ContentContainer;exports.DefaultLoginView=e.DefaultLoginView;exports.LandingContainer=e.LandingContainer;exports.LoadingContainer=e.LoadingContainer;exports.PopupContainer=e.PopupContainer;exports.ProtectWrapper=e.ProtectWrapper;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/layout-components-fFjip5fv.cjs");exports.AppWrapper=e.AppWrapper;exports.BwgCoreLogin=e.BwgCoreLogin;exports.BwgPortal01=e.BwgPortal01;exports.BwgPortal02=e.BwgPortal02;exports.ConfigurableContent=e.ConfigurableContent;exports.ConfigurableHeader=e.ConfigurableHeader;exports.ConfigurableMenuTab=e.ConfigurableMenuTab;exports.ConfigurableSidebar=e.ConfigurableSidebar;exports.ContentContainer=e.ContentContainer;exports.DefaultLoginView=e.DefaultLoginView;exports.LandingContainer=e.LandingContainer;exports.LoadingContainer=e.LoadingContainer;exports.PopupContainer=e.PopupContainer;exports.ProtectWrapper=e.ProtectWrapper;
@@ -1,4 +1,4 @@
1
- import { A as n, b as o, B as r, a as i, d as s, e as t, f as g, g as C, C as p, D as b, c as f, L as l, P as u, h as d } from "../../chunks/layout-components-Bp6b-T1V.js";
1
+ import { A as n, b as o, B as r, a as i, d as s, e as t, f as g, g as C, C as p, D as b, c as f, L as l, P as u, h as d } from "../../chunks/layout-components-DuSrPWSr.js";
2
2
  export {
3
3
  n as AppWrapper,
4
4
  o as BwgCoreLogin,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../chunks/common-components-DcTm1Tn1.cjs");exports.CMPrgrMstrP02=r.CMPrgrMstrP02;exports.SearchDepartmentP01=r.SearchDepartmentP01;exports.SearchDepartmentP02=r.SearchDepartmentP02;exports.SearchHolidayP01=r.CMHldyMstrP01;exports.SearchOrganizationP01=r.SearchOrganizationP01;exports.SearchOrganizationP02=r.SearchOrganizationP02;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../chunks/common-components-BpsIQZ0O.cjs");exports.CMPrgrMstrP02=r.CMPrgrMstrP02;exports.SearchDepartmentP01=r.SearchDepartmentP01;exports.SearchDepartmentP02=r.SearchDepartmentP02;exports.SearchHolidayP01=r.CMHldyMstrP01;exports.SearchOrganizationP01=r.SearchOrganizationP01;exports.SearchOrganizationP02=r.SearchOrganizationP02;
@@ -1,4 +1,4 @@
1
- import { E as e, x as t, y as s, D as P, z as n, A as c } from "../../chunks/common-components-Cxh8PLBH.js";
1
+ import { E as e, x as t, y as s, D as P, z as n, A as c } from "../../chunks/common-components-BJrGciHA.js";
2
2
  export {
3
3
  e as CMPrgrMstrP02,
4
4
  t as SearchDepartmentP01,
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./utils/index.cjs"),r=require("./stores/index.cjs"),o=require("./chunks/common-components-DcTm1Tn1.cjs"),t=require("./components/core/index.cjs"),s=require("./chunks/layout-components-B4ptqDmC.cjs"),i=require("./provider/index.cjs");exports.ApiError=e.ApiError;exports.DEFAULT_FMT=e.DEFAULT_FMT;exports.DEFAULT_SERVICE_CODES=e.DEFAULT_SERVICE_CODES;exports.THEME_COOKIE_NAME=e.THEME_COOKIE_NAME;exports.add=e.add;exports.apiUtils=e.apiUtils;exports.arrAverage=e.arrAverage;exports.arrCount=e.arrCount;exports.arrMax=e.arrMax;exports.arrMin=e.arrMin;exports.arrReverse=e.arrReverse;exports.arrSum=e.arrSum;exports.arrUnique=e.arrUnique;exports.bwgUtils=e.bwgUtils;exports.callEndpoint=e.callEndpoint;exports.callService=e.callService;exports.callServiceBySysCd=e.callServiceBySysCd;exports.clamp=e.clamp;exports.clearSessionStorage=e.clearSessionStorage;exports.closeAllMessages=e.closeAllMessages;exports.closeMessage=e.closeMessage;exports.closeNotification=e.closeNotification;exports.colorFormat=e.colorFormat;exports.colorUtils=e.colorUtils;exports.commonUtils=e.commonUtils;exports.configureEnvUtils=e.configureEnvUtils;exports.copyToClipboard=e.copyToClipboard;exports.debounce=e.debounce;exports.deleteCookie=e.deleteCookie;exports.destroyNotifications=e.destroyNotifications;exports.diff=e.diff;exports.downloadByFileKey=e.downloadByFileKey;exports.downloadFile=e.downloadFile;exports.duplicates=e.duplicates;exports.encryptSha256=e.encryptSha256;exports.endOf=e.endOf;exports.envUtils=e.envUtils;exports.fileUtils=e.fileUtils;exports.format=e.format;exports.generateRandomColor=e.generateRandomColor;exports.generateRandomString=e.generateRandomString;exports.generateUID=e.generateUID;exports.getAllServiceCodes=e.getAllServiceCodes;exports.getApiDeps=e.getApiDeps;exports.getClientIp=e.getClientIp;exports.getCookie=e.getCookie;exports.getCrprCd=e.getCrprCd;exports.getDepartmentInfo=e.getDepartmentInfo;exports.getDeviceType=e.getDeviceType;exports.getDisplayName=e.getDisplayName;exports.getDprtCd=e.getDprtCd;exports.getDprtNm=e.getDprtNm;exports.getEmplNo=e.getEmplNo;exports.getEnvCode=e.getEnvCode;exports.getFullDprtCd=e.getFullDprtCd;exports.getFullDprtNm=e.getFullDprtNm;exports.getHrInfo=e.getHrInfo;exports.getJbdtCd=e.getJbdtCd;exports.getJbgdCd=e.getJbgdCd;exports.getJbkdCd=e.getJbkdCd;exports.getJbpsCd=e.getJbpsCd;exports.getPermissionService=e.getPermissionService;exports.getRoleList=e.getRoleList;exports.getServiceCode=e.getServiceCode;exports.getSessionStorage=e.getSessionStorage;exports.getTodateString=e.getTodateString;exports.getUserDvsn=e.getUserDvsn;exports.getUserId=e.getUserId;exports.getUserInfo=e.getUserInfo;exports.getUserNm=e.getUserNm;exports.getWkplCd=e.getWkplCd;exports.hasAllRoles=e.hasAllRoles;exports.hasAnyRole=e.hasAnyRole;exports.hasRole=e.hasRole;exports.hasUserInfo=e.hasUserInfo;exports.initApiDeps=e.initApiDeps;exports.isArray=e.isArray;exports.isBoolean=e.isBoolean;exports.isDesktop=e.isDesktop;exports.isDev=e.isDev;exports.isEmpty=e.isEmpty;exports.isEmptyArray=e.isEmptyArray;exports.isFunction=e.isFunction;exports.isLocal=e.isLocal;exports.isLoggedIn=e.isLoggedIn;exports.isMobile=e.isMobile;exports.isNull=e.isNull;exports.isNullOrUndefined=e.isNullOrUndefined;exports.isNumber=e.isNumber;exports.isObject=e.isObject;exports.isProd=e.isProd;exports.isSafeEmpty=e.isSafeEmpty;exports.isString=e.isString;exports.isTablet=e.isTablet;exports.isUndefined=e.isUndefined;exports.isValid=e.isValid;exports.isValidDate=e.isValidDate;exports.isValidEmail=e.isValidEmail;exports.isValidUrl=e.isValidUrl;exports.isValidYear=e.isValidYear;exports.isValidYearMonth=e.isValidYearMonth;exports.logServiceCodeConfig=e.logServiceCodeConfig;exports.messageUtils=e.messageUtils;exports.notiBwgError=e.notiBwgError;exports.notiError=e.notiError;exports.notiInfo=e.notiInfo;exports.notiSuccess=e.notiSuccess;exports.notiWarning=e.notiWarning;exports.notificationService=e.notificationService;exports.notificationUtils=e.notificationUtils;exports.now=e.now;exports.openGwDraftByAprvKey=e.openGwDraftByAprvKey;exports.padLeft=e.padLeft;exports.padRight=e.padRight;exports.random=e.random;exports.realFormat=e.realFormat;exports.removeSessionStorage=e.removeSessionStorage;exports.round=e.round;exports.serviceUtils=e.serviceUtils;exports.setClientIp=e.setClientIp;exports.setCookie=e.setCookie;exports.setServiceCodeOverrides=e.setServiceCodeOverrides;exports.setSessionStorage=e.setSessionStorage;exports.showApiError=e.showApiError;exports.showDuplicateError=e.showDuplicateError;exports.showError=e.showError;exports.showInfo=e.showInfo;exports.showLoading=e.showLoading;exports.showRequiredError=e.showRequiredError;exports.showSaveError=e.showSaveError;exports.showSaveSuccess=e.showSaveSuccess;exports.showSuccess=e.showSuccess;exports.showWarning=e.showWarning;exports.startOf=e.startOf;exports.submitGwApproval=e.submitGwApproval;exports.throttle=e.throttle;exports.toCamelCase=e.toCamelCase;exports.uploadFilesViaSftp=e.uploadFilesViaSftp;exports.userUtils=e.userUtils;exports.verifyClientIp=e.verifyClientIp;exports.useCapsLock=r.useCapsLock;exports.useCode=r.useCode;exports.useCodeStore=r.useCodeStore;exports.useColorStore=r.useColorStore;exports.useFavorite=r.useFavorite;exports.useFavoriteStore=r.useFavoriteStore;exports.useLoadingStore=r.useLoadingStore;exports.useLogin=r.useLogin;exports.useLogout=r.useLogout;exports.useMenuModel=r.useMenuModel;exports.useMenuModelStore=r.useMenuModelStore;exports.useMenuView=r.useMenuView;exports.useMenuViewStore=r.useMenuViewStore;exports.useOptionStore=r.useOptionStore;exports.usePopupLoadingStore=r.usePopupLoadingStore;exports.usePopupState=r.usePopupState;exports.usePopupStore=r.usePopupStore;exports.useSystemCode=r.useSystemCode;exports.useSystemStore=r.useSystemStore;exports.useUser=r.useUser;exports.useUserStore=r.useUserStore;exports.ButtonAccessController=o.ButtonAccessController;exports.BwgButtonGroup=o.BwgButtonGroup;exports.BwgCmptArea=o.BwgCmptArea;exports.BwgCol=o.BwgCol;exports.BwgComponentGuideM01=o.BwgComponentGuideM01;exports.BwgConfigProvider=o.BwgConfigProvider;exports.BwgDetail=o.BwgDetail;exports.BwgDeveloperGuideM01=o.BwgDeveloperGuideM01;exports.BwgDrawer=o.BwgDrawer;exports.BwgEditor=o.BwgEditor;exports.BwgGrid=o.BwgGrid;exports.BwgInfoArea=o.BwgInfoArea;exports.BwgPagination=o.BwgPagination;exports.BwgPopup=o.BwgPopup;exports.BwgReactGuideM01=o.BwgReactGuideM01;exports.BwgRow=o.BwgRow;exports.BwgSpace=o.BwgSpace;exports.BwgTable=o.BwgTable;exports.BwgTabs=o.BwgTabs;exports.BwgTitleBox=o.BwgTitleBox;exports.BwgView=o.BwgView;exports.CMAdminBoardM01=o.CMAdminBoardM01;exports.CMAuthMstrM01=o.CMAuthMstrM01;exports.CMBoardS01=o.CMBoardCommentS01;exports.CMFileMstrM01=o.CMFileMstrM01;exports.CMHldyCfg=o.CMHldyCfg;exports.CMMenuMstrM01=o.CMMenuMstrM01;exports.CMMenuPrgrSelectModal=o.CMMenuPrgrSelectModal;exports.CMMenuPrntSelectModal=o.CMMenuPrntSelectModal;exports.CMMyBoardM01=o.CMMyBoardM01;exports.CMPopupMstrM01=o.CMPopuMstrM01;exports.CMPrgrMstrM01=o.CMPrgrMstrM01;exports.CMPrgrMstrP02=o.CMPrgrMstrP02;exports.CMRoleMstrM01=o.CMRoleMstrM01;exports.CMSystCfgM01=o.CMSystCfgM01;exports.CMSystCodeM01=o.CMSystCodeM01;exports.CMUserMstrM01=o.CMUserMstrM01;exports.ContentBox=o.ContentBox;exports.ContentLayOut=o.ContentLayOut;exports.GlobalConfigProvider=o.GlobalConfigProvider;exports.QuickServiceToggle=o.QuickServiceToggle;exports.SSOHandler=o.SSOHandler;exports.SearchBox=o.SearchBox;exports.SearchDepartmentP01=o.SearchDepartmentP01;exports.SearchDepartmentP02=o.SearchDepartmentP02;exports.SearchHolidayP01=o.CMHldyMstrP01;exports.SearchOrganizationP01=o.SearchOrganizationP01;exports.SearchOrganizationP02=o.SearchOrganizationP02;exports.SystemCodeManage=o.SystemCodeManage;exports.createBwgGridRenderer=o.createBwgGridRenderer;exports.BwgButton=t.BwgButton;exports.BwgCheck=t.BwgCheck;exports.BwgCheckList=t.BwgCheckList;exports.BwgDatePicker=t.BwgDatePicker;exports.BwgDownload=t.BwgDownload;exports.BwgForm=t.BwgForm;exports.BwgFormItem=t.BwgFormItem;exports.BwgInput=t.BwgInput;exports.BwgLargeUploader=t.BwgLargeUploader;exports.BwgMaskedInput=t.BwgMaskedInput;exports.BwgMaskedPicker=t.BwgMaskedPicker;exports.BwgMultiSelect=t.BwgMultiSelect;exports.BwgNumber=t.BwgNumber;exports.BwgRadio=t.BwgRadio;exports.BwgRangePicker=t.BwgRangePicker;exports.BwgSearch=t.BwgSearch;exports.BwgSelect=t.BwgSelect;exports.BwgSwitch=t.BwgSwitch;exports.BwgTextArea=t.BwgTextArea;exports.BwgUploader=t.BwgUploader;exports.AppWrapper=s.AppWrapper;exports.BwgCoreLogin=s.BwgCoreLogin;exports.BwgPortal01=s.BwgPortal01;exports.BwgPortal02=s.BwgPortal02;exports.ConfigurableContent=s.ConfigurableContent;exports.ConfigurableHeader=s.ConfigurableHeader;exports.ConfigurableMenuTab=s.ConfigurableMenuTab;exports.ConfigurableSidebar=s.ConfigurableSidebar;exports.ContentContainer=s.ContentContainer;exports.DefaultLoginView=s.DefaultLoginView;exports.LandingContainer=s.LandingContainer;exports.LoadingContainer=s.LoadingContainer;exports.PopupContainer=s.PopupContainer;exports.ProtectWrapper=s.ProtectWrapper;exports.AuthProvider=i.AuthProvider;exports.CommonCodeProvider=i.CommonCodeProvider;exports.ScreenProtectProvider=i.ScreenProtectProvider;exports.SearchBoxProvider=i.SearchBoxProvider;exports.ServiceCodeProvider=i.ServiceCodeProvider;exports.useAllServiceCodes=i.useAllServiceCodes;exports.useAuth=i.useAuth;exports.useCodeColor=i.useCodeColor;exports.useCodeList=i.useCodeList;exports.useCodeListByOption=i.useCodeListByOption;exports.useCodeName=i.useCodeName;exports.useCommonCode=i.useCommonCode;exports.useGridLookup=i.useGridLookup;exports.useLock=i.useLock;exports.useLogServiceCodeConfig=i.useLogServiceCodeConfig;exports.usePopup=i.usePopup;exports.useSearchBox=i.useSearchBox;exports.useServiceCode=i.useServiceCode;exports.useServiceCodeValue=i.useServiceCodeValue;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./utils/index.cjs"),r=require("./stores/index.cjs"),o=require("./chunks/common-components-BpsIQZ0O.cjs"),t=require("./components/core/index.cjs"),s=require("./chunks/layout-components-fFjip5fv.cjs"),i=require("./provider/index.cjs");exports.ApiError=e.ApiError;exports.DEFAULT_FMT=e.DEFAULT_FMT;exports.DEFAULT_SERVICE_CODES=e.DEFAULT_SERVICE_CODES;exports.THEME_COOKIE_NAME=e.THEME_COOKIE_NAME;exports.add=e.add;exports.apiUtils=e.apiUtils;exports.arrAverage=e.arrAverage;exports.arrCount=e.arrCount;exports.arrMax=e.arrMax;exports.arrMin=e.arrMin;exports.arrReverse=e.arrReverse;exports.arrSum=e.arrSum;exports.arrUnique=e.arrUnique;exports.bwgUtils=e.bwgUtils;exports.callEndpoint=e.callEndpoint;exports.callService=e.callService;exports.callServiceBySysCd=e.callServiceBySysCd;exports.clamp=e.clamp;exports.clearSessionStorage=e.clearSessionStorage;exports.closeAllMessages=e.closeAllMessages;exports.closeMessage=e.closeMessage;exports.closeNotification=e.closeNotification;exports.colorFormat=e.colorFormat;exports.colorUtils=e.colorUtils;exports.commonUtils=e.commonUtils;exports.configureEnvUtils=e.configureEnvUtils;exports.copyToClipboard=e.copyToClipboard;exports.debounce=e.debounce;exports.deleteCookie=e.deleteCookie;exports.destroyNotifications=e.destroyNotifications;exports.diff=e.diff;exports.downloadByFileKey=e.downloadByFileKey;exports.downloadFile=e.downloadFile;exports.duplicates=e.duplicates;exports.encryptSha256=e.encryptSha256;exports.endOf=e.endOf;exports.envUtils=e.envUtils;exports.fileUtils=e.fileUtils;exports.format=e.format;exports.generateRandomColor=e.generateRandomColor;exports.generateRandomString=e.generateRandomString;exports.generateUID=e.generateUID;exports.getAllServiceCodes=e.getAllServiceCodes;exports.getApiDeps=e.getApiDeps;exports.getClientIp=e.getClientIp;exports.getCookie=e.getCookie;exports.getCrprCd=e.getCrprCd;exports.getDepartmentInfo=e.getDepartmentInfo;exports.getDeviceType=e.getDeviceType;exports.getDisplayName=e.getDisplayName;exports.getDprtCd=e.getDprtCd;exports.getDprtNm=e.getDprtNm;exports.getEmplNo=e.getEmplNo;exports.getEnvCode=e.getEnvCode;exports.getFullDprtCd=e.getFullDprtCd;exports.getFullDprtNm=e.getFullDprtNm;exports.getHrInfo=e.getHrInfo;exports.getJbdtCd=e.getJbdtCd;exports.getJbgdCd=e.getJbgdCd;exports.getJbkdCd=e.getJbkdCd;exports.getJbpsCd=e.getJbpsCd;exports.getPermissionService=e.getPermissionService;exports.getRoleList=e.getRoleList;exports.getServiceCode=e.getServiceCode;exports.getSessionStorage=e.getSessionStorage;exports.getTodateString=e.getTodateString;exports.getUserDvsn=e.getUserDvsn;exports.getUserId=e.getUserId;exports.getUserInfo=e.getUserInfo;exports.getUserNm=e.getUserNm;exports.getWkplCd=e.getWkplCd;exports.hasAllRoles=e.hasAllRoles;exports.hasAnyRole=e.hasAnyRole;exports.hasRole=e.hasRole;exports.hasUserInfo=e.hasUserInfo;exports.initApiDeps=e.initApiDeps;exports.isArray=e.isArray;exports.isBoolean=e.isBoolean;exports.isDesktop=e.isDesktop;exports.isDev=e.isDev;exports.isEmpty=e.isEmpty;exports.isEmptyArray=e.isEmptyArray;exports.isFunction=e.isFunction;exports.isLocal=e.isLocal;exports.isLoggedIn=e.isLoggedIn;exports.isMobile=e.isMobile;exports.isNull=e.isNull;exports.isNullOrUndefined=e.isNullOrUndefined;exports.isNumber=e.isNumber;exports.isObject=e.isObject;exports.isProd=e.isProd;exports.isSafeEmpty=e.isSafeEmpty;exports.isString=e.isString;exports.isTablet=e.isTablet;exports.isUndefined=e.isUndefined;exports.isValid=e.isValid;exports.isValidDate=e.isValidDate;exports.isValidEmail=e.isValidEmail;exports.isValidUrl=e.isValidUrl;exports.isValidYear=e.isValidYear;exports.isValidYearMonth=e.isValidYearMonth;exports.logServiceCodeConfig=e.logServiceCodeConfig;exports.messageUtils=e.messageUtils;exports.notiBwgError=e.notiBwgError;exports.notiError=e.notiError;exports.notiInfo=e.notiInfo;exports.notiSuccess=e.notiSuccess;exports.notiWarning=e.notiWarning;exports.notificationService=e.notificationService;exports.notificationUtils=e.notificationUtils;exports.now=e.now;exports.openGwDraftByAprvKey=e.openGwDraftByAprvKey;exports.padLeft=e.padLeft;exports.padRight=e.padRight;exports.random=e.random;exports.realFormat=e.realFormat;exports.removeSessionStorage=e.removeSessionStorage;exports.round=e.round;exports.serviceUtils=e.serviceUtils;exports.setClientIp=e.setClientIp;exports.setCookie=e.setCookie;exports.setServiceCodeOverrides=e.setServiceCodeOverrides;exports.setSessionStorage=e.setSessionStorage;exports.showApiError=e.showApiError;exports.showDuplicateError=e.showDuplicateError;exports.showError=e.showError;exports.showInfo=e.showInfo;exports.showLoading=e.showLoading;exports.showRequiredError=e.showRequiredError;exports.showSaveError=e.showSaveError;exports.showSaveSuccess=e.showSaveSuccess;exports.showSuccess=e.showSuccess;exports.showWarning=e.showWarning;exports.startOf=e.startOf;exports.submitGwApproval=e.submitGwApproval;exports.throttle=e.throttle;exports.toCamelCase=e.toCamelCase;exports.uploadFilesViaSftp=e.uploadFilesViaSftp;exports.userUtils=e.userUtils;exports.verifyClientIp=e.verifyClientIp;exports.useCapsLock=r.useCapsLock;exports.useCode=r.useCode;exports.useCodeStore=r.useCodeStore;exports.useColorStore=r.useColorStore;exports.useFavorite=r.useFavorite;exports.useFavoriteStore=r.useFavoriteStore;exports.useLoadingStore=r.useLoadingStore;exports.useLogin=r.useLogin;exports.useLogout=r.useLogout;exports.useMenuModel=r.useMenuModel;exports.useMenuModelStore=r.useMenuModelStore;exports.useMenuView=r.useMenuView;exports.useMenuViewStore=r.useMenuViewStore;exports.useOptionStore=r.useOptionStore;exports.usePopupLoadingStore=r.usePopupLoadingStore;exports.usePopupState=r.usePopupState;exports.usePopupStore=r.usePopupStore;exports.useSystemCode=r.useSystemCode;exports.useSystemStore=r.useSystemStore;exports.useUser=r.useUser;exports.useUserStore=r.useUserStore;exports.ButtonAccessController=o.ButtonAccessController;exports.BwgButtonGroup=o.BwgButtonGroup;exports.BwgCmptArea=o.BwgCmptArea;exports.BwgCol=o.BwgCol;exports.BwgComponentGuideM01=o.BwgComponentGuideM01;exports.BwgConfigProvider=o.BwgConfigProvider;exports.BwgDetail=o.BwgDetail;exports.BwgDeveloperGuideM01=o.BwgDeveloperGuideM01;exports.BwgDrawer=o.BwgDrawer;exports.BwgEditor=o.BwgEditor;exports.BwgGrid=o.BwgGrid;exports.BwgInfoArea=o.BwgInfoArea;exports.BwgPagination=o.BwgPagination;exports.BwgPopup=o.BwgPopup;exports.BwgReactGuideM01=o.BwgReactGuideM01;exports.BwgRow=o.BwgRow;exports.BwgSpace=o.BwgSpace;exports.BwgTable=o.BwgTable;exports.BwgTabs=o.BwgTabs;exports.BwgTitleBox=o.BwgTitleBox;exports.BwgView=o.BwgView;exports.CMAdminBoardM01=o.CMAdminBoardM01;exports.CMAuthMstrM01=o.CMAuthMstrM01;exports.CMBoardS01=o.CMBoardCommentS01;exports.CMFileMstrM01=o.CMFileMstrM01;exports.CMHldyCfg=o.CMHldyCfg;exports.CMMenuMstrM01=o.CMMenuMstrM01;exports.CMMenuPrgrSelectModal=o.CMMenuPrgrSelectModal;exports.CMMenuPrntSelectModal=o.CMMenuPrntSelectModal;exports.CMMyBoardM01=o.CMMyBoardM01;exports.CMPopupMstrM01=o.CMPopuMstrM01;exports.CMPrgrMstrM01=o.CMPrgrMstrM01;exports.CMPrgrMstrP02=o.CMPrgrMstrP02;exports.CMRoleMstrM01=o.CMRoleMstrM01;exports.CMSystCfgM01=o.CMSystCfgM01;exports.CMSystCodeM01=o.CMSystCodeM01;exports.CMUserMstrM01=o.CMUserMstrM01;exports.ContentBox=o.ContentBox;exports.ContentLayOut=o.ContentLayOut;exports.GlobalConfigProvider=o.GlobalConfigProvider;exports.QuickServiceToggle=o.QuickServiceToggle;exports.SSOHandler=o.SSOHandler;exports.SearchBox=o.SearchBox;exports.SearchDepartmentP01=o.SearchDepartmentP01;exports.SearchDepartmentP02=o.SearchDepartmentP02;exports.SearchHolidayP01=o.CMHldyMstrP01;exports.SearchOrganizationP01=o.SearchOrganizationP01;exports.SearchOrganizationP02=o.SearchOrganizationP02;exports.SystemCodeManage=o.SystemCodeManage;exports.createBwgGridRenderer=o.createBwgGridRenderer;exports.BwgButton=t.BwgButton;exports.BwgCheck=t.BwgCheck;exports.BwgCheckList=t.BwgCheckList;exports.BwgDatePicker=t.BwgDatePicker;exports.BwgDownload=t.BwgDownload;exports.BwgForm=t.BwgForm;exports.BwgFormItem=t.BwgFormItem;exports.BwgInput=t.BwgInput;exports.BwgLargeUploader=t.BwgLargeUploader;exports.BwgMaskedInput=t.BwgMaskedInput;exports.BwgMaskedPicker=t.BwgMaskedPicker;exports.BwgMultiSelect=t.BwgMultiSelect;exports.BwgNumber=t.BwgNumber;exports.BwgRadio=t.BwgRadio;exports.BwgRangePicker=t.BwgRangePicker;exports.BwgSearch=t.BwgSearch;exports.BwgSelect=t.BwgSelect;exports.BwgSwitch=t.BwgSwitch;exports.BwgTextArea=t.BwgTextArea;exports.BwgUploader=t.BwgUploader;exports.AppWrapper=s.AppWrapper;exports.BwgCoreLogin=s.BwgCoreLogin;exports.BwgPortal01=s.BwgPortal01;exports.BwgPortal02=s.BwgPortal02;exports.ConfigurableContent=s.ConfigurableContent;exports.ConfigurableHeader=s.ConfigurableHeader;exports.ConfigurableMenuTab=s.ConfigurableMenuTab;exports.ConfigurableSidebar=s.ConfigurableSidebar;exports.ContentContainer=s.ContentContainer;exports.DefaultLoginView=s.DefaultLoginView;exports.LandingContainer=s.LandingContainer;exports.LoadingContainer=s.LoadingContainer;exports.PopupContainer=s.PopupContainer;exports.ProtectWrapper=s.ProtectWrapper;exports.AuthProvider=i.AuthProvider;exports.CommonCodeProvider=i.CommonCodeProvider;exports.ScreenProtectProvider=i.ScreenProtectProvider;exports.SearchBoxProvider=i.SearchBoxProvider;exports.ServiceCodeProvider=i.ServiceCodeProvider;exports.useAllServiceCodes=i.useAllServiceCodes;exports.useAuth=i.useAuth;exports.useCodeColor=i.useCodeColor;exports.useCodeList=i.useCodeList;exports.useCodeListByOption=i.useCodeListByOption;exports.useCodeName=i.useCodeName;exports.useCommonCode=i.useCommonCode;exports.useGridLookup=i.useGridLookup;exports.useLock=i.useLock;exports.useLogServiceCodeConfig=i.useLogServiceCodeConfig;exports.usePopup=i.usePopup;exports.useSearchBox=i.useSearchBox;exports.useServiceCode=i.useServiceCode;exports.useServiceCodeValue=i.useServiceCodeValue;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ApiError as r, DEFAULT_FMT as s, DEFAULT_SERVICE_CODES as a, THEME_COOKIE_NAME as t, add as i, apiUtils as n, arrAverage as g, arrCount as l, arrMax as d, arrMin as u, arrReverse as C, arrSum as p, arrUnique as c, bwgUtils as S, callEndpoint as w, callService as M, callServiceBySysCd as B, clamp as m, clearSessionStorage as f, closeAllMessages as v, closeMessage as P, closeNotification as h, colorFormat as y, colorUtils as D, commonUtils as U, configureEnvUtils as A, copyToClipboard as E, debounce as L, deleteCookie as b, destroyNotifications as I, diff as k, downloadByFileKey as F, downloadFile as R, duplicates as O, encryptSha256 as T, endOf as x, envUtils as N, fileUtils as V, format as G, generateRandomColor as H, generateRandomString as W, generateUID as _, getAllServiceCodes as J, getApiDeps as K, getClientIp as q, getCookie as z, getCrprCd as Y, getDepartmentInfo as j, getDeviceType as Q, getDisplayName as X, getDprtCd as Z, getDprtNm as $, getEmplNo as ee, getEnvCode as oe, getFullDprtCd as re, getFullDprtNm as se, getHrInfo as ae, getJbdtCd as te, getJbgdCd as ie, getJbkdCd as ne, getJbpsCd as ge, getPermissionService as le, getRoleList as de, getServiceCode as ue, getSessionStorage as Ce, getTodateString as pe, getUserDvsn as ce, getUserId as Se, getUserInfo as we, getUserNm as Me, getWkplCd as Be, hasAllRoles as me, hasAnyRole as fe, hasRole as ve, hasUserInfo as Pe, initApiDeps as he, isArray as ye, isBoolean as De, isDesktop as Ue, isDev as Ae, isEmpty as Ee, isEmptyArray as Le, isFunction as be, isLocal as Ie, isLoggedIn as ke, isMobile as Fe, isNull as Re, isNullOrUndefined as Oe, isNumber as Te, isObject as xe, isProd as Ne, isSafeEmpty as Ve, isString as Ge, isTablet as He, isUndefined as We, isValid as _e, isValidDate as Je, isValidEmail as Ke, isValidUrl as qe, isValidYear as ze, isValidYearMonth as Ye, logServiceCodeConfig as je, messageUtils as Qe, notiBwgError as Xe, notiError as Ze, notiInfo as $e, notiSuccess as eo, notiWarning as oo, notificationService as ro, notificationUtils as so, now as ao, openGwDraftByAprvKey as to, padLeft as io, padRight as no, random as go, realFormat as lo, removeSessionStorage as uo, round as Co, serviceUtils as po, setClientIp as co, setCookie as So, setServiceCodeOverrides as wo, setSessionStorage as Mo, showApiError as Bo, showDuplicateError as mo, showError as fo, showInfo as vo, showLoading as Po, showRequiredError as ho, showSaveError as yo, showSaveSuccess as Do, showSuccess as Uo, showWarning as Ao, startOf as Eo, submitGwApproval as Lo, throttle as bo, toCamelCase as Io, uploadFilesViaSftp as ko, userUtils as Fo, verifyClientIp as Ro } from "./utils/index.js";
2
2
  import { useCapsLock as To, useCode as xo, useCodeStore as No, useColorStore as Vo, useFavorite as Go, useFavoriteStore as Ho, useLoadingStore as Wo, useLogin as _o, useLogout as Jo, useMenuModel as Ko, useMenuModelStore as qo, useMenuView as zo, useMenuViewStore as Yo, useOptionStore as jo, usePopupLoadingStore as Qo, usePopupState as Xo, usePopupStore as Zo, useSystemCode as $o, useSystemStore as er, useUser as or, useUserStore as rr } from "./stores/index.js";
3
- import { f as ar, q as tr, r as ir, j as nr, I as gr, B as lr, s as dr, J as ur, t as Cr, p as pr, h as cr, u as Sr, o as wr, n as Mr, K as Br, i as mr, b as fr, v as vr, l as Pr, e as hr, k as yr, Y as Dr, F as Ur, Z as Ar, L as Er, T as Lr, M as br, N as Ir, O as kr, _ as Fr, P as Rr, R as Or, E as Tr, H as xr, U as Nr, V as Vr, X as Gr, d as Hr, C as Wr, G as _r, Q as Jr, w as Kr, S as qr, x as zr, y as Yr, D as jr, z as Qr, A as Xr, W as Zr, m as $r } from "./chunks/common-components-Cxh8PLBH.js";
3
+ import { f as ar, q as tr, r as ir, j as nr, I as gr, B as lr, s as dr, J as ur, t as Cr, p as pr, h as cr, u as Sr, o as wr, n as Mr, K as Br, i as mr, b as fr, v as vr, l as Pr, e as hr, k as yr, Y as Dr, F as Ur, Z as Ar, L as Er, T as Lr, M as br, N as Ir, O as kr, _ as Fr, P as Rr, R as Or, E as Tr, H as xr, U as Nr, V as Vr, X as Gr, d as Hr, C as Wr, G as _r, Q as Jr, w as Kr, S as qr, x as zr, y as Yr, D as jr, z as Qr, A as Xr, W as Zr, m as $r } from "./chunks/common-components-BJrGciHA.js";
4
4
  import { BwgButton as os, BwgCheck as rs, BwgCheckList as ss, BwgDatePicker as as, BwgDownload as ts, BwgForm as is, BwgFormItem as ns, BwgInput as gs, BwgLargeUploader as ls, BwgMaskedInput as ds, BwgMaskedPicker as us, BwgMultiSelect as Cs, BwgNumber as ps, BwgRadio as cs, BwgRangePicker as Ss, BwgSearch as ws, BwgSelect as Ms, BwgSwitch as Bs, BwgTextArea as ms, BwgUploader as fs } from "./components/core/index.js";
5
- import { A as Ps, b as hs, B as ys, a as Ds, d as Us, e as As, f as Es, g as Ls, C as bs, D as Is, c as ks, L as Fs, P as Rs, h as Os } from "./chunks/layout-components-Bp6b-T1V.js";
5
+ import { A as Ps, b as hs, B as ys, a as Ds, d as Us, e as As, f as Es, g as Ls, C as bs, D as Is, c as ks, L as Fs, P as Rs, h as Os } from "./chunks/layout-components-DuSrPWSr.js";
6
6
  import { AuthProvider as xs, CommonCodeProvider as Ns, ScreenProtectProvider as Vs, SearchBoxProvider as Gs, ServiceCodeProvider as Hs, useAllServiceCodes as Ws, useAuth as _s, useCodeColor as Js, useCodeList as Ks, useCodeListByOption as qs, useCodeName as zs, useCommonCode as Ys, useGridLookup as js, useLock as Qs, useLogServiceCodeConfig as Xs, usePopup as Zs, useSearchBox as $s, useServiceCode as ea, useServiceCodeValue as oa } from "./provider/index.js";
7
7
  export {
8
8
  r as ApiError,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),y=require("../utils/index.cjs"),L=require("antd"),V=require("../chunks/layout-components-B4ptqDmC.cjs"),F=require("react"),Q=require("react-router-dom");function ee(n,r){let e;try{e=n()}catch{return}return{getItem:o=>{var t;const a=d=>d===null?null:JSON.parse(d,void 0),c=(t=e.getItem(o))!=null?t:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const H=n=>r=>{try{const e=n(r);return e instanceof Promise?e:{then(s){return H(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return H(s)(e)}}}},te=(n,r)=>(e,s,o)=>{let t={storage:ee(()=>localStorage),partialize:C=>C,version:0,merge:(C,S)=>({...S,...C}),...r},a=!1;const c=new Set,d=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 l=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},f=o.setState;o.setState=(C,S)=>(f(C,S),l());const m=n((...C)=>(e(...C),l()),s,o);o.getInitialState=()=>m;let u;const h=()=>{var C,S;if(!i)return;a=!1,c.forEach(g=>{var N;return g((N=s())!=null?N:m)});const k=((S=t.onRehydrateStorage)==null?void 0:S.call(t,(C=s())!=null?C:m))||void 0;return H(i.getItem.bind(i))(t.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==t.version){if(t.migrate){const N=t.migrate(g.state,g.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,g.state];return[!1,void 0]}).then(g=>{var N;const[K,Z]=g;if(u=t.merge(Z,(N=s())!=null?N:m),e(u,!0),K)return l()}).then(()=>{k?.(u,void 0),u=s(),a=!0,d.forEach(g=>g(u))}).catch(g=>{k?.(void 0,g)})};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=>(c.add(C),()=>{c.delete(C)}),onFinishHydration:C=>(d.add(C),()=>{d.delete(C)})},t.skipHydration||h(),u||m},M=te,w=b.create()(M((n,r)=>({user:null,hrInfo:null,buttonAuths:{},componentSize:1,gridSize:2,spacingSize:2,isLoggedIn:()=>!!r().user,setLoginUser:(e,s)=>{n({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{n({user:null,hrInfo:null,buttonAuths:{}}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=r().user,t=r().hrInfo;o&&n({user:{...o,...e}}),t&&n({hrInfo:{...t,...s}})},setComponentSize:e=>{n({componentSize:e}),console.log("컴포넌트 사이즈 변경:",e)},setGridSize:e=>{n({gridSize:e}),console.log("그리드 사이즈 변경:",e)},setSpacingSize:e=>{n({spacingSize:e}),console.log("여백 사이즈 변경:",e)},getButtonAuth:(e,s)=>{const o=`${e}_${s}`;return r().buttonAuths[o]||null},setButtonAuth:(e,s,o)=>{const t=`${e}_${s}`;n(a=>({buttonAuths:{...a.buttonAuths,[t]:o}}))},clearButtonAuths:()=>{n({buttonAuths:{}})}}),{name:"user-storage",partialize:n=>({user:n.user,hrInfo:n.hrInfo,componentSize:n.componentSize,gridSize:n.gridSize,spacingSize:n.spacingSize,isLoggedIn:n.isLoggedIn})})),B={CACHE_SIZE_LIMIT:1e3},p={codeCache:new Map,nameCache:new Map,optionCache:new Map,colorCache:new Map,loadedGroups:new Set,cacheHits:new Map,clearCache(){this.codeCache.clear(),this.nameCache.clear(),this.optionCache.clear(),this.colorCache.clear(),this.loadedGroups.clear(),this.cacheHits.clear()},cleanupCache(){const 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)}},v=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 d=(o.get(t.cmmnCd)||[]).reduce((i,l)=>(l.optnCd&&l.optnNm&&(i[l.optnCd]=l.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(d).length>0?d:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",r),r},I=b.create()(M((n,r)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchSystemCodes:async()=>{n({isLoading:!0,error:null});try{console.log("시스템 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("시스템 공통코드 응답:",e),console.log("시스템 공통코드목록:",e.code),console.log("시스템 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("시스템 공통코드 데이터 가져오기 완료")}catch(e){console.error("시스템 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"시스템 공통코드 데이터 가져오기 실패"})}},fetchBusinessCodes:async()=>{n({isLoading:!0,error:null});try{console.log("업무 공통코드 데이터 가져오기 시작: SCMSIGN00302");const e=await y.callService("SCMSIGN00302",{sysCd:__SYS_CD__});console.log("업무 공통코드 응답:",e),console.log("업무 공통코드목록:",e.code),console.log("업무 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("업무 공통코드 데이터 가져오기 완료")}catch(e){console.error("업무 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"업무 공통코드 데이터 가져오기 실패"})}},fetchData:async()=>{n({isLoading:!0,error:null});try{console.log("전체 공통코드 데이터 가져오기 시작 (시스템 + 업무)");const[e,s]=await Promise.all([y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"}),y.callService("SCMSIGN00302",{sysCd:__SYS_CD__})]);console.log("시스템 공통코드 응답:",e),console.log("업무 공통코드 응답:",s);const o=v(e),t=v(s),a={...o,...t};p.clearCache();const c=new Set(Object.keys(a));c.forEach(d=>{p.markGroupLoaded(d)}),n({codeData:a,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:c}),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}),p.markGroupLoaded(e)},setData:e=>{p.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{p.markGroupLoaded(o)}),n({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{p.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)})})),_=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:c=!1}=s||{},d=`simpleCodeList_${e}_${o}_${t}_${a}_${c}`;if(p.optionCache.has(d)){const h=p.cacheHits.get(d)||0;return p.cacheHits.set(d,h+1),p.optionCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(h=>{if(!(o&&!h.enabled)&&!(t&&h.systemCodeYn!=="Y"))if(c){const C=e.length,S=h.codeValue.substring(C);S.length>0&&l.push({...h,codeValue:S})}else l.push(h)});let m;a?m=l.sort((h,C)=>h.sortOrder!==C.sortOrder?h.sortOrder-C.sortOrder:h.codeValue.localeCompare(C.codeValue)):m=l.sort((h,C)=>h.codeValue.localeCompare(C.codeValue));const u=m.map(h=>({label:h.codeNm,value:h.codeValue,tagColor:h.labelColor}));return p.optionCache.size>=B.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.optionCache.set(d,u),p.cacheHits.set(d,1),u},getCodeName:e=>{if(p.nameCache.has(e)){const o=p.cacheHits.get(`name_${e}`)||0;return p.cacheHits.set(`name_${e}`,o+1),p.nameCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.nameCache.set(e,t.codeNm),p.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(p.optionCache.has(s)){const i=p.cacheHits.get(s)||0;return p.cacheHits.set(s,i+1),p.optionCache.get(s)}const o=I.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],c=[];Object.values(t).filter(i=>i.enabled).sort((i,l)=>i.sortOrder-l.sortOrder).forEach(i=>{a.push(i.codeNm),c.push(i.codeValue)});const d={labels:a,values:c,lookupDisplay:!0};return p.optionCache.set(s,d),p.cacheHits.set(s,1),d},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(p.codeCache.has(t)){const l=p.cacheHits.get(t)||0;return p.cacheHits.set(t,l+1),p.codeCache.get(t)}const a=I.getState().codeData;if(!a)return[];const c=[],d=a[e];d&&Object.values(d).forEach(l=>{l.enabled&&l.options&&l.options[s]===o&&c.push({...l,codeNm:l.options[s]||l.codeNm})});const i=c.sort((l,f)=>l.codeValue.localeCompare(f.codeValue));return p.codeCache.size>=B.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(t,i),p.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:c=!1}=o||{},d=`codeListByOption_${e}_${s}_${t}_${a}_${c}`;if(p.codeCache.has(d)){const u=p.cacheHits.get(d)||0;return p.cacheHits.set(d,u+1),p.codeCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&l.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return c?m=l.sort((u,h)=>u.value.localeCompare(h.value)):m=l.sort((u,h)=>u.value.localeCompare(h.value)),p.codeCache.size>=B.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(d,m),p.cacheHits.set(d,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(p.nameCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),JSON.parse(p.nameCache.get(e))}const s=I.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return p.nameCache.set(e,JSON.stringify(o)),p.cacheHits.set(e,1),o},clearCodes:()=>{I.getState().clearData()}}),{name:"code-storage",partialize:n=>({})})),oe=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(p.optionCache.has(o)){const c=p.cacheHits.get(o)||0;return p.cacheHits.set(o,c+1),p.optionCache.get(o)}const t=I.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const c=a[s].options;return p.optionCache.set(o,c),p.cacheHits.set(o,1),c}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(p.optionCache.has(t)){const d=p.cacheHits.get(t)||0;return p.cacheHits.set(t,d+1),p.optionCache.get(t)}const a=r().getOptionValue(e,s),c=a?a[o]:null;return p.optionCache.set(t,c),p.cacheHits.set(t,1),c},clearCodes:()=>{I.getState().clearData()}}),{name:"option-storage",partialize:n=>({})})),se=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getColorCode:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(p.optionCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),p.optionCache.get(e)}const s=I.getState().codeData;if(!s)return[];const o=[];return Object.values(s).forEach(t=>{Object.values(t).forEach(a=>{a.labelColor&&o.push({code:a.codeValue,color:a.labelColor})})}),p.optionCache.set(e,o),p.cacheHits.set(e,1),o},clearCodes:()=>{I.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=D(r().nodes,e);return s?r().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=D(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=c=>e?c.toLowerCase().includes(e.toLowerCase()):!0,a=c=>{const d=s[c];if(!d||d.type!=="F")return null;const i=d,l=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||l.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:l.length?l:void 0}:null};return o.map(c=>a(c)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=r();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){n({loading:!0,error:void 0});try{const t=await y.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],c=re(a),d=P(c.nodes,c.rootIds);n({...c,treeNodes:d,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=E(r()),o=ae();n(t=>{const a=e.sortOrdr??z(t,e.prntBkmkId),c={...t,nodes:{...t.nodes,[o]:e.type==="F"?{bkmkId:o,type:"F",prntBkmkId:e.prntBkmkId||"-",sortOrdr:a,bkmkNm:e.bkmkNm??"새 폴더",children:[],sysCd:e.sysCd,userId:e.userId}:{bkmkId:o,type:"M",prntBkmkId:e.prntBkmkId,sortOrdr:a,menuId:e.menuId??"",menuNm:e.menuNm,sysCd:e.sysCd,userId:e.userId}},rootIds:t.rootIds.slice(),treeNodes:t.treeNodes};return ce(c,o,e.prntBkmkId),c.treeNodes=P(c.nodes,c.rootIds),c});try{let t=o;const a=z(r(),e.prntBkmkId),c=await y.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:y.getUserId()});return t=String(c?.bkmkId??c?.itemId??o),n(d=>{const i=pe(d,o,t);return{...i,treeNodes:P(i.nodes,i.rootIds)}}),t}catch(t){throw n(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=r(),c=structuredClone(a.nodes),d=[...a.rootIds],i=c[e];if(!i)return;if(s!=="-"){const u=c[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const l=i.prntBkmkId??"-",f=l==="-"?d:c[l].children||=[];{const u=f.indexOf(e);u>=0&&f.splice(u,1)}const m=s==="-"?d:c[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,n({nodes:c,rootIds:d}),j(c,d,s),j(c,d,l);try{await y.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw n(a),u}},removeNode:async e=>{const s=E(r());n(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return X(t,e),t.treeNodes=P(t.nodes,t.rootIds),t});try{await y.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw n(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const c=E(r());n(d=>{const i={...d,nodes:{...d.nodes}},l=i.nodes[e];return l?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...l,bkmkNm:o}),i});try{await y.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:y.getUserId()})}catch(d){throw n(c),d}},addFolder:async(e,s,o,t)=>await r().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>D(r().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await r().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=r(),t=Object.values(o.nodes).find(c=>c.type==="M"&&c.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:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=r(),o=D(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=d=>o?d.toLowerCase().includes(o.toLowerCase()):!0,c=d=>{const i=e[d];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const l=i,f=(l.children||[]).map(u=>c(u)).filter(Boolean);return a(l.bkmkNm)||f.length>0?{key:l.bkmkId,type:"F",title:`📁 ${l.bkmkNm}`,bkmkNm:l.bkmkNm,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,children:f.length?f:void 0}:null}else{const l=i,f=l.menuNm?`${l.menuNm} (${l.menuId})`:l.menuId;return a(f)?{key:l.bkmkId,type:"M",title:`📄 ${f}`,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,isLeaf:!0}:null}};return s.map(c).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 c=Array.isArray(t.children)?t.children:[];s(c)}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,c)=>(r[a].sortOrdr??0)-(r[c].sortOrdr??0))}),{nodes:r,rootIds:e}}function E(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 z(n,r){if(!r||r==="-")return n.rootIds.length;const e=n.nodes[r];return e?e.children.length:0}function ce(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 de(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 X(n,r){const e=n.nodes[r];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>X(n,a)),de(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 c=t[o.prntBkmkId];c?.type==="F"&&(t[o.prntBkmkId]={...c,children:c.children.map(d=>d===r?e:d)})}else a=n.rootIds.map(c=>c===r?e:c);return{...n,nodes:t,rootIds:a}}function x(n){return n.rootIds.find(r=>n.nodes[r]?.type==="F")??null}function P(n,r){const e={};Object.values(n).forEach(d=>{const i=d.bkmkId,l=d.prntBkmkId;!i||!l||l==="-"||l===i||(e[l]??=[]).push(i)});const s=new Set,o=d=>{if(s.has(d))return null;const i=n[d];if(!i)return null;s.add(d);try{if(i.type==="F"){const f=i,m=e[d]??[];return{type:"F",bkmkId:d,bkmkNm:f.bkmkNm,prntBkmkId:f.prntBkmkId,children:m.map(o).filter(Boolean)}}const l=i;return{type:"M",bkmkId:d,bkmkNm:l.menuNm,menuId:l.menuId,menuNm:l.menuNm,prntBkmkId:l.prntBkmkId}}finally{s.delete(d)}},t=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="M").map(d=>d.bkmkId),a=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="F").map(d=>d.bkmkId);return Array.from(new Set([...r,...t,...a])).map(o).filter(Boolean)}function D(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 G={DEFAULT_PRNT_GBCD:1},le=n=>n&&typeof n=="object"&&typeof n.menuId=="string"&&typeof n.menuNm=="string",Y=n=>Array.isArray(n)&&n.every(le);let T=[],q=[];const ie=n=>{if(n&&typeof n=="object"){const r=n;if(r.menus&&Y(r.menus))return r.menus;if(Y(n))return n}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(n,r)=>!!r&&n.crprCd===r.crprCd&&n.userId===r.userId&&(n.prntGbcd??G.DEFAULT_PRNT_GBCD)===(r.prntGbcd??G.DEFAULT_PRNT_GBCD),me=n=>{if(T.length===n.length&&T.every((t,a)=>t.menuId===n[a]?.menuId&&t.menuPrntId===n[a]?.menuPrntId))return q;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,c)=>(a?.menuNo??0)-(c?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return T=[...n],q=o,o},A=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??G.DEFAULT_PRNT_GBCD};if(ue(t,r()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}n({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await y.callService(y.getServiceCode("AUTH_MENU"),t),c=ie(a),d=me(c);n({flatMenuList:c,menuList:d,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},U=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(c=>c.key===e.menuId),a=o.find(c=>c.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)):L.message.warning("유효하지 않은 메뉴정보입니다.");else{if(o.length>O.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),L.message.warning(`최대 ${O.MAX_TABS}개의 탭만 열 수 있습니다.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),y=require("../utils/index.cjs"),L=require("antd"),V=require("../chunks/layout-components-fFjip5fv.cjs"),F=require("react"),Q=require("react-router-dom");function ee(n,r){let e;try{e=n()}catch{return}return{getItem:o=>{var t;const a=d=>d===null?null:JSON.parse(d,void 0),c=(t=e.getItem(o))!=null?t:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const H=n=>r=>{try{const e=n(r);return e instanceof Promise?e:{then(s){return H(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return H(s)(e)}}}},te=(n,r)=>(e,s,o)=>{let t={storage:ee(()=>localStorage),partialize:C=>C,version:0,merge:(C,S)=>({...S,...C}),...r},a=!1;const c=new Set,d=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 l=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},f=o.setState;o.setState=(C,S)=>(f(C,S),l());const m=n((...C)=>(e(...C),l()),s,o);o.getInitialState=()=>m;let u;const h=()=>{var C,S;if(!i)return;a=!1,c.forEach(g=>{var N;return g((N=s())!=null?N:m)});const k=((S=t.onRehydrateStorage)==null?void 0:S.call(t,(C=s())!=null?C:m))||void 0;return H(i.getItem.bind(i))(t.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==t.version){if(t.migrate){const N=t.migrate(g.state,g.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,g.state];return[!1,void 0]}).then(g=>{var N;const[K,Z]=g;if(u=t.merge(Z,(N=s())!=null?N:m),e(u,!0),K)return l()}).then(()=>{k?.(u,void 0),u=s(),a=!0,d.forEach(g=>g(u))}).catch(g=>{k?.(void 0,g)})};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=>(c.add(C),()=>{c.delete(C)}),onFinishHydration:C=>(d.add(C),()=>{d.delete(C)})},t.skipHydration||h(),u||m},M=te,w=b.create()(M((n,r)=>({user:null,hrInfo:null,buttonAuths:{},componentSize:1,gridSize:2,spacingSize:2,isLoggedIn:()=>!!r().user,setLoginUser:(e,s)=>{n({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{n({user:null,hrInfo:null,buttonAuths:{}}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=r().user,t=r().hrInfo;o&&n({user:{...o,...e}}),t&&n({hrInfo:{...t,...s}})},setComponentSize:e=>{n({componentSize:e}),console.log("컴포넌트 사이즈 변경:",e)},setGridSize:e=>{n({gridSize:e}),console.log("그리드 사이즈 변경:",e)},setSpacingSize:e=>{n({spacingSize:e}),console.log("여백 사이즈 변경:",e)},getButtonAuth:(e,s)=>{const o=`${e}_${s}`;return r().buttonAuths[o]||null},setButtonAuth:(e,s,o)=>{const t=`${e}_${s}`;n(a=>({buttonAuths:{...a.buttonAuths,[t]:o}}))},clearButtonAuths:()=>{n({buttonAuths:{}})}}),{name:"user-storage",partialize:n=>({user:n.user,hrInfo:n.hrInfo,componentSize:n.componentSize,gridSize:n.gridSize,spacingSize:n.spacingSize,isLoggedIn:n.isLoggedIn})})),B={CACHE_SIZE_LIMIT:1e3},p={codeCache:new Map,nameCache:new Map,optionCache:new Map,colorCache:new Map,loadedGroups:new Set,cacheHits:new Map,clearCache(){this.codeCache.clear(),this.nameCache.clear(),this.optionCache.clear(),this.colorCache.clear(),this.loadedGroups.clear(),this.cacheHits.clear()},cleanupCache(){const 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)}},v=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 d=(o.get(t.cmmnCd)||[]).reduce((i,l)=>(l.optnCd&&l.optnNm&&(i[l.optnCd]=l.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(d).length>0?d:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",r),r},I=b.create()(M((n,r)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchSystemCodes:async()=>{n({isLoading:!0,error:null});try{console.log("시스템 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("시스템 공통코드 응답:",e),console.log("시스템 공통코드목록:",e.code),console.log("시스템 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("시스템 공통코드 데이터 가져오기 완료")}catch(e){console.error("시스템 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"시스템 공통코드 데이터 가져오기 실패"})}},fetchBusinessCodes:async()=>{n({isLoading:!0,error:null});try{console.log("업무 공통코드 데이터 가져오기 시작: SCMSIGN00302");const e=await y.callService("SCMSIGN00302",{sysCd:__SYS_CD__});console.log("업무 공통코드 응답:",e),console.log("업무 공통코드목록:",e.code),console.log("업무 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("업무 공통코드 데이터 가져오기 완료")}catch(e){console.error("업무 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"업무 공통코드 데이터 가져오기 실패"})}},fetchData:async()=>{n({isLoading:!0,error:null});try{console.log("전체 공통코드 데이터 가져오기 시작 (시스템 + 업무)");const[e,s]=await Promise.all([y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"}),y.callService("SCMSIGN00302",{sysCd:__SYS_CD__})]);console.log("시스템 공통코드 응답:",e),console.log("업무 공통코드 응답:",s);const o=v(e),t=v(s),a={...o,...t};p.clearCache();const c=new Set(Object.keys(a));c.forEach(d=>{p.markGroupLoaded(d)}),n({codeData:a,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:c}),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}),p.markGroupLoaded(e)},setData:e=>{p.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{p.markGroupLoaded(o)}),n({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{p.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)})})),_=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:c=!1}=s||{},d=`simpleCodeList_${e}_${o}_${t}_${a}_${c}`;if(p.optionCache.has(d)){const h=p.cacheHits.get(d)||0;return p.cacheHits.set(d,h+1),p.optionCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(h=>{if(!(o&&!h.enabled)&&!(t&&h.systemCodeYn!=="Y"))if(c){const C=e.length,S=h.codeValue.substring(C);S.length>0&&l.push({...h,codeValue:S})}else l.push(h)});let m;a?m=l.sort((h,C)=>h.sortOrder!==C.sortOrder?h.sortOrder-C.sortOrder:h.codeValue.localeCompare(C.codeValue)):m=l.sort((h,C)=>h.codeValue.localeCompare(C.codeValue));const u=m.map(h=>({label:h.codeNm,value:h.codeValue,tagColor:h.labelColor}));return p.optionCache.size>=B.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.optionCache.set(d,u),p.cacheHits.set(d,1),u},getCodeName:e=>{if(p.nameCache.has(e)){const o=p.cacheHits.get(`name_${e}`)||0;return p.cacheHits.set(`name_${e}`,o+1),p.nameCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.nameCache.set(e,t.codeNm),p.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(p.optionCache.has(s)){const i=p.cacheHits.get(s)||0;return p.cacheHits.set(s,i+1),p.optionCache.get(s)}const o=I.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],c=[];Object.values(t).filter(i=>i.enabled).sort((i,l)=>i.sortOrder-l.sortOrder).forEach(i=>{a.push(i.codeNm),c.push(i.codeValue)});const d={labels:a,values:c,lookupDisplay:!0};return p.optionCache.set(s,d),p.cacheHits.set(s,1),d},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(p.codeCache.has(t)){const l=p.cacheHits.get(t)||0;return p.cacheHits.set(t,l+1),p.codeCache.get(t)}const a=I.getState().codeData;if(!a)return[];const c=[],d=a[e];d&&Object.values(d).forEach(l=>{l.enabled&&l.options&&l.options[s]===o&&c.push({...l,codeNm:l.options[s]||l.codeNm})});const i=c.sort((l,f)=>l.codeValue.localeCompare(f.codeValue));return p.codeCache.size>=B.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(t,i),p.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:c=!1}=o||{},d=`codeListByOption_${e}_${s}_${t}_${a}_${c}`;if(p.codeCache.has(d)){const u=p.cacheHits.get(d)||0;return p.cacheHits.set(d,u+1),p.codeCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&l.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return c?m=l.sort((u,h)=>u.value.localeCompare(h.value)):m=l.sort((u,h)=>u.value.localeCompare(h.value)),p.codeCache.size>=B.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(d,m),p.cacheHits.set(d,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(p.nameCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),JSON.parse(p.nameCache.get(e))}const s=I.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return p.nameCache.set(e,JSON.stringify(o)),p.cacheHits.set(e,1),o},clearCodes:()=>{I.getState().clearData()}}),{name:"code-storage",partialize:n=>({})})),oe=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(p.optionCache.has(o)){const c=p.cacheHits.get(o)||0;return p.cacheHits.set(o,c+1),p.optionCache.get(o)}const t=I.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const c=a[s].options;return p.optionCache.set(o,c),p.cacheHits.set(o,1),c}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(p.optionCache.has(t)){const d=p.cacheHits.get(t)||0;return p.cacheHits.set(t,d+1),p.optionCache.get(t)}const a=r().getOptionValue(e,s),c=a?a[o]:null;return p.optionCache.set(t,c),p.cacheHits.set(t,1),c},clearCodes:()=>{I.getState().clearData()}}),{name:"option-storage",partialize:n=>({})})),se=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getColorCode:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(p.optionCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),p.optionCache.get(e)}const s=I.getState().codeData;if(!s)return[];const o=[];return Object.values(s).forEach(t=>{Object.values(t).forEach(a=>{a.labelColor&&o.push({code:a.codeValue,color:a.labelColor})})}),p.optionCache.set(e,o),p.cacheHits.set(e,1),o},clearCodes:()=>{I.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=D(r().nodes,e);return s?r().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=D(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=c=>e?c.toLowerCase().includes(e.toLowerCase()):!0,a=c=>{const d=s[c];if(!d||d.type!=="F")return null;const i=d,l=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||l.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:l.length?l:void 0}:null};return o.map(c=>a(c)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=r();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){n({loading:!0,error:void 0});try{const t=await y.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],c=re(a),d=P(c.nodes,c.rootIds);n({...c,treeNodes:d,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=E(r()),o=ae();n(t=>{const a=e.sortOrdr??z(t,e.prntBkmkId),c={...t,nodes:{...t.nodes,[o]:e.type==="F"?{bkmkId:o,type:"F",prntBkmkId:e.prntBkmkId||"-",sortOrdr:a,bkmkNm:e.bkmkNm??"새 폴더",children:[],sysCd:e.sysCd,userId:e.userId}:{bkmkId:o,type:"M",prntBkmkId:e.prntBkmkId,sortOrdr:a,menuId:e.menuId??"",menuNm:e.menuNm,sysCd:e.sysCd,userId:e.userId}},rootIds:t.rootIds.slice(),treeNodes:t.treeNodes};return ce(c,o,e.prntBkmkId),c.treeNodes=P(c.nodes,c.rootIds),c});try{let t=o;const a=z(r(),e.prntBkmkId),c=await y.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:y.getUserId()});return t=String(c?.bkmkId??c?.itemId??o),n(d=>{const i=pe(d,o,t);return{...i,treeNodes:P(i.nodes,i.rootIds)}}),t}catch(t){throw n(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=r(),c=structuredClone(a.nodes),d=[...a.rootIds],i=c[e];if(!i)return;if(s!=="-"){const u=c[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const l=i.prntBkmkId??"-",f=l==="-"?d:c[l].children||=[];{const u=f.indexOf(e);u>=0&&f.splice(u,1)}const m=s==="-"?d:c[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,n({nodes:c,rootIds:d}),j(c,d,s),j(c,d,l);try{await y.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw n(a),u}},removeNode:async e=>{const s=E(r());n(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return X(t,e),t.treeNodes=P(t.nodes,t.rootIds),t});try{await y.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw n(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const c=E(r());n(d=>{const i={...d,nodes:{...d.nodes}},l=i.nodes[e];return l?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...l,bkmkNm:o}),i});try{await y.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:y.getUserId()})}catch(d){throw n(c),d}},addFolder:async(e,s,o,t)=>await r().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>D(r().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await r().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=r(),t=Object.values(o.nodes).find(c=>c.type==="M"&&c.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:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=r(),o=D(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=d=>o?d.toLowerCase().includes(o.toLowerCase()):!0,c=d=>{const i=e[d];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const l=i,f=(l.children||[]).map(u=>c(u)).filter(Boolean);return a(l.bkmkNm)||f.length>0?{key:l.bkmkId,type:"F",title:`📁 ${l.bkmkNm}`,bkmkNm:l.bkmkNm,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,children:f.length?f:void 0}:null}else{const l=i,f=l.menuNm?`${l.menuNm} (${l.menuId})`:l.menuId;return a(f)?{key:l.bkmkId,type:"M",title:`📄 ${f}`,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,isLeaf:!0}:null}};return s.map(c).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 c=Array.isArray(t.children)?t.children:[];s(c)}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,c)=>(r[a].sortOrdr??0)-(r[c].sortOrdr??0))}),{nodes:r,rootIds:e}}function E(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 z(n,r){if(!r||r==="-")return n.rootIds.length;const e=n.nodes[r];return e?e.children.length:0}function ce(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 de(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 X(n,r){const e=n.nodes[r];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>X(n,a)),de(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 c=t[o.prntBkmkId];c?.type==="F"&&(t[o.prntBkmkId]={...c,children:c.children.map(d=>d===r?e:d)})}else a=n.rootIds.map(c=>c===r?e:c);return{...n,nodes:t,rootIds:a}}function x(n){return n.rootIds.find(r=>n.nodes[r]?.type==="F")??null}function P(n,r){const e={};Object.values(n).forEach(d=>{const i=d.bkmkId,l=d.prntBkmkId;!i||!l||l==="-"||l===i||(e[l]??=[]).push(i)});const s=new Set,o=d=>{if(s.has(d))return null;const i=n[d];if(!i)return null;s.add(d);try{if(i.type==="F"){const f=i,m=e[d]??[];return{type:"F",bkmkId:d,bkmkNm:f.bkmkNm,prntBkmkId:f.prntBkmkId,children:m.map(o).filter(Boolean)}}const l=i;return{type:"M",bkmkId:d,bkmkNm:l.menuNm,menuId:l.menuId,menuNm:l.menuNm,prntBkmkId:l.prntBkmkId}}finally{s.delete(d)}},t=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="M").map(d=>d.bkmkId),a=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="F").map(d=>d.bkmkId);return Array.from(new Set([...r,...t,...a])).map(o).filter(Boolean)}function D(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 G={DEFAULT_PRNT_GBCD:1},le=n=>n&&typeof n=="object"&&typeof n.menuId=="string"&&typeof n.menuNm=="string",Y=n=>Array.isArray(n)&&n.every(le);let T=[],q=[];const ie=n=>{if(n&&typeof n=="object"){const r=n;if(r.menus&&Y(r.menus))return r.menus;if(Y(n))return n}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(n,r)=>!!r&&n.crprCd===r.crprCd&&n.userId===r.userId&&(n.prntGbcd??G.DEFAULT_PRNT_GBCD)===(r.prntGbcd??G.DEFAULT_PRNT_GBCD),me=n=>{if(T.length===n.length&&T.every((t,a)=>t.menuId===n[a]?.menuId&&t.menuPrntId===n[a]?.menuPrntId))return q;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,c)=>(a?.menuNo??0)-(c?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return T=[...n],q=o,o},A=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??G.DEFAULT_PRNT_GBCD};if(ue(t,r()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}n({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await y.callService(y.getServiceCode("AUTH_MENU"),t),c=ie(a),d=me(c);n({flatMenuList:c,menuList:d,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},U=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(c=>c.key===e.menuId),a=o.find(c=>c.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)):L.message.warning("유효하지 않은 메뉴정보입니다.");else{if(o.length>O.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),L.message.warning(`최대 ${O.MAX_TABS}개의 탭만 열 수 있습니다.
2
2
  기존 탭을 닫고 다시 시도해주세요.`);return}const c={key:e.menuId,label:e.menuNm,gubun:"M",menuItem:e,closable:!0};n({tabs:[...o,c],activeMenuId:e.menuId,activeMenuItem:e}),r().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&r().setProtectFlagForKey(e.menuId)}},openTabByMenuId:(e,s)=>{const o=A.getState().findMenuById(e);o?r().openTabFromMenu(o,s):L.message.warning("메뉴 ID를 찾을 수 없습니다.")},openDetailView:(e,s,o)=>{const{tabs:t}=r();if(t.find(c=>c.key===e.viewId))r().focusTab(e.viewId);else{const c={key:e.viewId,label:e.viewLabel,gubun:"C",componentItem:{scrnPath:s,prsnInfoYn:o,prntInfo:e.prntInfo},closable:!0};n({tabs:[...t,c],activeMenuId:e.viewId,activeDetailItem:e}),r().setTabParams(e.viewId,e.viewParams||{})}},closeTab:e=>{const{tabs:s,activeMenuId:o}=r();s.find(c=>c.key===e);const t=s.filter(c=>c.key!==e);let a=o;if(o===e){const c=s.findIndex(d=>d.key===e);a=t.length?t[Math.min(c,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(d=>t[d]===a[d])?o:{tabParams:{...o.tabParams,[e]:a}}}),setComponentLabelMap:(e,s)=>n({componentLabelMap:e})})),J=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 y.callService(y.getServiceCode("SRCH_POPU"),{crprCd:y.getUserInfo()?.crprCd,popuCd:e});t=a?.mstr;const c=a?.dtls||[];if(!t||!t.popuUrl){const u=`팝업 정보를 찾을 수 없습니다: ${e}`;throw console.error(u),new Error(u)}const i=(u=>`/src/pages/views/popup/${u}`)(t.popuUrl),l=r().zIndexSeed+1,f={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:c,config:o,zIndex:l},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,f],activePopupId:f.popupId,isLoading:!1,zIndexSeed:l}))}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,c=V.localPopupRegistry[e]?.defaultConfig||{},d={...c,...s,buttons:s?.buttons!==void 0?s.buttons:c.buttons,callback:s?.callback!==void 0?s.callback:c.callback},i=s?.defaultParams||{},l=r().popups.find(m=>m.popupCode===e&&m.isLocal);if(l){const m=r().zIndexSeed+1;n({activePopupId:l.popupId,zIndexSeed:m}),n(u=>({popups:u.popups.map(h=>h.popupId===l.popupId?{...h,config:d,zIndex:m,close:()=>{r().closePopup(l.popupId)}}:h)}));return}const f={popupId:o,popupCode:e,popupTitle:d.title||e,popupUrl:"",popupParams:i,width:d.width||1e3,height:d.height||700,resizable:d.resizable!==void 0?d.resizable:!0,draggable:d.draggable!==void 0?d.draggable:!0,buttonList:[],config:d,isLocal:!0,zIndex:t,close:()=>{r().closePopup(o)}};n(m=>({popups:[...m.popups,f],activePopupId:o,zIndexSeed:t}))},closePopup:e=>{const{popups:s,activePopupId:o}=r(),t=s.filter(c=>c.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)}))}})),$=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:"KSCM",appCd:"KSCM",systemNm:"KS-공통",appNm:"KS-공통"},{sysCd:"KS",appItCd:"EAUD",appCd:"EAUD",systemNm:"K-업무지원",appNm:"e-감사"},{sysCd:"KS",appItCd:"INR",appCd:"INR",systemNm:"K-업무지원",appNm:"청렴신고"},{sysCd:"KS",appItCd:"ITSM",appCd:"ITAM",systemNm:"K-업무지원",appNm:"ITAM"},{sysCd:"KS",appItCd:"CMM",appCd:"CMM",systemNm:"K-업무지원",appNm:"차량/회의실"},{sysCd:"KS",appItCd:"OAM",appCd:"OAM",systemNm:"K-업무지원",appNm:"OA전산물품관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"GAM",systemNm:"K-업무지원",appNm:"총무관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"ACM",systemNm:"K-업무지원",appNm:"출입관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"IVM",systemNm:"K-업무지원",appNm:"비품관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"SGS",systemNm:"K-업무지원",appNm:"인장서비스"},{sysCd:"KS",appItCd:"HIS",appCd:"HIS",systemNm:"K-업무지원",appNm:"사료관리"},{sysCd:"KS",appItCd:"WFAX",appCd:"WFAX",systemNm:"K-업무지원",appNm:"웹펙스서비스"},{sysCd:"KS",appItCd:"SMS",appCd:"SMS",systemNm:"K-업무지원",appNm:"메시지서비스"},{sysCd:"KS",appItCd:"BID",appCd:"BID",systemNm:"K-업무지원",appNm:"경영공시"},{sysCd:"KS",appItCd:"PAM",appCd:"PAM",systemNm:"K-업무지원",appNm:"언론미디어"},{sysCd:"KS",appItCd:"DAC",appCd:"DAC",systemNm:"K-업무지원",appNm:"심의자문위원회"},{sysCd:"KS",appItCd:"IPR",appCd:"IPR",systemNm:"K-업무지원",appNm:"지식재산권신청"},{sysCd:"KS",appItCd:"ISB",appCd:"ISB",systemNm:"K-업무지원",appNm:"정보공유게시판"},{sysCd:"DE",appItCd:"BCOM",appCd:"BCOM",systemNm:"온통",appNm:"온통"},{sysCd:"TS",appItCd:"ITSM",appCd:"ITSM",systemNm:"ITSM",appNm:"ITSM"},{sysCd:"EP",appItCd:"EPOP",appCd:"EPOP",systemNm:"국민신문고",appNm:"국민신문고"},{sysCd:"VC",appItCd:"VOC",appCd:"VOC",systemNm:"VOC",appNm:"VOC"},{sysCd:"CC",appItCd:"CAL",appCd:"CAL",systemNm:"콜센터",appNm:"콜센터"},{sysCd:"LA",appItCd:"LEG",appCd:"LEG",systemNm:"법규포털",appNm:"법규포털"},{sysCd:"IM",appItCd:"IDXM",appCd:"IDXM",systemNm:"지수방법론",appNm:"지수방법론"},{sysCd:"PM",appItCd:"ORM",appCd:"ORM",systemNm:"운영리스크관리",appNm:"운영리스크관리"},{sysCd:"RF",appItCd:"RFID",appCd:"RFID",systemNm:"RFID(비품관리)",appNm:"RFID(비품관리)"},{sysCd:"SL",appItCd:"SGM",appCd:"SGM",systemNm:"인장관리",appNm:"인장관리"},{sysCd:"DM",appItCd:"LBS",appCd:"LBS",systemNm:"도서관리",appNm:"도서관리"},{sysCd:"HE",appItCd:"RMS",appCd:"RMS",systemNm:"원격지원",appNm:"원격지원"},{sysCd:"WF",appItCd:"WFX",appCd:"WFX",systemNm:"WebFax",appNm:"WebFax"},{sysCd:"SM",appItCd:"SMT",appCd:"SMT",systemNm:"SMS",appNm:"SMS"},{sysCd:"SO",appItCd:"SSO",appCd:"SSO",systemNm:"SSO",appNm:"SSO"},{sysCd:"SF",appItCd:"SFO",appCd:"SFO",systemNm:"생체인증(One Pass)",appNm:"생체인증 FIDO"},{sysCd:"SP",appItCd:"SPO",appCd:"SPO",systemNm:"생체인증(장정맥)",appNm:"생체인증 장정맥"},{sysCd:"AG",appItCd:"APG",appCd:"APG",systemNm:"API GW",appNm:"API Gateway"},{sysCd:"AM",appItCd:"APM",appCd:"APM",systemNm:"APM",appNm:"APM"},{sysCd:"JS",appItCd:"BXS",appCd:"BXS",systemNm:"배치스케줄러",appNm:"배치스케줄러"},{sysCd:"DT",appItCd:"PDT",appCd:"PDT",systemNm:"개인정보변환",appNm:"개인정보변환"}]})},setSystemMap:e=>{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 W(){const[n,r]=F.useState(!1),e=F.useCallback(s=>{const o=s?.getModifierState?.("CapsLock");typeof o=="boolean"&&r(o)},[]);return{capsOn:n,onKeyDown:e}}function fe(n){const{loginApi:r,fetchCommonCodes:e,onAfterLogin:s,onError:o,rememberCookie:t={enabled:!0,days:30}}=n,[a,c]=F.useState(!1),{capsOn:d,onKeyDown:i}=W(),l="SCMSIGN00101",f=`${__SYS_CD__}_login_id`,m={id:t?.enabled?y.getCookie(f):void 0,pswr:void 0},u=F.useCallback(async(h,C)=>{c(!0);try{const S={crprCd:"100",id:h.id,pswr:await y.encryptSha256(h.pswr)},g=await(r??(N=>y.callService(l,N)))(S);if(g?.userInfo?.userId){if(w.getState().setLoginUser(g.userInfo,g?.hrInfo),t?.enabled){const N=t.days??30;h.remember?y.setCookie(f,h.id??"",N):y.setCookie(f,"",0)}return e?await e():await _.getState().fetchCommonCodes(),s?s(g,C):(L.message.success(`${g.userInfo.userNm}님 환영합니다.`),C("/main")),{user:g.userInfo,response:g}}else throw o?.({user:g.userInfo,response:g,navigate:C}),new Error("사용자 정보가 유효하지 않습니다.")}catch(S){throw o?.(S),S}finally{c(!1)}},[l,r,e,s,o,t?.enabled,t?.days]);return{loading:a,capsOn:d,onKeyDown:i,prefills:m,doLogin:u}}function Ie(){const n=Q.useNavigate();return()=>{w.getState().clearLoginUser(),$.getState().clearSystemMap(),_.getState().clearCodes(),A.getState().clearMenu(),U.getState().clearMenuViewStore(),R.getState().clearFavorites(),n("/login")}}const ye=()=>_.getState(),ge=()=>J.getState(),Se=()=>w.getState(),Ne=()=>R.getState(),be=()=>A.getState(),Me=()=>U.getState(),ke=()=>$.getState();exports.useCapsLock=W;exports.useCode=ye;exports.useCodeStore=_;exports.useColorStore=se;exports.useFavorite=Ne;exports.useFavoriteStore=R;exports.useLoadingStore=Ce;exports.useLogin=fe;exports.useLogout=Ie;exports.useMenuModel=be;exports.useMenuModelStore=A;exports.useMenuView=Me;exports.useMenuViewStore=U;exports.useOptionStore=oe;exports.usePopupLoadingStore=he;exports.usePopupState=ge;exports.usePopupStore=J;exports.useSystemCode=ke;exports.useSystemStore=$;exports.useUser=Se;exports.useUserStore=w;
@@ -1,7 +1,7 @@
1
1
  import { create as b } from "zustand";
2
2
  import { callService as N, getServiceCode as w, getUserId as v, getUserInfo as ee, getCookie as te, encryptSha256 as oe, setCookie as $ } from "../utils/index.js";
3
3
  import { message as L } from "antd";
4
- import { l as se } from "../chunks/layout-components-Bp6b-T1V.js";
4
+ import { l as se } from "../chunks/layout-components-DuSrPWSr.js";
5
5
  import { useState as X, useCallback as q } from "react";
6
6
  import { useNavigate as ne } from "react-router-dom";
7
7
  function re(n, r) {
@@ -1,3 +1,3 @@
1
- <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M11.9998 19.9993V20.9993C11.9998 21.3932 12.0774 21.7833 12.2282 22.1473C12.3789 22.5112 12.5999 22.8419 12.8785 23.1205C13.157 23.399 13.4877 23.62 13.8517 23.7708C14.2156 23.9215 14.6057 23.9991 14.9997 23.9991C15.3936 23.9991 15.7837 23.9215 16.1477 23.7708C16.5116 23.62 16.8423 23.399 17.1209 23.1205C17.3994 22.8419 17.6204 22.5112 17.7712 22.1473C17.9219 21.7833 17.9995 21.3932 17.9995 20.9993V19.9993M20.9994 11.9997C20.9994 14.9996 22.9993 19.9993 22.9993 19.9993H7.00006C7.00006 19.9993 8.99996 15.9995 8.99996 11.9997C8.99996 8.73187 11.7318 6 14.9997 6C18.2675 6 20.9994 8.73187 20.9994 11.9997Z" stroke="#485299" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
3
- </svg>
1
+ <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M11.9998 19.9993V20.9993C11.9998 21.3932 12.0774 21.7833 12.2282 22.1473C12.3789 22.5112 12.5999 22.8419 12.8785 23.1205C13.157 23.399 13.4877 23.62 13.8517 23.7708C14.2156 23.9215 14.6057 23.9991 14.9997 23.9991C15.3936 23.9991 15.7837 23.9215 16.1477 23.7708C16.5116 23.62 16.8423 23.399 17.1209 23.1205C17.3994 22.8419 17.6204 22.5112 17.7712 22.1473C17.9219 21.7833 17.9995 21.3932 17.9995 20.9993V19.9993M20.9994 11.9997C20.9994 14.9996 22.9993 19.9993 22.9993 19.9993H7.00006C7.00006 19.9993 8.99996 15.9995 8.99996 11.9997C8.99996 8.73187 11.7318 6 14.9997 6C18.2675 6 20.9994 8.73187 20.9994 11.9997Z" stroke="#485299" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -1,10 +1,10 @@
1
- <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g clip-path="url(#clip0_93_4488)">
3
- <path d="M18 7H21C22.1046 7 23 7.89543 23 9V21C23 22.1046 22.1046 23 21 23H18M11 11L7 15M7 15L11 19M7 15L19 15" stroke="#485299" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
4
- </g>
5
- <defs>
6
- <clipPath id="clip0_93_4488">
7
- <rect width="30" height="30" fill="white"/>
8
- </clipPath>
9
- </defs>
10
- </svg>
1
+ <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_93_4488)">
3
+ <path d="M18 7H21C22.1046 7 23 7.89543 23 9V21C23 22.1046 22.1046 23 21 23H18M11 11L7 15M7 15L11 19M7 15L19 15" stroke="#485299" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_93_4488">
7
+ <rect width="30" height="30" fill="white"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>
@@ -1,4 +1,4 @@
1
- <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M14 6H16C16.5523 6 17 6.44772 17 7V7.56879C17 7.99659 17.2871 8.36825 17.6822 8.53228C18.0775 8.69638 18.5377 8.63384 18.8403 8.33123L19.2426 7.92891C19.6331 7.53838 20.2663 7.53838 20.6568 7.92891L22.071 9.34312C22.4616 9.73365 22.4615 10.3668 22.071 10.7573L21.6688 11.1596C21.3661 11.4622 21.3036 11.9225 21.4677 12.3177C21.6317 12.7129 22.0034 13 22.4313 13L23 13C23.5523 13 24 13.4477 24 14V16C24 16.5523 23.5523 17 23 17H22.4312C22.0034 17 21.6318 17.2871 21.4677 17.6822C21.3036 18.0775 21.3661 18.5377 21.6688 18.8403L22.071 19.2426C22.4616 19.6331 22.4616 20.2663 22.071 20.6568L20.6568 22.071C20.2663 22.4616 19.6331 22.4616 19.2426 22.071L18.8403 21.6688C18.5377 21.3661 18.0775 21.3036 17.6822 21.4677C17.2871 21.6318 17 22.0034 17 22.4312V23C17 23.5523 16.5523 24 16 24H14C13.4477 24 13 23.5523 13 23V22.4313C13 22.0034 12.7129 21.6317 12.3177 21.4677C11.9225 21.3036 11.4622 21.3661 11.1596 21.6688L10.7573 22.071C10.3668 22.4616 9.73363 22.4616 9.34311 22.071L7.92889 20.6568C7.53837 20.2663 7.53837 19.6331 7.92889 19.2426L8.33123 18.8403C8.63384 18.5377 8.69638 18.0775 8.53228 17.6822C8.36825 17.2871 7.99659 17 7.56879 17H7C6.44772 17 6 16.5523 6 16V14C6 13.4477 6.44772 13 7 13L7.56877 13C7.99658 13 8.36825 12.7129 8.53229 12.3178C8.6964 11.9225 8.63386 11.4623 8.33123 11.1597L7.92891 10.7573C7.53838 10.3668 7.53838 9.73365 7.92891 9.34313L9.34312 7.92891C9.73365 7.53839 10.3668 7.53839 10.7573 7.92891L11.1597 8.33123C11.4623 8.63386 11.9225 8.6964 12.3178 8.53229C12.7129 8.36825 13 7.99658 13 7.56876V7C13 6.44772 13.4477 6 14 6Z" stroke="#485299" stroke-width="1.5"/>
3
- <path d="M17 15C17 16.1046 16.1046 17 15 17C13.8954 17 13 16.1046 13 15C13 13.8954 13.8954 13 15 13C16.1046 13 17 13.8954 17 15Z" stroke="#485299" stroke-width="1.5"/>
4
- </svg>
1
+ <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M14 6H16C16.5523 6 17 6.44772 17 7V7.56879C17 7.99659 17.2871 8.36825 17.6822 8.53228C18.0775 8.69638 18.5377 8.63384 18.8403 8.33123L19.2426 7.92891C19.6331 7.53838 20.2663 7.53838 20.6568 7.92891L22.071 9.34312C22.4616 9.73365 22.4615 10.3668 22.071 10.7573L21.6688 11.1596C21.3661 11.4622 21.3036 11.9225 21.4677 12.3177C21.6317 12.7129 22.0034 13 22.4313 13L23 13C23.5523 13 24 13.4477 24 14V16C24 16.5523 23.5523 17 23 17H22.4312C22.0034 17 21.6318 17.2871 21.4677 17.6822C21.3036 18.0775 21.3661 18.5377 21.6688 18.8403L22.071 19.2426C22.4616 19.6331 22.4616 20.2663 22.071 20.6568L20.6568 22.071C20.2663 22.4616 19.6331 22.4616 19.2426 22.071L18.8403 21.6688C18.5377 21.3661 18.0775 21.3036 17.6822 21.4677C17.2871 21.6318 17 22.0034 17 22.4312V23C17 23.5523 16.5523 24 16 24H14C13.4477 24 13 23.5523 13 23V22.4313C13 22.0034 12.7129 21.6317 12.3177 21.4677C11.9225 21.3036 11.4622 21.3661 11.1596 21.6688L10.7573 22.071C10.3668 22.4616 9.73363 22.4616 9.34311 22.071L7.92889 20.6568C7.53837 20.2663 7.53837 19.6331 7.92889 19.2426L8.33123 18.8403C8.63384 18.5377 8.69638 18.0775 8.53228 17.6822C8.36825 17.2871 7.99659 17 7.56879 17H7C6.44772 17 6 16.5523 6 16V14C6 13.4477 6.44772 13 7 13L7.56877 13C7.99658 13 8.36825 12.7129 8.53229 12.3178C8.6964 11.9225 8.63386 11.4623 8.33123 11.1597L7.92891 10.7573C7.53838 10.3668 7.53838 9.73365 7.92891 9.34313L9.34312 7.92891C9.73365 7.53839 10.3668 7.53839 10.7573 7.92891L11.1597 8.33123C11.4623 8.63386 11.9225 8.6964 12.3178 8.53229C12.7129 8.36825 13 7.99658 13 7.56876V7C13 6.44772 13.4477 6 14 6Z" stroke="#485299" stroke-width="1.5"/>
3
+ <path d="M17 15C17 16.1046 16.1046 17 15 17C13.8954 17 13 16.1046 13 15C13 13.8954 13.8954 13 15 13C16.1046 13 17 13.8954 17 15Z" stroke="#485299" stroke-width="1.5"/>
4
+ </svg>
@@ -1,3 +1,3 @@
1
- <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M6.77771 8.1809C6.37747 8.67607 5.62253 8.67607 5.22229 8.18089L2.98627 5.41454C2.4577 4.7606 2.92314 3.78592 3.76399 3.78592L8.23602 3.78592C9.07687 3.78592 9.5423 4.7606 9.01373 5.41454L6.77771 8.1809Z" fill="#B9B9B9"/>
3
- </svg>
1
+ <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6.77771 8.1809C6.37747 8.67607 5.62253 8.67607 5.22229 8.18089L2.98627 5.41454C2.4577 4.7606 2.92314 3.78592 3.76399 3.78592L8.23602 3.78592C9.07687 3.78592 9.5423 4.7606 9.01373 5.41454L6.77771 8.1809Z" fill="#B9B9B9"/>
3
+ </svg>