@bwg-ui/core 1.3.6 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/chunks/{CMSearchIntfGwP01-Cs78BtE7.cjs → CMSearchIntfGwP01-0t3umcc_.cjs} +1 -1
  2. package/dist/chunks/{CMSearchIntfGwP01-BBdPmalj.js → CMSearchIntfGwP01-DCHZJn2H.js} +1 -1
  3. package/dist/chunks/{MenuReport-BCO-gXwk.cjs → MenuReport-C70mGz2g.cjs} +1 -1
  4. package/dist/chunks/{MenuReport-CYK_Eaqa.js → MenuReport-IBdoU2S3.js} +2 -2
  5. package/dist/chunks/{common-components-mXgJEMpT.cjs → common-components-DNgQR-Ge.cjs} +7 -7
  6. package/dist/chunks/{common-components-C61ER0qC.js → common-components-DeYL3J6X.js} +6448 -6443
  7. package/dist/chunks/layout-components-Bf9IsLUS.cjs +38 -0
  8. package/dist/chunks/{layout-components-gqu1pmfr.js → layout-components-DnuV2Psp.js} +626 -602
  9. package/dist/chunks/provider-Bi5OYngn.cjs +1 -0
  10. package/dist/chunks/{provider-Kxea5IoZ.js → provider-Bx4VpaFf.js} +90 -74
  11. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  12. package/dist/components/common/BwgView.d.ts.map +1 -1
  13. package/dist/components/common/index.cjs +1 -1
  14. package/dist/components/common/index.js +1 -1
  15. package/dist/components/core/index.cjs +1 -1
  16. package/dist/components/core/index.js +1 -1
  17. package/dist/components/guide/index.cjs +1 -1
  18. package/dist/components/guide/index.js +2 -2
  19. package/dist/components/layout/AppWrapper.d.ts +5 -1
  20. package/dist/components/layout/AppWrapper.d.ts.map +1 -1
  21. package/dist/components/layout/extension/ContentWrapper.d.ts.map +1 -1
  22. package/dist/components/layout/index.cjs +1 -1
  23. package/dist/components/layout/index.js +1 -1
  24. package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts.map +1 -1
  25. package/dist/components/popup/index.cjs +1 -1
  26. package/dist/components/popup/index.js +1 -1
  27. package/dist/index.cjs +1 -1
  28. package/dist/index.js +273 -271
  29. package/dist/provider/contexts/PageContentContext.d.ts +23 -0
  30. package/dist/provider/contexts/PageContentContext.d.ts.map +1 -0
  31. package/dist/provider/contexts/index.d.ts +1 -0
  32. package/dist/provider/contexts/index.d.ts.map +1 -1
  33. package/dist/provider/index.cjs +1 -1
  34. package/dist/provider/index.js +21 -19
  35. package/dist/stores/index.cjs +1 -1
  36. package/dist/stores/index.js +1 -1
  37. package/dist/utils/index.cjs +1 -1
  38. package/dist/utils/index.d.ts +16 -22
  39. package/dist/utils/index.d.ts.map +1 -1
  40. package/dist/utils/index.js +1260 -1230
  41. package/dist/utils/messageUtils.d.ts +36 -48
  42. package/dist/utils/messageUtils.d.ts.map +1 -1
  43. package/dist/utils/modalUtils.d.ts +68 -0
  44. package/dist/utils/modalUtils.d.ts.map +1 -0
  45. package/dist/utils/notificationUtils.d.ts +50 -41
  46. package/dist/utils/notificationUtils.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/chunks/layout-components-D7I6VhXN.cjs +0 -38
  49. package/dist/chunks/provider-r4mkv5Zs.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),a=require("antd"),x=require("react"),ae=require("../../stores/index.cjs"),E=require("dayjs"),P=require("@ant-design/icons"),T=require("../../utils/index.cjs"),ie=require("jszip"),Z=require("imask"),X=require("../../chunks/provider-r4mkv5Zs.cjs"),G=require("lodash"),J=require("react-dnd"),ce=require("react-dnd-html5-backend"),ue=e=>{const{componentSize:t}=ae.useUserStore(),m=x.useMemo(()=>e.size?e.size:{0:"small",1:"middle",2:"large"}[t],[t,e.size]),i=x.useMemo(()=>({0:12,1:14,2:16})[t],[t]);return n.jsx(a.Button,{...e,size:m,className:"bwg-btn",style:{fontSize:`${i}px`,...e.style},children:e.children})},$=x.memo(({children:e,label:t,name:m,rules:i,initialValue:r,style:l,required:h,...c})=>{const F={fontWeight:"bold"};(i==null||i==null)&&h&&(i=[{required:!0,message:`${t}을(를) 입력해주세요.`}]);const u=Array.isArray(i)&&i.some(j=>j.required===!0),d=()=>typeof t=="string"?n.jsxs("span",{style:F,children:[t,u&&n.jsx("span",{style:{color:"#ff4d4f",marginLeft:"4px"},children:"*"})]}):n.jsx("span",{style:F,children:t});return n.jsx(a.Form.Item,{className:"bwg-form-item",label:t?d():void 0,labelAlign:c.labelAlign||"left",name:m,rules:i,colon:!1,initialValue:r,style:l,...c,children:e})}),de=({itemProps:e,inputProps:t={format:"YN"}})=>{const m=a.Form.useFormInstance(),i=r=>{t.format==="boolean"?m.setFieldValue(e?.name,r.target.checked):m.setFieldValue(e?.name,r.target.checked?"Y":"N"),t.onChange&&t.onChange(r)};return n.jsx($,{...e,getValueProps:r=>({checked:t.format==="boolean"?!!r:r==="Y"}),normalize:r=>typeof r=="boolean"?t.format==="boolean"?r:r?"Y":"N":t.format==="boolean"?!!r:r?"Y":"N",children:n.jsx(a.Checkbox,{...t,onChange:i,children:t?.title})})},fe=({itemProps:e,inputProps:t})=>{const m=a.Form.useFormInstance(),[i,r]=x.useState(e?.initialValue??[]),[l,h]=x.useState([]),c=l.length>0&&l.length==i?.length,F=i?.length>0&&i.length<l.length;x.useEffect(()=>{h(u(t?.options))},[t?.options]),x.useEffect(()=>{r(i)},[i]);const u=C=>{const L=[];return(C||[]).map((k,U)=>{L.push(k.value)}),L},d=C=>{r(C.target.checked?l:[]),m.setFieldValue(e?.name,C.target.checked?l:[])},j=C=>{r(C),m.setFieldValue(e?.name,C),t?.onChange&&typeof t?.onChange=="function"&&t?.onChange(C)};return n.jsx($,{...e,children:n.jsxs(a.ConfigProvider,{theme:{components:{Checkbox:{colorPrimary:"var(--check-primary)",colorPrimaryBorder:"var(--check-primary)",colorPrimaryHover:"var(--check-primary-active)"}}},children:[t?.allCheck&&n.jsx(a.Checkbox,{indeterminate:F,checked:c,onChange:d,children:"전체선택"}),n.jsx(a.Checkbox.Group,{options:t?.options,value:i,onChange:j})]})})},ee={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},me=({itemProps:e,inputProps:t,type:m="date",returnType:i="string"})=>{const{displayFormat:r,outputFormat:l}=x.useMemo(()=>ee[m],[m]),h=x.useMemo(()=>Object.values(ee).map(c=>c.outputFormat).sort((c,F)=>{if(c.length===F.length){if(c===l)return-1;if(F===l)return 1}return F.length-c.length}),[l]);return n.jsx($,{...e,getValueProps:c=>({value:c?E.isDayjs(c)?c:E(c,h):null}),normalize:c=>c?i==="dayjs"?c:c.format(l):null,children:n.jsx(a.DatePicker,{...t,picker:m==="datetime"?"date":m,showTime:t?.showTime??(m==="datetime"||m==="time"),format:t?.format??r})})},ge=({fileGrpKey:e,onFetchFilesTrxCd:t="SCMFILE00101",readOnly:m=!1,appCd:i=__APP_CD__})=>{const[r,l]=x.useState([]);x.useEffect(()=>{if(t)if(i!=__APP_CD__){const F=T.getApiDeps().findSystemByAppCd?.(i??__APP_CD__);if(!F||!F.sysCd){console.error("해당 앱코드는 존재하지 않습니다.",i);return}T.callServiceByAppCd({trxCd:t,appCd:i},{crprCd:T.getCrprCd(),sysCd:F.sysCd,fileGrpKey:e}).then(u=>{if(u?.sub){const d=u.sub.map(j=>({uid:j.fileKey,name:j.lgclFileNm,filePath:j.filePath}));l(d)}}).catch(u=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",u),a.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")})}else T.callService(t,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e}).then(c=>{if(c?.sub){const F=c.sub.map(u=>({uid:u.fileKey,name:u.lgclFileNm,filePath:u.filePath}));l(F)}}).catch(c=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",c),a.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")});else l([])},[e,t,i]);const h=async c=>{try{const u=T.getApiDeps().findSystemByAppCd?.(i??__APP_CD__);if(!u||!u.sysCd){console.error("해당 앱코드는 존재하지 않습니다.",i);return}const j=await fetch("/api/download",{method:"POST",headers:{SYSCD:u.sysCd,"Content-Type":"application/json"},body:JSON.stringify({filePath:c.filePath,logicalName:c.name,fileKey:c.uid})});if(!j.ok){const V=(await j.json().catch(()=>null))?.message||"파일 다운로드에 실패했습니다.";throw new Error(V)}const C=await j.blob(),L=window.URL.createObjectURL(C),k=document.createElement("a");k.href=L,k.setAttribute("download",c.name),document.body.appendChild(k),k.click(),document.body.removeChild(k),window.URL.revokeObjectURL(L)}catch(F){console.error(F),a.message.error(F.message||"파일을 다운로드하는 중 오류가 발생했습니다.")}};return n.jsx(a.Card,{title:"파일 목록",children:n.jsx(a.List,{dataSource:r,renderItem:c=>n.jsx(a.List.Item,{actions:m?[]:[n.jsx(a.Button,{type:"text",icon:n.jsx(P.DownloadOutlined,{}),onClick:()=>h(c)},"download")],children:n.jsx(a.List.Item.Meta,{avatar:n.jsx(P.PaperClipOutlined,{}),title:c.name})})})})},oe=x.forwardRef(({children:e,labelCol:t,style:m,className:i,...r},l)=>n.jsx(a.ConfigProvider,{form:{},children:n.jsx(a.Form,{ref:l,...r,requiredMark:!1,labelCol:t||{flex:"100px"},style:{padding:"10px",...m},className:`bwg-form ${i??""}`,children:e})}));oe.displayName="BwgForm";const he=({itemProps:e,inputProps:t})=>n.jsx($,{...e,children:n.jsx(a.Input,{...t})}),{Text:W}=a.Typography,{Dragger:pe}=a.Upload,ye=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],xe=(e,t=2)=>{if(e===0)return"0 Bytes";const m=1024,i=t<0?0:t,r=["Bytes","KB","MB","GB","TB"],l=Math.floor(Math.log(e)/Math.log(m));return parseFloat((e/Math.pow(m,l)).toFixed(i))+" "+r[l]},Fe=({title:e="첨부파일",fileGrpKey:t,onUploadComplete:m,onSuccessTrxCd:i="SCMFILE00102",anotherServiceTrxCd:r="SCMFILE00105",allowedExtensions:l=ye,maxFileSize:h=2048})=>{const[c,F]=x.useState([]),[u,d]=x.useState(!1),[j,C]=x.useState(!1),[L,k]=x.useState(0),U=p=>{if(l&&l.length>0){const D=(R=>{const o=R.lastIndexOf(".");return o===-1?"":R.substring(o).toLowerCase()})(p.name);if(!l.includes(D))return a.message.error(`${p.name} 파일은 허용되지 않는 확장자입니다. (${l.join(", ")}만 가능)`),!1}return!0},V=async()=>{const p=c.filter(S=>S.status!=="done"),v=p.reduce((S,I)=>S+(I.size||0),0),D=2*1024*1024*1024;if(v>D){a.notification.error({message:"업로드 용량 초과",description:"한 번에 업로드할 수 있는 총 파일 용량은 2GB를 초과할 수 없습니다."});return}if(p.length===0){a.message.warning("업로드할 파일이 없거나 모든 파일이 이미 업로드되었습니다.");return}C(!0);let R;try{const S=new ie;p.forEach(I=>{I.originFileObj&&S.file(I.name,I.originFileObj)}),R=await S.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}})}catch(S){C(!1),a.message.error("파일을 압축하는 중 오류가 발생했습니다."),console.error("Zipping error:",S);return}C(!1);const o=new FormData;o.append("file",R,"upload.zip"),d(!0),k(0);try{const S=await new Promise((N,_)=>{const O=new XMLHttpRequest;O.open("POST","/api/upload-large",!0),O.upload.onprogress=z=>{if(z.lengthComputable){const K=Math.round(z.loaded/z.total*100);k(K)}},O.onload=()=>{if(O.status>=200&&O.status<300)try{const z=JSON.parse(O.responseText);z.success?N(z):_(new Error(z.message||"파일 업로드에 실패했습니다."))}catch{_(new Error("잘못된 서버 응답입니다."))}else try{const z=JSON.parse(O.responseText);_(new Error(z.message||`서버 오류: ${O.status}`))}catch{_(new Error(`서버 오류: ${O.status}`))}},O.onerror=()=>{_(new Error("네트워크 오류가 발생했습니다."))},O.send(o)});a.message.success(S.message||"압축 파일이 성공적으로 업로드되었습니다.");const I=c.map(N=>p.find(_=>_.uid===N.uid)?{...N,status:"done"}:N);if(F(I),i&&S.uploadedFiles&&Array.isArray(S.uploadedFiles)){const N=T.getUserInfo();S.uploadedFiles.forEach(_=>{const O={crprCd:N?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,sub:[{crprCd:N?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,physFileNm:_.fileNameP,lgclFileNm:_.fileNameL,filePath:_.filePath,fileExtn:_.fileExt,fileSize:_.fileSize,mltpYn:"Y"}]};T.callService(i,O).then(z=>{const K=c.map(q=>({crprCd:N?.crprCd,sysCd:__SYS_CD__,fileGrpKey:z.sub[0].fileGrpKey,fileKey:z.sub[0].fileKey,lgclFileNm:q.name,fileSize:q.size,fileExtn:q.name.split(".").pop(),fileType:q.type}));T.callService(r,{sub:K})}).catch(z=>{console.error("후처리 서비스 호출 실패:",z),a.message.error(`${_.fileNameL} 파일의 후처리 작업에 실패했습니다.`)}),m&&m({fileNameP:_.fileNameP,fileNameL:_.fileNameL})})}}catch(S){a.message.error(S.message||"파일 업로드 중 오류가 발생했습니다.");const I=c.map(N=>p.find(_=>_.uid===N.uid)?{...N,status:"error",response:S.message||"파일 업로드 중 오류가 발생했습니다."}:N);F(I)}finally{d(!1)}},B={multiple:!0,fileList:c,beforeUpload:p=>U(p)?h&&p.size>=h*1024*1024?(a.message.error(`대용량 첨부 파일 최대 크기는 ${(h/1024).toFixed(1)}GB입니다.`),a.Upload.LIST_IGNORE):!1:a.Upload.LIST_IGNORE,onChange:({fileList:p})=>{const v=new Map(c.map(D=>[D.uid,D]));p.forEach(D=>{v.set(D.uid,D)}),F(Array.from(v.values()))},onRemove:p=>{const v=c.filter(D=>D.uid!==p.uid);F(v)},showUploadList:!1};return n.jsx(a.Spin,{spinning:u||j,tip:j?"파일 압축 중...":`파일 업로드 중... ${L}%`,children:n.jsxs("div",{className:"bwg-large-uploader-container",children:[n.jsx(a.Card,{title:n.jsx(W,{strong:!0,children:e}),extra:n.jsx(a.Upload,{...B,children:n.jsx(a.Button,{icon:n.jsx(P.UploadOutlined,{}),children:"파일 선택"})}),style:{padding:0},children:n.jsx(pe,{...B,style:{border:"none",background:"transparent",padding:0},children:n.jsx("div",{className:"upload-list-container",children:c.length>0?n.jsx(a.List,{style:{textAlign:"left"},dataSource:c,renderItem:p=>{const v=p.status==="done",D=p.status==="error";let R;return v?R=n.jsx(P.CheckCircleOutlined,{style:{color:"#52c41a",fontSize:14}}):D?R=n.jsx(a.Tooltip,{title:typeof p.response=="string"?p.response:"업로드 실패",children:n.jsx(P.CloseCircleOutlined,{style:{color:"#ff4d4f",fontSize:14}})}):R=n.jsx(P.FileTextOutlined,{style:{fontSize:14}}),n.jsx(a.List.Item,{actions:[n.jsx(W,{type:"secondary",children:xe(p.size||0)},"size"),n.jsx(a.Button,{type:"text",icon:n.jsx(P.DeleteOutlined,{}),onClick:o=>{o.stopPropagation(),B.onRemove?.(p)},disabled:u||j},"delete")],children:n.jsx(a.List.Item.Meta,{avatar:R,title:n.jsx(W,{type:D?"danger":void 0,children:p.name})})},p.uid)}}):n.jsxs(a.Flex,{gap:"middle",align:"center",justify:"center",vertical:!0,style:{padding:"20px 0",minHeight:"120px"},children:[n.jsx(P.InboxOutlined,{style:{fontSize:"32px",color:"#999"}}),n.jsx(W,{type:"secondary",children:"업로드할 파일을 선택하거나 이 영역으로 드래그하세요."})]})})})}),c.length>0&&n.jsxs(a.Flex,{justify:"flex-end",align:"center",gap:"large",style:{marginTop:16},children:[u&&n.jsx("div",{style:{width:"250px"},children:n.jsx(a.Progress,{percent:L,size:"small"})}),n.jsx(a.Button,{type:"primary",onClick:V,disabled:u||j||c.filter(p=>p.status!=="done").length===0,icon:n.jsx(P.CloudUploadOutlined,{}),children:"일괄 업로드"})]})]})})},Ce=e=>{if(typeof e=="string")return e.replace(/0/g,"_");if(Array.isArray(e))return e[0].replace(/0/g,"_");if(typeof e=="object"&&"mask"in e&&"blocks"in e){const{mask:t,blocks:m}=e;return t.split(".").map(i=>{const l=m?.[i]?.maxLength??3;return"_".repeat(l)}).join(".")}return""},Se=({itemProps:e,inputProps:t,mask:m})=>{const i=x.useRef(null),r=a.Form.useFormInstance(),l=x.useMemo(()=>Ce(m),[m]);return x.useEffect(()=>{if(!i.current?.input)return;const h=typeof m=="string"||Array.isArray(m)?{mask:m}:m,c=Z(i.current.input,h);return c.on("accept",()=>{r&&e?.name&&r.setFieldValue(e.name,c.value)}),()=>{c.destroy()}},[m,r,e?.name]),n.jsx($,{...e,children:n.jsx(a.Input,{...t,ref:i,placeholder:l})})},je=e=>{switch(e){case"year":return{format:"YYYY",mask:"0000",outputFormat:"YYYY"};case"month":return{format:"YYYY-MM",mask:"0000-00",outputFormat:"YYYYMM"};case"date":default:return{format:"YYYY-MM-DD",mask:"0000-00-00",outputFormat:"YYYYMMDD"}}},ke=({type:e="date",itemProps:t={name:"calendar"},inputProps:m,pickerProps:i})=>{const{format:r,mask:l,outputFormat:h}=je(e),c=x.useRef(null),F=x.useRef(null),u=x.useRef(null),d=a.Form.useFormInstance(),[j,C]=x.useState(!1),[L,k]=x.useState(!1),U=t?.name,[V,B]=x.useState(null),p=a.Form.useWatch(U,d),v=X.useSizeConfig();x.useEffect(()=>{if(!c.current?.input)return;const o=Z(c.current.input,{mask:l,lazy:!1});return F.current=o,o.on("accept",()=>{const S=o.value;S.length>0&&C(!0);const I=E(S,r,!0);S.length===r.length&&I.isValid()&&(d.setFieldValue(U,I.format(h)),B(I),F.current?.updateValue())}),()=>{o.destroy()}},[r,l]),x.useEffect(()=>{if(!p){B(null);return}let o=null;if(typeof p=="string"&&p.length===h.length&&/^\d+$/.test(p))if(e==="date"){const S=p.substring(0,4),I=p.substring(4,6),N=p.substring(6,8);o=E(`${S}-${I}-${N}`,r,!0)}else if(e==="month"){const S=p.substring(0,4),I=p.substring(4,6);o=E(`${S}-${I}`,r,!0)}else e==="year"&&(o=E(p,r,!0));else o=E(p,r,!0);o&&o.isValid()?B(o):B(null),k(!1)},[p,r,h,e]);const D=o=>{if(!o){d.setFieldValue(U,void 0),B(null),F.current?.updateValue();return}B(o);const S=o.format(h);d.setFieldValue(U,S),F.current&&(F.current.value=o.format(r),F.current.updateValue()),k(!1)},R=o=>{setTimeout(()=>{const S=document.activeElement,I=u.current,N=I?.querySelector(".ant-picker-dropdown");!(I&&(I.contains(S)||I===S||N?.contains(S)))&&!(o!==void 0?o:j)&&console.log("✅ Input과 DatePicker 모두 포커스가 없습니다")},0)};return n.jsx($,{...t,name:void 0,validateStatus:L?"warning":void 0,children:n.jsxs(a.ConfigProvider,{componentSize:v.componentSize,theme:{components:{Input:{addonBg:"#fff"}}},children:[n.jsx(a.Form.Item,{name:U,getValueProps:o=>({value:o?E(o).format(r):void 0}),normalize:o=>o?E(o).format(h):void 0,noStyle:!0,rules:t?.rules??[],children:n.jsx(a.Input,{...m,ref:c,onFocus:()=>{C(!j),F.current?.updateValue()},onBlur:()=>{R()},onKeyDown:o=>{if(o.key==="Backspace"&&C(!0),o.key==="Tab"&&C(!1),o.key==="Enter")if(j){const S=F.current?.value||"",I=E(S,r,!0);S.length===r.length&&I.isValid()?(C(!1),k(!1)):k(!0)}else C(!0)},style:{width:"65%"},allowClear:!0,placeholder:l.replace(/0/g,"_"),suffix:n.jsx(P.CalendarOutlined,{style:{color:"#d9d9d9"}}),autoComplete:"off"})}),n.jsx(a.DatePicker,{...i,open:j,picker:e,format:{format:r,type:"mask"},showNow:!0,value:V,onChange:D,onOpenChange:o=>{C(o),o||R(!1)},renderExtraFooter:()=>L?n.jsxs("div",{style:{color:"#faad14",paddingLeft:"8px",fontSize:"12px",display:"flex",alignItems:"center",gap:"6px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fffbe6"},children:[n.jsx(P.ExclamationCircleOutlined,{}),n.jsx("span",{children:"유효하지 않은 날짜입니다"})]}):null,getPopupContainer:o=>o.parentElement,style:{position:"absolute",top:0,left:0,pointerEvents:"none",opacity:0,width:"100%"}})]})})},{RangePicker:Ye}=a.DatePicker,be=e=>{switch(e){case"year":return{format:"YYYY",mask:"0000",outputFormat:"YYYY"};case"month":return{format:"YYYY-MM",mask:"0000-00",outputFormat:"YYYYMM"};case"date":default:return{format:"YYYY-MM-DD",mask:"0000-00-00",outputFormat:"YYYYMMDD"}}},we=({type:e="date",itemProps:t={name:"dateRange"},inputProps:m,pickerProps:i})=>{const{format:r,mask:l,outputFormat:h}=be(e),c=x.useRef(null),F=x.useRef(null),u=x.useRef(null),d=x.useRef(null),j=x.useRef(null),C=a.Form.useFormInstance(),[L,k]=x.useState(!1),[U,V]=x.useState(!1),[B,p]=x.useState(null),[v,D]=x.useState(!1),R=x.useRef(!1),o=t?.name,[S,I]=x.useState([null,null]),N=a.Form.useWatch(o?Array.isArray(o)?[...o,0]:[o,0]:void 0,C),_=a.Form.useWatch(o?Array.isArray(o)?[...o,1]:[o,1]:void 0,C),O=a.Form.useWatch(o,C),z=X.useSizeConfig();x.useEffect(()=>{if(!c.current?.input)return;const s=Z(c.current.input,{mask:l,lazy:!1});return u.current=s,s.on("accept",()=>{const g=s.value,y=s.unmaskedValue||"";if(console.log("🔵 [시작일] accept 이벤트:",{maskValue:g,unmaskedValue:y,length:g.length,formatLength:r.length}),g.length>0&&(p("start"),k(!0),D(!1)),y.length===h.length){const f=E(g,r,!0);if(f.isValid()){console.log("🔵 [시작일] 입력 완료 및 검증 통과:",{parsed:f.format(r)});const M=f.format(h);R.current=!0;const b=Array.isArray(o)?[...o,0]:[o,0];C.setFieldValue(b,M),I([f,S[1]]),u.current&&u.current.updateValue(),V(!1),setTimeout(()=>{d.current&&(d.current.value="",d.current.unmaskedValue="",d.current.updateValue());const Y=Array.isArray(o)?[...o,1]:[o,1];C.getFieldValue(Y)||C.setFieldValue(Y,void 0),F.current?.focus(),setTimeout(()=>{if(d.current){const A=d.current.value||"";!(d.current.unmaskedValue||"")&&!A.replace(/[^0-9]/g,"")&&(d.current.value="",d.current.updateValue())}},10),p("end"),k(!0),R.current=!1},0)}else i?.allowEmpty?V(!1):(console.log("🔵 [시작일] 검증 실패:",{val:g,parsed:f}),V(!0))}}),()=>{s.destroy()}},[r,l,o]),x.useEffect(()=>{if(!F.current?.input)return;const s=Z(F.current.input,{mask:l,lazy:!1});return d.current=s,s.on("accept",()=>{const g=s.value,y=s.unmaskedValue||"";if(console.log("🟢 [종료일] accept 이벤트:",{maskValue:g,unmaskedValue:y,length:g.length,formatLength:r.length}),y===""||y.length===0){const f=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(f,void 0),I([S[0],null]),d.current&&(d.current.value="",d.current.updateValue()),setTimeout(()=>{c.current?.focus(),p("start"),k(!0)},0);return}if(g.length>0&&(p("end"),k(!0)),g.length<r.length){V(!1);return}if(y.length===h.length){const f=E(g,r,!0);if(f.isValid()){const M=f.format(h);console.log("🟢 [종료일] 입력 완료:",{parsed:f.format(r),formatted:M}),R.current=!0;const b=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(b,M),I([S[0],f]),d.current?.updateValue(),setTimeout(()=>{R.current=!1},0)}else i?.allowEmpty?V(!1):(console.log("🟢 [종료일] 검증 실패:",{val:g,parsed:f}),V(!0))}}),()=>{s.destroy()}},[r,l,o]),x.useEffect(()=>{console.log("🟡 [useEffect] form 값 변경 감지:",{startFormValue:N,endFormValue:_,formValue:O});const s=N??(Array.isArray(O)?O[0]:null),g=_??(Array.isArray(O)?O[1]:null);if(s===void 0&&g===void 0&&(!O||!Array.isArray(O))){I([null,null]);return}const y=b=>{if(!b)return null;let Y=null;if(typeof b=="string"&&b.length===h.length&&/^\d+$/.test(b))if(e==="date"){const w=b.substring(0,4),A=b.substring(4,6),H=b.substring(6,8);Y=E(`${w}-${A}-${H}`,r,!0)}else if(e==="month"){const w=b.substring(0,4),A=b.substring(4,6);Y=E(`${w}-${A}`,r,!0)}else e==="year"&&(Y=E(b,r,!0));else Y=E(b,r,!0);return Y&&Y.isValid()?Y:null},f=y(s),M=y(g);if(console.log("🟡 [useEffect] 파싱 결과:",{startParsed:f?f.format(r):null,endParsed:M?M.format(r):null,isStartDateFromPicker:v}),I([f,M]),R.current){console.log("🟡 [useEffect] 사용자 입력 중 - 마스크 값 업데이트 스킵"),V(!1);return}if(!v&&u.current){const b=u.current.value||"",Y=f?f.format(r):"",w=u.current.unmaskedValue||"",A=f?f.format(h):"";console.log("🟡 [useEffect] 시작일 마스크 값 체크:",{currentMaskValue:b,expectedMaskValue:Y,unmaskedValue:w,expectedUnmasked:A,shouldUpdate:b===""||b!==Y,canUpdate:w===""||w===A}),(b===""||b!==Y)&&(w===""||w===A?(console.log("🟡 [useEffect] 시작일 마스크 값 업데이트:",{before:b,after:f?f.format(r):""}),f?(u.current.value=f.format(r),u.current.updateValue()):(u.current.value="",u.current.updateValue())):console.log("🟡 [useEffect] 시작일 마스크 값 업데이트 스킵 (사용자 입력 중)"))}if(d.current){const b=d.current.value||"",Y=M?M.format(r):"",w=d.current.unmaskedValue||"",A=M?M.format(h):"";console.log("🟡 [useEffect] 종료일 마스크 값 체크:",{currentMaskValue:b,expectedMaskValue:Y,unmaskedValue:w,expectedUnmasked:A,shouldUpdate:b===""||b!==Y,canUpdate:w===""||w===A}),(b===""||b!==Y)&&(w===""||w===A?(console.log("🟡 [useEffect] 종료일 마스크 값 업데이트:",{before:b,after:Y}),M?(d.current.value=M.format(r),d.current.updateValue()):(d.current.value="",d.current.updateValue())):console.log("🟡 [useEffect] 종료일 마스크 값 업데이트 스킵 (사용자 입력 중)"))}V(!1)},[N,_,O,r,h,e]);const K=s=>{if(console.log("🔴 [RangePicker] 날짜 변경:",{dates:s?[s[0]?s[0].format(r):null,s[1]?s[1].format(r):null]:null,prevRange:[S[0]?S[0].format(r):null,S[1]?S[1].format(r):null]}),!s){I([null,null]);const Y=Array.isArray(o)?[...o,0]:[o,0],w=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(Y,void 0),C.setFieldValue(w,void 0),u.current?.updateValue(),d.current?.updateValue();return}const[g,y]=s,f=S[0],M=g&&(!f||!g.isSame(f,e==="year"?"year":e==="month"?"month":"day"));if(console.log("🔴 [RangePicker] 시작일 변경 여부:",{isStartDateChanged:M,startDate:g?g.format(r):null,prevStartDate:f?f.format(r):null}),I([g,y]),M){console.log("🔴 [RangePicker] 시작일 선택됨 - input 비우기"),D(!0),u.current&&(u.current.value="",u.current.updateValue());const Y=g.format(h);console.log("🔴 [RangePicker] form 값 업데이트:",{formatted:Y});const w=Array.isArray(o)?[...o,0]:[o,0];C.setFieldValue(w,Y)}else if(!g&&u.current){D(!1),u.current.value="",u.current.updateValue();const Y=Array.isArray(o)?[...o,0]:[o,0];C.setFieldValue(Y,void 0)}else D(!1);const b=Array.isArray(o)?[...o,1]:[o,1];if(y){const Y=y.format(h);C.setFieldValue(b,Y),d.current&&(d.current.value=y.format(r),d.current.updateValue())}else C.setFieldValue(b,void 0),d.current&&(d.current.value="",d.current.updateValue());V(!1)},q=s=>{setTimeout(()=>{const g=document.activeElement,y=j.current,f=y?.querySelector(".ant-picker-dropdown");!(y&&(y.contains(g)||y===g||f?.contains(g)))&&!(s!==void 0?s:L)&&(console.log("✅ Input과 RangePicker 모두 포커스가 없습니다"),k(!1))},0)};return n.jsx($,{...t,name:void 0,validateStatus:U?"warning":void 0,children:n.jsxs(a.ConfigProvider,{componentSize:z.componentSize,theme:{components:{Input:{addonBg:"#fff"}}},children:[n.jsxs("div",{ref:j,style:{display:"flex",alignItems:"center",gap:"8px",width:"100%"},children:[n.jsx(a.Form.Item,{name:o?Array.isArray(o)?[...o,0]:[o,0]:void 0,getValueProps:s=>{if(!s)return{value:void 0};if(typeof s=="string"&&s.length===h.length&&/^\d+$/.test(s)){if(e==="date"){const g=s.substring(0,4),y=s.substring(4,6),f=s.substring(6,8);return{value:`${g}-${y}-${f}`}}else if(e==="month"){const g=s.substring(0,4),y=s.substring(4,6);return{value:`${g}-${y}`}}else if(e==="year")return{value:s}}return{value:E(s).format(r)}},normalize:s=>s?E(s).format(h):(i?.allowEmpty,void 0),noStyle:!0,rules:t?.rules??[],children:n.jsx(a.Input,{...m,value:void 0,ref:c,onFocus:()=>{if(p("start"),k(!L),D(!1),u.current){const s=Array.isArray(o)?[...o,0]:[o,0];C.getFieldValue(s)||(u.current.value="",u.current.unmaskedValue=""),u.current.updateValue()}},onBlur:()=>{q()},onKeyDown:s=>{if(s.key==="Backspace"&&(p("start"),k(!0)),s.key==="Enter")if(L&&B==="start"){const g=u.current?.value||"";g.length===r.length?E(g,r,!0).isValid()?(k(!1),V(!1)):i?.allowEmpty?V(!1):V(!0):V(!1)}else p("start"),k(!0)},style:{flex:1},allowClear:!0,placeholder:l.replace(/0/g,"_"),suffix:n.jsx(P.CalendarOutlined,{style:{color:"#d9d9d9"}}),autoComplete:"off"})}),n.jsx("span",{style:{color:"#d9d9d9",userSelect:"none"},children:"~"}),n.jsx(a.Form.Item,{name:o?Array.isArray(o)?[...o,1]:[o,1]:void 0,getValueProps:s=>{if(!s)return{value:void 0};if(typeof s=="string"&&s.length===h.length&&/^\d+$/.test(s)){if(e==="date"){const g=s.substring(0,4),y=s.substring(4,6),f=s.substring(6,8);return{value:`${g}-${y}-${f}`}}else if(e==="month"){const g=s.substring(0,4),y=s.substring(4,6);return{value:`${g}-${y}`}}else if(e==="year")return{value:s}}return{value:E(s).format(r)}},normalize:s=>s?E(s).format(h):(i?.allowEmpty,void 0),noStyle:!0,rules:t?.rules??[],children:n.jsx(a.Input,{...m,ref:F,onFocus:()=>{if(p("end"),k(!L),d.current){d.current.updateValue();const s=d.current.value||"";!(d.current.unmaskedValue||"")&&!s.replace(/[^0-9]/g,"")&&(d.current.value="",d.current.updateValue())}},onBlur:()=>{q()},onKeyDown:s=>{if(s.key==="Backspace"){const g=d.current?.value||"",y=d.current?.unmaskedValue||"";if(g===""||y===""||g.replace(/[^0-9]/g,"").length<=1){s.preventDefault();const f=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(f,void 0),I([S[0],null]),d.current&&(d.current.value="",d.current.updateValue()),setTimeout(()=>{c.current?.focus(),p("start"),k(!0)},0);return}p("end"),k(!0)}if(s.key==="Tab"&&k(!1),s.key==="Enter")if(L&&B==="end"){const g=d.current?.value||"";g.length===r.length?E(g,r,!0).isValid()?(k(!1),V(!1)):i?.allowEmpty?V(!1):V(!0):V(!1)}else p("end"),k(!0)},style:{flex:1},allowClear:!0,onClear:()=>{const s=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(s,void 0),I([S[0],null]),d.current&&(d.current.value="",d.current.updateValue()),setTimeout(()=>{c.current?.focus(),p("start"),k(!0)},0)},placeholder:l.replace(/0/g,"_"),suffix:n.jsx(P.CalendarOutlined,{style:{color:"#d9d9d9"}}),autoComplete:"off"})})]}),n.jsx(Ye,{...i,open:L,picker:e,format:{format:r,type:"mask"},showNow:!0,value:S,onChange:K,onOpenChange:s=>{k(s),s||q(!1)},renderExtraFooter:()=>U?n.jsxs("div",{style:{color:"#faad14",paddingLeft:"8px",fontSize:"12px",display:"flex",alignItems:"center",gap:"6px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fffbe6"},children:[n.jsx(P.ExclamationCircleOutlined,{}),n.jsx("span",{children:"유효하지 않은 날짜입니다"})]}):null,getPopupContainer:s=>s.parentElement,style:{position:"absolute",top:0,left:0,pointerEvents:"none",opacity:0,width:"100%"}})]})})},{Option:te}=a.Select,Ve=({itemProps:e,inputProps:t})=>{const[m,i]=x.useState([]);return x.useEffect(()=>{t?.addField==="ALL"?i([{label:"전체",value:""},...t?.list||[]]):t?.addField==="NULL"?i([{label:"",value:""},...t?.list||[]]):i(t?.list||[])},[t?.list]),n.jsx($,{...e,getValueProps:r=>r?{value:r&&r.indexOf(",")>0?r.split(","):[r]}:{value:[]},normalize:r=>r!=null&&r!=null&&r.length>0?r.toString():"",children:n.jsx(a.Select,{...t,mode:"multiple",children:m.map(r=>{const{value:l,label:h}=r;return t?.printCode?n.jsx(te,{value:l,label:h,children:n.jsx(a.Space,{children:`[${l}] ${h}`})},l):n.jsx(te,{value:l,label:h,children:n.jsx(a.Space,{children:`${h}`})},l)})})})},Ie=({itemProps:e,inputProps:t})=>{const m=r=>{let l=r.toString().split(".");return t?.decimalPoint!=null&&l[1]!=null&&t?.decimalPoint>0?l[1].length>t?.decimalPoint?l[1]="."+l[1].substring(0,t?.decimalPoint):l[1]="."+l[1]:l[1]="",l[0].replace(/\B(?=(\d{3})+(?!\d))/g,",")+l[1]},i=r=>{let l=r.toString().split(".");return t?.decimalPoint!=null&&l[1]!=null&&t?.decimalPoint>0?l[1].length>t?.decimalPoint?l[1]="."+l[1].substring(0,t?.decimalPoint):l[1]="."+l[1]:l[1]="",l[0].replace(/\$\s?|(,*)/g,"")+l[1]};return n.jsx($,{...e,children:n.jsx(a.InputNumber,{...t,formatter:r=>m(r),parser:r=>i(r)})})},Ne=({itemProps:e,inputProps:t})=>n.jsx($,{...e,children:n.jsx(a.Radio.Group,{...t})}),{RangePicker:ve}=a.DatePicker,re={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},Le=({itemProps:e,inputProps:t,type:m="date",minDate:i,maxDate:r,returnType:l="string"})=>{const{displayFormat:h,outputFormat:c}=x.useMemo(()=>re[m],[m]),F=x.useMemo(()=>Object.values(re).map(u=>u.outputFormat).sort((u,d)=>{if(u.length===d.length){if(u===c)return-1;if(d===c)return 1}return d.length-u.length}),[c]);return n.jsx($,{...e,getValueProps:u=>({value:u&&u.length>0?[u[0]?E.isDayjs(u[0])?u[0]:E(u[0],F):null,u[1]?E.isDayjs(u[1])?u[1]:E(u[1],F):null]:null}),normalize:u=>u?l==="dayjs"?[u[0]??void 0,u[1]??void 0]:[u[0]?u[0].format(c):void 0,u[1]?u[1].format(c):void 0]:[void 0,void 0],children:n.jsx(ve,{...t,order:!0,minDate:i?E(i,F):void 0,maxDate:r?E(r,F):void 0,picker:m==="datetime"?"date":m,showTime:t?.showTime??(m==="datetime"||m==="time"),format:h})})},ne=a.Input.Search,Me=e=>{const t=a.Form.useFormInstance(),{openPopup:m}=ae.usePopupStore(),i=e.itemProps?.name||[],r=e.popupConfig||{callback(h){Array.isArray(i)&&i.length>1?(t.setFieldValue(i[0],h.code),t.setFieldValue(i[1],h.name)):t.setFieldValue(i,h.code)}},l={...e,placeholder:typeof e.placeholder=="string"?e.placeholder:e.placeholder?.[0]||"",onChange:h=>{Array.isArray(i)&&i.length>1&&t.setFieldValue(i[0],""),e.onChange?.(h)},onSearch:h=>{e.popuCd?m(e.popuCd,e.popupParams,r):e.onSearch?.(h)}};return Array.isArray(i)&&i.length>1?n.jsx($,{...e.itemProps,name:void 0,children:n.jsxs(a.Space.Compact,{block:!0,children:[n.jsx(a.Form.Item,{name:i[0],rules:e.itemProps?.rules,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:n.jsx(a.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:e.placeholder?.[0]||"",readOnly:!0})}),n.jsx(a.Form.Item,{name:i[1],style:{width:"60%",marginBottom:0},children:n.jsx(ne,{readOnly:e.readOnly,enterButton:n.jsx(a.Button,{icon:n.jsx(P.SearchOutlined,{}),disabled:e.readOnly}),...l})})]})}):n.jsx($,{...e.itemProps,children:n.jsx(ne,{...l})})},Be=({itemProps:e,selectProps:t={options:[],allowClear:!0}})=>{const m=a.Form.useFormInstance(),i=!!m,r=x.useMemo(()=>t?.addField==="ALL"?[{label:"전체",value:""},...t?.options||[]]:t?.addField==="NULL"?[{label:"",value:""},...t?.options||[]]:t?.options||[],[t.options,t.addField]),l=F=>{t.onChange?.(F)},h={...t,allowClear:t.allowClear??!0,options:r,onChange:l,variant:t.variant},c=n.jsx(a.Select,{...h,disabled:t.disabled});return t.copyable&&!i&&console.warn("BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다."),t.copyable?n.jsx($,{...e,name:void 0,children:n.jsxs(a.Space.Compact,{block:!0,children:[n.jsx(a.Form.Item,{name:e?.name,rules:e?.rules,style:{width:"100%",marginBottom:0},validateStatus:"",help:"",children:c}),n.jsx(a.Typography.Paragraph,{copyable:{text:i&&m?.getFieldValue(e?.name)?.toString()||"",tooltips:["코드복사","코드복사됨"]},style:{margin:0,backgroundColor:"#f5f5f5",borderRadius:"4px",border:"1px solid #d9d9d9",fontSize:"12px",color:"#666",display:"flex",alignItems:"center",height:"30px",padding:"0 8px"}})]})}):n.jsx($,{...e,children:c})},Ee=({itemProps:e,inputProps:t={format:"YN"}})=>{const m=a.Form.useFormInstance(),i=(r,l)=>{t.format==="boolean"?m.setFieldValue(e?.name,r):m.setFieldValue(e?.name,r?"Y":"N"),t.onChange&&t.onChange(r,l)};return n.jsx($,{...e,getValueProps:r=>({checked:t.format==="boolean"?!!r:r==="Y"}),normalize:r=>typeof r=="boolean"?t.format==="boolean"?r:r?"Y":"N":t.format==="boolean"?!!r:r?"Y":"N",children:n.jsx(a.Switch,{...t,onChange:(r,l)=>i(r,l)})})},{TextArea:De}=a.Input,Ae=({itemProps:e,inputProps:t})=>n.jsx($,{...e,children:n.jsx(De,{...t})}),_e=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],se={FILE:"file"},Oe=({originNode:e,file:t,fileList:m,moveFile:i,onDrop:r})=>{const l=x.useRef(null),[{handlerId:h},c]=J.useDrop({accept:se.FILE,collect:j=>({handlerId:j.getHandlerId()}),hover(j,C){if(!l.current)return;const L=j.uid,k=t.uid;if(L===k)return;const U=G.findIndex(m,{uid:k}),V=G.findIndex(m,{uid:L});if(V===-1||U===-1)return;const B=l.current.getBoundingClientRect(),p=C.getClientOffset();if(!p)return;const v=(B.bottom-B.top)/2,D=p.y-B.top;V<U&&D<v||V>U&&D>v||i(L,k)},drop(){r()}}),[{isDragging:F},u]=J.useDrag({type:se.FILE,item:()=>({uid:t.uid,index:G.findIndex(m,{uid:t.uid})}),collect:j=>({isDragging:j.isDragging()})}),d=F?0:1;return u(c(l)),n.jsx("div",{ref:l,style:{opacity:d},"data-handler-id":h,children:e})},Re=({itemProps:e,fileGrpKey:t,onUploadComplete:m,onFetchFilesTrxCd:i="SCMFILE00101",onSuccessTrxCd:r="SCMFILE00102",onDeleteFileTrxCd:l="SCMFILE00103",onReorderFilesTrxCd:h="SCMFILE00104",allowedExtensions:c=_e,maxFileSize:F=200,showButton:u=!0,multiple:d=!1,newFileGrpKeyonModify:j=!1,buttonText:C="파일 선택",localOnly:L=!1,onFilesChange:k})=>{const[U,V]=x.useState([]),B=x.useRef(t),p=x.useRef([]),v=a.Form.useFormInstance(),D=()=>{if(L||p.current.length===0)return;const s=[...p.current];if(p.current=[],r){const g=s.map(y=>({crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:B.current,physFileNm:y.fileNameP,lgclFileNm:y.fileNameL,filePath:y.filePath,fileExtn:y.fileExt,fileSize:y.fileSize,mltpYn:"N"}));console.log("newFileGrpKeyonModify",j),console.log("newFileGrpKeyonModify",j?0:B.current),T.callService(r,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:j?0:B.current,oldFileGrpKey:B.current,newFileGrpKeyonModify:j,sub:g}).then(y=>{if(y?.sub&&y.sub.length>0){const f=y.sub[0].fileGrpKey;(!B.current||j)&&(B.current=f);const M=new Map;y.sub.forEach(w=>{const A=s.find(H=>H.fileNameL===w.lgclFileNm);A&&M.set(A.tempId,w)});const b=e?.name;(w=>{if(N){const A=v?.getFieldValue(b)||[],H=w(A);v?.setFieldValue(b,H)}else V(A=>w(A))})(w=>w.map(A=>{const H=M.get(A.uid);if(H){const Q=s.find(le=>le.tempId===A.uid);return m&&Q&&m({...Q,fileGrpKey:f,fileKey:H.fileKey}),{...A,name:H.lgclFileNm,fileGrpKey:f,fileKey:H.fileKey,uid:H.fileKey,status:"done",url:`/api/download?filePath=${H.filePath}&logicalName=${H.lgclFileNm}`}}return A}))}}).catch(y=>{console.error("업로드 후처리 서비스 호출 실패:",y),a.message.error("파일 후처리 중 오류가 발생했습니다.");const f=new Set(s.map(Y=>Y.tempId)),M=e?.name;(Y=>{if(N){const w=v?.getFieldValue(M)||[],A=Y(w);v?.setFieldValue(M,A)}else V(w=>Y(w))})(Y=>Y.map(w=>f.has(w.uid)?{...w,status:"error",error:"후처리 실패"}:w))})}},R=x.useRef(G.debounce(D,500)).current;x.useEffect(()=>()=>{R.cancel()},[R]),x.useEffect(()=>{B.current=t},[t]),x.useEffect(()=>{L||t&&i&&T.callService(i,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t}).then(s=>{if(s?.sub){const g=s.sub.map(f=>({uid:f.fileKey,name:f.lgclFileNm,status:"done",url:`/api/download?filePath=${f.filePath}&logicalName=${f.lgclFileNm}`})),y=e?.name;N?v?.setFieldValue(y,g):V(g)}else{const g=e?.name;N?v?.setFieldValue(g,[]):V([])}}).catch(s=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",s),a.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")})},[t,i]);const o=(s,g)=>{const y=e?.name,f=N?v?.getFieldValue(y)||[]:U,M=G.findIndex(f,{uid:s}),b=G.findIndex(f,{uid:g});if(M<0||b<0)return;const Y=[...f],[w]=Y.splice(M,1);Y.splice(b,0,w),N?v?.setFieldValue(y,Y):V(Y)},S=()=>{if(!L&&t&&h){const s=e?.name,y=(N?v?.getFieldValue(s)||[]:U).map(f=>f.uid);T.callService(h,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,reorderedFileKeys:y}).then(()=>{a.message.success("파일 순서가 성공적으로 저장되었습니다.")}).catch(f=>{console.error("파일 순서 저장 서비스 호출 실패:",f),a.message.error("파일 순서 저장 중 오류가 발생했습니다.")})}},I=s=>{const g=e?.name,y=N?v?.getFieldValue(g)||[]:U;if(!d&&y.length>0)return a.message.error("하나의 파일만 업로드할 수 있습니다."),a.Upload.LIST_IGNORE;if(c&&c.length>0){const f=`.${s.name.split(".").pop()?.toLowerCase()}`;if(!c.includes(f))return a.message.error(`${s.name} 파일은 허용되지 않는 확장자입니다. (${c.join(", ")})`),a.Upload.LIST_IGNORE}return F&&!(s.size/1024/1024<F)?(a.message.error(`일반업로드의 최대용량은 ${F}MB입니다.`),a.Upload.LIST_IGNORE):!L},N=!!e?.name,_={name:"file",multiple:d,action:L?void 0:"/api/upload",beforeUpload:I,showUploadList:{showRemoveIcon:u},onChange(s){const{status:g,uid:y}=s.file;if(g==="removed"){if(!L&&l)T.callService(l,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:j?0:B.current,fileKey:y,oldFileGrpKey:B.current,newFileGrpKeyonModify:j}).then(f=>{if(a.message.success("파일이 성공적으로 삭제되었습니다."),j&&(B.current=f.fileGrpKey),N){const M=e?.name;v?.setFieldValue(M,s.fileList)}else V(s.fileList);k?.(s.fileList),m?.({fileGrpKey:f.fileGrpKey})}).catch(f=>{console.error("파일 삭제 서비스 호출에 실패했습니다.",f),a.message.error("파일 삭제 중 오류가 발생했습니다.")});else{if(N){const f=e?.name;v?.setFieldValue(f,s.fileList)}else V(s.fileList);k?.(s.fileList)}return}if(N){const f=e?.name;v?.setFieldValue(f,s.fileList)}else V(s.fileList);if(k?.(s.fileList),g==="done")if(!L&&s.file.response?.success){const{uploadedFiles:f}=s.file.response;f&&Array.isArray(f)&&f.length>0&&(f.forEach(M=>{M.tempId=s.file.uid,p.current.push(M)}),R()),a.message.success(s.file.response.message||`${s.file.name} 파일이 성공적으로 업로드되었습니다.`)}else a.message.error(s.file.response?.message||`${s.file.name} 파일 업로드에 실패했습니다.`);else g==="error"&&a.message.error(s.file.response?.message||`${s.file.name} 파일 업로드 중 오류가 발생했습니다.`)},itemRender(s,g,y){const f=x.cloneElement(s,{href:g.url||void 0,title:void 0});return n.jsx(Oe,{originNode:f,file:g,fileList:y,moveFile:o,onDrop:S},g.uid)}};N||(_.fileList=U);const O=s=>Array.isArray(s)?s:s&&s.fileList,z=e?.name,K=N?a.Form.useWatch?.(z,v):void 0,q=N?K||[]:U;return n.jsx(J.DndProvider,{backend:ce.HTML5Backend,children:n.jsx($,{valuePropName:"fileList",getValueFromEvent:O,...e,children:n.jsx(a.Upload,{headers:{SYSCD:__SYS_CD__},..._,listType:"picture",children:u&&(d||q.length===0)&&n.jsx(a.Button,{icon:n.jsx(P.UploadOutlined,{}),children:C})})})})},Ue=a.Input.Search,ze=e=>{const t=a.Form.useFormInstance(),{openCorePopup:m}=X.usePopup(),i={value:"deptNm",fieldName:"deptNm",placeholder:"부서명"},r={value:"empNm",fieldName:"empNm",placeholder:"사원명 입력"},l=e.field1||i,h=e.field2||r,c=x.useCallback(d=>{t.setFieldValue(e.employeeFieldName||"employee",d),t.setFieldValue(e.empNoFieldName||"empNo",d.empNo??""),t.setFieldValue(l.fieldName,d[l.value||"deptNm"]??""),t.setFieldValue(h.fieldName,d[h.value||"empNm"]??""),e.onFinish?.()},[t,l,h,e.employeeFieldName]),F=x.useCallback(d=>{m("CORE_ORGANIZATION_01",{onSelect:j=>{c(j)},defaultParams:{keyword:d}})},[c,m]),u=x.useCallback(async d=>{const j=d?.trim();if(j)try{const C=await T.callService("SCMUTIL00101",{keyword:j},{showLoading:!1}),L=C?.empList||[];if(C?.empCnt===0){a.message.warning("일치하는 사원을 찾을 수 없어 팝업을 열립니다. 사원을 선택해주세요."),F();return}if(C?.empCnt>1){a.message.info("여러 건이 검색되어 팝업이 열립니다. 사원을 선택해주세요."),F(j);return}const k=L[0];c(k)}catch(C){console.error("사원 검색 서비스 실패:",C),a.message.error("사원 검색 중 오류가 발생했습니다.")}},[c,F]);return n.jsx($,{label:e.label||"사원",name:void 0,children:n.jsxs(a.Space.Compact,{block:!0,children:[n.jsx(a.Form.Item,{name:l.fieldName,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:n.jsx(a.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:l.placeholder,readOnly:!0})}),n.jsx(a.Form.Item,{name:e.employeeFieldName||"employee",hidden:!0}),n.jsx(a.Form.Item,{name:e.empNoFieldName||"empNo",hidden:!0}),n.jsx(a.Form.Item,{name:h.fieldName,style:{width:"60%",marginBottom:0},children:n.jsx(Ue,{allowClear:!0,readOnly:e.readOnly,placeholder:h.placeholder,enterButton:n.jsx(a.Button,{icon:n.jsx(P.SearchOutlined,{}),disabled:e.readOnly,onClick:()=>{F()}}),onSearch:u,onChange:d=>{t.setFieldValue(l.fieldName,""),t.setFieldValue(e.employeeFieldName||"employee",null),t.setFieldValue(e.empNoFieldName||"empNo","")}})})]})})};exports.BwgButton=ue;exports.BwgCheck=de;exports.BwgCheckList=fe;exports.BwgDatePicker=me;exports.BwgDownload=ge;exports.BwgEmpSearch=ze;exports.BwgForm=oe;exports.BwgFormItem=$;exports.BwgInput=he;exports.BwgLargeUploader=Fe;exports.BwgMaskedDate=ke;exports.BwgMaskedInput=Se;exports.BwgMaskedRange=we;exports.BwgMultiSelect=Ve;exports.BwgNumber=Ie;exports.BwgRadio=Ne;exports.BwgRangePicker=Le;exports.BwgSearch=Me;exports.BwgSelect=Be;exports.BwgSwitch=Ee;exports.BwgTextArea=Ae;exports.BwgUploader=Re;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),a=require("antd"),x=require("react"),ae=require("../../stores/index.cjs"),E=require("dayjs"),P=require("@ant-design/icons"),T=require("../../utils/index.cjs"),ie=require("jszip"),Z=require("imask"),X=require("../../chunks/provider-Bi5OYngn.cjs"),G=require("lodash"),J=require("react-dnd"),ce=require("react-dnd-html5-backend"),ue=e=>{const{componentSize:t}=ae.useUserStore(),m=x.useMemo(()=>e.size?e.size:{0:"small",1:"middle",2:"large"}[t],[t,e.size]),i=x.useMemo(()=>({0:12,1:14,2:16})[t],[t]);return n.jsx(a.Button,{...e,size:m,className:"bwg-btn",style:{fontSize:`${i}px`,...e.style},children:e.children})},$=x.memo(({children:e,label:t,name:m,rules:i,initialValue:r,style:l,required:h,...c})=>{const F={fontWeight:"bold"};(i==null||i==null)&&h&&(i=[{required:!0,message:`${t}을(를) 입력해주세요.`}]);const u=Array.isArray(i)&&i.some(j=>j.required===!0),d=()=>typeof t=="string"?n.jsxs("span",{style:F,children:[t,u&&n.jsx("span",{style:{color:"#ff4d4f",marginLeft:"4px"},children:"*"})]}):n.jsx("span",{style:F,children:t});return n.jsx(a.Form.Item,{className:"bwg-form-item",label:t?d():void 0,labelAlign:c.labelAlign||"left",name:m,rules:i,colon:!1,initialValue:r,style:l,...c,children:e})}),de=({itemProps:e,inputProps:t={format:"YN"}})=>{const m=a.Form.useFormInstance(),i=r=>{t.format==="boolean"?m.setFieldValue(e?.name,r.target.checked):m.setFieldValue(e?.name,r.target.checked?"Y":"N"),t.onChange&&t.onChange(r)};return n.jsx($,{...e,getValueProps:r=>({checked:t.format==="boolean"?!!r:r==="Y"}),normalize:r=>typeof r=="boolean"?t.format==="boolean"?r:r?"Y":"N":t.format==="boolean"?!!r:r?"Y":"N",children:n.jsx(a.Checkbox,{...t,onChange:i,children:t?.title})})},fe=({itemProps:e,inputProps:t})=>{const m=a.Form.useFormInstance(),[i,r]=x.useState(e?.initialValue??[]),[l,h]=x.useState([]),c=l.length>0&&l.length==i?.length,F=i?.length>0&&i.length<l.length;x.useEffect(()=>{h(u(t?.options))},[t?.options]),x.useEffect(()=>{r(i)},[i]);const u=C=>{const L=[];return(C||[]).map((k,U)=>{L.push(k.value)}),L},d=C=>{r(C.target.checked?l:[]),m.setFieldValue(e?.name,C.target.checked?l:[])},j=C=>{r(C),m.setFieldValue(e?.name,C),t?.onChange&&typeof t?.onChange=="function"&&t?.onChange(C)};return n.jsx($,{...e,children:n.jsxs(a.ConfigProvider,{theme:{components:{Checkbox:{colorPrimary:"var(--check-primary)",colorPrimaryBorder:"var(--check-primary)",colorPrimaryHover:"var(--check-primary-active)"}}},children:[t?.allCheck&&n.jsx(a.Checkbox,{indeterminate:F,checked:c,onChange:d,children:"전체선택"}),n.jsx(a.Checkbox.Group,{options:t?.options,value:i,onChange:j})]})})},ee={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},me=({itemProps:e,inputProps:t,type:m="date",returnType:i="string"})=>{const{displayFormat:r,outputFormat:l}=x.useMemo(()=>ee[m],[m]),h=x.useMemo(()=>Object.values(ee).map(c=>c.outputFormat).sort((c,F)=>{if(c.length===F.length){if(c===l)return-1;if(F===l)return 1}return F.length-c.length}),[l]);return n.jsx($,{...e,getValueProps:c=>({value:c?E.isDayjs(c)?c:E(c,h):null}),normalize:c=>c?i==="dayjs"?c:c.format(l):null,children:n.jsx(a.DatePicker,{...t,picker:m==="datetime"?"date":m,showTime:t?.showTime??(m==="datetime"||m==="time"),format:t?.format??r})})},ge=({fileGrpKey:e,onFetchFilesTrxCd:t="SCMFILE00101",readOnly:m=!1,appCd:i=__APP_CD__})=>{const[r,l]=x.useState([]);x.useEffect(()=>{if(t)if(i!=__APP_CD__){const F=T.getApiDeps().findSystemByAppCd?.(i??__APP_CD__);if(!F||!F.sysCd){console.error("해당 앱코드는 존재하지 않습니다.",i);return}T.callServiceByAppCd({trxCd:t,appCd:i},{crprCd:T.getCrprCd(),sysCd:F.sysCd,fileGrpKey:e}).then(u=>{if(u?.sub){const d=u.sub.map(j=>({uid:j.fileKey,name:j.lgclFileNm,filePath:j.filePath}));l(d)}}).catch(u=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",u),a.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")})}else T.callService(t,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e}).then(c=>{if(c?.sub){const F=c.sub.map(u=>({uid:u.fileKey,name:u.lgclFileNm,filePath:u.filePath}));l(F)}}).catch(c=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",c),a.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")});else l([])},[e,t,i]);const h=async c=>{try{const u=T.getApiDeps().findSystemByAppCd?.(i??__APP_CD__);if(!u||!u.sysCd){console.error("해당 앱코드는 존재하지 않습니다.",i);return}const j=await fetch("/api/download",{method:"POST",headers:{SYSCD:u.sysCd,"Content-Type":"application/json"},body:JSON.stringify({filePath:c.filePath,logicalName:c.name,fileKey:c.uid})});if(!j.ok){const V=(await j.json().catch(()=>null))?.message||"파일 다운로드에 실패했습니다.";throw new Error(V)}const C=await j.blob(),L=window.URL.createObjectURL(C),k=document.createElement("a");k.href=L,k.setAttribute("download",c.name),document.body.appendChild(k),k.click(),document.body.removeChild(k),window.URL.revokeObjectURL(L)}catch(F){console.error(F),a.message.error(F.message||"파일을 다운로드하는 중 오류가 발생했습니다.")}};return n.jsx(a.Card,{title:"파일 목록",children:n.jsx(a.List,{dataSource:r,renderItem:c=>n.jsx(a.List.Item,{actions:m?[]:[n.jsx(a.Button,{type:"text",icon:n.jsx(P.DownloadOutlined,{}),onClick:()=>h(c)},"download")],children:n.jsx(a.List.Item.Meta,{avatar:n.jsx(P.PaperClipOutlined,{}),title:c.name})})})})},oe=x.forwardRef(({children:e,labelCol:t,style:m,className:i,...r},l)=>n.jsx(a.ConfigProvider,{form:{},children:n.jsx(a.Form,{ref:l,...r,requiredMark:!1,labelCol:t||{flex:"100px"},style:{padding:"10px",...m},className:`bwg-form ${i??""}`,children:e})}));oe.displayName="BwgForm";const he=({itemProps:e,inputProps:t})=>n.jsx($,{...e,children:n.jsx(a.Input,{...t})}),{Text:W}=a.Typography,{Dragger:pe}=a.Upload,ye=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],xe=(e,t=2)=>{if(e===0)return"0 Bytes";const m=1024,i=t<0?0:t,r=["Bytes","KB","MB","GB","TB"],l=Math.floor(Math.log(e)/Math.log(m));return parseFloat((e/Math.pow(m,l)).toFixed(i))+" "+r[l]},Fe=({title:e="첨부파일",fileGrpKey:t,onUploadComplete:m,onSuccessTrxCd:i="SCMFILE00102",anotherServiceTrxCd:r="SCMFILE00105",allowedExtensions:l=ye,maxFileSize:h=2048})=>{const[c,F]=x.useState([]),[u,d]=x.useState(!1),[j,C]=x.useState(!1),[L,k]=x.useState(0),U=p=>{if(l&&l.length>0){const D=(R=>{const o=R.lastIndexOf(".");return o===-1?"":R.substring(o).toLowerCase()})(p.name);if(!l.includes(D))return a.message.error(`${p.name} 파일은 허용되지 않는 확장자입니다. (${l.join(", ")}만 가능)`),!1}return!0},V=async()=>{const p=c.filter(S=>S.status!=="done"),v=p.reduce((S,I)=>S+(I.size||0),0),D=2*1024*1024*1024;if(v>D){a.notification.error({message:"업로드 용량 초과",description:"한 번에 업로드할 수 있는 총 파일 용량은 2GB를 초과할 수 없습니다."});return}if(p.length===0){a.message.warning("업로드할 파일이 없거나 모든 파일이 이미 업로드되었습니다.");return}C(!0);let R;try{const S=new ie;p.forEach(I=>{I.originFileObj&&S.file(I.name,I.originFileObj)}),R=await S.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}})}catch(S){C(!1),a.message.error("파일을 압축하는 중 오류가 발생했습니다."),console.error("Zipping error:",S);return}C(!1);const o=new FormData;o.append("file",R,"upload.zip"),d(!0),k(0);try{const S=await new Promise((N,_)=>{const O=new XMLHttpRequest;O.open("POST","/api/upload-large",!0),O.upload.onprogress=z=>{if(z.lengthComputable){const K=Math.round(z.loaded/z.total*100);k(K)}},O.onload=()=>{if(O.status>=200&&O.status<300)try{const z=JSON.parse(O.responseText);z.success?N(z):_(new Error(z.message||"파일 업로드에 실패했습니다."))}catch{_(new Error("잘못된 서버 응답입니다."))}else try{const z=JSON.parse(O.responseText);_(new Error(z.message||`서버 오류: ${O.status}`))}catch{_(new Error(`서버 오류: ${O.status}`))}},O.onerror=()=>{_(new Error("네트워크 오류가 발생했습니다."))},O.send(o)});a.message.success(S.message||"압축 파일이 성공적으로 업로드되었습니다.");const I=c.map(N=>p.find(_=>_.uid===N.uid)?{...N,status:"done"}:N);if(F(I),i&&S.uploadedFiles&&Array.isArray(S.uploadedFiles)){const N=T.getUserInfo();S.uploadedFiles.forEach(_=>{const O={crprCd:N?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,sub:[{crprCd:N?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,physFileNm:_.fileNameP,lgclFileNm:_.fileNameL,filePath:_.filePath,fileExtn:_.fileExt,fileSize:_.fileSize,mltpYn:"Y"}]};T.callService(i,O).then(z=>{const K=c.map(q=>({crprCd:N?.crprCd,sysCd:__SYS_CD__,fileGrpKey:z.sub[0].fileGrpKey,fileKey:z.sub[0].fileKey,lgclFileNm:q.name,fileSize:q.size,fileExtn:q.name.split(".").pop(),fileType:q.type}));T.callService(r,{sub:K})}).catch(z=>{console.error("후처리 서비스 호출 실패:",z),a.message.error(`${_.fileNameL} 파일의 후처리 작업에 실패했습니다.`)}),m&&m({fileNameP:_.fileNameP,fileNameL:_.fileNameL})})}}catch(S){a.message.error(S.message||"파일 업로드 중 오류가 발생했습니다.");const I=c.map(N=>p.find(_=>_.uid===N.uid)?{...N,status:"error",response:S.message||"파일 업로드 중 오류가 발생했습니다."}:N);F(I)}finally{d(!1)}},B={multiple:!0,fileList:c,beforeUpload:p=>U(p)?h&&p.size>=h*1024*1024?(a.message.error(`대용량 첨부 파일 최대 크기는 ${(h/1024).toFixed(1)}GB입니다.`),a.Upload.LIST_IGNORE):!1:a.Upload.LIST_IGNORE,onChange:({fileList:p})=>{const v=new Map(c.map(D=>[D.uid,D]));p.forEach(D=>{v.set(D.uid,D)}),F(Array.from(v.values()))},onRemove:p=>{const v=c.filter(D=>D.uid!==p.uid);F(v)},showUploadList:!1};return n.jsx(a.Spin,{spinning:u||j,tip:j?"파일 압축 중...":`파일 업로드 중... ${L}%`,children:n.jsxs("div",{className:"bwg-large-uploader-container",children:[n.jsx(a.Card,{title:n.jsx(W,{strong:!0,children:e}),extra:n.jsx(a.Upload,{...B,children:n.jsx(a.Button,{icon:n.jsx(P.UploadOutlined,{}),children:"파일 선택"})}),style:{padding:0},children:n.jsx(pe,{...B,style:{border:"none",background:"transparent",padding:0},children:n.jsx("div",{className:"upload-list-container",children:c.length>0?n.jsx(a.List,{style:{textAlign:"left"},dataSource:c,renderItem:p=>{const v=p.status==="done",D=p.status==="error";let R;return v?R=n.jsx(P.CheckCircleOutlined,{style:{color:"#52c41a",fontSize:14}}):D?R=n.jsx(a.Tooltip,{title:typeof p.response=="string"?p.response:"업로드 실패",children:n.jsx(P.CloseCircleOutlined,{style:{color:"#ff4d4f",fontSize:14}})}):R=n.jsx(P.FileTextOutlined,{style:{fontSize:14}}),n.jsx(a.List.Item,{actions:[n.jsx(W,{type:"secondary",children:xe(p.size||0)},"size"),n.jsx(a.Button,{type:"text",icon:n.jsx(P.DeleteOutlined,{}),onClick:o=>{o.stopPropagation(),B.onRemove?.(p)},disabled:u||j},"delete")],children:n.jsx(a.List.Item.Meta,{avatar:R,title:n.jsx(W,{type:D?"danger":void 0,children:p.name})})},p.uid)}}):n.jsxs(a.Flex,{gap:"middle",align:"center",justify:"center",vertical:!0,style:{padding:"20px 0",minHeight:"120px"},children:[n.jsx(P.InboxOutlined,{style:{fontSize:"32px",color:"#999"}}),n.jsx(W,{type:"secondary",children:"업로드할 파일을 선택하거나 이 영역으로 드래그하세요."})]})})})}),c.length>0&&n.jsxs(a.Flex,{justify:"flex-end",align:"center",gap:"large",style:{marginTop:16},children:[u&&n.jsx("div",{style:{width:"250px"},children:n.jsx(a.Progress,{percent:L,size:"small"})}),n.jsx(a.Button,{type:"primary",onClick:V,disabled:u||j||c.filter(p=>p.status!=="done").length===0,icon:n.jsx(P.CloudUploadOutlined,{}),children:"일괄 업로드"})]})]})})},Ce=e=>{if(typeof e=="string")return e.replace(/0/g,"_");if(Array.isArray(e))return e[0].replace(/0/g,"_");if(typeof e=="object"&&"mask"in e&&"blocks"in e){const{mask:t,blocks:m}=e;return t.split(".").map(i=>{const l=m?.[i]?.maxLength??3;return"_".repeat(l)}).join(".")}return""},Se=({itemProps:e,inputProps:t,mask:m})=>{const i=x.useRef(null),r=a.Form.useFormInstance(),l=x.useMemo(()=>Ce(m),[m]);return x.useEffect(()=>{if(!i.current?.input)return;const h=typeof m=="string"||Array.isArray(m)?{mask:m}:m,c=Z(i.current.input,h);return c.on("accept",()=>{r&&e?.name&&r.setFieldValue(e.name,c.value)}),()=>{c.destroy()}},[m,r,e?.name]),n.jsx($,{...e,children:n.jsx(a.Input,{...t,ref:i,placeholder:l})})},je=e=>{switch(e){case"year":return{format:"YYYY",mask:"0000",outputFormat:"YYYY"};case"month":return{format:"YYYY-MM",mask:"0000-00",outputFormat:"YYYYMM"};case"date":default:return{format:"YYYY-MM-DD",mask:"0000-00-00",outputFormat:"YYYYMMDD"}}},ke=({type:e="date",itemProps:t={name:"calendar"},inputProps:m,pickerProps:i})=>{const{format:r,mask:l,outputFormat:h}=je(e),c=x.useRef(null),F=x.useRef(null),u=x.useRef(null),d=a.Form.useFormInstance(),[j,C]=x.useState(!1),[L,k]=x.useState(!1),U=t?.name,[V,B]=x.useState(null),p=a.Form.useWatch(U,d),v=X.useSizeConfig();x.useEffect(()=>{if(!c.current?.input)return;const o=Z(c.current.input,{mask:l,lazy:!1});return F.current=o,o.on("accept",()=>{const S=o.value;S.length>0&&C(!0);const I=E(S,r,!0);S.length===r.length&&I.isValid()&&(d.setFieldValue(U,I.format(h)),B(I),F.current?.updateValue())}),()=>{o.destroy()}},[r,l]),x.useEffect(()=>{if(!p){B(null);return}let o=null;if(typeof p=="string"&&p.length===h.length&&/^\d+$/.test(p))if(e==="date"){const S=p.substring(0,4),I=p.substring(4,6),N=p.substring(6,8);o=E(`${S}-${I}-${N}`,r,!0)}else if(e==="month"){const S=p.substring(0,4),I=p.substring(4,6);o=E(`${S}-${I}`,r,!0)}else e==="year"&&(o=E(p,r,!0));else o=E(p,r,!0);o&&o.isValid()?B(o):B(null),k(!1)},[p,r,h,e]);const D=o=>{if(!o){d.setFieldValue(U,void 0),B(null),F.current?.updateValue();return}B(o);const S=o.format(h);d.setFieldValue(U,S),F.current&&(F.current.value=o.format(r),F.current.updateValue()),k(!1)},R=o=>{setTimeout(()=>{const S=document.activeElement,I=u.current,N=I?.querySelector(".ant-picker-dropdown");!(I&&(I.contains(S)||I===S||N?.contains(S)))&&!(o!==void 0?o:j)&&console.log("✅ Input과 DatePicker 모두 포커스가 없습니다")},0)};return n.jsx($,{...t,name:void 0,validateStatus:L?"warning":void 0,children:n.jsxs(a.ConfigProvider,{componentSize:v.componentSize,theme:{components:{Input:{addonBg:"#fff"}}},children:[n.jsx(a.Form.Item,{name:U,getValueProps:o=>({value:o?E(o).format(r):void 0}),normalize:o=>o?E(o).format(h):void 0,noStyle:!0,rules:t?.rules??[],children:n.jsx(a.Input,{...m,ref:c,onFocus:()=>{C(!j),F.current?.updateValue()},onBlur:()=>{R()},onKeyDown:o=>{if(o.key==="Backspace"&&C(!0),o.key==="Tab"&&C(!1),o.key==="Enter")if(j){const S=F.current?.value||"",I=E(S,r,!0);S.length===r.length&&I.isValid()?(C(!1),k(!1)):k(!0)}else C(!0)},style:{width:"65%"},allowClear:!0,placeholder:l.replace(/0/g,"_"),suffix:n.jsx(P.CalendarOutlined,{style:{color:"#d9d9d9"}}),autoComplete:"off"})}),n.jsx(a.DatePicker,{...i,open:j,picker:e,format:{format:r,type:"mask"},showNow:!0,value:V,onChange:D,onOpenChange:o=>{C(o),o||R(!1)},renderExtraFooter:()=>L?n.jsxs("div",{style:{color:"#faad14",paddingLeft:"8px",fontSize:"12px",display:"flex",alignItems:"center",gap:"6px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fffbe6"},children:[n.jsx(P.ExclamationCircleOutlined,{}),n.jsx("span",{children:"유효하지 않은 날짜입니다"})]}):null,getPopupContainer:o=>o.parentElement,style:{position:"absolute",top:0,left:0,pointerEvents:"none",opacity:0,width:"100%"}})]})})},{RangePicker:Ye}=a.DatePicker,be=e=>{switch(e){case"year":return{format:"YYYY",mask:"0000",outputFormat:"YYYY"};case"month":return{format:"YYYY-MM",mask:"0000-00",outputFormat:"YYYYMM"};case"date":default:return{format:"YYYY-MM-DD",mask:"0000-00-00",outputFormat:"YYYYMMDD"}}},we=({type:e="date",itemProps:t={name:"dateRange"},inputProps:m,pickerProps:i})=>{const{format:r,mask:l,outputFormat:h}=be(e),c=x.useRef(null),F=x.useRef(null),u=x.useRef(null),d=x.useRef(null),j=x.useRef(null),C=a.Form.useFormInstance(),[L,k]=x.useState(!1),[U,V]=x.useState(!1),[B,p]=x.useState(null),[v,D]=x.useState(!1),R=x.useRef(!1),o=t?.name,[S,I]=x.useState([null,null]),N=a.Form.useWatch(o?Array.isArray(o)?[...o,0]:[o,0]:void 0,C),_=a.Form.useWatch(o?Array.isArray(o)?[...o,1]:[o,1]:void 0,C),O=a.Form.useWatch(o,C),z=X.useSizeConfig();x.useEffect(()=>{if(!c.current?.input)return;const s=Z(c.current.input,{mask:l,lazy:!1});return u.current=s,s.on("accept",()=>{const g=s.value,y=s.unmaskedValue||"";if(console.log("🔵 [시작일] accept 이벤트:",{maskValue:g,unmaskedValue:y,length:g.length,formatLength:r.length}),g.length>0&&(p("start"),k(!0),D(!1)),y.length===h.length){const f=E(g,r,!0);if(f.isValid()){console.log("🔵 [시작일] 입력 완료 및 검증 통과:",{parsed:f.format(r)});const M=f.format(h);R.current=!0;const b=Array.isArray(o)?[...o,0]:[o,0];C.setFieldValue(b,M),I([f,S[1]]),u.current&&u.current.updateValue(),V(!1),setTimeout(()=>{d.current&&(d.current.value="",d.current.unmaskedValue="",d.current.updateValue());const Y=Array.isArray(o)?[...o,1]:[o,1];C.getFieldValue(Y)||C.setFieldValue(Y,void 0),F.current?.focus(),setTimeout(()=>{if(d.current){const A=d.current.value||"";!(d.current.unmaskedValue||"")&&!A.replace(/[^0-9]/g,"")&&(d.current.value="",d.current.updateValue())}},10),p("end"),k(!0),R.current=!1},0)}else i?.allowEmpty?V(!1):(console.log("🔵 [시작일] 검증 실패:",{val:g,parsed:f}),V(!0))}}),()=>{s.destroy()}},[r,l,o]),x.useEffect(()=>{if(!F.current?.input)return;const s=Z(F.current.input,{mask:l,lazy:!1});return d.current=s,s.on("accept",()=>{const g=s.value,y=s.unmaskedValue||"";if(console.log("🟢 [종료일] accept 이벤트:",{maskValue:g,unmaskedValue:y,length:g.length,formatLength:r.length}),y===""||y.length===0){const f=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(f,void 0),I([S[0],null]),d.current&&(d.current.value="",d.current.updateValue()),setTimeout(()=>{c.current?.focus(),p("start"),k(!0)},0);return}if(g.length>0&&(p("end"),k(!0)),g.length<r.length){V(!1);return}if(y.length===h.length){const f=E(g,r,!0);if(f.isValid()){const M=f.format(h);console.log("🟢 [종료일] 입력 완료:",{parsed:f.format(r),formatted:M}),R.current=!0;const b=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(b,M),I([S[0],f]),d.current?.updateValue(),setTimeout(()=>{R.current=!1},0)}else i?.allowEmpty?V(!1):(console.log("🟢 [종료일] 검증 실패:",{val:g,parsed:f}),V(!0))}}),()=>{s.destroy()}},[r,l,o]),x.useEffect(()=>{console.log("🟡 [useEffect] form 값 변경 감지:",{startFormValue:N,endFormValue:_,formValue:O});const s=N??(Array.isArray(O)?O[0]:null),g=_??(Array.isArray(O)?O[1]:null);if(s===void 0&&g===void 0&&(!O||!Array.isArray(O))){I([null,null]);return}const y=b=>{if(!b)return null;let Y=null;if(typeof b=="string"&&b.length===h.length&&/^\d+$/.test(b))if(e==="date"){const w=b.substring(0,4),A=b.substring(4,6),H=b.substring(6,8);Y=E(`${w}-${A}-${H}`,r,!0)}else if(e==="month"){const w=b.substring(0,4),A=b.substring(4,6);Y=E(`${w}-${A}`,r,!0)}else e==="year"&&(Y=E(b,r,!0));else Y=E(b,r,!0);return Y&&Y.isValid()?Y:null},f=y(s),M=y(g);if(console.log("🟡 [useEffect] 파싱 결과:",{startParsed:f?f.format(r):null,endParsed:M?M.format(r):null,isStartDateFromPicker:v}),I([f,M]),R.current){console.log("🟡 [useEffect] 사용자 입력 중 - 마스크 값 업데이트 스킵"),V(!1);return}if(!v&&u.current){const b=u.current.value||"",Y=f?f.format(r):"",w=u.current.unmaskedValue||"",A=f?f.format(h):"";console.log("🟡 [useEffect] 시작일 마스크 값 체크:",{currentMaskValue:b,expectedMaskValue:Y,unmaskedValue:w,expectedUnmasked:A,shouldUpdate:b===""||b!==Y,canUpdate:w===""||w===A}),(b===""||b!==Y)&&(w===""||w===A?(console.log("🟡 [useEffect] 시작일 마스크 값 업데이트:",{before:b,after:f?f.format(r):""}),f?(u.current.value=f.format(r),u.current.updateValue()):(u.current.value="",u.current.updateValue())):console.log("🟡 [useEffect] 시작일 마스크 값 업데이트 스킵 (사용자 입력 중)"))}if(d.current){const b=d.current.value||"",Y=M?M.format(r):"",w=d.current.unmaskedValue||"",A=M?M.format(h):"";console.log("🟡 [useEffect] 종료일 마스크 값 체크:",{currentMaskValue:b,expectedMaskValue:Y,unmaskedValue:w,expectedUnmasked:A,shouldUpdate:b===""||b!==Y,canUpdate:w===""||w===A}),(b===""||b!==Y)&&(w===""||w===A?(console.log("🟡 [useEffect] 종료일 마스크 값 업데이트:",{before:b,after:Y}),M?(d.current.value=M.format(r),d.current.updateValue()):(d.current.value="",d.current.updateValue())):console.log("🟡 [useEffect] 종료일 마스크 값 업데이트 스킵 (사용자 입력 중)"))}V(!1)},[N,_,O,r,h,e]);const K=s=>{if(console.log("🔴 [RangePicker] 날짜 변경:",{dates:s?[s[0]?s[0].format(r):null,s[1]?s[1].format(r):null]:null,prevRange:[S[0]?S[0].format(r):null,S[1]?S[1].format(r):null]}),!s){I([null,null]);const Y=Array.isArray(o)?[...o,0]:[o,0],w=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(Y,void 0),C.setFieldValue(w,void 0),u.current?.updateValue(),d.current?.updateValue();return}const[g,y]=s,f=S[0],M=g&&(!f||!g.isSame(f,e==="year"?"year":e==="month"?"month":"day"));if(console.log("🔴 [RangePicker] 시작일 변경 여부:",{isStartDateChanged:M,startDate:g?g.format(r):null,prevStartDate:f?f.format(r):null}),I([g,y]),M){console.log("🔴 [RangePicker] 시작일 선택됨 - input 비우기"),D(!0),u.current&&(u.current.value="",u.current.updateValue());const Y=g.format(h);console.log("🔴 [RangePicker] form 값 업데이트:",{formatted:Y});const w=Array.isArray(o)?[...o,0]:[o,0];C.setFieldValue(w,Y)}else if(!g&&u.current){D(!1),u.current.value="",u.current.updateValue();const Y=Array.isArray(o)?[...o,0]:[o,0];C.setFieldValue(Y,void 0)}else D(!1);const b=Array.isArray(o)?[...o,1]:[o,1];if(y){const Y=y.format(h);C.setFieldValue(b,Y),d.current&&(d.current.value=y.format(r),d.current.updateValue())}else C.setFieldValue(b,void 0),d.current&&(d.current.value="",d.current.updateValue());V(!1)},q=s=>{setTimeout(()=>{const g=document.activeElement,y=j.current,f=y?.querySelector(".ant-picker-dropdown");!(y&&(y.contains(g)||y===g||f?.contains(g)))&&!(s!==void 0?s:L)&&(console.log("✅ Input과 RangePicker 모두 포커스가 없습니다"),k(!1))},0)};return n.jsx($,{...t,name:void 0,validateStatus:U?"warning":void 0,children:n.jsxs(a.ConfigProvider,{componentSize:z.componentSize,theme:{components:{Input:{addonBg:"#fff"}}},children:[n.jsxs("div",{ref:j,style:{display:"flex",alignItems:"center",gap:"8px",width:"100%"},children:[n.jsx(a.Form.Item,{name:o?Array.isArray(o)?[...o,0]:[o,0]:void 0,getValueProps:s=>{if(!s)return{value:void 0};if(typeof s=="string"&&s.length===h.length&&/^\d+$/.test(s)){if(e==="date"){const g=s.substring(0,4),y=s.substring(4,6),f=s.substring(6,8);return{value:`${g}-${y}-${f}`}}else if(e==="month"){const g=s.substring(0,4),y=s.substring(4,6);return{value:`${g}-${y}`}}else if(e==="year")return{value:s}}return{value:E(s).format(r)}},normalize:s=>s?E(s).format(h):(i?.allowEmpty,void 0),noStyle:!0,rules:t?.rules??[],children:n.jsx(a.Input,{...m,value:void 0,ref:c,onFocus:()=>{if(p("start"),k(!L),D(!1),u.current){const s=Array.isArray(o)?[...o,0]:[o,0];C.getFieldValue(s)||(u.current.value="",u.current.unmaskedValue=""),u.current.updateValue()}},onBlur:()=>{q()},onKeyDown:s=>{if(s.key==="Backspace"&&(p("start"),k(!0)),s.key==="Enter")if(L&&B==="start"){const g=u.current?.value||"";g.length===r.length?E(g,r,!0).isValid()?(k(!1),V(!1)):i?.allowEmpty?V(!1):V(!0):V(!1)}else p("start"),k(!0)},style:{flex:1},allowClear:!0,placeholder:l.replace(/0/g,"_"),suffix:n.jsx(P.CalendarOutlined,{style:{color:"#d9d9d9"}}),autoComplete:"off"})}),n.jsx("span",{style:{color:"#d9d9d9",userSelect:"none"},children:"~"}),n.jsx(a.Form.Item,{name:o?Array.isArray(o)?[...o,1]:[o,1]:void 0,getValueProps:s=>{if(!s)return{value:void 0};if(typeof s=="string"&&s.length===h.length&&/^\d+$/.test(s)){if(e==="date"){const g=s.substring(0,4),y=s.substring(4,6),f=s.substring(6,8);return{value:`${g}-${y}-${f}`}}else if(e==="month"){const g=s.substring(0,4),y=s.substring(4,6);return{value:`${g}-${y}`}}else if(e==="year")return{value:s}}return{value:E(s).format(r)}},normalize:s=>s?E(s).format(h):(i?.allowEmpty,void 0),noStyle:!0,rules:t?.rules??[],children:n.jsx(a.Input,{...m,ref:F,onFocus:()=>{if(p("end"),k(!L),d.current){d.current.updateValue();const s=d.current.value||"";!(d.current.unmaskedValue||"")&&!s.replace(/[^0-9]/g,"")&&(d.current.value="",d.current.updateValue())}},onBlur:()=>{q()},onKeyDown:s=>{if(s.key==="Backspace"){const g=d.current?.value||"",y=d.current?.unmaskedValue||"";if(g===""||y===""||g.replace(/[^0-9]/g,"").length<=1){s.preventDefault();const f=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(f,void 0),I([S[0],null]),d.current&&(d.current.value="",d.current.updateValue()),setTimeout(()=>{c.current?.focus(),p("start"),k(!0)},0);return}p("end"),k(!0)}if(s.key==="Tab"&&k(!1),s.key==="Enter")if(L&&B==="end"){const g=d.current?.value||"";g.length===r.length?E(g,r,!0).isValid()?(k(!1),V(!1)):i?.allowEmpty?V(!1):V(!0):V(!1)}else p("end"),k(!0)},style:{flex:1},allowClear:!0,onClear:()=>{const s=Array.isArray(o)?[...o,1]:[o,1];C.setFieldValue(s,void 0),I([S[0],null]),d.current&&(d.current.value="",d.current.updateValue()),setTimeout(()=>{c.current?.focus(),p("start"),k(!0)},0)},placeholder:l.replace(/0/g,"_"),suffix:n.jsx(P.CalendarOutlined,{style:{color:"#d9d9d9"}}),autoComplete:"off"})})]}),n.jsx(Ye,{...i,open:L,picker:e,format:{format:r,type:"mask"},showNow:!0,value:S,onChange:K,onOpenChange:s=>{k(s),s||q(!1)},renderExtraFooter:()=>U?n.jsxs("div",{style:{color:"#faad14",paddingLeft:"8px",fontSize:"12px",display:"flex",alignItems:"center",gap:"6px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fffbe6"},children:[n.jsx(P.ExclamationCircleOutlined,{}),n.jsx("span",{children:"유효하지 않은 날짜입니다"})]}):null,getPopupContainer:s=>s.parentElement,style:{position:"absolute",top:0,left:0,pointerEvents:"none",opacity:0,width:"100%"}})]})})},{Option:te}=a.Select,Ve=({itemProps:e,inputProps:t})=>{const[m,i]=x.useState([]);return x.useEffect(()=>{t?.addField==="ALL"?i([{label:"전체",value:""},...t?.list||[]]):t?.addField==="NULL"?i([{label:"",value:""},...t?.list||[]]):i(t?.list||[])},[t?.list]),n.jsx($,{...e,getValueProps:r=>r?{value:r&&r.indexOf(",")>0?r.split(","):[r]}:{value:[]},normalize:r=>r!=null&&r!=null&&r.length>0?r.toString():"",children:n.jsx(a.Select,{...t,mode:"multiple",children:m.map(r=>{const{value:l,label:h}=r;return t?.printCode?n.jsx(te,{value:l,label:h,children:n.jsx(a.Space,{children:`[${l}] ${h}`})},l):n.jsx(te,{value:l,label:h,children:n.jsx(a.Space,{children:`${h}`})},l)})})})},Ie=({itemProps:e,inputProps:t})=>{const m=r=>{let l=r.toString().split(".");return t?.decimalPoint!=null&&l[1]!=null&&t?.decimalPoint>0?l[1].length>t?.decimalPoint?l[1]="."+l[1].substring(0,t?.decimalPoint):l[1]="."+l[1]:l[1]="",l[0].replace(/\B(?=(\d{3})+(?!\d))/g,",")+l[1]},i=r=>{let l=r.toString().split(".");return t?.decimalPoint!=null&&l[1]!=null&&t?.decimalPoint>0?l[1].length>t?.decimalPoint?l[1]="."+l[1].substring(0,t?.decimalPoint):l[1]="."+l[1]:l[1]="",l[0].replace(/\$\s?|(,*)/g,"")+l[1]};return n.jsx($,{...e,children:n.jsx(a.InputNumber,{...t,formatter:r=>m(r),parser:r=>i(r)})})},Ne=({itemProps:e,inputProps:t})=>n.jsx($,{...e,children:n.jsx(a.Radio.Group,{...t})}),{RangePicker:ve}=a.DatePicker,re={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},Le=({itemProps:e,inputProps:t,type:m="date",minDate:i,maxDate:r,returnType:l="string"})=>{const{displayFormat:h,outputFormat:c}=x.useMemo(()=>re[m],[m]),F=x.useMemo(()=>Object.values(re).map(u=>u.outputFormat).sort((u,d)=>{if(u.length===d.length){if(u===c)return-1;if(d===c)return 1}return d.length-u.length}),[c]);return n.jsx($,{...e,getValueProps:u=>({value:u&&u.length>0?[u[0]?E.isDayjs(u[0])?u[0]:E(u[0],F):null,u[1]?E.isDayjs(u[1])?u[1]:E(u[1],F):null]:null}),normalize:u=>u?l==="dayjs"?[u[0]??void 0,u[1]??void 0]:[u[0]?u[0].format(c):void 0,u[1]?u[1].format(c):void 0]:[void 0,void 0],children:n.jsx(ve,{...t,order:!0,minDate:i?E(i,F):void 0,maxDate:r?E(r,F):void 0,picker:m==="datetime"?"date":m,showTime:t?.showTime??(m==="datetime"||m==="time"),format:h})})},ne=a.Input.Search,Me=e=>{const t=a.Form.useFormInstance(),{openPopup:m}=ae.usePopupStore(),i=e.itemProps?.name||[],r=e.popupConfig||{callback(h){Array.isArray(i)&&i.length>1?(t.setFieldValue(i[0],h.code),t.setFieldValue(i[1],h.name)):t.setFieldValue(i,h.code)}},l={...e,placeholder:typeof e.placeholder=="string"?e.placeholder:e.placeholder?.[0]||"",onChange:h=>{Array.isArray(i)&&i.length>1&&t.setFieldValue(i[0],""),e.onChange?.(h)},onSearch:h=>{e.popuCd?m(e.popuCd,e.popupParams,r):e.onSearch?.(h)}};return Array.isArray(i)&&i.length>1?n.jsx($,{...e.itemProps,name:void 0,children:n.jsxs(a.Space.Compact,{block:!0,children:[n.jsx(a.Form.Item,{name:i[0],rules:e.itemProps?.rules,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:n.jsx(a.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:e.placeholder?.[0]||"",readOnly:!0})}),n.jsx(a.Form.Item,{name:i[1],style:{width:"60%",marginBottom:0},children:n.jsx(ne,{readOnly:e.readOnly,enterButton:n.jsx(a.Button,{icon:n.jsx(P.SearchOutlined,{}),disabled:e.readOnly}),...l})})]})}):n.jsx($,{...e.itemProps,children:n.jsx(ne,{...l})})},Be=({itemProps:e,selectProps:t={options:[],allowClear:!0}})=>{const m=a.Form.useFormInstance(),i=!!m,r=x.useMemo(()=>t?.addField==="ALL"?[{label:"전체",value:""},...t?.options||[]]:t?.addField==="NULL"?[{label:"",value:""},...t?.options||[]]:t?.options||[],[t.options,t.addField]),l=F=>{t.onChange?.(F)},h={...t,allowClear:t.allowClear??!0,options:r,onChange:l,variant:t.variant},c=n.jsx(a.Select,{...h,disabled:t.disabled});return t.copyable&&!i&&console.warn("BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다."),t.copyable?n.jsx($,{...e,name:void 0,children:n.jsxs(a.Space.Compact,{block:!0,children:[n.jsx(a.Form.Item,{name:e?.name,rules:e?.rules,style:{width:"100%",marginBottom:0},validateStatus:"",help:"",children:c}),n.jsx(a.Typography.Paragraph,{copyable:{text:i&&m?.getFieldValue(e?.name)?.toString()||"",tooltips:["코드복사","코드복사됨"]},style:{margin:0,backgroundColor:"#f5f5f5",borderRadius:"4px",border:"1px solid #d9d9d9",fontSize:"12px",color:"#666",display:"flex",alignItems:"center",height:"30px",padding:"0 8px"}})]})}):n.jsx($,{...e,children:c})},Ee=({itemProps:e,inputProps:t={format:"YN"}})=>{const m=a.Form.useFormInstance(),i=(r,l)=>{t.format==="boolean"?m.setFieldValue(e?.name,r):m.setFieldValue(e?.name,r?"Y":"N"),t.onChange&&t.onChange(r,l)};return n.jsx($,{...e,getValueProps:r=>({checked:t.format==="boolean"?!!r:r==="Y"}),normalize:r=>typeof r=="boolean"?t.format==="boolean"?r:r?"Y":"N":t.format==="boolean"?!!r:r?"Y":"N",children:n.jsx(a.Switch,{...t,onChange:(r,l)=>i(r,l)})})},{TextArea:De}=a.Input,Ae=({itemProps:e,inputProps:t})=>n.jsx($,{...e,children:n.jsx(De,{...t})}),_e=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],se={FILE:"file"},Oe=({originNode:e,file:t,fileList:m,moveFile:i,onDrop:r})=>{const l=x.useRef(null),[{handlerId:h},c]=J.useDrop({accept:se.FILE,collect:j=>({handlerId:j.getHandlerId()}),hover(j,C){if(!l.current)return;const L=j.uid,k=t.uid;if(L===k)return;const U=G.findIndex(m,{uid:k}),V=G.findIndex(m,{uid:L});if(V===-1||U===-1)return;const B=l.current.getBoundingClientRect(),p=C.getClientOffset();if(!p)return;const v=(B.bottom-B.top)/2,D=p.y-B.top;V<U&&D<v||V>U&&D>v||i(L,k)},drop(){r()}}),[{isDragging:F},u]=J.useDrag({type:se.FILE,item:()=>({uid:t.uid,index:G.findIndex(m,{uid:t.uid})}),collect:j=>({isDragging:j.isDragging()})}),d=F?0:1;return u(c(l)),n.jsx("div",{ref:l,style:{opacity:d},"data-handler-id":h,children:e})},Re=({itemProps:e,fileGrpKey:t,onUploadComplete:m,onFetchFilesTrxCd:i="SCMFILE00101",onSuccessTrxCd:r="SCMFILE00102",onDeleteFileTrxCd:l="SCMFILE00103",onReorderFilesTrxCd:h="SCMFILE00104",allowedExtensions:c=_e,maxFileSize:F=200,showButton:u=!0,multiple:d=!1,newFileGrpKeyonModify:j=!1,buttonText:C="파일 선택",localOnly:L=!1,onFilesChange:k})=>{const[U,V]=x.useState([]),B=x.useRef(t),p=x.useRef([]),v=a.Form.useFormInstance(),D=()=>{if(L||p.current.length===0)return;const s=[...p.current];if(p.current=[],r){const g=s.map(y=>({crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:B.current,physFileNm:y.fileNameP,lgclFileNm:y.fileNameL,filePath:y.filePath,fileExtn:y.fileExt,fileSize:y.fileSize,mltpYn:"N"}));console.log("newFileGrpKeyonModify",j),console.log("newFileGrpKeyonModify",j?0:B.current),T.callService(r,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:j?0:B.current,oldFileGrpKey:B.current,newFileGrpKeyonModify:j,sub:g}).then(y=>{if(y?.sub&&y.sub.length>0){const f=y.sub[0].fileGrpKey;(!B.current||j)&&(B.current=f);const M=new Map;y.sub.forEach(w=>{const A=s.find(H=>H.fileNameL===w.lgclFileNm);A&&M.set(A.tempId,w)});const b=e?.name;(w=>{if(N){const A=v?.getFieldValue(b)||[],H=w(A);v?.setFieldValue(b,H)}else V(A=>w(A))})(w=>w.map(A=>{const H=M.get(A.uid);if(H){const Q=s.find(le=>le.tempId===A.uid);return m&&Q&&m({...Q,fileGrpKey:f,fileKey:H.fileKey}),{...A,name:H.lgclFileNm,fileGrpKey:f,fileKey:H.fileKey,uid:H.fileKey,status:"done",url:`/api/download?filePath=${H.filePath}&logicalName=${H.lgclFileNm}`}}return A}))}}).catch(y=>{console.error("업로드 후처리 서비스 호출 실패:",y),a.message.error("파일 후처리 중 오류가 발생했습니다.");const f=new Set(s.map(Y=>Y.tempId)),M=e?.name;(Y=>{if(N){const w=v?.getFieldValue(M)||[],A=Y(w);v?.setFieldValue(M,A)}else V(w=>Y(w))})(Y=>Y.map(w=>f.has(w.uid)?{...w,status:"error",error:"후처리 실패"}:w))})}},R=x.useRef(G.debounce(D,500)).current;x.useEffect(()=>()=>{R.cancel()},[R]),x.useEffect(()=>{B.current=t},[t]),x.useEffect(()=>{L||t&&i&&T.callService(i,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t}).then(s=>{if(s?.sub){const g=s.sub.map(f=>({uid:f.fileKey,name:f.lgclFileNm,status:"done",url:`/api/download?filePath=${f.filePath}&logicalName=${f.lgclFileNm}`})),y=e?.name;N?v?.setFieldValue(y,g):V(g)}else{const g=e?.name;N?v?.setFieldValue(g,[]):V([])}}).catch(s=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",s),a.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")})},[t,i]);const o=(s,g)=>{const y=e?.name,f=N?v?.getFieldValue(y)||[]:U,M=G.findIndex(f,{uid:s}),b=G.findIndex(f,{uid:g});if(M<0||b<0)return;const Y=[...f],[w]=Y.splice(M,1);Y.splice(b,0,w),N?v?.setFieldValue(y,Y):V(Y)},S=()=>{if(!L&&t&&h){const s=e?.name,y=(N?v?.getFieldValue(s)||[]:U).map(f=>f.uid);T.callService(h,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,reorderedFileKeys:y}).then(()=>{a.message.success("파일 순서가 성공적으로 저장되었습니다.")}).catch(f=>{console.error("파일 순서 저장 서비스 호출 실패:",f),a.message.error("파일 순서 저장 중 오류가 발생했습니다.")})}},I=s=>{const g=e?.name,y=N?v?.getFieldValue(g)||[]:U;if(!d&&y.length>0)return a.message.error("하나의 파일만 업로드할 수 있습니다."),a.Upload.LIST_IGNORE;if(c&&c.length>0){const f=`.${s.name.split(".").pop()?.toLowerCase()}`;if(!c.includes(f))return a.message.error(`${s.name} 파일은 허용되지 않는 확장자입니다. (${c.join(", ")})`),a.Upload.LIST_IGNORE}return F&&!(s.size/1024/1024<F)?(a.message.error(`일반업로드의 최대용량은 ${F}MB입니다.`),a.Upload.LIST_IGNORE):!L},N=!!e?.name,_={name:"file",multiple:d,action:L?void 0:"/api/upload",beforeUpload:I,showUploadList:{showRemoveIcon:u},onChange(s){const{status:g,uid:y}=s.file;if(g==="removed"){if(!L&&l)T.callService(l,{crprCd:T.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:j?0:B.current,fileKey:y,oldFileGrpKey:B.current,newFileGrpKeyonModify:j}).then(f=>{if(a.message.success("파일이 성공적으로 삭제되었습니다."),j&&(B.current=f.fileGrpKey),N){const M=e?.name;v?.setFieldValue(M,s.fileList)}else V(s.fileList);k?.(s.fileList),m?.({fileGrpKey:f.fileGrpKey})}).catch(f=>{console.error("파일 삭제 서비스 호출에 실패했습니다.",f),a.message.error("파일 삭제 중 오류가 발생했습니다.")});else{if(N){const f=e?.name;v?.setFieldValue(f,s.fileList)}else V(s.fileList);k?.(s.fileList)}return}if(N){const f=e?.name;v?.setFieldValue(f,s.fileList)}else V(s.fileList);if(k?.(s.fileList),g==="done")if(!L&&s.file.response?.success){const{uploadedFiles:f}=s.file.response;f&&Array.isArray(f)&&f.length>0&&(f.forEach(M=>{M.tempId=s.file.uid,p.current.push(M)}),R()),a.message.success(s.file.response.message||`${s.file.name} 파일이 성공적으로 업로드되었습니다.`)}else a.message.error(s.file.response?.message||`${s.file.name} 파일 업로드에 실패했습니다.`);else g==="error"&&a.message.error(s.file.response?.message||`${s.file.name} 파일 업로드 중 오류가 발생했습니다.`)},itemRender(s,g,y){const f=x.cloneElement(s,{href:g.url||void 0,title:void 0});return n.jsx(Oe,{originNode:f,file:g,fileList:y,moveFile:o,onDrop:S},g.uid)}};N||(_.fileList=U);const O=s=>Array.isArray(s)?s:s&&s.fileList,z=e?.name,K=N?a.Form.useWatch?.(z,v):void 0,q=N?K||[]:U;return n.jsx(J.DndProvider,{backend:ce.HTML5Backend,children:n.jsx($,{valuePropName:"fileList",getValueFromEvent:O,...e,children:n.jsx(a.Upload,{headers:{SYSCD:__SYS_CD__},..._,listType:"picture",children:u&&(d||q.length===0)&&n.jsx(a.Button,{icon:n.jsx(P.UploadOutlined,{}),children:C})})})})},Ue=a.Input.Search,ze=e=>{const t=a.Form.useFormInstance(),{openCorePopup:m}=X.usePopup(),i={value:"deptNm",fieldName:"deptNm",placeholder:"부서명"},r={value:"empNm",fieldName:"empNm",placeholder:"사원명 입력"},l=e.field1||i,h=e.field2||r,c=x.useCallback(d=>{t.setFieldValue(e.employeeFieldName||"employee",d),t.setFieldValue(e.empNoFieldName||"empNo",d.empNo??""),t.setFieldValue(l.fieldName,d[l.value||"deptNm"]??""),t.setFieldValue(h.fieldName,d[h.value||"empNm"]??""),e.onFinish?.()},[t,l,h,e.employeeFieldName]),F=x.useCallback(d=>{m("CORE_ORGANIZATION_01",{onSelect:j=>{c(j)},defaultParams:{keyword:d}})},[c,m]),u=x.useCallback(async d=>{const j=d?.trim();if(j)try{const C=await T.callService("SCMUTIL00101",{keyword:j},{showLoading:!1}),L=C?.empList||[];if(C?.empCnt===0){a.message.warning("일치하는 사원을 찾을 수 없어 팝업을 열립니다. 사원을 선택해주세요."),F();return}if(C?.empCnt>1){a.message.info("여러 건이 검색되어 팝업이 열립니다. 사원을 선택해주세요."),F(j);return}const k=L[0];c(k)}catch(C){console.error("사원 검색 서비스 실패:",C),a.message.error("사원 검색 중 오류가 발생했습니다.")}},[c,F]);return n.jsx($,{label:e.label||"사원",name:void 0,children:n.jsxs(a.Space.Compact,{block:!0,children:[n.jsx(a.Form.Item,{name:l.fieldName,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:n.jsx(a.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:l.placeholder,readOnly:!0})}),n.jsx(a.Form.Item,{name:e.employeeFieldName||"employee",hidden:!0}),n.jsx(a.Form.Item,{name:e.empNoFieldName||"empNo",hidden:!0}),n.jsx(a.Form.Item,{name:h.fieldName,style:{width:"60%",marginBottom:0},children:n.jsx(Ue,{allowClear:!0,readOnly:e.readOnly,placeholder:h.placeholder,enterButton:n.jsx(a.Button,{icon:n.jsx(P.SearchOutlined,{}),disabled:e.readOnly,onClick:()=>{F()}}),onSearch:u,onChange:d=>{t.setFieldValue(l.fieldName,""),t.setFieldValue(e.employeeFieldName||"employee",null),t.setFieldValue(e.empNoFieldName||"empNo","")}})})]})})};exports.BwgButton=ue;exports.BwgCheck=de;exports.BwgCheckList=fe;exports.BwgDatePicker=me;exports.BwgDownload=ge;exports.BwgEmpSearch=ze;exports.BwgForm=oe;exports.BwgFormItem=$;exports.BwgInput=he;exports.BwgLargeUploader=Fe;exports.BwgMaskedDate=ke;exports.BwgMaskedInput=Se;exports.BwgMaskedRange=we;exports.BwgMultiSelect=Ve;exports.BwgNumber=Ie;exports.BwgRadio=Ne;exports.BwgRangePicker=Le;exports.BwgSearch=Me;exports.BwgSelect=Be;exports.BwgSwitch=Ee;exports.BwgTextArea=Ae;exports.BwgUploader=Re;
