@bwg-ui/core 1.1.21 → 1.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/BwgSwitch-B79pseQM.js +269 -0
- package/dist/chunks/BwgSwitch-B79pseQM.js.map +1 -0
- package/dist/chunks/BwgSwitch-CAI-kEaM.cjs +2 -0
- package/dist/chunks/BwgSwitch-CAI-kEaM.cjs.map +1 -0
- package/dist/chunks/{BwgDownload-COsACbpJ.js → BwgUploader-BcVlE61B.js} +2933 -2982
- package/dist/chunks/BwgUploader-BcVlE61B.js.map +1 -0
- package/dist/chunks/BwgUploader-DaNV2URT.cjs +3 -0
- package/dist/chunks/BwgUploader-DaNV2URT.cjs.map +1 -0
- package/dist/chunks/LoadingOverlay-DAZJF5wg.js +19 -0
- package/dist/chunks/LoadingOverlay-DAZJF5wg.js.map +1 -0
- package/dist/chunks/LoadingOverlay-DcmKvoZA.cjs +2 -0
- package/dist/chunks/LoadingOverlay-DcmKvoZA.cjs.map +1 -0
- package/dist/chunks/{SSOHandler-BHJ5NexT.js → SSOHandler-CkPcSHIm.js} +12085 -10934
- package/dist/chunks/SSOHandler-CkPcSHIm.js.map +1 -0
- package/dist/chunks/SSOHandler-DiW4Ft9i.cjs +237 -0
- package/dist/chunks/SSOHandler-DiW4Ft9i.cjs.map +1 -0
- package/dist/chunks/{SearchBoxContext-BxJN-x3-.js → SearchBoxContext-BCvEYyFk.js} +7 -7
- package/dist/chunks/{SearchBoxContext-BxJN-x3-.js.map → SearchBoxContext-BCvEYyFk.js.map} +1 -1
- package/dist/chunks/{SearchBoxContext-DnQGaRgo.cjs → SearchBoxContext-DwFDOyYG.cjs} +2 -2
- package/dist/chunks/{SearchBoxContext-DnQGaRgo.cjs.map → SearchBoxContext-DwFDOyYG.cjs.map} +1 -1
- package/dist/chunks/{ViewContainer-HSyLfryI.cjs → ViewContainer-Bhq22_B3.cjs} +2 -2
- package/dist/chunks/{ViewContainer-HSyLfryI.cjs.map → ViewContainer-Bhq22_B3.cjs.map} +1 -1
- package/dist/chunks/{ViewContainer-x2yzKkIG.js → ViewContainer-CjpJqoGG.js} +2 -2
- package/dist/chunks/{ViewContainer-x2yzKkIG.js.map → ViewContainer-CjpJqoGG.js.map} +1 -1
- package/dist/chunks/apiUtils-BZ6s0_NI.cjs +3 -0
- package/dist/chunks/apiUtils-BZ6s0_NI.cjs.map +1 -0
- package/dist/chunks/apiUtils-DxzLqPhU.js +1441 -0
- package/dist/chunks/apiUtils-DxzLqPhU.js.map +1 -0
- package/dist/chunks/{codeStore-DefmZVgs.js → codeStore-CfI4Wh5M.js} +4 -4
- package/dist/chunks/{codeStore-DefmZVgs.js.map → codeStore-CfI4Wh5M.js.map} +1 -1
- package/dist/chunks/{codeStore-pQbDqWkZ.cjs → codeStore-il4-kZPe.cjs} +2 -2
- package/dist/chunks/{codeStore-pQbDqWkZ.cjs.map → codeStore-il4-kZPe.cjs.map} +1 -1
- package/dist/chunks/core-BHejg5iS.cjs +2 -0
- package/dist/chunks/core-BHejg5iS.cjs.map +1 -0
- package/dist/chunks/core-bHd8azE6.js +514 -0
- package/dist/chunks/core-bHd8azE6.js.map +1 -0
- package/dist/chunks/enc-base64-BQYwLKgk.js +102 -0
- package/dist/chunks/enc-base64-BQYwLKgk.js.map +1 -0
- package/dist/chunks/enc-base64-BkBtNBQV.cjs +2 -0
- package/dist/chunks/enc-base64-BkBtNBQV.cjs.map +1 -0
- package/dist/chunks/{favoriteStore-BXBziAgB.cjs → favoriteStore-CcKg_nEH.cjs} +2 -2
- package/dist/chunks/{favoriteStore-BXBziAgB.cjs.map → favoriteStore-CcKg_nEH.cjs.map} +1 -1
- package/dist/chunks/{favoriteStore-DAPC01iF.js → favoriteStore-Cemc-26t.js} +2 -2
- package/dist/chunks/{favoriteStore-DAPC01iF.js.map → favoriteStore-Cemc-26t.js.map} +1 -1
- package/dist/chunks/{popupStore-CcQg9AvK.js → popupStore-Bi6o78lP.js} +2 -2
- package/dist/chunks/{popupStore-CcQg9AvK.js.map → popupStore-Bi6o78lP.js.map} +1 -1
- package/dist/chunks/{popupStore-BV632k5p.cjs → popupStore-DUApUBF2.cjs} +2 -2
- package/dist/chunks/{popupStore-BV632k5p.cjs.map → popupStore-DUApUBF2.cjs.map} +1 -1
- package/dist/chunks/sha256-BZfJs28k.js +79 -0
- package/dist/chunks/sha256-BZfJs28k.js.map +1 -0
- package/dist/chunks/sha256-DiIRoCQ8.cjs +2 -0
- package/dist/chunks/sha256-DiIRoCQ8.cjs.map +1 -0
- package/dist/chunks/{usePopup-Cw5xsOaH.js → usePopup-BSqsnSz7.js} +3 -3
- package/dist/chunks/{usePopup-Cw5xsOaH.js.map → usePopup-BSqsnSz7.js.map} +1 -1
- package/dist/chunks/{usePopup-DoVGuobp.cjs → usePopup-D2JEuDrO.cjs} +2 -2
- package/dist/chunks/{usePopup-DoVGuobp.cjs.map → usePopup-D2JEuDrO.cjs.map} +1 -1
- package/dist/components/common/BwgDraggable.d.ts +1 -1
- package/dist/components/common/BwgDraggable.d.ts.map +1 -1
- package/dist/components/common/BwgEditor.d.ts +43 -36
- package/dist/components/common/BwgEditor.d.ts.map +1 -1
- package/dist/components/common/BwgGrid.d.ts +13 -5
- package/dist/components/common/BwgGrid.d.ts.map +1 -1
- package/dist/components/common/BwgPagination.d.ts +25 -5
- package/dist/components/common/BwgPagination.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/core/BwgCheck.d.ts +11 -0
- package/dist/components/core/BwgCheck.d.ts.map +1 -1
- package/dist/components/core/BwgDownload.d.ts.map +1 -1
- package/dist/components/core/BwgSelect.d.ts +2 -2
- package/dist/components/core/BwgSelect.d.ts.map +1 -1
- package/dist/components/core/BwgSwitch.d.ts +24 -0
- package/dist/components/core/BwgSwitch.d.ts.map +1 -0
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.d.ts +20 -19
- package/dist/components/core/index.d.ts.map +1 -1
- package/dist/components/core/index.js +22 -21
- package/dist/components/layout/LoadingOverlay.d.ts +3 -3
- package/dist/components/layout/LoadingOverlay.d.ts.map +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +2 -2
- package/dist/components/popup/MenuReport.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +116 -115
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +2 -2
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.cjs.map +1 -1
- package/dist/stores/index.d.ts +7 -7
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +16 -15
- package/dist/stores/index.js.map +1 -1
- package/dist/stores/loadingStore.d.ts +1 -0
- package/dist/stores/loadingStore.d.ts.map +1 -1
- package/dist/stores/menuModelStore.d.ts.map +1 -1
- package/dist/styles/assets/images/header/icon/ico-bell.svg +3 -3
- package/dist/styles/assets/images/header/icon/ico-logout.svg +10 -10
- package/dist/styles/assets/images/header/icon/ico-setting.svg +4 -4
- package/dist/styles/assets/images/header/icon/ico-sidebar-arrow.svg +3 -3
- package/dist/styles/layout.css +14 -1
- package/dist/utils/apiUtils.d.ts +4 -8
- package/dist/utils/apiUtils.d.ts.map +1 -1
- package/dist/utils/commonUtils.d.ts +6 -0
- package/dist/utils/commonUtils.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +53 -54
- package/dist/utils/index.js.map +1 -1
- package/package.json +2 -1
- package/dist/chunks/BwgCheck-BDt8r0gn.js +0 -200
- package/dist/chunks/BwgCheck-BDt8r0gn.js.map +0 -1
- package/dist/chunks/BwgCheck-Dtzr-6rg.cjs +0 -2
- package/dist/chunks/BwgCheck-Dtzr-6rg.cjs.map +0 -1
- package/dist/chunks/BwgDownload-COsACbpJ.js.map +0 -1
- package/dist/chunks/BwgDownload-i6w7ZD-i.cjs +0 -3
- package/dist/chunks/BwgDownload-i6w7ZD-i.cjs.map +0 -1
- package/dist/chunks/LoadingOverlay-CAO6_FuF.js +0 -29
- package/dist/chunks/LoadingOverlay-CAO6_FuF.js.map +0 -1
- package/dist/chunks/LoadingOverlay-NX9Mo_6n.cjs +0 -2
- package/dist/chunks/LoadingOverlay-NX9Mo_6n.cjs.map +0 -1
- package/dist/chunks/SSOHandler-BHJ5NexT.js.map +0 -1
- package/dist/chunks/SSOHandler-BtrmIPzQ.cjs +0 -236
- package/dist/chunks/SSOHandler-BtrmIPzQ.cjs.map +0 -1
- package/dist/chunks/apiUtils-CudW_FKE.cjs +0 -3
- package/dist/chunks/apiUtils-CudW_FKE.cjs.map +0 -1
- package/dist/chunks/apiUtils-DfPv_gmI.js +0 -2064
- package/dist/chunks/apiUtils-DfPv_gmI.js.map +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";const c=require("./jsx-runtime-CeSfJrVB.cjs"),u=require("antd"),k=require("./BwgSwitch-CAI-kEaM.cjs"),f=require("react"),F=require("@ant-design/icons"),_=require("./apiUtils-BZ6s0_NI.cjs"),A=require("lodash"),et=require("jszip"),Me=require("imask"),z=require("dayjs"),tt=require("./popupStore-DUApUBF2.cjs"),rt=t=>c.jsxRuntimeExports.jsx(u.Button,{...t,className:"bwg-btn"}),nt=({itemProps:t,inputProps:e})=>{const r=u.Form.useFormInstance(),[n,s]=f.useState(t?.initialValue??[]),[i,a]=f.useState([]),o=i.length>0&&i.length==n?.length,l=n?.length>0&&n.length<i.length;f.useEffect(()=>{a(d(e?.options))},[e?.options]),f.useEffect(()=>{s(n)},[n]);const d=p=>{const g=[];return(p||[]).map((T,S)=>{g.push(T.value)}),g},v=p=>{s(p.target.checked?i:[]),r.setFieldValue(t?.name,p.target.checked?i:[])},D=p=>{s(p),r.setFieldValue(t?.name,p),e?.onChange&&typeof e?.onChange=="function"&&e?.onChange(p)};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsxs(u.ConfigProvider,{theme:{components:{Checkbox:{colorPrimary:"var(--check-primary)",colorPrimaryBorder:"var(--check-primary)",colorPrimaryHover:"var(--check-primary-active)"}}},children:[e?.allCheck&&c.jsxRuntimeExports.jsx(u.Checkbox,{indeterminate:l,checked:o,onChange:v,children:"전체선택"}),c.jsxRuntimeExports.jsx(u.Checkbox.Group,{options:e?.options,value:n,onChange:D})]})})},st=({fileGrpKey:t,onFetchFilesTrxCd:e="SCMFILE00101",readOnly:r=!1,sysCd:n=__SYS_CD__})=>{const[s,i]=f.useState([]);f.useEffect(()=>{t&&e?n!=__SYS_CD__?_.callService_SYSCD(n,e,{crprCd:_.getUserInfo()?.crprCd,sysCd:n,fileGrpKey:t}).then(o=>{if(o?.sub){const l=o.sub.map(d=>({uid:d.fileKey,name:d.lgclFileNm,filePath:d.filePath}));i(l)}}).catch(o=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",o),u.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")}):_.callService(e,{crprCd:_.getUserInfo()?.crprCd,sysCd:n,fileGrpKey:t}).then(o=>{if(o?.sub){const l=o.sub.map(d=>({uid:d.fileKey,name:d.lgclFileNm,filePath:d.filePath}));i(l)}}).catch(o=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",o),u.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")}):i([])},[t,e]);const a=async o=>{try{let l;n!=__SYS_CD__?l="/api/download/"+n:l="/api/download";const d=await fetch(l,{method:"POST",headers:{SYSCD:__SYS_CD__,"Content-Type":"application/json"},body:JSON.stringify({filePath:o.filePath,logicalName:o.name,fileKey:o.uid})});if(!d.ok){const T=(await d.json().catch(()=>null))?.message||"파일 다운로드에 실패했습니다.";throw new Error(T)}const v=await d.blob(),D=window.URL.createObjectURL(v),p=document.createElement("a");p.href=D,p.setAttribute("download",o.name),document.body.appendChild(p),p.click(),document.body.removeChild(p),window.URL.revokeObjectURL(D)}catch(l){console.error(l),u.message.error(l.message||"파일을 다운로드하는 중 오류가 발생했습니다.")}};return A.isEmpty(s)?null:c.jsxRuntimeExports.jsx(u.Card,{title:"파일 목록",children:c.jsxRuntimeExports.jsx(u.List,{dataSource:s,renderItem:o=>c.jsxRuntimeExports.jsx(u.List.Item,{actions:r?[]:[c.jsxRuntimeExports.jsx(u.Button,{type:"text",icon:c.jsxRuntimeExports.jsx(F.DownloadOutlined,{}),onClick:()=>a(o)},"download")],children:c.jsxRuntimeExports.jsx(u.List.Item.Meta,{avatar:c.jsxRuntimeExports.jsx(F.PaperClipOutlined,{}),title:o.name})})})})},{Text:G,Link:kn}=u.Typography,{Dragger:it}=u.Upload,ot=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],at=(t,e=2)=>{if(t===0)return"0 Bytes";const r=1024,n=e<0?0:e,s=["Bytes","KB","MB","GB","TB"],i=Math.floor(Math.log(t)/Math.log(r));return parseFloat((t/Math.pow(r,i)).toFixed(n))+" "+s[i]},ct=({title:t="첨부파일",fileGrpKey:e,onUploadComplete:r,onSuccessTrxCd:n="SCMFILE00102",anotherServiceTrxCd:s="SCMFILE00105",allowedExtensions:i=ot,maxFileSize:a=2048})=>{const[o,l]=f.useState([]),[d,v]=f.useState(!1),[D,p]=f.useState(!1),[g,T]=f.useState(0),S=m=>{if(i&&i.length>0){const h=(I=>{const x=I.lastIndexOf(".");return x===-1?"":I.substring(x).toLowerCase()})(m.name);if(!i.includes(h))return u.message.error(`${m.name} 파일은 허용되지 않는 확장자입니다. (${i.join(", ")}만 가능)`),!1}return!0},w=async()=>{const m=o.filter(O=>O.status!=="done"),b=m.reduce((O,j)=>O+(j.size||0),0),h=2*1024*1024*1024;if(b>h){u.notification.error({message:"업로드 용량 초과",description:"한 번에 업로드할 수 있는 총 파일 용량은 2GB를 초과할 수 없습니다."});return}if(m.length===0){u.message.warning("업로드할 파일이 없거나 모든 파일이 이미 업로드되었습니다.");return}p(!0);let I;try{const O=new et;m.forEach(j=>{j.originFileObj&&O.file(j.name,j.originFileObj)}),I=await O.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}})}catch(O){p(!1),u.message.error("파일을 압축하는 중 오류가 발생했습니다."),console.error("Zipping error:",O);return}p(!1);const x=new FormData;x.append("file",I,"upload.zip"),v(!0),T(0);try{const O=await new Promise((C,N)=>{const P=new XMLHttpRequest;P.open("POST","/api/upload-large",!0),P.upload.onprogress=R=>{if(R.lengthComputable){const B=Math.round(R.loaded/R.total*100);T(B)}},P.onload=()=>{if(P.status>=200&&P.status<300)try{const R=JSON.parse(P.responseText);R.success?C(R):N(new Error(R.message||"파일 업로드에 실패했습니다."))}catch{N(new Error("잘못된 서버 응답입니다."))}else try{const R=JSON.parse(P.responseText);N(new Error(R.message||`서버 오류: ${P.status}`))}catch{N(new Error(`서버 오류: ${P.status}`))}},P.onerror=()=>{N(new Error("네트워크 오류가 발생했습니다."))},P.send(x)});u.message.success(O.message||"압축 파일이 성공적으로 업로드되었습니다.");const j=o.map(C=>m.find(N=>N.uid===C.uid)?{...C,status:"done"}:C);if(l(j),n&&O.uploadedFiles&&Array.isArray(O.uploadedFiles)){const C=_.getUserInfo();O.uploadedFiles.forEach(N=>{const P={crprCd:C?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e,sub:[{crprCd:C?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e,physFileNm:N.fileNameP,lgclFileNm:N.fileNameL,filePath:N.filePath,fileExtn:N.fileExt,fileSize:N.fileSize,mltpYn:"Y"}]};_.callService(n,P).then(R=>{const B=o.map(H=>({crprCd:C?.crprCd,sysCd:__SYS_CD__,fileGrpKey:R.sub[0].fileGrpKey,fileKey:R.sub[0].fileKey,lgclFileNm:H.name,fileSize:H.size,fileExtn:H.name.split(".").pop(),fileType:H.type}));_.callService(s,{sub:B})}).catch(R=>{console.error("후처리 서비스 호출 실패:",R),u.message.error(`${N.fileNameL} 파일의 후처리 작업에 실패했습니다.`)}),r&&r({fileNameP:N.fileNameP,fileNameL:N.fileNameL})})}}catch(O){u.message.error(O.message||"파일 업로드 중 오류가 발생했습니다.");const j=o.map(C=>m.find(N=>N.uid===C.uid)?{...C,status:"error",response:O.message||"파일 업로드 중 오류가 발생했습니다."}:C);l(j)}finally{v(!1)}},y={multiple:!0,fileList:o,beforeUpload:m=>S(m)?a&&m.size>=a*1024*1024?(u.message.error(`대용량 첨부 파일 최대 크기는 ${(a/1024).toFixed(1)}GB입니다.`),u.Upload.LIST_IGNORE):!1:u.Upload.LIST_IGNORE,onChange:({fileList:m})=>{const b=new Map(o.map(h=>[h.uid,h]));m.forEach(h=>{b.set(h.uid,h)}),l(Array.from(b.values()))},onRemove:m=>{const b=o.filter(h=>h.uid!==m.uid);l(b)},showUploadList:!1};return c.jsxRuntimeExports.jsx(u.Spin,{spinning:d||D,tip:D?"파일 압축 중...":`파일 업로드 중... ${g}%`,children:c.jsxRuntimeExports.jsxs("div",{className:"bwg-large-uploader-container",children:[c.jsxRuntimeExports.jsx(u.Card,{title:c.jsxRuntimeExports.jsx(G,{strong:!0,children:t}),extra:c.jsxRuntimeExports.jsx(u.Upload,{...y,children:c.jsxRuntimeExports.jsx(u.Button,{icon:c.jsxRuntimeExports.jsx(F.UploadOutlined,{}),children:"파일 선택"})}),bodyStyle:{padding:0},children:c.jsxRuntimeExports.jsx(it,{...y,style:{border:"none",background:"transparent",padding:0},children:c.jsxRuntimeExports.jsx("div",{className:"upload-list-container",children:o.length>0?c.jsxRuntimeExports.jsx(u.List,{style:{textAlign:"left"},dataSource:o,renderItem:m=>{const b=m.status==="done",h=m.status==="error";let I;return b?I=c.jsxRuntimeExports.jsx(F.CheckCircleOutlined,{style:{color:"#52c41a",fontSize:14}}):h?I=c.jsxRuntimeExports.jsx(u.Tooltip,{title:typeof m.response=="string"?m.response:"업로드 실패",children:c.jsxRuntimeExports.jsx(F.CloseCircleOutlined,{style:{color:"#ff4d4f",fontSize:14}})}):I=c.jsxRuntimeExports.jsx(F.FileTextOutlined,{style:{fontSize:14}}),c.jsxRuntimeExports.jsx(u.List.Item,{actions:[c.jsxRuntimeExports.jsx(G,{type:"secondary",children:at(m.size||0)},"size"),c.jsxRuntimeExports.jsx(u.Button,{type:"text",icon:c.jsxRuntimeExports.jsx(F.DeleteOutlined,{}),onClick:x=>{x.stopPropagation(),y.onRemove?.(m)},disabled:d||D},"delete")],children:c.jsxRuntimeExports.jsx(u.List.Item.Meta,{avatar:I,title:c.jsxRuntimeExports.jsx(G,{type:h?"danger":void 0,children:m.name})})},m.uid)}}):c.jsxRuntimeExports.jsxs(u.Flex,{gap:"middle",align:"center",justify:"center",vertical:!0,style:{padding:"20px 0",minHeight:"120px"},children:[c.jsxRuntimeExports.jsx(F.InboxOutlined,{style:{fontSize:"32px",color:"#999"}}),c.jsxRuntimeExports.jsx(G,{type:"secondary",children:"업로드할 파일을 선택하거나 이 영역으로 드래그하세요."})]})})})}),o.length>0&&c.jsxRuntimeExports.jsxs(u.Flex,{justify:"flex-end",align:"center",gap:"large",style:{marginTop:16},children:[d&&c.jsxRuntimeExports.jsx("div",{style:{width:"250px"},children:c.jsxRuntimeExports.jsx(u.Progress,{percent:g,size:"small"})}),c.jsxRuntimeExports.jsx(u.Button,{type:"primary",onClick:w,disabled:d||D||o.filter(m=>m.status!=="done").length===0,icon:c.jsxRuntimeExports.jsx(F.CloudUploadOutlined,{}),children:"일괄 업로드"})]})]})})},ut=t=>{if(typeof t=="string")return t.replace(/0/g,"_");if(Array.isArray(t))return t[0].replace(/0/g,"_");if(typeof t=="object"&&"mask"in t&&"blocks"in t){const{mask:e,blocks:r}=t;return e.split(".").map(n=>{const i=r?.[n]?.maxLength??3;return"_".repeat(i)}).join(".")}return""},lt=({itemProps:t,inputProps:e,mask:r})=>{const n=f.useRef(null),s=u.Form.useFormInstance(),i=f.useMemo(()=>ut(r),[r]);return f.useEffect(()=>{if(!n.current?.input)return;const a=typeof r=="string"||Array.isArray(r)?{mask:r}:r,o=Me(n.current.input,a);return o.on("accept",()=>{s&&t?.name&&s.setFieldValue(t.name,o.value)}),()=>{o.destroy()}},[r,s,t?.name]),c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.Input,{...e,ref:n,placeholder:i})})},dt=t=>{switch(t){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"}}},gt=({type:t="date",itemProps:e={name:"calendar"},inputProps:r})=>{const{format:n,mask:s,outputFormat:i}=dt(t),a=f.useRef(null),o=f.useRef(null),l=u.Form.useFormInstance(),[d,v]=f.useState(!1),[D,p]=f.useState(!1),g=e?.name,[T,S]=f.useState(null);f.useEffect(()=>{if(!a.current?.input)return;const y=Me(a.current.input,{mask:s,lazy:!1});return o.current=y,y.on("accept",()=>{console.log("input :: ",y.value);const m=y.value,b=z(m,n,!0);console.log("input :: ",b),m.length===n.length&&b.isValid()&&(console.log("parsed :: ",b.format(i)),l.setFieldValue(g,b.format(i)),o.current?.updateValue(),v(!1))}),()=>{y.destroy()}},[n,s]),f.useEffect(()=>{S(z(l.getFieldValue(g)))},[l.getFieldValue(g)]);const w=y=>{if(!y){o.current?.updateValue();return}const m=y.format(i);console.log("formatted :: ",m),o.current&&(o.current.value=m,o.current.updateValue()),p(!1)};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...e,name:void 0,validateStatus:D?"warning":void 0,help:D?"유효하지 않은 날짜입니다":void 0,children:c.jsxRuntimeExports.jsxs("div",{style:{position:"relative"},children:[c.jsxRuntimeExports.jsx(u.Form.Item,{name:g,getValueProps:y=>({value:y?z(y).format(n):void 0}),normalize:y=>y?z(y).format(i):void 0,noStyle:!0,children:c.jsxRuntimeExports.jsx(u.Input,{...r,ref:a,onFocus:()=>{v(!d),o.current?.updateValue()},onKeyDown:y=>{y.key==="Backspace"&&v(!0),y.key==="Tab"&&v(!1)},allowClear:!0,placeholder:s.replace(/0/g,"_"),autoComplete:"off"})}),c.jsxRuntimeExports.jsx(u.DatePicker,{open:d,picker:t,format:n,value:T,onChange:w,getPopupContainer:y=>y.parentElement,style:{position:"absolute",top:0,left:0,pointerEvents:"none",opacity:0,width:"100%"}})]})})},{Option:De}=u.Select,ft=({itemProps:t,inputProps:e})=>{const[r,n]=f.useState([]);return f.useEffect(()=>{e?.addField==="ALL"?n([{label:"전체",value:""},...e?.list||[]]):e?.addField==="NULL"?n([{label:"",value:""},...e?.list||[]]):n(e?.list||[])},[e?.list]),c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,getValueProps:s=>s?{value:s&&s.indexOf(",")>0?s.split(","):[s]}:{value:[]},normalize:s=>s!=null&&s!=null&&s.length>0?s.toString():"",children:c.jsxRuntimeExports.jsx(u.Select,{...e,mode:"multiple",children:r.map(s=>{const{value:i,label:a}=s;return e?.printCode?c.jsxRuntimeExports.jsx(De,{value:i,label:a,children:c.jsxRuntimeExports.jsx(u.Space,{children:`[${i}] ${a}`})},i):c.jsxRuntimeExports.jsx(De,{value:i,label:a,children:c.jsxRuntimeExports.jsx(u.Space,{children:`${a}`})},i)})})})},ht=({itemProps:t,inputProps:e})=>{const r=s=>{let i=s.toString().split(".");return e?.decimalPoint!=null&&i[1]!=null&&e?.decimalPoint>0?i[1].length>e?.decimalPoint?i[1]="."+i[1].substring(0,e?.decimalPoint):i[1]="."+i[1]:i[1]="",i[0].replace(/\B(?=(\d{3})+(?!\d))/g,",")+i[1]},n=s=>{let i=s.toString().split(".");return e?.decimalPoint!=null&&i[1]!=null&&e?.decimalPoint>0?i[1].length>e?.decimalPoint?i[1]="."+i[1].substring(0,e?.decimalPoint):i[1]="."+i[1]:i[1]="",i[0].replace(/\$\s?|(,*)/g,"")+i[1]};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.InputNumber,{...e,formatter:s=>r(s),parser:s=>n(s)})})},pt=({itemProps:t,inputProps:e})=>c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.Radio.Group,{...e})}),ye=u.Input.Search,mt=t=>{const e=u.Form.useFormInstance(),{openPopup:r}=tt.usePopupStore(),n=t.itemProps?.name||[],s=t.popupConfig||{callback(a){console.log("callback data :: ",a),n.length>1?(e.setFieldValue(n[0],a.code),e.setFieldValue(n[1],a.name)):e.setFieldValue(n,a.code)}},i={...t,placeholder:typeof t.placeholder=="string"?t.placeholder:t.placeholder?.[0]||"",onChange:a=>{n.length>1&&e.setFieldValue(n[0],""),t.onChange?.(a)},onSearch:a=>{t.popuCd?r(t.popuCd,t.popupParams,s):t.onSearch?.(a)}};return n.length>1?c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t.itemProps,name:void 0,children:c.jsxRuntimeExports.jsxs(u.Space.Compact,{block:!0,children:[c.jsxRuntimeExports.jsx(u.Form.Item,{name:n[0],rules:t.itemProps?.rules,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:c.jsxRuntimeExports.jsx(u.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:t.placeholder?.[0]||"",readOnly:!0})}),c.jsxRuntimeExports.jsx(u.Form.Item,{name:n[1],style:{width:"60%",marginBottom:0},children:c.jsxRuntimeExports.jsx(ye,{readOnly:t.readOnly,enterButton:c.jsxRuntimeExports.jsx(u.Button,{icon:c.jsxRuntimeExports.jsx(F.SearchOutlined,{}),disabled:t.readOnly}),...i})})]})}):c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t.itemProps,children:c.jsxRuntimeExports.jsx(ye,{...i})})},{TextArea:vt}=u.Input,Dt=({itemProps:t,inputProps:e})=>c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(vt,{...e})}),Fe=f.createContext({dragDropManager:void 0});function L(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var Se=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})(),Ee=function(){return Math.random().toString(36).substring(7).split("").join(".")},xe={INIT:"@@redux/INIT"+Ee(),REPLACE:"@@redux/REPLACE"+Ee()};function yt(t){if(typeof t!="object"||t===null)return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function St(t){if(t===void 0)return"undefined";if(t===null)return"null";var e=typeof t;switch(e){case"boolean":case"string":case"number":case"symbol":case"function":return e}if(Array.isArray(t))return"array";if(Ot(t))return"date";if(xt(t))return"error";var r=Et(t);switch(r){case"Symbol":case"Promise":case"WeakMap":case"WeakSet":case"Map":case"Set":return r}return e.slice(8,-1).toLowerCase().replace(/\s/g,"")}function Et(t){return typeof t.constructor=="function"?t.constructor.name:null}function xt(t){return t instanceof Error||typeof t.message=="string"&&t.constructor&&typeof t.constructor.stackTraceLimit=="number"}function Ot(t){return t instanceof Date?!0:typeof t.toDateString=="function"&&typeof t.getDate=="function"&&typeof t.setDate=="function"}function Y(t){var e=typeof t;return process.env.NODE_ENV!=="production"&&(e=St(t)),e}function ke(t,e,r){var n;if(typeof e=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(process.env.NODE_ENV==="production"?L(0):"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.");if(typeof e=="function"&&typeof r>"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(process.env.NODE_ENV==="production"?L(1):"Expected the enhancer to be a function. Instead, received: '"+Y(r)+"'");return r(ke)(t,e)}if(typeof t!="function")throw new Error(process.env.NODE_ENV==="production"?L(2):"Expected the root reducer to be a function. Instead, received: '"+Y(t)+"'");var s=t,i=e,a=[],o=a,l=!1;function d(){o===a&&(o=a.slice())}function v(){if(l)throw new Error(process.env.NODE_ENV==="production"?L(3):"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return i}function D(S){if(typeof S!="function")throw new Error(process.env.NODE_ENV==="production"?L(4):"Expected the listener to be a function. Instead, received: '"+Y(S)+"'");if(l)throw new Error(process.env.NODE_ENV==="production"?L(5):"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.");var w=!0;return d(),o.push(S),function(){if(w){if(l)throw new Error(process.env.NODE_ENV==="production"?L(6):"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.");w=!1,d();var m=o.indexOf(S);o.splice(m,1),a=null}}}function p(S){if(!yt(S))throw new Error(process.env.NODE_ENV==="production"?L(7):"Actions must be plain objects. Instead, the actual type was: '"+Y(S)+"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.");if(typeof S.type>"u")throw new Error(process.env.NODE_ENV==="production"?L(8):'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');if(l)throw new Error(process.env.NODE_ENV==="production"?L(9):"Reducers may not dispatch actions.");try{l=!0,i=s(i,S)}finally{l=!1}for(var w=a=o,y=0;y<w.length;y++){var m=w[y];m()}return S}function g(S){if(typeof S!="function")throw new Error(process.env.NODE_ENV==="production"?L(10):"Expected the nextReducer to be a function. Instead, received: '"+Y(S));s=S,p({type:xe.REPLACE})}function T(){var S,w=D;return S={subscribe:function(m){if(typeof m!="object"||m===null)throw new Error(process.env.NODE_ENV==="production"?L(11):"Expected the observer to be an object. Instead, received: '"+Y(m)+"'");function b(){m.next&&m.next(v())}b();var h=w(b);return{unsubscribe:h}}},S[Se]=function(){return this},S}return p({type:xe.INIT}),n={dispatch:p,subscribe:D,getState:v,replaceReducer:g},n[Se]=T,n}function E(t,e,...r){if(It()&&e===void 0)throw new Error("invariant requires an error message argument");if(!t){let n;if(e===void 0)n=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let s=0;n=new Error(e.replace(/%s/g,function(){return r[s++]})),n.name="Invariant Violation"}throw n.framesToPop=1,n}}function It(){return typeof process<"u"&&process.env.NODE_ENV==="production"}function Tt(t,e,r){return e.split(".").reduce((n,s)=>n&&n[s]?n[s]:r||null,t)}function bt(t,e){return t.filter(r=>r!==e)}function Ae(t){return typeof t=="object"}function wt(t,e){const r=new Map,n=i=>{r.set(i,r.has(i)?r.get(i)+1:1)};t.forEach(n),e.forEach(n);const s=[];return r.forEach((i,a)=>{i===1&&s.push(a)}),s}function Ct(t,e){return t.filter(r=>e.indexOf(r)>-1)}const ge="dnd-core/INIT_COORDS",K="dnd-core/BEGIN_DRAG",fe="dnd-core/PUBLISH_DRAG_SOURCE",J="dnd-core/HOVER",Z="dnd-core/DROP",Q="dnd-core/END_DRAG";function Oe(t,e){return{type:ge,payload:{sourceClientOffset:e||null,clientOffset:t||null}}}const Rt={type:ge,payload:{clientOffset:null,sourceClientOffset:null}};function jt(t){return function(r=[],n={publishSource:!0}){const{publishSource:s=!0,clientOffset:i,getSourceClientOffset:a}=n,o=t.getMonitor(),l=t.getRegistry();t.dispatch(Oe(i)),Nt(r,o,l);const d=Lt(r,o);if(d==null){t.dispatch(Rt);return}let v=null;if(i){if(!a)throw new Error("getSourceClientOffset must be defined");Pt(a),v=a(d)}t.dispatch(Oe(i,v));const p=l.getSource(d).beginDrag(o,d);if(p==null)return;_t(p),l.pinSource(d);const g=l.getSourceType(d);return{type:K,payload:{itemType:g,item:p,sourceId:d,clientOffset:i||null,sourceClientOffset:v||null,isSourcePublic:!!s}}}}function Nt(t,e,r){E(!e.isDragging(),"Cannot call beginDrag while dragging."),t.forEach(function(n){E(r.getSource(n),"Expected sourceIds to be registered.")})}function Pt(t){E(typeof t=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function _t(t){E(Ae(t),"Item must be an object.")}function Lt(t,e){let r=null;for(let n=t.length-1;n>=0;n--)if(e.canDragSource(t[n])){r=t[n];break}return r}function Mt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ft(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Mt(t,s,r[s])})}return t}function kt(t){return function(r={}){const n=t.getMonitor(),s=t.getRegistry();At(n),Ht(n).forEach((a,o)=>{const l=Ut(a,o,s,n),d={type:Z,payload:{dropResult:Ft({},r,l)}};t.dispatch(d)})}}function At(t){E(t.isDragging(),"Cannot call drop while not dragging."),E(!t.didDrop(),"Cannot call drop twice during one drag operation.")}function Ut(t,e,r,n){const s=r.getTarget(t);let i=s?s.drop(n,t):void 0;return Bt(i),typeof i>"u"&&(i=e===0?{}:n.getDropResult()),i}function Bt(t){E(typeof t>"u"||Ae(t),"Drop result must either be an object or undefined.")}function Ht(t){const e=t.getTargetIds().filter(t.canDropOnTarget,t);return e.reverse(),e}function Yt(t){return function(){const r=t.getMonitor(),n=t.getRegistry();$t(r);const s=r.getSourceId();return s!=null&&(n.getSource(s,!0).endDrag(r,s),n.unpinSource()),{type:Q}}}function $t(t){E(t.isDragging(),"Cannot call endDrag while not dragging.")}function ae(t,e){return e===null?t===null:Array.isArray(t)?t.some(r=>r===e):t===e}function Vt(t){return function(r,{clientOffset:n}={}){qt(r);const s=r.slice(0),i=t.getMonitor(),a=t.getRegistry(),o=i.getItemType();return Gt(s,a,o),zt(s,i,a),Xt(s,i,a),{type:J,payload:{targetIds:s,clientOffset:n||null}}}}function qt(t){E(Array.isArray(t),"Expected targetIds to be an array.")}function zt(t,e,r){E(e.isDragging(),"Cannot call hover while not dragging."),E(!e.didDrop(),"Cannot call hover after drop.");for(let n=0;n<t.length;n++){const s=t[n];E(t.lastIndexOf(s)===n,"Expected targetIds to be unique in the passed array.");const i=r.getTarget(s);E(i,"Expected targetIds to be registered.")}}function Gt(t,e,r){for(let n=t.length-1;n>=0;n--){const s=t[n],i=e.getTargetType(s);ae(i,r)||t.splice(n,1)}}function Xt(t,e,r){t.forEach(function(n){r.getTarget(n).hover(e,n)})}function Wt(t){return function(){if(t.getMonitor().isDragging())return{type:fe}}}function Kt(t){return{beginDrag:jt(t),publishDragSource:Wt(t),hover:Vt(t),drop:kt(t),endDrag:Yt(t)}}class Jt{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const e=this,{dispatch:r}=this.store;function n(i){return(...a)=>{const o=i.apply(e,a);typeof o<"u"&&r(o)}}const s=Kt(this);return Object.keys(s).reduce((i,a)=>{const o=s[a];return i[a]=n(o),i},{})}dispatch(e){this.store.dispatch(e)}constructor(e,r){this.isSetUp=!1,this.handleRefCountChange=()=>{const n=this.store.getState().refCount>0;this.backend&&(n&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!n&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=r,e.subscribe(this.handleRefCountChange)}}function Zt(t,e){return{x:t.x+e.x,y:t.y+e.y}}function Ue(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Qt(t){const{clientOffset:e,initialClientOffset:r,initialSourceClientOffset:n}=t;return!e||!r||!n?null:Ue(Zt(e,n),r)}function er(t){const{clientOffset:e,initialClientOffset:r}=t;return!e||!r?null:Ue(e,r)}const q=[],he=[];q.__IS_NONE__=!0;he.__IS_ALL__=!0;function tr(t,e){return t===q?!1:t===he||typeof e>"u"?!0:Ct(e,t).length>0}class rr{subscribeToStateChange(e,r={}){const{handlerIds:n}=r;E(typeof e=="function","listener must be a function."),E(typeof n>"u"||Array.isArray(n),"handlerIds, when specified, must be an array of strings.");let s=this.store.getState().stateId;const i=()=>{const a=this.store.getState(),o=a.stateId;try{o===s||o===s+1&&!tr(a.dirtyHandlerIds,n)||e()}finally{s=o}};return this.store.subscribe(i)}subscribeToOffsetChange(e){E(typeof e=="function","listener must be a function.");let r=this.store.getState().dragOffset;const n=()=>{const s=this.store.getState().dragOffset;s!==r&&(r=s,e())};return this.store.subscribe(n)}canDragSource(e){if(!e)return!1;const r=this.registry.getSource(e);return E(r,`Expected to find a valid source. sourceId=${e}`),this.isDragging()?!1:r.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;const r=this.registry.getTarget(e);if(E(r,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop())return!1;const n=this.registry.getTargetType(e),s=this.getItemType();return ae(n,s)&&r.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;const r=this.registry.getSource(e,!0);if(E(r,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic())return!1;const n=this.registry.getSourceType(e),s=this.getItemType();return n!==s?!1:r.isDragging(this,e)}isOverTarget(e,r={shallow:!1}){if(!e)return!1;const{shallow:n}=r;if(!this.isDragging())return!1;const s=this.registry.getTargetType(e),i=this.getItemType();if(i&&!ae(s,i))return!1;const a=this.getTargetIds();if(!a.length)return!1;const o=a.indexOf(e);return n?o===a.length-1:o>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return Qt(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return er(this.store.getState().dragOffset)}constructor(e,r){this.store=e,this.registry=r}}const Ie=typeof global<"u"?global:self,Be=Ie.MutationObserver||Ie.WebKitMutationObserver;function He(t){return function(){const r=setTimeout(s,0),n=setInterval(s,50);function s(){clearTimeout(r),clearInterval(n),t()}}}function nr(t){let e=1;const r=new Be(t),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){e=-e,n.data=e}}const sr=typeof Be=="function"?nr:He;class ir{enqueueTask(e){const{queue:r,requestFlush:n}=this;r.length||(n(),this.flushing=!0),r[r.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.index<e.length;){const r=this.index;if(this.index++,e[r].call(),this.index>this.capacity){for(let n=0,s=e.length-this.index;n<s;n++)e[n]=e[n+this.index];e.length-=this.index,this.index=0}}e.length=0,this.index=0,this.flushing=!1},this.registerPendingError=e=>{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=sr(this.flush),this.requestErrorThrow=He(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class or{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,r){this.onError=e,this.release=r,this.task=null}}class ar{create(e){const r=this.freeTasks,n=r.length?r.pop():new or(this.onError,s=>r[r.length]=s);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}}const Ye=new ir,cr=new ar(Ye.registerPendingError);function ur(t){Ye.enqueueTask(cr.create(t))}const pe="dnd-core/ADD_SOURCE",me="dnd-core/ADD_TARGET",ve="dnd-core/REMOVE_SOURCE",ee="dnd-core/REMOVE_TARGET";function lr(t){return{type:pe,payload:{sourceId:t}}}function dr(t){return{type:me,payload:{targetId:t}}}function gr(t){return{type:ve,payload:{sourceId:t}}}function fr(t){return{type:ee,payload:{targetId:t}}}function hr(t){E(typeof t.canDrag=="function","Expected canDrag to be a function."),E(typeof t.beginDrag=="function","Expected beginDrag to be a function."),E(typeof t.endDrag=="function","Expected endDrag to be a function.")}function pr(t){E(typeof t.canDrop=="function","Expected canDrop to be a function."),E(typeof t.hover=="function","Expected hover to be a function."),E(typeof t.drop=="function","Expected beginDrag to be a function.")}function ce(t,e){if(e&&Array.isArray(t)){t.forEach(r=>ce(r,!1));return}E(typeof t=="string"||typeof t=="symbol",e?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var M;(function(t){t.SOURCE="SOURCE",t.TARGET="TARGET"})(M||(M={}));let mr=0;function vr(){return mr++}function Dr(t){const e=vr().toString();switch(t){case M.SOURCE:return`S${e}`;case M.TARGET:return`T${e}`;default:throw new Error(`Unknown Handler Role: ${t}`)}}function Te(t){switch(t[0]){case"S":return M.SOURCE;case"T":return M.TARGET;default:throw new Error(`Cannot parse handler ID: ${t}`)}}function be(t,e){const r=t.entries();let n=!1;do{const{done:s,value:[,i]}=r.next();if(i===e)return!0;n=!!s}while(!n);return!1}class yr{addSource(e,r){ce(e),hr(r);const n=this.addHandler(M.SOURCE,e,r);return this.store.dispatch(lr(n)),n}addTarget(e,r){ce(e,!0),pr(r);const n=this.addHandler(M.TARGET,e,r);return this.store.dispatch(dr(n)),n}containsHandler(e){return be(this.dragSources,e)||be(this.dropTargets,e)}getSource(e,r=!1){return E(this.isSourceId(e),"Expected a valid source ID."),r&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return E(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return E(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return E(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return Te(e)===M.SOURCE}isTargetId(e){return Te(e)===M.TARGET}removeSource(e){E(this.getSource(e),"Expected an existing source."),this.store.dispatch(gr(e)),ur(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){E(this.getTarget(e),"Expected an existing target."),this.store.dispatch(fr(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){const r=this.getSource(e);E(r,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=r}unpinSource(){E(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,r,n){const s=Dr(e);return this.types.set(s,r),e===M.SOURCE?this.dragSources.set(s,n):e===M.TARGET&&this.dropTargets.set(s,n),s}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}}const Sr=(t,e)=>t===e;function Er(t,e){return!t&&!e?!0:!t||!e?!1:t.x===e.x&&t.y===e.y}function xr(t,e,r=Sr){if(t.length!==e.length)return!1;for(let n=0;n<t.length;++n)if(!r(t[n],e[n]))return!1;return!0}function Or(t=q,e){switch(e.type){case J:break;case pe:case me:case ee:case ve:return q;case K:case fe:case Q:case Z:default:return he}const{targetIds:r=[],prevTargetIds:n=[]}=e.payload,s=wt(r,n);if(!(s.length>0||!xr(r,n)))return q;const a=n[n.length-1],o=r[r.length-1];return a!==o&&(a&&s.push(a),o&&s.push(o)),s}function Ir(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Tr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Ir(t,s,r[s])})}return t}const we={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function br(t=we,e){const{payload:r}=e;switch(e.type){case ge:case K:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case J:return Er(t.clientOffset,r.clientOffset)?t:Tr({},t,{clientOffset:r.clientOffset});case Q:case Z:return we;default:return t}}function wr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function $(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){wr(t,s,r[s])})}return t}const Cr={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Rr(t=Cr,e){const{payload:r}=e;switch(e.type){case K:return $({},t,{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case fe:return $({},t,{isSourcePublic:!0});case J:return $({},t,{targetIds:r.targetIds});case ee:return t.targetIds.indexOf(r.targetId)===-1?t:$({},t,{targetIds:bt(t.targetIds,r.targetId)});case Z:return $({},t,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case Q:return $({},t,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return t}}function jr(t=0,e){switch(e.type){case pe:case me:return t+1;case ve:case ee:return t-1;default:return t}}function Nr(t=0){return t+1}function Pr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _r(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Pr(t,s,r[s])})}return t}function Lr(t={},e){return{dirtyHandlerIds:Or(t.dirtyHandlerIds,{type:e.type,payload:_r({},e.payload,{prevTargetIds:Tt(t,"dragOperation.targetIds",[])})}),dragOffset:br(t.dragOffset,e),refCount:jr(t.refCount,e),dragOperation:Rr(t.dragOperation,e),stateId:Nr(t.stateId)}}function Mr(t,e=void 0,r={},n=!1){const s=Fr(n),i=new rr(s,new yr(s)),a=new Jt(s,i),o=t(a,e,r);return a.receiveBackend(o),a}function Fr(t){const e=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__;return ke(Lr,t&&e&&e({name:"dnd-core",instanceId:"dnd-core"}))}function kr(t,e){if(t==null)return{};var r=Ar(t,e),n,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)n=i[s],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function Ar(t,e){if(t==null)return{};var r={},n=Object.keys(t),s,i;for(i=0;i<n.length;i++)s=n[i],!(e.indexOf(s)>=0)&&(r[s]=t[s]);return r}let Ce=0;const W=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var Ur=f.memo(function(e){var{children:r}=e,n=kr(e,["children"]);const[s,i]=Br(n);return f.useEffect(()=>{if(i){const a=$e();return++Ce,()=>{--Ce===0&&(a[W]=null)}}},[]),c.jsxRuntimeExports.jsx(Fe.Provider,{value:s,children:r})});function Br(t){if("manager"in t)return[{dragDropManager:t.manager},!1];const e=Hr(t.backend,t.context,t.options,t.debugMode),r=!t.context;return[e,r]}function Hr(t,e=$e(),r,n){const s=e;return s[W]||(s[W]={dragDropManager:Mr(t,e,r,n)}),s[W]}function $e(){return typeof global<"u"?global:window}var te,Re;function Yr(){return Re||(Re=1,te=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,s,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(s=n;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[s]))return!1;for(s=n;s--!==0;){var a=i[s];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}),te}var $r=Yr();const Vr=_.getDefaultExportFromCjs($r),U=typeof window<"u"?f.useLayoutEffect:f.useEffect;function qr(t,e,r){const[n,s]=f.useState(()=>e(t)),i=f.useCallback(()=>{const a=e(t);Vr(n,a)||(s(a),r&&r())},[n,t,r]);return U(i),[n,i]}function zr(t,e,r){const[n,s]=qr(t,e,r);return U(function(){const a=t.getHandlerId();if(a!=null)return t.subscribeToStateChange(s,{handlerIds:[a]})},[t,s]),n}function Ve(t,e,r){return zr(e,t||(()=>({})),()=>r.reconnect())}function qe(t,e){const r=[];return typeof t!="function"&&r.push(t),f.useMemo(()=>typeof t=="function"?t():t,r)}function Gr(t){return f.useMemo(()=>t.hooks.dragSource(),[t])}function Xr(t){return f.useMemo(()=>t.hooks.dragPreview(),[t])}let re=!1,ne=!1;class Wr{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){E(!re,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return re=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{re=!1}}isDragging(){if(!this.sourceId)return!1;E(!ne,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return ne=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{ne=!1}}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,r){return this.internalMonitor.isOverTarget(e,r)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}}let se=!1;class Kr{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}canDrop(){if(!this.targetId)return!1;E(!se,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return se=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{se=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}}function Jr(t,e,r){const n=r.getRegistry(),s=n.addTarget(t,e);return[s,()=>n.removeTarget(s)]}function Zr(t,e,r){const n=r.getRegistry(),s=n.addSource(t,e);return[s,()=>n.removeSource(s)]}function ue(t,e,r,n){let s;if(s!==void 0)return!!s;if(t===e)return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;const i=Object.keys(t),a=Object.keys(e);if(i.length!==a.length)return!1;const o=Object.prototype.hasOwnProperty.bind(e);for(let l=0;l<i.length;l++){const d=i[l];if(!o(d))return!1;const v=t[d],D=e[d];if(s=void 0,s===!1||s===void 0&&v!==D)return!1}return!0}function le(t){return t!==null&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function Qr(t){if(typeof t.type=="string")return;const e=t.type.displayName||t.type.name||"the component";throw new Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${e} into a <div>, or turn it into a drag source or a drop target itself.`)}function en(t){return(e=null,r=null)=>{if(!f.isValidElement(e)){const i=e;return t(i,r),i}const n=e;return Qr(n),tn(n,r?i=>t(i,r):t)}}function ze(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];if(r.endsWith("Ref"))e[r]=t[r];else{const s=en(n);e[r]=()=>s}}),e}function je(t,e){typeof t=="function"?t(e):t.current=e}function tn(t,e){const r=t.ref;return E(typeof r!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),r?f.cloneElement(t,{ref:n=>{je(r,n),je(e,n)}}):f.cloneElement(t,{ref:e})}class rn{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){const e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){const e=this.dragSource,r=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return r&&this.disconnectDragSource(),this.handlerId?e?(r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),r):(this.lastConnectedDragSource=e,r):r}reconnectDragPreview(e=!1){const r=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),!!this.handlerId){if(!r){this.lastConnectedDragPreview=r;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=r,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,r,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!ue(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!ue(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=ze({dragSource:(r,n)=>{this.clearDragSource(),this.dragSourceOptions=n||null,le(r)?this.dragSourceRef=r:this.dragSourceNode=r,this.reconnectDragSource()},dragPreview:(r,n)=>{this.clearDragPreview(),this.dragPreviewOptions=n||null,le(r)?this.dragPreviewRef=r:this.dragPreviewNode=r,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}}class nn{get connectTarget(){return this.dropTarget}reconnect(){const e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();const r=this.dropTarget;if(this.handlerId){if(!r){this.lastConnectedDropTarget=r;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=r,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,r,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!ue(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=ze({dropTarget:(r,n)=>{this.clearDropTarget(),this.dropTargetOptions=n,le(r)?this.dropTargetRef=r:this.dropTargetNode=r,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}function V(){const{dragDropManager:t}=f.useContext(Fe);return E(t!=null,"Expected drag drop context"),t}function sn(t,e){const r=V(),n=f.useMemo(()=>new rn(r.getBackend()),[r]);return U(()=>(n.dragSourceOptions=t||null,n.reconnect(),()=>n.disconnectDragSource()),[n,t]),U(()=>(n.dragPreviewOptions=e||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,e]),n}function on(){const t=V();return f.useMemo(()=>new Wr(t),[t])}class an{beginDrag(){const e=this.spec,r=this.monitor;let n=null;return typeof e.item=="object"?n=e.item:typeof e.item=="function"?n=e.item(r):n={},n??null}canDrag(){const e=this.spec,r=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag=="function"?e.canDrag(r):!0}isDragging(e,r){const n=this.spec,s=this.monitor,{isDragging:i}=n;return i?i(s):r===e.getSourceId()}endDrag(){const e=this.spec,r=this.monitor,n=this.connector,{end:s}=e;s&&s(r.getItem(),r),n.reconnect()}constructor(e,r,n){this.spec=e,this.monitor=r,this.connector=n}}function cn(t,e,r){const n=f.useMemo(()=>new an(t,e,r),[e,r]);return f.useEffect(()=>{n.spec=t},[t]),n}function un(t){return f.useMemo(()=>{const e=t.type;return E(e!=null,"spec.type must be defined"),e},[t])}function ln(t,e,r){const n=V(),s=cn(t,e,r),i=un(t);U(function(){if(i!=null){const[o,l]=Zr(i,s,n);return e.receiveHandlerId(o),r.receiveHandlerId(o),l}},[n,e,r,s,i])}function dn(t,e){const r=qe(t);E(!r.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const n=on(),s=sn(r.options,r.previewOptions);return ln(r,n,s),[Ve(r.collect,n,s),Gr(s),Xr(s)]}function gn(t){return f.useMemo(()=>t.hooks.dropTarget(),[t])}function fn(t){const e=V(),r=f.useMemo(()=>new nn(e.getBackend()),[e]);return U(()=>(r.dropTargetOptions=t||null,r.reconnect(),()=>r.disconnectDropTarget()),[t]),r}function hn(){const t=V();return f.useMemo(()=>new Kr(t),[t])}function pn(t){const{accept:e}=t;return f.useMemo(()=>(E(t.accept!=null,"accept must be defined"),Array.isArray(e)?e:[e]),[e])}class mn{canDrop(){const e=this.spec,r=this.monitor;return e.canDrop?e.canDrop(r.getItem(),r):!0}hover(){const e=this.spec,r=this.monitor;e.hover&&e.hover(r.getItem(),r)}drop(){const e=this.spec,r=this.monitor;if(e.drop)return e.drop(r.getItem(),r)}constructor(e,r){this.spec=e,this.monitor=r}}function vn(t,e){const r=f.useMemo(()=>new mn(t,e),[e]);return f.useEffect(()=>{r.spec=t},[t]),r}function Dn(t,e,r){const n=V(),s=vn(t,e),i=pn(t);U(function(){const[o,l]=Jr(i,s,n);return e.receiveHandlerId(o),r.receiveHandlerId(o),l},[n,e,s,r,i.map(a=>a.toString()).join("|")])}function yn(t,e){const r=qe(t),n=hn(),s=fn(r.options);return Dn(r,n,s),[Ve(r.collect,n,s),gn(s)]}function Ge(t){let e=null;return()=>(e==null&&(e=t()),e)}function Sn(t,e){return t.filter(r=>r!==e)}function En(t,e){const r=new Set,n=i=>r.add(i);t.forEach(n),e.forEach(n);const s=[];return r.forEach(i=>s.push(i)),s}class xn{enter(e){const r=this.entered.length,n=s=>this.isNodeInDocument(s)&&(!s.contains||s.contains(e));return this.entered=En(this.entered.filter(n),[e]),r===0&&this.entered.length>0}leave(e){const r=this.entered.length;return this.entered=Sn(this.entered.filter(this.isNodeInDocument),e),r>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}}class On{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){const r={};Object.keys(this.config.exposeProperties).forEach(n=>{const s=this.config.exposeProperties[n];s!=null&&(r[n]={value:s(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,r)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,r){return r===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}const Xe="__NATIVE_FILE__",We="__NATIVE_URL__",Ke="__NATIVE_TEXT__",Je="__NATIVE_HTML__",Ne=Object.freeze(Object.defineProperty({__proto__:null,FILE:Xe,HTML:Je,TEXT:Ke,URL:We},Symbol.toStringTag,{value:"Module"}));function ie(t,e,r){const n=e.reduce((s,i)=>s||t.getData(i),"");return n??r}const de={[Xe]:{exposeProperties:{files:t=>Array.prototype.slice.call(t.files),items:t=>t.items,dataTransfer:t=>t},matchesTypes:["Files"]},[Je]:{exposeProperties:{html:(t,e)=>ie(t,e,""),dataTransfer:t=>t},matchesTypes:["Html","text/html"]},[We]:{exposeProperties:{urls:(t,e)=>ie(t,e,"").split(`
|
|
2
|
+
`),dataTransfer:t=>t},matchesTypes:["Url","text/uri-list"]},[Ke]:{exposeProperties:{text:(t,e)=>ie(t,e,""),dataTransfer:t=>t},matchesTypes:["Text","text/plain"]}};function In(t,e){const r=de[t];if(!r)throw new Error(`native type ${t} has no configuration`);const n=new On(r);return n.loadDataTransfer(e),n}function oe(t){if(!t)return null;const e=Array.prototype.slice.call(t.types||[]);return Object.keys(de).filter(r=>{const n=de[r];return n?.matchesTypes?n.matchesTypes.some(s=>e.indexOf(s)>-1):!1})[0]||null}const Tn=Ge(()=>/firefox/i.test(navigator.userAgent)),Ze=Ge(()=>!!window.safari);class Pe{interpolate(e){const{xs:r,ys:n,c1s:s,c2s:i,c3s:a}=this;let o=r.length-1;if(e===r[o])return n[o];let l=0,d=a.length-1,v;for(;l<=d;){v=Math.floor(.5*(l+d));const g=r[v];if(g<e)l=v+1;else if(g>e)d=v-1;else return n[v]}o=Math.max(0,d);const D=e-r[o],p=D*D;return n[o]+s[o]*D+i[o]*p+a[o]*D*p}constructor(e,r){const{length:n}=e,s=[];for(let g=0;g<n;g++)s.push(g);s.sort((g,T)=>e[g]<e[T]?-1:1);const i=[],a=[];let o,l;for(let g=0;g<n-1;g++)o=e[g+1]-e[g],l=r[g+1]-r[g],i.push(o),a.push(l/o);const d=[a[0]];for(let g=0;g<i.length-1;g++){const T=a[g],S=a[g+1];if(T*S<=0)d.push(0);else{o=i[g];const w=i[g+1],y=o+w;d.push(3*y/((y+w)/T+(y+o)/S))}}d.push(a[a.length-1]);const v=[],D=[];let p;for(let g=0;g<d.length-1;g++){p=a[g];const T=d[g],S=1/i[g],w=T+d[g+1]-p-p;v.push((p-T-w)*S),D.push(w*S*S)}this.xs=e,this.ys=r,this.c1s=d,this.c2s=v,this.c3s=D}}const bn=1;function Qe(t){const e=t.nodeType===bn?t:t.parentElement;if(!e)return null;const{top:r,left:n}=e.getBoundingClientRect();return{x:n,y:r}}function X(t){return{x:t.clientX,y:t.clientY}}function wn(t){var e;return t.nodeName==="IMG"&&(Tn()||!(!((e=document.documentElement)===null||e===void 0)&&e.contains(t)))}function Cn(t,e,r,n){let s=t?e.width:r,i=t?e.height:n;return Ze()&&t&&(i/=window.devicePixelRatio,s/=window.devicePixelRatio),{dragPreviewWidth:s,dragPreviewHeight:i}}function Rn(t,e,r,n,s){const i=wn(e),o=Qe(i?t:e),l={x:r.x-o.x,y:r.y-o.y},{offsetWidth:d,offsetHeight:v}=t,{anchorX:D,anchorY:p}=n,{dragPreviewWidth:g,dragPreviewHeight:T}=Cn(i,e,d,v),S=()=>{let x=new Pe([0,.5,1],[l.y,l.y/v*T,l.y+T-v]).interpolate(p);return Ze()&&i&&(x+=(window.devicePixelRatio-1)*T),x},w=()=>new Pe([0,.5,1],[l.x,l.x/d*g,l.x+g-d]).interpolate(D),{offsetX:y,offsetY:m}=s,b=y===0||y,h=m===0||m;return{x:b?y:w(),y:h?m:S()}}class jn{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var e;return!((e=this.globalContext)===null||e===void 0)&&e.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var e;return((e=this.optionsArgs)===null||e===void 0?void 0:e.rootElement)||this.window}constructor(e,r){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=r}}function Nn(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _e(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Nn(t,s,r[s])})}return t}class Pn{profile(){var e,r;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:((e=this.dragStartSourceIds)===null||e===void 0?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:((r=this.dragOverTargetIds)===null||r===void 0?void 0:r.length)||0}}get window(){return this.options.window}get document(){return this.options.document}get rootElement(){return this.options.rootElement}setup(){const e=this.rootElement;if(e!==void 0){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}teardown(){const e=this.rootElement;if(e!==void 0&&(e.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId)){var r;(r=this.window)===null||r===void 0||r.cancelAnimationFrame(this.asyncEndDragFrameId)}}connectDragPreview(e,r,n){return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,r),()=>{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,r,n){this.sourceNodes.set(e,r),this.sourceNodeOptions.set(e,n);const s=a=>this.handleDragStart(a,e),i=a=>this.handleSelectStart(a);return r.setAttribute("draggable","true"),r.addEventListener("dragstart",s),r.addEventListener("selectstart",i),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),r.removeEventListener("dragstart",s),r.removeEventListener("selectstart",i),r.setAttribute("draggable","false")}}connectDropTarget(e,r){const n=a=>this.handleDragEnter(a,e),s=a=>this.handleDragOver(a,e),i=a=>this.handleDrop(a,e);return r.addEventListener("dragenter",n),r.addEventListener("dragover",s),r.addEventListener("drop",i),()=>{r.removeEventListener("dragenter",n),r.removeEventListener("dragover",s),r.removeEventListener("drop",i)}}addEventListeners(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourceNodeOptions.get(e);return _e({dropEffect:this.altKeyPressed?"copy":"move"},r||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourcePreviewNodeOptions.get(e);return _e({anchorX:.5,anchorY:.5,captureDraggingState:!1},r||{})}isDraggingNativeItem(){const e=this.monitor.getItemType();return Object.keys(Ne).some(r=>Ne[r]===e)}beginDragNativeItem(e,r){this.clearCurrentDragSourceNode(),this.currentNativeSource=In(e,r),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e;const r=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var n;return(n=this.rootElement)===null||n===void 0?void 0:n.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},r)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;(e=this.window)===null||e===void 0||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(e,r){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(r))}handleDragEnter(e,r){this.dragEnterTargetIds.unshift(r)}handleDragOver(e,r){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(r)}handleDrop(e,r){this.dropTargetIds.unshift(r)}constructor(e,r,n){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=s=>{const i=this.sourceNodes.get(s);return i&&Qe(i)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=s=>!!(s&&this.document&&this.document.body&&this.document.body.contains(s)),this.endDragIfSourceWasRemovedFromDOM=()=>{const s=this.currentDragSourceNode;s==null||this.isNodeInDocument(s)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=s=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(s||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=s=>{if(s.defaultPrevented)return;const{dragStartSourceIds:i}=this;this.dragStartSourceIds=null;const a=X(s);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(i||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:a});const{dataTransfer:o}=s,l=oe(o);if(this.monitor.isDragging()){if(o&&typeof o.setDragImage=="function"){const v=this.monitor.getSourceId(),D=this.sourceNodes.get(v),p=this.sourcePreviewNodes.get(v)||D;if(p){const{anchorX:g,anchorY:T,offsetX:S,offsetY:w}=this.getCurrentSourcePreviewNodeOptions(),b=Rn(D,p,a,{anchorX:g,anchorY:T},{offsetX:S,offsetY:w});o.setDragImage(p,b.x,b.y)}}try{o?.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(s.target);const{captureDraggingState:d}=this.getCurrentSourcePreviewNodeOptions();d?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(l)this.beginDragNativeItem(l);else{if(o&&!o.types&&(s.target&&!s.target.hasAttribute||!s.target.hasAttribute("draggable")))return;s.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=s=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var i;(i=this.currentNativeSource)===null||i===void 0||i.loadDataTransfer(s.dataTransfer)}if(!this.enterLeaveCounter.enter(s.target)||this.monitor.isDragging())return;const{dataTransfer:o}=s,l=oe(o);l&&this.beginDragNativeItem(l,o)},this.handleTopDragEnter=s=>{const{dragEnterTargetIds:i}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=s.altKey,i.length>0&&this.actions.hover(i,{clientOffset:X(s)}),i.some(o=>this.monitor.canDropOnTarget(o))&&(s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=s=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var i;(i=this.currentNativeSource)===null||i===void 0||i.loadDataTransfer(s.dataTransfer)}},this.handleTopDragOver=s=>{const{dragOverTargetIds:i}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect="none");return}this.altKeyPressed=s.altKey,this.lastClientOffset=X(s),this.scheduleHover(i),(i||[]).some(o=>this.monitor.canDropOnTarget(o))?(s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?s.preventDefault():(s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=s=>{this.isDraggingNativeItem()&&s.preventDefault(),this.enterLeaveCounter.leave(s.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=s=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var i;s.preventDefault(),(i=this.currentNativeSource)===null||i===void 0||i.loadDataTransfer(s.dataTransfer)}else oe(s.dataTransfer)&&s.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=s=>{const{dropTargetIds:i}=this;this.dropTargetIds=[],this.actions.hover(i,{clientOffset:X(s)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=s=>{const i=s.target;typeof i.dragDrop=="function"&&(i.tagName==="INPUT"||i.tagName==="SELECT"||i.tagName==="TEXTAREA"||i.isContentEditable||(s.preventDefault(),i.dragDrop()))},this.options=new jn(r,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new xn(this.isNodeInDocument)}}const _n=function(e,r,n){return new Pn(e,r,n)},Ln=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],Le={FILE:"file"},Mn=({originNode:t,file:e,fileList:r,moveFile:n,onDrop:s})=>{const i=f.useRef(null),[{handlerId:a},o]=yn({accept:Le.FILE,collect:D=>({handlerId:D.getHandlerId()}),hover(D,p){if(!i.current)return;const g=D.uid,T=e.uid;if(g===T)return;const S=A.findIndex(r,{uid:T}),w=A.findIndex(r,{uid:g});if(w===-1||S===-1)return;const y=i.current.getBoundingClientRect(),m=p.getClientOffset();if(!m)return;const b=(y.bottom-y.top)/2,h=m.y-y.top;w<S&&h<b||w>S&&h>b||n(g,T)},drop(){s()}}),[{isDragging:l},d]=dn({type:Le.FILE,item:()=>({uid:e.uid,index:A.findIndex(r,{uid:e.uid})}),collect:D=>({isDragging:D.isDragging()})}),v=l?0:1;return d(o(i)),c.jsxRuntimeExports.jsx("div",{ref:i,style:{opacity:v},"data-handler-id":a,children:t})},Fn=({fileGrpKey:t,onUploadComplete:e,onFetchFilesTrxCd:r="SCMFILE00101",onSuccessTrxCd:n="SCMFILE00102",onDeleteFileTrxCd:s="SCMFILE00103",onReorderFilesTrxCd:i="SCMFILE00104",allowedExtensions:a=Ln,maxFileSize:o=200,showButton:l=!0,multiple:d=!1})=>{const[v,D]=f.useState([]),p=f.useRef(t),g=f.useRef([]),T=()=>{if(g.current.length===0)return;const h=[...g.current];if(g.current=[],n){const I=h.map(x=>({crprCd:_.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,physFileNm:x.fileNameP,lgclFileNm:x.fileNameL,filePath:x.filePath,fileExtn:x.fileExt,fileSize:x.fileSize,mltpYn:"N"}));_.callService(n,{crprCd:_.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,sub:I}).then(x=>{if(x?.sub&&x.sub.length>0){const O=x.sub[0].fileGrpKey;p.current||(p.current=O);const j=new Map;x.sub.forEach(C=>{const N=h.find(P=>P.fileNameL===C.lgclFileNm);N&&j.set(N.tempId,C)}),D(C=>C.map(P=>{const R=j.get(P.uid);if(R){const B=h.find(H=>H.tempId===P.uid);return e&&B&&e({...B,fileGrpKey:O,fileKey:R.fileKey}),{...P,name:R.lgclFileNm,fileGrpKey:O,fileKey:R.fileKey,uid:R.fileKey,status:"done",url:`/api/download?filePath=${R.filePath}&logicalName=${R.lgclFileNm}`}}return P}))}}).catch(x=>{console.error("업로드 후처리 서비스 호출 실패:",x),u.message.error("파일 후처리 중 오류가 발생했습니다.");const O=new Set(h.map(j=>j.tempId));D(j=>j.map(C=>O.has(C.uid)?{...C,status:"error",error:"후처리 실패"}:C))})}},S=f.useRef(A.debounce(T,500)).current;f.useEffect(()=>()=>{S.cancel()},[S]),f.useEffect(()=>{p.current=t},[t]),f.useEffect(()=>{t&&r&&_.callService(r,{crprCd:_.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t}).then(h=>{if(h?.sub){const I=h.sub.map(x=>({uid:x.fileKey,name:x.lgclFileNm,status:"done",url:`/api/download?filePath=${x.filePath}&logicalName=${x.lgclFileNm}`}));D(I)}}).catch(h=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",h),u.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")})},[t,r]);const w=(h,I)=>{const x=A.findIndex(v,{uid:h}),O=A.findIndex(v,{uid:I});if(x<0||O<0)return;const j=[...v],[C]=j.splice(x,1);j.splice(O,0,C),D(j)},y=()=>{if(t&&i){const h=v.map(I=>I.uid);_.callService(i,{crprCd:_.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,reorderedFileKeys:h}).then(()=>{u.message.success("파일 순서가 성공적으로 저장되었습니다.")}).catch(I=>{console.error("파일 순서 저장 서비스 호출 실패:",I),u.message.error("파일 순서 저장 중 오류가 발생했습니다.")})}},b={name:"file",multiple:d,action:"/api/upload",fileList:v,beforeUpload:h=>{if(!d&&v.length>0)return u.message.error("하나의 파일만 업로드할 수 있습니다."),u.Upload.LIST_IGNORE;if(a&&a.length>0){const I=`.${h.name.split(".").pop()?.toLowerCase()}`;if(!a.includes(I))return u.message.error(`${h.name} 파일은 허용되지 않는 확장자입니다. (${a.join(", ")})`),u.Upload.LIST_IGNORE}return o&&!(h.size/1024/1024<o)?(u.message.error(`일반업로드의 최대용량은 ${o}MB입니다.`),u.Upload.LIST_IGNORE):!0},showUploadList:{showRemoveIcon:l},onChange(h){const{status:I,uid:x}=h.file;if(I==="removed"){s?_.callService(s,{crprCd:_.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,fileKey:x}).then(()=>{u.message.success("파일이 성공적으로 삭제되었습니다."),D(h.fileList)}).catch(O=>{console.error("파일 삭제 서비스 호출에 실패했습니다.",O),u.message.error("파일 삭제 중 오류가 발생했습니다.")}):D(h.fileList);return}if(D(h.fileList),I==="done")if(h.file.response?.success){const{uploadedFiles:O}=h.file.response;O&&Array.isArray(O)&&O.length>0&&(O.forEach(j=>{j.tempId=h.file.uid,g.current.push(j)}),S()),u.message.success(h.file.response.message||`${h.file.name} 파일이 성공적으로 업로드되었습니다.`)}else u.message.error(h.file.response?.message||`${h.file.name} 파일 업로드에 실패했습니다.`);else I==="error"&&u.message.error(h.file.response?.message||`${h.file.name} 파일 업로드 중 오류가 발생했습니다.`)},itemRender(h,I,x){const O=f.cloneElement(h,{href:I.url||void 0,title:void 0});return c.jsxRuntimeExports.jsx(Mn,{originNode:O,file:I,fileList:x,moveFile:w,onDrop:y},I.uid)}};return c.jsxRuntimeExports.jsx(Ur,{backend:_n,children:c.jsxRuntimeExports.jsx(u.Upload,{headers:{SYSCD:__SYS_CD__},...b,listType:"picture",children:l&&(d||v.length===0)&&c.jsxRuntimeExports.jsx(u.Button,{icon:c.jsxRuntimeExports.jsx(F.UploadOutlined,{}),children:"파일 선택"})})})};exports.BwgButton=rt;exports.BwgCheckList=nt;exports.BwgDownload=st;exports.BwgLargeUploader=ct;exports.BwgMaskedInput=lt;exports.BwgMaskedPicker=gt;exports.BwgMultiSelect=ft;exports.BwgNumber=ht;exports.BwgRadio=pt;exports.BwgSearch=mt;exports.BwgTextArea=Dt;exports.BwgUploader=Fn;
|
|
3
|
+
//# sourceMappingURL=BwgUploader-DaNV2URT.cjs.map
|