@bwg-ui/core 1.1.24 → 1.1.26
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/AuthContext-BQ3gHLbr.cjs +2 -0
- package/dist/chunks/AuthContext-BQ3gHLbr.cjs.map +1 -0
- package/dist/chunks/{AuthContext-Ei2P-z4d.js → AuthContext-CVizgYxY.js} +14 -10
- package/dist/chunks/AuthContext-CVizgYxY.js.map +1 -0
- package/dist/chunks/{BwgSpace-CnLM4qcg.js → BwgSpace-BPJARdOc.js} +4 -4
- package/dist/chunks/{BwgSpace-CnLM4qcg.js.map → BwgSpace-BPJARdOc.js.map} +1 -1
- package/dist/chunks/BwgSpace-Cw27d-XU.cjs +2 -0
- package/dist/chunks/{BwgSpace-b0hmM1Ht.cjs.map → BwgSpace-Cw27d-XU.cjs.map} +1 -1
- package/dist/chunks/BwgSwitch-BLtVdW44.cjs +2 -0
- package/dist/chunks/BwgSwitch-BLtVdW44.cjs.map +1 -0
- package/dist/chunks/{BwgSwitch-B79pseQM.js → BwgSwitch-DdHo4gYR.js} +66 -66
- package/dist/chunks/BwgSwitch-DdHo4gYR.js.map +1 -0
- package/dist/chunks/{BwgUploader-BcVlE61B.js → BwgUploader-BUmFmeuS.js} +639 -639
- package/dist/chunks/BwgUploader-BUmFmeuS.js.map +1 -0
- package/dist/chunks/BwgUploader-Djhl4lIt.cjs +3 -0
- package/dist/chunks/BwgUploader-Djhl4lIt.cjs.map +1 -0
- package/dist/chunks/LoadingOverlay-Uf6xy04v.js +19 -0
- package/dist/chunks/LoadingOverlay-Uf6xy04v.js.map +1 -0
- package/dist/chunks/LoadingOverlay-jdMzdB-z.cjs +2 -0
- package/dist/chunks/LoadingOverlay-jdMzdB-z.cjs.map +1 -0
- package/dist/chunks/{SSOHandler-CkPcSHIm.js → SSOHandler-CR0nR3rJ.js} +8132 -8085
- package/dist/chunks/SSOHandler-CR0nR3rJ.js.map +1 -0
- package/dist/chunks/{SSOHandler-DiW4Ft9i.cjs → SSOHandler-DQG0Jp4V.cjs} +53 -53
- package/dist/chunks/SSOHandler-DQG0Jp4V.cjs.map +1 -0
- package/dist/chunks/ScreenProtectContext-BMsPPcTX.js +154 -0
- package/dist/chunks/ScreenProtectContext-BMsPPcTX.js.map +1 -0
- package/dist/chunks/ScreenProtectContext-DrCGlcTs.cjs +2 -0
- package/dist/chunks/ScreenProtectContext-DrCGlcTs.cjs.map +1 -0
- package/dist/chunks/SearchBoxContext-DY6lES-W.cjs +2 -0
- package/dist/chunks/SearchBoxContext-DY6lES-W.cjs.map +1 -0
- package/dist/chunks/{SearchBoxContext-BCvEYyFk.js → SearchBoxContext-Dtzo_rJd.js} +25 -27
- package/dist/chunks/SearchBoxContext-Dtzo_rJd.js.map +1 -0
- package/dist/chunks/ViewContainer-BfiTFvLP.cjs +36 -0
- package/dist/chunks/ViewContainer-BfiTFvLP.cjs.map +1 -0
- package/dist/chunks/{ViewContainer-CjpJqoGG.js → ViewContainer-CTl3_56W.js} +128 -116
- package/dist/chunks/ViewContainer-CTl3_56W.js.map +1 -0
- package/dist/chunks/apiUtils-D9Vn1gwZ.cjs +3 -0
- package/dist/chunks/apiUtils-D9Vn1gwZ.cjs.map +1 -0
- package/dist/chunks/{apiUtils-DxzLqPhU.js → apiUtils-DPUgfmKk.js} +57 -48
- package/dist/chunks/apiUtils-DPUgfmKk.js.map +1 -0
- package/dist/chunks/{codeStore-CfI4Wh5M.js → codeStore-BrCfe9K3.js} +2 -2
- package/dist/chunks/{codeStore-CfI4Wh5M.js.map → codeStore-BrCfe9K3.js.map} +1 -1
- package/dist/chunks/{codeStore-il4-kZPe.cjs → codeStore-_b2fDZtD.cjs} +2 -2
- package/dist/chunks/{codeStore-il4-kZPe.cjs.map → codeStore-_b2fDZtD.cjs.map} +1 -1
- package/dist/chunks/{core-bHd8azE6.js → core-BBMCFpHx.js} +2 -2
- package/dist/chunks/{core-bHd8azE6.js.map → core-BBMCFpHx.js.map} +1 -1
- package/dist/chunks/{core-BHejg5iS.cjs → core-CM9MsJRf.cjs} +2 -2
- package/dist/chunks/{core-BHejg5iS.cjs.map → core-CM9MsJRf.cjs.map} +1 -1
- package/dist/chunks/{enc-base64-BQYwLKgk.js → enc-base64-DAsYWbA2.js} +3 -3
- package/dist/chunks/{enc-base64-BQYwLKgk.js.map → enc-base64-DAsYWbA2.js.map} +1 -1
- package/dist/chunks/{enc-base64-BkBtNBQV.cjs → enc-base64-DbK5VBfD.cjs} +2 -2
- package/dist/chunks/{enc-base64-BkBtNBQV.cjs.map → enc-base64-DbK5VBfD.cjs.map} +1 -1
- package/dist/chunks/{favoriteStore-CcKg_nEH.cjs → favoriteStore-BnQ2u-sa.cjs} +2 -2
- package/dist/chunks/{favoriteStore-CcKg_nEH.cjs.map → favoriteStore-BnQ2u-sa.cjs.map} +1 -1
- package/dist/chunks/{favoriteStore-Cemc-26t.js → favoriteStore-SyAjqLG8.js} +2 -2
- package/dist/chunks/{favoriteStore-Cemc-26t.js.map → favoriteStore-SyAjqLG8.js.map} +1 -1
- package/dist/chunks/{popupStore-Bi6o78lP.js → popupStore-BrKcPw7K.js} +2 -2
- package/dist/chunks/{popupStore-Bi6o78lP.js.map → popupStore-BrKcPw7K.js.map} +1 -1
- package/dist/chunks/{popupStore-DUApUBF2.cjs → popupStore-ChbYTqy1.cjs} +2 -2
- package/dist/chunks/{popupStore-DUApUBF2.cjs.map → popupStore-ChbYTqy1.cjs.map} +1 -1
- package/dist/chunks/{sha256-DiIRoCQ8.cjs → sha256-BnWVPP1K.cjs} +2 -2
- package/dist/chunks/{sha256-DiIRoCQ8.cjs.map → sha256-BnWVPP1K.cjs.map} +1 -1
- package/dist/chunks/{sha256-BZfJs28k.js → sha256-D80RpYO2.js} +3 -3
- package/dist/chunks/{sha256-BZfJs28k.js.map → sha256-D80RpYO2.js.map} +1 -1
- package/dist/chunks/{usePopup-BSqsnSz7.js → usePopup-DnfKRiYs.js} +27 -27
- package/dist/chunks/usePopup-DnfKRiYs.js.map +1 -0
- package/dist/chunks/usePopup-Domnpg55.cjs +2 -0
- package/dist/chunks/usePopup-Domnpg55.cjs.map +1 -0
- package/dist/components/common/BookmarkMngModal.d.ts +1 -1
- package/dist/components/common/BookmarkMngModal.d.ts.map +1 -1
- package/dist/components/common/BookmarkPopver.d.ts +2 -2
- package/dist/components/common/BookmarkPopver.d.ts.map +1 -1
- package/dist/components/common/BwgButtonGroup.d.ts +5 -5
- package/dist/components/common/BwgButtonGroup.d.ts.map +1 -1
- package/dist/components/common/BwgCmptArea.d.ts +7 -7
- package/dist/components/common/BwgCmptArea.d.ts.map +1 -1
- package/dist/components/common/BwgCol.d.ts +2 -1
- package/dist/components/common/BwgCol.d.ts.map +1 -1
- package/dist/components/common/BwgConfigProvider.d.ts +2 -2
- package/dist/components/common/BwgConfigProvider.d.ts.map +1 -1
- package/dist/components/common/BwgDetail.d.ts +2 -1
- package/dist/components/common/BwgDetail.d.ts.map +1 -1
- package/dist/components/common/BwgDraggable.d.ts +5 -5
- package/dist/components/common/BwgDraggable.d.ts.map +1 -1
- package/dist/components/common/BwgDrawer.d.ts +2 -1
- package/dist/components/common/BwgDrawer.d.ts.map +1 -1
- package/dist/components/common/BwgEditor.d.ts +5 -5
- package/dist/components/common/BwgEditor.d.ts.map +1 -1
- package/dist/components/common/BwgGrid.d.ts +8 -8
- package/dist/components/common/BwgGrid.d.ts.map +1 -1
- package/dist/components/common/BwgInfoArea.d.ts +4 -4
- package/dist/components/common/BwgInfoArea.d.ts.map +1 -1
- package/dist/components/common/BwgPopup.d.ts +3 -3
- package/dist/components/common/BwgPopup.d.ts.map +1 -1
- package/dist/components/common/BwgRow.d.ts +2 -1
- package/dist/components/common/BwgRow.d.ts.map +1 -1
- package/dist/components/common/BwgTitleBox.d.ts +5 -4
- package/dist/components/common/BwgTitleBox.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts +4 -4
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/ContentBox.d.ts +3 -3
- package/dist/components/common/ContentBox.d.ts.map +1 -1
- package/dist/components/common/ContentLayOut.d.ts +6 -5
- package/dist/components/common/ContentLayOut.d.ts.map +1 -1
- package/dist/components/common/GlobalConfigProvider.d.ts +2 -2
- package/dist/components/common/GlobalConfigProvider.d.ts.map +1 -1
- package/dist/components/common/QuickServiceToggle.d.ts +4 -4
- package/dist/components/common/QuickServiceToggle.d.ts.map +1 -1
- package/dist/components/common/SSOHandler.d.ts +2 -1
- package/dist/components/common/SSOHandler.d.ts.map +1 -1
- package/dist/components/common/SearchBox.d.ts +5 -4
- package/dist/components/common/SearchBox.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +2 -2
- package/dist/components/core/BwgButton.d.ts +3 -2
- package/dist/components/core/BwgButton.d.ts.map +1 -1
- package/dist/components/core/BwgDatePicker.d.ts +3 -3
- package/dist/components/core/BwgDatePicker.d.ts.map +1 -1
- package/dist/components/core/BwgDownload.d.ts +2 -2
- package/dist/components/core/BwgDownload.d.ts.map +1 -1
- package/dist/components/core/BwgForm.d.ts +2 -1
- package/dist/components/core/BwgForm.d.ts.map +1 -1
- package/dist/components/core/BwgFormItem.d.ts +4 -4
- package/dist/components/core/BwgFormItem.d.ts.map +1 -1
- package/dist/components/core/BwgInput.d.ts +2 -2
- package/dist/components/core/BwgInput.d.ts.map +1 -1
- package/dist/components/core/BwgLargeUploader.d.ts +2 -2
- package/dist/components/core/BwgLargeUploader.d.ts.map +1 -1
- package/dist/components/core/BwgMaskedInput.d.ts +2 -2
- package/dist/components/core/BwgMaskedInput.d.ts.map +1 -1
- package/dist/components/core/BwgMaskedPicker.d.ts +2 -2
- package/dist/components/core/BwgMaskedPicker.d.ts.map +1 -1
- package/dist/components/core/BwgRangePicker.d.ts +3 -3
- package/dist/components/core/BwgRangePicker.d.ts.map +1 -1
- package/dist/components/core/BwgSearch.d.ts +1 -1
- package/dist/components/core/BwgSearch.d.ts.map +1 -1
- package/dist/components/core/BwgUploader.d.ts +2 -2
- package/dist/components/core/BwgUploader.d.ts.map +1 -1
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +2 -2
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.cjs.map +1 -1
- package/dist/components/guide/index.js +3 -3
- package/dist/components/guide/index.js.map +1 -1
- package/dist/components/layout/ErrorBound.d.ts +3 -3
- package/dist/components/layout/ErrorBound.d.ts.map +1 -1
- package/dist/components/layout/LoadingOverlay.d.ts +3 -2
- package/dist/components/layout/LoadingOverlay.d.ts.map +1 -1
- package/dist/components/layout/PrivateProtectedOverlay.d.ts +3 -2
- package/dist/components/layout/PrivateProtectedOverlay.d.ts.map +1 -1
- package/dist/components/layout/ProgressOverlay.d.ts +2 -2
- package/dist/components/layout/ProgressOverlay.d.ts.map +1 -1
- package/dist/components/layout/ViewContainer.d.ts +3 -3
- package/dist/components/layout/ViewContainer.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 +2 -2
- package/dist/components/popup/MenuReport.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +14 -14
- package/dist/provider/contexts/AuthContext.d.ts +3 -2
- package/dist/provider/contexts/AuthContext.d.ts.map +1 -1
- package/dist/provider/contexts/CommonCodeContext.d.ts +2 -2
- package/dist/provider/contexts/CommonCodeContext.d.ts.map +1 -1
- package/dist/provider/contexts/ScreenProtectContext.d.ts +5 -5
- package/dist/provider/contexts/ScreenProtectContext.d.ts.map +1 -1
- package/dist/provider/contexts/SearchBoxContext.d.ts +3 -3
- package/dist/provider/contexts/SearchBoxContext.d.ts.map +1 -1
- package/dist/provider/contexts/ServiceCodeContext.d.ts +2 -2
- package/dist/provider/contexts/ServiceCodeContext.d.ts.map +1 -1
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +4 -4
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +6 -6
- package/dist/stores/menuViewStore.d.ts +6 -5
- package/dist/stores/menuViewStore.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.js +2 -2
- package/package.json +2 -3
- package/dist/chunks/AuthContext-CXng9fj0.cjs +0 -2
- package/dist/chunks/AuthContext-CXng9fj0.cjs.map +0 -1
- package/dist/chunks/AuthContext-Ei2P-z4d.js.map +0 -1
- package/dist/chunks/BwgSpace-b0hmM1Ht.cjs +0 -2
- package/dist/chunks/BwgSwitch-B79pseQM.js.map +0 -1
- package/dist/chunks/BwgSwitch-CAI-kEaM.cjs +0 -2
- package/dist/chunks/BwgSwitch-CAI-kEaM.cjs.map +0 -1
- package/dist/chunks/BwgUploader-BcVlE61B.js.map +0 -1
- package/dist/chunks/BwgUploader-DaNV2URT.cjs +0 -3
- package/dist/chunks/BwgUploader-DaNV2URT.cjs.map +0 -1
- package/dist/chunks/LoadingOverlay-DAZJF5wg.js +0 -19
- package/dist/chunks/LoadingOverlay-DAZJF5wg.js.map +0 -1
- package/dist/chunks/LoadingOverlay-DcmKvoZA.cjs +0 -2
- package/dist/chunks/LoadingOverlay-DcmKvoZA.cjs.map +0 -1
- package/dist/chunks/SSOHandler-CkPcSHIm.js.map +0 -1
- package/dist/chunks/SSOHandler-DiW4Ft9i.cjs.map +0 -1
- package/dist/chunks/ScreenProtectContext-3my4PHFa.js +0 -154
- package/dist/chunks/ScreenProtectContext-3my4PHFa.js.map +0 -1
- package/dist/chunks/ScreenProtectContext-CVuXrJm6.cjs +0 -2
- package/dist/chunks/ScreenProtectContext-CVuXrJm6.cjs.map +0 -1
- package/dist/chunks/SearchBoxContext-BCvEYyFk.js.map +0 -1
- package/dist/chunks/SearchBoxContext-DwFDOyYG.cjs +0 -2
- package/dist/chunks/SearchBoxContext-DwFDOyYG.cjs.map +0 -1
- package/dist/chunks/ViewContainer-Bhq22_B3.cjs +0 -36
- package/dist/chunks/ViewContainer-Bhq22_B3.cjs.map +0 -1
- package/dist/chunks/ViewContainer-CjpJqoGG.js.map +0 -1
- package/dist/chunks/apiUtils-BZ6s0_NI.cjs +0 -3
- package/dist/chunks/apiUtils-BZ6s0_NI.cjs.map +0 -1
- package/dist/chunks/apiUtils-DxzLqPhU.js.map +0 -1
- package/dist/chunks/jsx-runtime-CeSfJrVB.cjs +0 -31
- package/dist/chunks/jsx-runtime-CeSfJrVB.cjs.map +0 -1
- package/dist/chunks/jsx-runtime-Dpn_P65e.js +0 -634
- package/dist/chunks/jsx-runtime-Dpn_P65e.js.map +0 -1
- package/dist/chunks/usePopup-BSqsnSz7.js.map +0 -1
- package/dist/chunks/usePopup-D2JEuDrO.cjs +0 -2
- package/dist/chunks/usePopup-D2JEuDrO.cjs.map +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";const c=require("react/jsx-runtime"),u=require("antd"),k=require("./BwgSwitch-BLtVdW44.cjs"),f=require("react"),F=require("@ant-design/icons"),A=require("lodash"),L=require("./apiUtils-D9Vn1gwZ.cjs"),et=require("jszip"),je=require("imask"),z=require("dayjs"),tt=require("./popupStore-ChbYTqy1.cjs"),rt=t=>c.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((E,S)=>{g.push(E.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.jsx(k.BwgFormItem,{...t,children:c.jsxs(u.ConfigProvider,{theme:{components:{Checkbox:{colorPrimary:"var(--check-primary)",colorPrimaryBorder:"var(--check-primary)",colorPrimaryHover:"var(--check-primary-active)"}}},children:[e?.allCheck&&c.jsx(u.Checkbox,{indeterminate:l,checked:o,onChange:v,children:"전체선택"}),c.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__?L.callService_SYSCD(n,e,{crprCd:L.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("파일 목록을 불러오는 중 오류가 발생했습니다.")}):L.callService(e,{crprCd:L.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 E=(await d.json().catch(()=>null))?.message||"파일 다운로드에 실패했습니다.";throw new Error(E)}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.jsx(u.Card,{title:"파일 목록",children:c.jsx(u.List,{dataSource:s,renderItem:o=>c.jsx(u.List.Item,{actions:r?[]:[c.jsx(u.Button,{type:"text",icon:c.jsx(F.DownloadOutlined,{}),onClick:()=>a(o)},"download")],children:c.jsx(u.List.Item.Meta,{avatar:c.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,E]=f.useState(0),S=m=>{if(i&&i.length>0){const h=(b=>{const I=b.lastIndexOf(".");return I===-1?"":b.substring(I).toLowerCase()})(m.name);if(!i.includes(h))return u.message.error(`${m.name} 파일은 허용되지 않는 확장자입니다. (${i.join(", ")}만 가능)`),!1}return!0},C=async()=>{const m=o.filter(T=>T.status!=="done"),w=m.reduce((T,P)=>T+(P.size||0),0),h=2*1024*1024*1024;if(w>h){u.notification.error({message:"업로드 용량 초과",description:"한 번에 업로드할 수 있는 총 파일 용량은 2GB를 초과할 수 없습니다."});return}if(m.length===0){u.message.warning("업로드할 파일이 없거나 모든 파일이 이미 업로드되었습니다.");return}p(!0);let b;try{const T=new et;m.forEach(P=>{P.originFileObj&&T.file(P.name,P.originFileObj)}),b=await T.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}})}catch(T){p(!1),u.message.error("파일을 압축하는 중 오류가 발생했습니다."),console.error("Zipping error:",T);return}p(!1);const I=new FormData;I.append("file",b,"upload.zip"),v(!0),E(0);try{const T=await new Promise((x,_)=>{const R=new XMLHttpRequest;R.open("POST","/api/upload-large",!0),R.upload.onprogress=N=>{if(N.lengthComputable){const B=Math.round(N.loaded/N.total*100);E(B)}},R.onload=()=>{if(R.status>=200&&R.status<300)try{const N=JSON.parse(R.responseText);N.success?x(N):_(new Error(N.message||"파일 업로드에 실패했습니다."))}catch{_(new Error("잘못된 서버 응답입니다."))}else try{const N=JSON.parse(R.responseText);_(new Error(N.message||`서버 오류: ${R.status}`))}catch{_(new Error(`서버 오류: ${R.status}`))}},R.onerror=()=>{_(new Error("네트워크 오류가 발생했습니다."))},R.send(I)});u.message.success(T.message||"압축 파일이 성공적으로 업로드되었습니다.");const P=o.map(x=>m.find(_=>_.uid===x.uid)?{...x,status:"done"}:x);if(l(P),n&&T.uploadedFiles&&Array.isArray(T.uploadedFiles)){const x=L.getUserInfo();T.uploadedFiles.forEach(_=>{const R={crprCd:x?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e,sub:[{crprCd:x?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e,physFileNm:_.fileNameP,lgclFileNm:_.fileNameL,filePath:_.filePath,fileExtn:_.fileExt,fileSize:_.fileSize,mltpYn:"Y"}]};L.callService(n,R).then(N=>{const B=o.map(H=>({crprCd:x?.crprCd,sysCd:__SYS_CD__,fileGrpKey:N.sub[0].fileGrpKey,fileKey:N.sub[0].fileKey,lgclFileNm:H.name,fileSize:H.size,fileExtn:H.name.split(".").pop(),fileType:H.type}));L.callService(s,{sub:B})}).catch(N=>{console.error("후처리 서비스 호출 실패:",N),u.message.error(`${_.fileNameL} 파일의 후처리 작업에 실패했습니다.`)}),r&&r({fileNameP:_.fileNameP,fileNameL:_.fileNameL})})}}catch(T){u.message.error(T.message||"파일 업로드 중 오류가 발생했습니다.");const P=o.map(x=>m.find(_=>_.uid===x.uid)?{...x,status:"error",response:T.message||"파일 업로드 중 오류가 발생했습니다."}:x);l(P)}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 w=new Map(o.map(h=>[h.uid,h]));m.forEach(h=>{w.set(h.uid,h)}),l(Array.from(w.values()))},onRemove:m=>{const w=o.filter(h=>h.uid!==m.uid);l(w)},showUploadList:!1};return c.jsx(u.Spin,{spinning:d||D,tip:D?"파일 압축 중...":`파일 업로드 중... ${g}%`,children:c.jsxs("div",{className:"bwg-large-uploader-container",children:[c.jsx(u.Card,{title:c.jsx(G,{strong:!0,children:t}),extra:c.jsx(u.Upload,{...y,children:c.jsx(u.Button,{icon:c.jsx(F.UploadOutlined,{}),children:"파일 선택"})}),bodyStyle:{padding:0},children:c.jsx(it,{...y,style:{border:"none",background:"transparent",padding:0},children:c.jsx("div",{className:"upload-list-container",children:o.length>0?c.jsx(u.List,{style:{textAlign:"left"},dataSource:o,renderItem:m=>{const w=m.status==="done",h=m.status==="error";let b;return w?b=c.jsx(F.CheckCircleOutlined,{style:{color:"#52c41a",fontSize:14}}):h?b=c.jsx(u.Tooltip,{title:typeof m.response=="string"?m.response:"업로드 실패",children:c.jsx(F.CloseCircleOutlined,{style:{color:"#ff4d4f",fontSize:14}})}):b=c.jsx(F.FileTextOutlined,{style:{fontSize:14}}),c.jsx(u.List.Item,{actions:[c.jsx(G,{type:"secondary",children:at(m.size||0)},"size"),c.jsx(u.Button,{type:"text",icon:c.jsx(F.DeleteOutlined,{}),onClick:I=>{I.stopPropagation(),y.onRemove?.(m)},disabled:d||D},"delete")],children:c.jsx(u.List.Item.Meta,{avatar:b,title:c.jsx(G,{type:h?"danger":void 0,children:m.name})})},m.uid)}}):c.jsxs(u.Flex,{gap:"middle",align:"center",justify:"center",vertical:!0,style:{padding:"20px 0",minHeight:"120px"},children:[c.jsx(F.InboxOutlined,{style:{fontSize:"32px",color:"#999"}}),c.jsx(G,{type:"secondary",children:"업로드할 파일을 선택하거나 이 영역으로 드래그하세요."})]})})})}),o.length>0&&c.jsxs(u.Flex,{justify:"flex-end",align:"center",gap:"large",style:{marginTop:16},children:[d&&c.jsx("div",{style:{width:"250px"},children:c.jsx(u.Progress,{percent:g,size:"small"})}),c.jsx(u.Button,{type:"primary",onClick:C,disabled:d||D||o.filter(m=>m.status!=="done").length===0,icon:c.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=je(n.current.input,a);return o.on("accept",()=>{s&&t?.name&&s.setFieldValue(t.name,o.value)}),()=>{o.destroy()}},[r,s,t?.name]),c.jsx(k.BwgFormItem,{...t,children:c.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,[E,S]=f.useState(null);f.useEffect(()=>{if(!a.current?.input)return;const y=je(a.current.input,{mask:s,lazy:!1});return o.current=y,y.on("accept",()=>{console.log("input :: ",y.value);const m=y.value,w=z(m,n,!0);console.log("input :: ",w),m.length===n.length&&w.isValid()&&(console.log("parsed :: ",w.format(i)),l.setFieldValue(g,w.format(i)),o.current?.updateValue(),v(!1))}),()=>{y.destroy()}},[n,s]),f.useEffect(()=>{S(z(l.getFieldValue(g)))},[l.getFieldValue(g)]);const C=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.jsx(k.BwgFormItem,{...e,name:void 0,validateStatus:D?"warning":void 0,help:D?"유효하지 않은 날짜입니다":void 0,children:c.jsxs("div",{style:{position:"relative"},children:[c.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.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.jsx(u.DatePicker,{open:d,picker:t,format:n,value:E,onChange:C,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.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.jsx(u.Select,{...e,mode:"multiple",children:r.map(s=>{const{value:i,label:a}=s;return e?.printCode?c.jsx(De,{value:i,label:a,children:c.jsx(u.Space,{children:`[${i}] ${a}`})},i):c.jsx(De,{value:i,label:a,children:c.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.jsx(k.BwgFormItem,{...t,children:c.jsx(u.InputNumber,{...e,formatter:s=>r(s),parser:s=>n(s)})})},pt=({itemProps:t,inputProps:e})=>c.jsx(k.BwgFormItem,{...t,children:c.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.jsx(k.BwgFormItem,{...t.itemProps,name:void 0,children:c.jsxs(u.Space.Compact,{block:!0,children:[c.jsx(u.Form.Item,{name:n[0],rules:t.itemProps?.rules,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:c.jsx(u.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:t.placeholder?.[0]||"",readOnly:!0})}),c.jsx(u.Form.Item,{name:n[1],style:{width:"60%",marginBottom:0},children:c.jsx(ye,{readOnly:t.readOnly,enterButton:c.jsx(u.Button,{icon:c.jsx(F.SearchOutlined,{}),disabled:t.readOnly}),...i})})]})}):c.jsx(k.BwgFormItem,{...t.itemProps,children:c.jsx(ye,{...i})})},{TextArea:vt}=u.Input,Dt=({itemProps:t,inputProps:e})=>c.jsx(k.BwgFormItem,{...t,children:c.jsx(vt,{...e})}),Fe=f.createContext({dragDropManager:void 0});function M(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"})(),Oe=function(){return Math.random().toString(36).substring(7).split("").join(".")},Ie={INIT:"@@redux/INIT"+Oe(),REPLACE:"@@redux/REPLACE"+Oe()};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(Tt(t))return"date";if(It(t))return"error";var r=Ot(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 Ot(t){return typeof t.constructor=="function"?t.constructor.name:null}function It(t){return t instanceof Error||typeof t.message=="string"&&t.constructor&&typeof t.constructor.stackTraceLimit=="number"}function Tt(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"?M(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"?M(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"?M(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"?M(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"?M(4):"Expected the listener to be a function. Instead, received: '"+Y(S)+"'");if(l)throw new Error(process.env.NODE_ENV==="production"?M(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 C=!0;return d(),o.push(S),function(){if(C){if(l)throw new Error(process.env.NODE_ENV==="production"?M(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.");C=!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"?M(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"?M(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"?M(9):"Reducers may not dispatch actions.");try{l=!0,i=s(i,S)}finally{l=!1}for(var C=a=o,y=0;y<C.length;y++){var m=C[y];m()}return S}function g(S){if(typeof S!="function")throw new Error(process.env.NODE_ENV==="production"?M(10):"Expected the nextReducer to be a function. Instead, received: '"+Y(S));s=S,p({type:Ie.REPLACE})}function E(){var S,C=D;return S={subscribe:function(m){if(typeof m!="object"||m===null)throw new Error(process.env.NODE_ENV==="production"?M(11):"Expected the observer to be an object. Instead, received: '"+Y(m)+"'");function w(){m.next&&m.next(v())}w();var h=C(w);return{unsubscribe:h}}},S[Se]=function(){return this},S}return p({type:Ie.INIT}),n={dispatch:p,subscribe:D,getState:v,replaceReducer:g},n[Se]=E,n}function O(t,e,...r){if(bt()&&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 bt(){return typeof process<"u"&&process.env.NODE_ENV==="production"}function Et(t,e,r){return e.split(".").reduce((n,s)=>n&&n[s]?n[s]:r||null,t)}function wt(t,e){return t.filter(r=>r!==e)}function Ae(t){return typeof t=="object"}function Ct(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 xt(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 Te(t,e){return{type:ge,payload:{sourceClientOffset:e||null,clientOffset:t||null}}}const Nt={type:ge,payload:{clientOffset:null,sourceClientOffset:null}};function Pt(t){return function(r=[],n={publishSource:!0}){const{publishSource:s=!0,clientOffset:i,getSourceClientOffset:a}=n,o=t.getMonitor(),l=t.getRegistry();t.dispatch(Te(i)),_t(r,o,l);const d=Mt(r,o);if(d==null){t.dispatch(Nt);return}let v=null;if(i){if(!a)throw new Error("getSourceClientOffset must be defined");Rt(a),v=a(d)}t.dispatch(Te(i,v));const p=l.getSource(d).beginDrag(o,d);if(p==null)return;Lt(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 _t(t,e,r){O(!e.isDragging(),"Cannot call beginDrag while dragging."),t.forEach(function(n){O(r.getSource(n),"Expected sourceIds to be registered.")})}function Rt(t){O(typeof t=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function Lt(t){O(Ae(t),"Item must be an object.")}function Mt(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 jt(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){jt(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){O(t.isDragging(),"Cannot call drop while not dragging."),O(!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){O(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){O(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){O(Array.isArray(t),"Expected targetIds to be an array.")}function zt(t,e,r){O(e.isDragging(),"Cannot call hover while not dragging."),O(!e.didDrop(),"Cannot call hover after drop.");for(let n=0;n<t.length;n++){const s=t[n];O(t.lastIndexOf(s)===n,"Expected targetIds to be unique in the passed array.");const i=r.getTarget(s);O(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:Pt(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:xt(e,t).length>0}class rr{subscribeToStateChange(e,r={}){const{handlerIds:n}=r;O(typeof e=="function","listener must be a function."),O(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){O(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 O(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(O(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(O(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 be=typeof global<"u"?global:self,Be=be.MutationObserver||be.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){O(typeof t.canDrag=="function","Expected canDrag to be a function."),O(typeof t.beginDrag=="function","Expected beginDrag to be a function."),O(typeof t.endDrag=="function","Expected endDrag to be a function.")}function pr(t){O(typeof t.canDrop=="function","Expected canDrop to be a function."),O(typeof t.hover=="function","Expected hover to be a function."),O(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}O(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 j;(function(t){t.SOURCE="SOURCE",t.TARGET="TARGET"})(j||(j={}));let mr=0;function vr(){return mr++}function Dr(t){const e=vr().toString();switch(t){case j.SOURCE:return`S${e}`;case j.TARGET:return`T${e}`;default:throw new Error(`Unknown Handler Role: ${t}`)}}function Ee(t){switch(t[0]){case"S":return j.SOURCE;case"T":return j.TARGET;default:throw new Error(`Cannot parse handler ID: ${t}`)}}function we(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(j.SOURCE,e,r);return this.store.dispatch(lr(n)),n}addTarget(e,r){ce(e,!0),pr(r);const n=this.addHandler(j.TARGET,e,r);return this.store.dispatch(dr(n)),n}containsHandler(e){return we(this.dragSources,e)||we(this.dropTargets,e)}getSource(e,r=!1){return O(this.isSourceId(e),"Expected a valid source ID."),r&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return O(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return O(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return O(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return Ee(e)===j.SOURCE}isTargetId(e){return Ee(e)===j.TARGET}removeSource(e){O(this.getSource(e),"Expected an existing source."),this.store.dispatch(gr(e)),ur(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){O(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);O(r,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=r}unpinSource(){O(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===j.SOURCE?this.dragSources.set(s,n):e===j.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 Or(t,e){return!t&&!e?!0:!t||!e?!1:t.x===e.x&&t.y===e.y}function Ir(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 Tr(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=Ct(r,n);if(!(s.length>0||!Ir(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 br(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Er(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){br(t,s,r[s])})}return t}const Ce={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function wr(t=Ce,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 Or(t.clientOffset,r.clientOffset)?t:Er({},t,{clientOffset:r.clientOffset});case Q:case Z:return Ce;default:return t}}function Cr(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){Cr(t,s,r[s])})}return t}const xr={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Nr(t=xr,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:wt(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 Pr(t=0,e){switch(e.type){case pe:case me:return t+1;case ve:case ee:return t-1;default:return t}}function _r(t=0){return t+1}function Rr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Lr(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){Rr(t,s,r[s])})}return t}function Mr(t={},e){return{dirtyHandlerIds:Tr(t.dirtyHandlerIds,{type:e.type,payload:Lr({},e.payload,{prevTargetIds:Et(t,"dragOperation.targetIds",[])})}),dragOffset:wr(t.dragOffset,e),refCount:Pr(t.refCount,e),dragOperation:Nr(t.dragOperation,e),stateId:_r(t.stateId)}}function jr(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(Mr,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 xe=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++xe,()=>{--xe===0&&(a[W]=null)}}},[]),c.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:jr(t,e,r,n)}),s[W]}function $e(){return typeof global<"u"?global:window}var te,Ne;function Yr(){return Ne||(Ne=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=L.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(){O(!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;O(!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;O(!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 Pe(t,e){typeof t=="function"?t(e):t.current=e}function tn(t,e){const r=t.ref;return O(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=>{Pe(r,n),Pe(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 O(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 O(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);O(!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(()=>(O(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 On(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 In{enter(e){const r=this.entered.length,n=s=>this.isNodeInDocument(s)&&(!s.contains||s.contains(e));return this.entered=On(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 Tn{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__",_e=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 bn(t,e){const r=de[t];if(!r)throw new Error(`native type ${t} has no configuration`);const n=new Tn(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 En=Ge(()=>/firefox/i.test(navigator.userAgent)),Ze=Ge(()=>!!window.safari);class Re{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,E)=>e[g]<e[E]?-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 E=a[g],S=a[g+1];if(E*S<=0)d.push(0);else{o=i[g];const C=i[g+1],y=o+C;d.push(3*y/((y+C)/E+(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 E=d[g],S=1/i[g],C=E+d[g+1]-p-p;v.push((p-E-C)*S),D.push(C*S*S)}this.xs=e,this.ys=r,this.c1s=d,this.c2s=v,this.c3s=D}}const wn=1;function Qe(t){const e=t.nodeType===wn?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 Cn(t){var e;return t.nodeName==="IMG"&&(En()||!(!((e=document.documentElement)===null||e===void 0)&&e.contains(t)))}function xn(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 Nn(t,e,r,n,s){const i=Cn(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:E}=xn(i,e,d,v),S=()=>{let I=new Re([0,.5,1],[l.y,l.y/v*E,l.y+E-v]).interpolate(p);return Ze()&&i&&(I+=(window.devicePixelRatio-1)*E),I},C=()=>new Re([0,.5,1],[l.x,l.x/d*g,l.x+g-d]).interpolate(D),{offsetX:y,offsetY:m}=s,w=y===0||y,h=m===0||m;return{x:w?y:C(),y:h?m:S()}}class Pn{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 _n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Le(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){_n(t,s,r[s])})}return t}class Rn{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 Le({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 Le({anchorX:.5,anchorY:.5,captureDraggingState:!1},r||{})}isDraggingNativeItem(){const e=this.monitor.getItemType();return Object.keys(_e).some(r=>_e[r]===e)}beginDragNativeItem(e,r){this.clearCurrentDragSourceNode(),this.currentNativeSource=bn(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:E,offsetX:S,offsetY:C}=this.getCurrentSourcePreviewNodeOptions(),w=Nn(D,p,a,{anchorX:g,anchorY:E},{offsetX:S,offsetY:C});o.setDragImage(p,w.x,w.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 Pn(r,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new In(this.isNodeInDocument)}}const Ln=function(e,r,n){return new Rn(e,r,n)},Mn=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],Me={FILE:"file"},jn=({originNode:t,file:e,fileList:r,moveFile:n,onDrop:s})=>{const i=f.useRef(null),[{handlerId:a},o]=yn({accept:Me.FILE,collect:D=>({handlerId:D.getHandlerId()}),hover(D,p){if(!i.current)return;const g=D.uid,E=e.uid;if(g===E)return;const S=A.findIndex(r,{uid:E}),C=A.findIndex(r,{uid:g});if(C===-1||S===-1)return;const y=i.current.getBoundingClientRect(),m=p.getClientOffset();if(!m)return;const w=(y.bottom-y.top)/2,h=m.y-y.top;C<S&&h<w||C>S&&h>w||n(g,E)},drop(){s()}}),[{isDragging:l},d]=dn({type:Me.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.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=Mn,maxFileSize:o=200,showButton:l=!0,multiple:d=!1})=>{const[v,D]=f.useState([]),p=f.useRef(t),g=f.useRef([]),E=()=>{if(g.current.length===0)return;const h=[...g.current];if(g.current=[],n){const b=h.map(I=>({crprCd:L.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,physFileNm:I.fileNameP,lgclFileNm:I.fileNameL,filePath:I.filePath,fileExtn:I.fileExt,fileSize:I.fileSize,mltpYn:"N"}));L.callService(n,{crprCd:L.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,sub:b}).then(I=>{if(I?.sub&&I.sub.length>0){const T=I.sub[0].fileGrpKey;p.current||(p.current=T);const P=new Map;I.sub.forEach(x=>{const _=h.find(R=>R.fileNameL===x.lgclFileNm);_&&P.set(_.tempId,x)}),D(x=>x.map(R=>{const N=P.get(R.uid);if(N){const B=h.find(H=>H.tempId===R.uid);return e&&B&&e({...B,fileGrpKey:T,fileKey:N.fileKey}),{...R,name:N.lgclFileNm,fileGrpKey:T,fileKey:N.fileKey,uid:N.fileKey,status:"done",url:`/api/download?filePath=${N.filePath}&logicalName=${N.lgclFileNm}`}}return R}))}}).catch(I=>{console.error("업로드 후처리 서비스 호출 실패:",I),u.message.error("파일 후처리 중 오류가 발생했습니다.");const T=new Set(h.map(P=>P.tempId));D(P=>P.map(x=>T.has(x.uid)?{...x,status:"error",error:"후처리 실패"}:x))})}},S=f.useRef(A.debounce(E,500)).current;f.useEffect(()=>()=>{S.cancel()},[S]),f.useEffect(()=>{p.current=t},[t]),f.useEffect(()=>{t&&r&&L.callService(r,{crprCd:L.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t}).then(h=>{if(h?.sub){const b=h.sub.map(I=>({uid:I.fileKey,name:I.lgclFileNm,status:"done",url:`/api/download?filePath=${I.filePath}&logicalName=${I.lgclFileNm}`}));D(b)}}).catch(h=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",h),u.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")})},[t,r]);const C=(h,b)=>{const I=A.findIndex(v,{uid:h}),T=A.findIndex(v,{uid:b});if(I<0||T<0)return;const P=[...v],[x]=P.splice(I,1);P.splice(T,0,x),D(P)},y=()=>{if(t&&i){const h=v.map(b=>b.uid);L.callService(i,{crprCd:L.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,reorderedFileKeys:h}).then(()=>{u.message.success("파일 순서가 성공적으로 저장되었습니다.")}).catch(b=>{console.error("파일 순서 저장 서비스 호출 실패:",b),u.message.error("파일 순서 저장 중 오류가 발생했습니다.")})}},w={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 b=`.${h.name.split(".").pop()?.toLowerCase()}`;if(!a.includes(b))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:b,uid:I}=h.file;if(b==="removed"){s?L.callService(s,{crprCd:L.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,fileKey:I}).then(()=>{u.message.success("파일이 성공적으로 삭제되었습니다."),D(h.fileList)}).catch(T=>{console.error("파일 삭제 서비스 호출에 실패했습니다.",T),u.message.error("파일 삭제 중 오류가 발생했습니다.")}):D(h.fileList);return}if(D(h.fileList),b==="done")if(h.file.response?.success){const{uploadedFiles:T}=h.file.response;T&&Array.isArray(T)&&T.length>0&&(T.forEach(P=>{P.tempId=h.file.uid,g.current.push(P)}),S()),u.message.success(h.file.response.message||`${h.file.name} 파일이 성공적으로 업로드되었습니다.`)}else u.message.error(h.file.response?.message||`${h.file.name} 파일 업로드에 실패했습니다.`);else b==="error"&&u.message.error(h.file.response?.message||`${h.file.name} 파일 업로드 중 오류가 발생했습니다.`)},itemRender(h,b,I){const T=f.cloneElement(h,{href:b.url||void 0,title:void 0});return c.jsx(jn,{originNode:T,file:b,fileList:I,moveFile:C,onDrop:y},b.uid)}};return c.jsx(Ur,{backend:Ln,children:c.jsx(u.Upload,{headers:{SYSCD:__SYS_CD__},...w,listType:"picture",children:l&&(d||v.length===0)&&c.jsx(u.Button,{icon:c.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-Djhl4lIt.cjs.map
|