@@ -7,7 +7,7 @@ import { PaperClipOutlined as Re, DownloadOutlined as Ue, DeleteOutlined as Te,
7
7
  import { getApiDeps as he, callServiceByAppCd as We, getCrprCd as qe, callService as J, getUserInfo as te } from "../../utils/index.js";
8
8
  import Ze from "jszip";
9
9
  import le from "imask";
10
- import { d as we, e as Je } from "../../chunks/provider-Kxea5IoZ.js";
10
+ import { d as we, e as Je } from "../../chunks/provider-Bx4VpaFf.js";
11
11
  import { debounce as Xe, findIndex as ne } from "lodash";
12
12
  import { DndProvider as Qe, useDrop as et, useDrag as tt } from "react-dnd";
13
13
  import { HTML5Backend as rt } from "react-dnd-html5-backend";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../chunks/common-components-mXgJEMpT.cjs"),a=require("react"),w=require("antd"),i=require("../../utils/index.cjs"),l=require("../core/index.cjs"),B=require("../../chunks/provider-r4mkv5Zs.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((o,p)=>{const x=o.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 o=r.current?.getFieldsValue()?.fileGrpKey;console.log(o),i.submitGwApproval(o).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:o=>{console.log(o)}})]})]})]})},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:()=>{i.callService("SCMINTF00101",{crprCd:i.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);i.openGwDraftByAprvKey(c.aprvKey)}},ref:r,gridInitCallback:()=>{i.callService("SCMINTF00101",{crprCd:i.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-DNgQR-Ge.cjs"),a=require("react"),w=require("antd"),i=require("../../utils/index.cjs"),l=require("../core/index.cjs"),B=require("../../chunks/provider-Bi5OYngn.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((o,p)=>{const x=o.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 o=r.current?.getFieldsValue()?.fileGrpKey;console.log(o),i.submitGwApproval(o).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:o=>{console.log(o)}})]})]})]})},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:()=>{i.callService("SCMINTF00101",{crprCd:i.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);i.openGwDraftByAprvKey(c.aprvKey)}},ref:r,gridInitCallback:()=>{i.callService("SCMINTF00101",{crprCd:i.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,10 +1,10 @@
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-C61ER0qC.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-DeYL3J6X.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";
6
6
  import { BwgButton as x, BwgForm as q, BwgInput as o, BwgSelect as y, BwgDatePicker as A, BwgUploader as F } from "../core/index.js";
7
- import { e as j } from "../../chunks/provider-Kxea5IoZ.js";
7
+ import { e as j } from "../../chunks/provider-Bx4VpaFf.js";
8
8
  const W = () => /* @__PURE__ */ e(B, { children: "BwgComponentGuide" }), H = () => /* @__PURE__ */ e(B, { children: "BwgDeveloperGuide" }), Q = () => {
9
9
  const i = n(null), t = n(null), [p, u] = T(""), r = b(
10
10
  () => [
@@ -1,3 +1,4 @@
1
+ import { GlobalModalStyleConfig, GlobalNotificationStyleConfig, GlobalMessageStyleConfig } from '../../utils';
1
2
  import { ReactNode } from 'react';
2
3
  interface AppWrapperProps {
3
4
  routes: {
@@ -8,7 +9,10 @@ interface AppWrapperProps {
8
9
  };
9
10
  useCommonProvider?: boolean;
10
11
  useServiceProvider?: boolean;
12
+ modalStyle?: Partial<GlobalModalStyleConfig>;
13
+ notificationStyle?: Partial<GlobalNotificationStyleConfig>;
14
+ messageStyle?: Partial<GlobalMessageStyleConfig>;
11
15
  }
12
- declare const AppWrapper: ({ routes, useCommonProvider, useServiceProvider, }: AppWrapperProps) => import("react/jsx-runtime").JSX.Element;
16
+ declare const AppWrapper: ({ routes, useCommonProvider, useServiceProvider, modalStyle, notificationStyle, messageStyle, }: AppWrapperProps) => import("react/jsx-runtime").JSX.Element;
13
17
  export default AppWrapper;
14
18
  //# sourceMappingURL=AppWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AppWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,UAAU,eAAe;IACvB,MAAM,EAAE;QACN,KAAK,EAAE,SAAS,CAAC;QACjB,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,aAAa,CAAC,EAAE,SAAS,CAAC;KAC3B,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,UAAU,GAAI,oDAIjB,eAAe,4CAsBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"AppWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AppWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EAIzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAI7C,UAAU,eAAe;IACvB,MAAM,EAAE;QACN,KAAK,EAAE,SAAS,CAAC;QACjB,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,aAAa,CAAC,EAAE,SAAS,CAAC;KAC3B,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAClD;AAED,QAAA,MAAM,UAAU,GAAI,iGAOjB,eAAe,4CA2CjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/extension/ContentWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe;IACf,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7C;AAED,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAgK3C,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ContentWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/extension/ContentWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQ3C,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe;IACf,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7C;AAqLD,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAM3C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/layout-components-D7I6VhXN.cjs");exports.AppWrapper=e.AppWrapper;exports.BwgCoreLogin=e.BwgCoreLogin;exports.BwgPortal01=e.BwgPortal01;exports.BwgPortal02=e.BwgPortal02;exports.BwgSessionNotice=e.BwgSessionNotice;exports.BwgSsoLogin=e.BwgSsoLogin;exports.ConfigurableContent=e.ConfigurableContent;exports.ConfigurableHeader=e.ConfigurableHeader;exports.ConfigurableMenuTab=e.ConfigurableMenuTab;exports.ConfigurableSidebar=e.ConfigurableSidebar;exports.ContentContainer=e.ContentContainer;exports.ContentWrapper=e.ContentWrapper;exports.DefaultLoginView=e.DefaultLoginView;exports.HeaderContainer=e.HeaderContainer;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-Bf9IsLUS.cjs");exports.AppWrapper=e.AppWrapper;exports.BwgCoreLogin=e.BwgCoreLogin;exports.BwgPortal01=e.BwgPortal01;exports.BwgPortal02=e.BwgPortal02;exports.BwgSessionNotice=e.BwgSessionNotice;exports.BwgSsoLogin=e.BwgSsoLogin;exports.ConfigurableContent=e.ConfigurableContent;exports.ConfigurableHeader=e.ConfigurableHeader;exports.ConfigurableMenuTab=e.ConfigurableMenuTab;exports.ConfigurableSidebar=e.ConfigurableSidebar;exports.ContentContainer=e.ContentContainer;exports.ContentWrapper=e.ContentWrapper;exports.DefaultLoginView=e.DefaultLoginView;exports.HeaderContainer=e.HeaderContainer;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 s, d as i, c as t, f as g, g as C, h as p, i as b, C as f, j as l, D as u, H as d, e as w, L as B, P as L, k as P } from "../../chunks/layout-components-gqu1pmfr.js";
1
+ import { A as n, b as o, B as r, a as s, d as i, c as t, f as g, g as C, h as p, i as b, C as f, j as l, D as u, H as d, e as w, L as B, P as L, k as P } from "../../chunks/layout-components-DnuV2Psp.js";
2
2
  export {
3
3
  n as AppWrapper,
4
4
  o as BwgCoreLogin,
@@ -1 +1 @@
1
- {"version":3,"file":"CMPopuMstrM01.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/rsrc/CMPopuMstrM01.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AA6BrC,QAAA,MAAM,aAAa,GAAI,WAAW,SAAS,4CAmyC1C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"CMPopuMstrM01.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/rsrc/CMPopuMstrM01.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AA6BrC,QAAA,MAAM,aAAa,GAAI,WAAW,SAAS,4CAoyC1C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../chunks/common-components-mXgJEMpT.cjs");exports.CMPrgrMstrP02=r.CMPrgrMstrP02;exports.SearchAddressP01=r.SearchAddressP01;exports.SearchDepartmentP01=r.SearchDepartmentP01;exports.SearchDepartmentP02=r.SearchDepartmentP02;exports.SearchHolidayP01=r.SearchHolidayP01;exports.SearchOrganizationP01=r.SearchOrganizationP01;exports.SearchOrganizationP02=r.SearchOrganizationP02;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../chunks/common-components-DNgQR-Ge.cjs");exports.CMPrgrMstrP02=r.CMPrgrMstrP02;exports.SearchAddressP01=r.SearchAddressP01;exports.SearchDepartmentP01=r.SearchDepartmentP01;exports.SearchDepartmentP02=r.SearchDepartmentP02;exports.SearchHolidayP01=r.SearchHolidayP01;exports.SearchOrganizationP01=r.SearchOrganizationP01;exports.SearchOrganizationP02=r.SearchOrganizationP02;
@@ -1,4 +1,4 @@
1
- import { D as e, E as s, w as t, x as P, A as c, y as h, z as n } from "../../chunks/common-components-C61ER0qC.js";
1
+ import { D as e, E as s, w as t, x as P, A as c, y as h, z as n } from "../../chunks/common-components-DeYL3J6X.js";
2
2
  export {
3
3
  e as CMPrgrMstrP02,
4
4
  s as SearchAddressP01,
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-mXgJEMpT.cjs"),t=require("./components/core/index.cjs"),s=require("./chunks/layout-components-D7I6VhXN.cjs"),i=require("./chunks/provider-r4mkv5Zs.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.callServiceByAppCd=e.callServiceByAppCd;exports.clamp=e.clamp;exports.clearAllGridLayouts=e.clearAllGridLayouts;exports.clearGridLayouts=e.clearGridLayouts;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.createBwgGridRenderer=e.createBwgGridRenderer;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.generateUUIDv4=e.generateUUIDv4;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.getGridLayout=e.getGridLayout;exports.getGridLayouts=e.getGridLayouts;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.gridUtils=e.gridUtils;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.removeGridLayout=e.removeGridLayout;exports.removeSessionStorage=e.removeSessionStorage;exports.round=e.round;exports.saveGridLayout=e.saveGridLayout;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.useSsoLogin=r.useSsoLogin;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.SearchAddressP01=o.SearchAddressP01;exports.SearchBox=o.SearchBox;exports.SearchDepartmentP01=o.SearchDepartmentP01;exports.SearchDepartmentP02=o.SearchDepartmentP02;exports.SearchHolidayP01=o.SearchHolidayP01;exports.SearchOrganizationP01=o.SearchOrganizationP01;exports.SearchOrganizationP02=o.SearchOrganizationP02;exports.SystemCodeManage=o.SystemCodeManage;exports.BwgButton=t.BwgButton;exports.BwgCheck=t.BwgCheck;exports.BwgCheckList=t.BwgCheckList;exports.BwgDatePicker=t.BwgDatePicker;exports.BwgDownload=t.BwgDownload;exports.BwgEmpSearch=t.BwgEmpSearch;exports.BwgForm=t.BwgForm;exports.BwgFormItem=t.BwgFormItem;exports.BwgInput=t.BwgInput;exports.BwgLargeUploader=t.BwgLargeUploader;exports.BwgMaskedDate=t.BwgMaskedDate;exports.BwgMaskedInput=t.BwgMaskedInput;exports.BwgMaskedRange=t.BwgMaskedRange;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.BwgSessionNotice=s.BwgSessionNotice;exports.BwgSsoLogin=s.BwgSsoLogin;exports.ConfigurableContent=s.ConfigurableContent;exports.ConfigurableHeader=s.ConfigurableHeader;exports.ConfigurableMenuTab=s.ConfigurableMenuTab;exports.ConfigurableSidebar=s.ConfigurableSidebar;exports.ContentContainer=s.ContentContainer;exports.ContentWrapper=s.ContentWrapper;exports.DefaultLoginView=s.DefaultLoginView;exports.HeaderContainer=s.HeaderContainer;exports.LandingContainer=s.LandingContainer;exports.LoadingContainer=s.LoadingContainer;exports.PopupContainer=s.PopupContainer;exports.ProtectWrapper=s.ProtectWrapper;exports.AuthProvider=i.AuthProvider;exports.BwgViewProvider=i.BwgViewProvider;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.useBwgView=i.useBwgView;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-DNgQR-Ge.cjs"),i=require("./components/core/index.cjs"),a=require("./chunks/layout-components-Bf9IsLUS.cjs"),t=require("./chunks/provider-Bi5OYngn.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.callServiceByAppCd=e.callServiceByAppCd;exports.clamp=e.clamp;exports.clearAllGridLayouts=e.clearAllGridLayouts;exports.clearGridLayouts=e.clearGridLayouts;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.createBwgGridRenderer=e.createBwgGridRenderer;exports.debounce=e.debounce;exports.deleteCookie=e.deleteCookie;exports.destroyModals=e.destroyModals;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.generateUUIDv4=e.generateUUIDv4;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.getGlobalMessageStyle=e.getGlobalMessageStyle;exports.getGlobalModalStyle=e.getGlobalModalStyle;exports.getGlobalNotificationStyle=e.getGlobalNotificationStyle;exports.getGridLayout=e.getGridLayout;exports.getGridLayouts=e.getGridLayouts;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.gridUtils=e.gridUtils;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.modalUtils=e.modalUtils;exports.notiBwgError=e.notiBwgError;exports.notificationUtils=e.notificationUtils;exports.now=e.now;exports.openGwDraftByAprvKey=e.openGwDraftByAprvKey;exports.openMessage=e.openMessage;exports.openModal=e.openModal;exports.openNoti=e.openNoti;exports.padLeft=e.padLeft;exports.padRight=e.padRight;exports.random=e.random;exports.realFormat=e.realFormat;exports.removeGridLayout=e.removeGridLayout;exports.removeSessionStorage=e.removeSessionStorage;exports.resetGlobalMessageStyle=e.resetGlobalMessageStyle;exports.resetGlobalModalStyle=e.resetGlobalModalStyle;exports.resetGlobalNotificationStyle=e.resetGlobalNotificationStyle;exports.round=e.round;exports.saveGridLayout=e.saveGridLayout;exports.serviceUtils=e.serviceUtils;exports.setClientIp=e.setClientIp;exports.setCookie=e.setCookie;exports.setGlobalMessageStyle=e.setGlobalMessageStyle;exports.setGlobalModalStyle=e.setGlobalModalStyle;exports.setGlobalNotificationStyle=e.setGlobalNotificationStyle;exports.setServiceCodeOverrides=e.setServiceCodeOverrides;exports.setSessionStorage=e.setSessionStorage;exports.showLoading=e.showLoading;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.useSsoLogin=r.useSsoLogin;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.SearchAddressP01=o.SearchAddressP01;exports.SearchBox=o.SearchBox;exports.SearchDepartmentP01=o.SearchDepartmentP01;exports.SearchDepartmentP02=o.SearchDepartmentP02;exports.SearchHolidayP01=o.SearchHolidayP01;exports.SearchOrganizationP01=o.SearchOrganizationP01;exports.SearchOrganizationP02=o.SearchOrganizationP02;exports.SystemCodeManage=o.SystemCodeManage;exports.BwgButton=i.BwgButton;exports.BwgCheck=i.BwgCheck;exports.BwgCheckList=i.BwgCheckList;exports.BwgDatePicker=i.BwgDatePicker;exports.BwgDownload=i.BwgDownload;exports.BwgEmpSearch=i.BwgEmpSearch;exports.BwgForm=i.BwgForm;exports.BwgFormItem=i.BwgFormItem;exports.BwgInput=i.BwgInput;exports.BwgLargeUploader=i.BwgLargeUploader;exports.BwgMaskedDate=i.BwgMaskedDate;exports.BwgMaskedInput=i.BwgMaskedInput;exports.BwgMaskedRange=i.BwgMaskedRange;exports.BwgMultiSelect=i.BwgMultiSelect;exports.BwgNumber=i.BwgNumber;exports.BwgRadio=i.BwgRadio;exports.BwgRangePicker=i.BwgRangePicker;exports.BwgSearch=i.BwgSearch;exports.BwgSelect=i.BwgSelect;exports.BwgSwitch=i.BwgSwitch;exports.BwgTextArea=i.BwgTextArea;exports.BwgUploader=i.BwgUploader;exports.AppWrapper=a.AppWrapper;exports.BwgCoreLogin=a.BwgCoreLogin;exports.BwgPortal01=a.BwgPortal01;exports.BwgPortal02=a.BwgPortal02;exports.BwgSessionNotice=a.BwgSessionNotice;exports.BwgSsoLogin=a.BwgSsoLogin;exports.ConfigurableContent=a.ConfigurableContent;exports.ConfigurableHeader=a.ConfigurableHeader;exports.ConfigurableMenuTab=a.ConfigurableMenuTab;exports.ConfigurableSidebar=a.ConfigurableSidebar;exports.ContentContainer=a.ContentContainer;exports.ContentWrapper=a.ContentWrapper;exports.DefaultLoginView=a.DefaultLoginView;exports.HeaderContainer=a.HeaderContainer;exports.LandingContainer=a.LandingContainer;exports.LoadingContainer=a.LoadingContainer;exports.PopupContainer=a.PopupContainer;exports.ProtectWrapper=a.ProtectWrapper;exports.AuthProvider=t.AuthProvider;exports.BwgViewProvider=t.BwgViewProvider;exports.CommonCodeProvider=t.CommonCodeProvider;exports.PageContentProvider=t.PageContentProvider;exports.ScreenProtectProvider=t.ScreenProtectProvider;exports.SearchBoxProvider=t.SearchBoxProvider;exports.ServiceCodeProvider=t.ServiceCodeProvider;exports.useAllServiceCodes=t.useAllServiceCodes;exports.useAuth=t.useAuth;exports.useBwgView=t.useBwgView;exports.useCodeColor=t.useCodeColor;exports.useCodeList=t.useCodeList;exports.useCodeListByOption=t.useCodeListByOption;exports.useCodeName=t.useCodeName;exports.useCommonCode=t.useCommonCode;exports.useGridLookup=t.useGridLookup;exports.useLock=t.useLock;exports.useLogServiceCodeConfig=t.useLogServiceCodeConfig;exports.usePageContent=t.usePageContent;exports.usePopup=t.usePopup;exports.useSearchBox=t.useSearchBox;exports.useServiceCode=t.useServiceCode;exports.useServiceCodeValue=t.useServiceCodeValue;