@zjlab-fe/data-hub-ui 0.0.6 → 0.0.8
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.
|
@@ -6,6 +6,12 @@ export type FileUploadDrawerProps = {
|
|
|
6
6
|
dragAreaDescription?: React.ReactNode;
|
|
7
7
|
footer?: React.ReactNode;
|
|
8
8
|
directory?: boolean;
|
|
9
|
+
showFinished?: boolean | {
|
|
10
|
+
withDelete: {
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
onDelete: (filePath: string) => void;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
9
15
|
onClose: () => void;
|
|
10
16
|
};
|
|
11
|
-
export default function FileUploadDrawer({ open, identifier, accept, dragAreaDescription, footer, directory, onClose, }: FileUploadDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default function FileUploadDrawer({ open, identifier, accept, dragAreaDescription, footer, showFinished, directory, onClose, }: FileUploadDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export default function FileUploading({ identifier, showFinished, }: {
|
|
2
2
|
identifier: string;
|
|
3
|
-
showFinished: boolean
|
|
3
|
+
showFinished: boolean | {
|
|
4
|
+
withDelete: {
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
onDelete: (filePath: string) => void;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
4
9
|
}): import("react/jsx-runtime").JSX.Element;
|
package/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react/jsx-runtime";import*as n from"antd";import*as t from"react";import*as o from"@ant-design/icons";import*as r from"axios";import*as i from"@zjlab-fe/util";var a={367:(e,n,t)=>{t.d(n,{A:()=>l,L:()=>s});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".cJmcPSn5LN2GH9HqTvEQ{height:100%;overflow:auto}",""]);var s="cJmcPSn5LN2GH9HqTvEQ";const l=a},819:(e,n,t)=>{t.d(n,{Ay:()=>c,LV:()=>s,_8:()=>l});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".zuabV0gpCkaY8pSYtOSL{display:flex;align-items:center;justify-content:center;height:100%}.i2GFC308F3s1lGENOI5l{max-width:100%;max-height:100%}",""]);var s="zuabV0gpCkaY8pSYtOSL",l="i2GFC308F3s1lGENOI5l";const c=a},464:(e,n,t)=>{t.d(n,{Ay:()=>u,D5:()=>l,LV:()=>s,qf:()=>c});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".EVmfUlSj2zzl7igeqp6N{display:flex;align-items:center;justify-content:center;height:100%;overflow:auto;padding-top:16px;padding-bottom:16px}.Z65yBBsFLSWF70wfWwgA{display:flex;align-items:center;justify-content:center;padding-top:16px;padding-bottom:16px}.QSsGpXvLzOYpHSNncjpj .ant-modal-body{height:calc(100vh - 200px);overflow-y:auto}.QSsGpXvLzOYpHSNncjpj .ant-modal-content{padding-top:44px}",""]);var s="EVmfUlSj2zzl7igeqp6N",l="Z65yBBsFLSWF70wfWwgA",c="QSsGpXvLzOYpHSNncjpj";const u=a},220:(e,n,t)=>{t.d(n,{A:()=>l,L:()=>s});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".GmPZonLTI3KWU6TQWQSo{display:flex;flex-direction:column;align-items:center;height:100%;overflow:auto}.GmPZonLTI3KWU6TQWQSo canvas{max-width:100%}",""]);var s="GmPZonLTI3KWU6TQWQSo";const l=a},258:(e,n,t)=>{t.d(n,{Ay:()=>c,LV:()=>s,wm:()=>l});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".wkk6Lnco5rQ5DK_Bojaj{display:flex;justify-content:space-between;align-items:center;padding:0 16px;background-color:#000}.wkk6Lnco5rQ5DK_Bojaj .H3Num6yF3Ox32Pb6Occg{width:200px}",""]);var s="wkk6Lnco5rQ5DK_Bojaj",l="H3Num6yF3Ox32Pb6Occg";const c=a},446:(e,n,t)=>{t.d(n,{A:()=>s});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,"*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}.relative {\n position: relative;\n}.m-0 {\n margin: 0px;\n}.my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}.my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}.mb-2 {\n margin-bottom: 0.5rem;\n}.mt-20 {\n margin-top: 5rem;\n}.mt-4 {\n margin-top: 1rem;\n}.flex {\n display: flex;\n}.hidden {\n display: none;\n}.h-8 {\n height: 2rem;\n}.w-40 {\n width: 10rem;\n}.items-center {\n align-items: center;\n}.justify-center {\n justify-content: center;\n}.justify-between {\n justify-content: space-between;\n}.gap-4 {\n gap: 1rem;\n}.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.rounded {\n border-radius: 0.25rem;\n}.border {\n border-width: 1px;\n}.border-dashed {\n border-style: dashed;\n}.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity));\n}.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\n}.p-4 {\n padding: 1rem;\n}.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}.text-center {\n text-align: center;\n}.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}.text-5xl {\n font-size: 3rem;\n line-height: 1;\n}.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}.text-green-600 {\n --tw-text-opacity: 1;\n color: rgb(22 163 74 / var(--tw-text-opacity));\n}.text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}.text-yellow-500 {\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity));\n}.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}.last\\:mb-0:last-child {\n margin-bottom: 0px;\n}.hover\\:border-green-600:hover {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}",""]);const s=a},600:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",o=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),o&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),o&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,o,r,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<e.length;c++){var u=[].concat(e[c]);o&&a[u[0]]||(void 0!==i&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),t&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=t):u[2]=t),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),n.push(u))}},n}},855:e=>{e.exports=function(e){return e[1]}},872:e=>{var n=[];function t(e){for(var t=-1,o=0;o<n.length;o++)if(n[o].identifier===e){t=o;break}return t}function o(e,o){for(var i={},a=[],s=0;s<e.length;s++){var l=e[s],c=o.base?l[0]+o.base:l[0],u=i[c]||0,d="".concat(c," ").concat(u);i[c]=u+1;var f=t(d),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==f)n[f].references++,n[f].updater(p);else{var h=r(p,o);o.byIndex=s,n.splice(s,0,{identifier:d,updater:h,references:1})}a.push(d)}return a}function r(e,n){var t=n.domAPI(n);return t.update(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap&&n.supports===e.supports&&n.layer===e.layer)return;t.update(e=n)}else t.remove()}}e.exports=function(e,r){var i=o(e=e||[],r=r||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var s=t(i[a]);n[s].references--}for(var l=o(e,r),c=0;c<i.length;c++){var u=t(i[c]);0===n[u].references&&(n[u].updater(),n.splice(u,1))}i=l}}},227:e=>{var n={};e.exports=function(e,t){var o=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}},108:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},232:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},265:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var o="";t.supports&&(o+="@supports (".concat(t.supports,") {")),t.media&&(o+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(o+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),o+=t.css,r&&(o+="}"),t.media&&(o+="}"),t.supports&&(o+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),n.styleTagTransform(o,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},177:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}}},s={};function l(e){var n=s[e];if(void 0!==n)return n.exports;var t=s[e]={id:e,exports:{}};return a[e](t,t.exports,l),t.exports}l.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return l.d(n,{a:n}),n},l.d=(e,n)=>{for(var t in n)l.o(n,t)&&!l.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},l.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),l.nc=void 0;var c={};l.d(c,{dA:()=>tn,Lq:()=>Te,Y9:()=>k,ly:()=>O,WI:()=>oe});const u=(d={Fragment:()=>e.Fragment,jsx:()=>e.jsx,jsxs:()=>e.jsxs},f={},l.d(f,d),f);var d,f;const p=(e=>{var n={};return l.d(n,e),n})({Alert:()=>n.Alert,App:()=>n.App,Button:()=>n.Button,Drawer:()=>n.Drawer,Empty:()=>n.Empty,Flex:()=>n.Flex,Input:()=>n.Input,Modal:()=>n.Modal,Progress:()=>n.Progress,Spin:()=>n.Spin,Tag:()=>n.Tag});var h=l(872),m=l.n(h),v=l(265),g=l.n(v),w=l(227),b=l.n(w),y=l(232),x=l.n(y),S=l(108),j=l.n(S),C=l(177),A=l.n(C),E=l(258),N={};function k(e){const{showLogin:n}=e;return(0,u.jsxs)("div",{className:E.LV,children:[(0,u.jsx)("img",{src:"https://www.unpkg.com/@zjlab-fe/fe-assets/logo-white.png",className:E.wm}),n&&(0,u.jsx)(p.Button,{ghost:!0,children:"登录"})]})}N.styleTagTransform=A(),N.setAttributes=x(),N.insert=b().bind(null,"head"),N.domAPI=g(),N.insertStyleElement=j(),m()(E.Ay,N),E.Ay&&E.Ay.locals&&E.Ay.locals;const P=(e=>{var n={};return l.d(n,e),n})({createContext:()=>t.createContext,useCallback:()=>t.useCallback,useContext:()=>t.useContext,useEffect:()=>t.useEffect,useMemo:()=>t.useMemo,useReducer:()=>t.useReducer,useRef:()=>t.useRef,useState:()=>t.useState});function O(e){const{value:n,onChange:t,placeholder:o="请输入关键字",valueType:r,deduplicated:i=!0,size:a,maxLength:s,disabled:l}=e,[c,d]=(0,P.useState)([]),[f,h]=(0,P.useState)(1),m=(0,P.useRef)(null);(0,P.useEffect)((()=>{Array.isArray(n)?d(n):"string"==typeof n&&d(n.split(";"))}),[n]),(0,P.useEffect)((()=>{1!==f&&(null==m?void 0:m.current)&&m.current.focus()}),[f]);const v=e=>{if(i&&(e=Array.from(new Set(e))),d(e),"array"===r)null==t||t(e.length>0?e:void 0);else{const n=e.join(";");null==t||t(n||void 0)}};let g;return(null==c?void 0:c.length)>0&&(g=c.map(((e,n)=>(0,u.jsx)(p.Tag,{closeIcon:!l,onClose:()=>(e=>{let n=c.filter(((n,t)=>t!==e));v(n),h(f+1)})(n),children:e},n)))),(0,u.jsx)(p.Input,{disabled:l,size:a,ref:m,placeholder:o,prefix:g,onPressEnter:e=>{const n=e.target.value.trim();let t=[...c,n];v(t),h(f+1)},maxLength:s},f)}const I=1024,D=1048576,L=1073741824;var F,z;(z=F||(F={}))[z.INIT=1]="INIT",z[z.UPLOADING=2]="UPLOADING",z[z.FINISHED=3]="FINISHED",z[z.FAILED=4]="FAILED",z[z.PAUSED=5]="PAUSED",z[z.CANCELED=6]="CANCELED";const U=1,T=2;var R=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function M(e,n,t){return R(this,void 0,void 0,(function*(){const{name:o,size:r}=e,i=n?`${n}${o}`:o,a=Object.assign(Object.assign({},{fileStatus:F.INIT,percentage:0,uploadId:"",expiryTime:"",uploadUrls:[],completeSeq:[],failSeq:[],cancelControllers:{},uploadStatus:[],chunkSize:0,displaySize:"",fileName:"",partCount:0,raw:void 0}),{fileName:i,raw:new File([e],i,{type:e.type}),partCount:H(r),chunkSize:_(r),displaySize:Y(r)}),s=yield t(i,a.partCount);return s.status?Object.assign(Object.assign({},a),s.uploadInfo):Object.assign(Object.assign({},a),{fileStatus:F.FAILED})}))}function _(e){return e<10*D?10*D:Math.ceil(e/10)}function H(e){const n=_(e);return Math.floor(e/n)+1}function B(e,n,t,o){W(e);try{e.createObjectStore(n,{}),e.onversionchange=n=>{null===n.newVersion&&e.close()},t([])}catch(e){o(Error(`升级数据库异常: ${e.message}`))}}function q(e,n,t){const o=V.version+1;V.close();const r=window.indexedDB.open(Q,o);r.onupgradeneeded=()=>B(r.result,e,n,t)}function $(e,n,t){(function(e){return new Promise((function(n,t){let o;try{o=V.transaction(e,"readonly");try{const t=o.objectStore(e),r=[],i=t.openCursor();i.onsuccess=()=>{const e=i.result;e?(r.push(e.value),e.continue()):n(r)},i.onerror=()=>{console.warn(`在handleFileRetrieve()中游标操作失败 - 错误代码: ${i.error}`,i.error)}}catch(e){t(Error(`在handleFileRetrieve()中执行事务或打开游标时发生异常 - ${e.message}`))}}catch(e){t(Error(`在handleFileRetrieve()中创建数据库事务时发生异常 - ${e.message}`))}}))})(e).then(n).catch(t)}var G=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};const Q="uploadStore";let V;function W(e){V=e}function Y(e){const n=[{value:L,label:"GB"},{value:D,label:"MB"},{value:I,label:"KB"},{value:1,label:"B"}];for(const{value:t,label:o}of n)if(e>=t||1===t)return(e/t).toFixed(1)+o;return e+"B"}var K=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function X(e,n,t){return K(this,arguments,void 0,(function*(e,n,t,o=""){return e.isDirectory?n?function(e,n){return K(this,void 0,void 0,(function*(){const t=yield function(e){return new Promise(((n,t)=>{e.createReader().readEntries(n,t)}))}(e),o=t.map((e=>X(e,!0,n,e.fullPath)));return(yield Promise.allSettled(o)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value))}))}(e,t):[]:e.isFile?e.name.includes(".DS_Store")?[]:function(e,n,t){return K(this,void 0,void 0,(function*(){const o=yield function(e){return new Promise(((n,t)=>{e.file(n,t)}))}(e);return function(e,n){if(0===n.size)return!0;const t=e.name.split(".").pop()||"";return n.has(`.${t}`)}(o,n)?[J(o,t)]:[]}))}(e,t,o):[]}))}function J(e,n){const t=e.slice(0,e.size,e.type);return new File([t],n.slice(1)||e.name,{type:e.type})}function Z(e){return e.map((({completeSeq:e,uploadId:n,uploadStatus:t,uploadUrls:o,percentage:r,fileName:i,failSeq:a})=>({fileName:i,uploadId:n,completeSeq:e,uploadStatus:t,percentage:r,uploadUrls:[...o,...a]})))}const ee={},ne=(0,P.createContext)(ee),te=(0,P.createContext)((()=>null));function oe({children:e}){const[n,t]=(0,P.useReducer)(re,{});return function(e){(0,P.useEffect)((()=>{return window.addEventListener("beforeunload",n),()=>{window.removeEventListener("beforeunload",n)};function n(){const n=[];for(const[t,o]of Object.entries(e)){const e=o.filter((e=>e.fileStatus!==F.FINISHED));e.length?localStorage.setItem(t,JSON.stringify(Z(e))):n.push(t)}n.length&&function(e){G(this,void 0,void 0,(function*(){const n=V.version+1;return V.close(),new Promise(((t,o)=>{const r=window.indexedDB.open(Q,n);r.onupgradeneeded=()=>{const n=r.result;e.forEach((e=>{n.objectStoreNames.contains(e)&&n.deleteObjectStore(e)}))},r.onsuccess=()=>{r.result.close(),t()},r.onerror=()=>o(r.error)}))}))}(n)}}),[e])}(n),(0,u.jsx)(ne.Provider,{value:n,children:(0,u.jsx)(te.Provider,{value:t,children:e})})}function re(e,n){switch(n.type){case"add":return Object.assign(Object.assign({},e),{[n.identifier]:[]});case"remove_file":{const t=e[n.identifier],o=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,o),...t.slice(o+1)]})}case"edit_file":{const t=e[n.identifier],o=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,o),n.file,...t.slice(o+1)]})}case"add_file":{const t=e[n.identifier],o=t.findIndex((e=>e.fileName===n.file.fileName));return-1===o?Object.assign(Object.assign({},e),{[n.identifier]:[...t,n.file]}):Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,o),n.file,...t.slice(o+1)]})}case"add_files":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:[...t,...n.files]})}case"clear_finished":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:t.filter((e=>e.fileStatus!==F.FINISHED))})}default:throw Error("Unknown action")}}const ie=(e=>{var n={};return l.d(n,e),n})({CheckOutlined:()=>o.CheckOutlined,CloseOutlined:()=>o.CloseOutlined,FileTextOutlined:()=>o.FileTextOutlined,InboxOutlined:()=>o.InboxOutlined,LoadingOutlined:()=>o.LoadingOutlined,PauseOutlined:()=>o.PauseOutlined});var ae=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};const se="border-dashed rounded border bg-gray-50 p-4 hover:border-green-600 border-gray-300";function le({accept:e="",directory:n=!0,dragAreaDescription:t,onFileReceived:o}){const r=(0,P.useMemo)((()=>new Set(e?e.split(","):[])),[e]),i=(0,P.useRef)(null),[a,s]=(0,P.useState)(!1),l={onDragLeave:()=>s(!1),onDragEnter:e=>e.preventDefault(),onDragOver:e=>{e.preventDefault(),s(!0)},onDrop:function(e){return ae(this,void 0,void 0,(function*(){e.preventDefault(),s(!1);const t=Array.from(e.dataTransfer.items).map((e=>e.webkitGetAsEntry())).filter(Boolean).map((e=>X(e,n,r))),i=(yield Promise.allSettled(t)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value));i.length&&o(i)}))}};return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(p.Flex,Object.assign({vertical:!0,gap:"1rem",align:"center",className:`${a?"border-green-600":""} ${se}`},l,{onClick:()=>{var e;return null===(e=i.current)||void 0===e?void 0:e.click()},children:[(0,u.jsx)("p",{className:"text-5xl text-green-600 m-0",children:(0,u.jsx)(ie.InboxOutlined,{})}),(0,u.jsx)("div",{className:"text-base text-center",children:t?Array.isArray(t)?t.map(((e,n)=>(0,u.jsx)("p",{className:"text-base m-0",children:e},n))):(0,u.jsx)("p",{className:"text-base m-0",children:t}):(0,u.jsx)("p",{className:"text-base m-0",children:"点击或拖拽上传文件"})})]})),(0,u.jsx)("input",{ref:i,type:"file",accept:e,hidden:!0,multiple:!0,onChange:function(){var e;const n=null===(e=i.current)||void 0===e?void 0:e.files;(null==n?void 0:n.length)&&o(Array.from(n))},onClick:()=>{i.current&&(i.current.value="")}})]})}const ce={size:32,strokeWidth:12,type:"circle",strokeLinecap:"butt"};function ue({percent:e,status:n,onClick:t}){const{progressButtonRef:o,buttonInHover:r}=function(){const e=(0,P.useRef)(null),[n,t]=(0,P.useState)(!1);return(0,P.useEffect)((()=>{const n=e.current;if(!n)return;const o=()=>t(!0),r=()=>t(!1);return n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",r),()=>{n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",r)}}),[]),{progressButtonRef:e,buttonInHover:n}}(),[i,a]=(0,P.useState)(!1);return n===F.FINISHED?(0,u.jsx)(ie.CheckOutlined,{className:"text-green-600 text-2xl h-8"}):n===F.FAILED?(0,u.jsx)(u.Fragment,{children:i?(0,u.jsx)(ie.LoadingOutlined,{className:"text-red-600 text-2xl h-8"}):(0,u.jsx)(ie.CloseOutlined,{className:"text-red-600 text-2xl h-8",onClick:()=>{t(),a(!0)}})}):(0,u.jsx)(p.Button,{type:"text",shape:"circle",disabled:i,ref:o,title:n===F.PAUSED?"继续下载":"取消下载",onClick:()=>{t(),n===F.UPLOADING&&a(!0)},children:(0,u.jsx)(p.Progress,Object.assign({percent:e},ce,{strokeColor:i?"#f0a020":"#19a1fe",format:function(){return n===F.PAUSED?(0,u.jsx)(ie.PauseOutlined,{}):i?(0,u.jsx)(ie.LoadingOutlined,{className:"text-yellow-500"}):r?(0,u.jsx)(ie.CloseOutlined,{}):void 0}}))})}var de=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function fe(){const{identifier:e,root:n,getUploadUrls:t}=(0,P.useContext)(Ue),o=(0,P.useContext)(te);return(0,P.useCallback)((r=>de(this,void 0,void 0,(function*(){const i=function(e){if(!e.expiryTime)return U;const n=new Date;return new Date(e.expiryTime)<n?U:T}(r)===U;if(i){const i=yield M(r.raw,n,t);o({type:"edit_file",identifier:e,file:i})}else{const n=Object.assign(Object.assign({},r),{fileStatus:F.INIT,uploadUrls:[...r.failSeq,...r.uploadUrls],failSeq:[],cancelControllers:{}});o({type:"edit_file",identifier:e,file:n})}}))),[e,n,t,o])}var pe=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function he(){const{message:e}=p.App.useApp(),{identifier:n,onCancelUpload:t}=(0,P.useContext)(Ue),o=(0,P.useContext)(te);return function(n){return pe(this,void 0,void 0,(function*(){const{fileName:o,uploadId:i}=n;if(!i)return void r(n);const a=yield t(o,i);a.status?r(n):e.error(a.reason||"取消失败")}))};function r(e){e.fileStatus=F.CANCELED,function(e,n){let t;try{t=V.transaction(e,"readwrite")}catch(e){return void console.warn("db.transaction() exception in deleteFileInStore() - "+e.message)}try{const o=t.objectStore(e).delete(n);o.onsuccess=()=>!0,o.onerror=e=>{console.warn("deleteReq.onerror fired in deleteFileInStore() - error code: "+o.error)}}catch(e){return void console.warn("Transaction and/or put() exception in deleteFileInStore() - "+e.message)}}(String(n),e.fileName),Object.values(e.cancelControllers).forEach((e=>e.abort())),o({type:"remove_file",identifier:n,file:e})}}function me({identifier:e,showFinished:n}){const t=(0,P.useContext)(ne),o=he(),r=fe(),[i,a]=(0,P.useState)([]);return(0,P.useEffect)((()=>{const o=t[e].filter((e=>e.fileStatus!==F.CANCELED&&!(!n&&e.fileStatus===F.FINISHED)));a(o)}),[e,n,t]),(0,u.jsx)("div",{className:"my-4",children:i.map((e=>(0,u.jsx)(ve,{file:e,onButtonClick:s},e.fileName)))});function s(e){e.fileStatus===F.PAUSED?r(e):o(e)}}function ve({file:e,onButtonClick:n}){return(0,u.jsx)("div",{className:"mb-2 last:mb-0",children:(0,u.jsxs)("div",{className:"px-4 my-2 relative flex justify-between items-center",children:[(0,u.jsxs)(p.Flex,{align:"center",gap:".5rem",title:e.fileName,children:[(0,u.jsx)(ie.FileTextOutlined,{}),(0,u.jsx)("span",{className:"truncate w-40",children:e.fileName})]}),(0,u.jsx)(ue,{status:e.fileStatus,percent:Number(e.percentage.toFixed(0)),onClick:()=>n(e)})]})})}var ge=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function we(e,n,t){const o=new Set(n.map((e=>e.fileName)));return e.filter((e=>{const n=t?`${t}${e.name}`:e.name;return o.has(n)})).map((e=>e.name))}function be(e,n){return e.filter((e=>{var t;const o=e.name.includes("/"),r=e.name.split("/")[0];return o===(null===(t=n.find((e=>e.fileName===r)))||void 0===t?void 0:t.isFolder)})).map((e=>e.name))}var ye=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function xe(){const{message:e}=p.App.useApp(),{identifier:n,root:t,getUploadUrls:o}=(0,P.useContext)(Ue),r=(0,P.useContext)(te),i=function(){const{message:e,modal:n}=p.App.useApp(),t=(0,P.useContext)(ne),{identifier:o,maxSizePerFile:r=10*L,uploadHistory:i=[],root:a}=(0,P.useContext)(Ue);return function(s){return ge(this,void 0,void 0,(function*(){const l=function(n){const t=n.filter((e=>e.size>r)).map((e=>e.name));if(t.length){const n=Y(r);e.warning(`以下文件大小超过${n}:${t.join(", ")}`)}return t}(s),[c,u]=yield function(e){return ge(this,void 0,void 0,(function*(){const r=[...we(e,t[o],a),...be(e,i)];return r.length?[yield n.confirm({title:"发现同名文件,是否覆盖?",okText:"覆盖",cancelText:"取消"}),r]:[!0,[]]}))}(s);return c?[new Set(l),new Set(u)]:[new Set([...l,...u]),new Set]}))}}(),a=function(){const e=(0,P.useContext)(ne),{identifier:n}=(0,P.useContext)(Ue),t=he();return function(o){const r=e[n];for(const e of o){const n=r.find((n=>n.fileName===e));n&&t(n)}}}();return function(s){return ye(this,void 0,void 0,(function*(){const l=yield function(e){return ye(this,void 0,void 0,(function*(){const n=new Map(e.map((e=>[e.name,e]))),[t,o]=yield i(e);return t.forEach((e=>n.delete(e))),a(o),Array.from(n.values())}))}(s),c=yield function(e){return ye(this,void 0,void 0,(function*(){const n=e.map((e=>M(e,t,o)));return(yield Promise.allSettled(n)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}))}(l);c.forEach((e=>{r({type:"add_file",identifier:n,file:e})})),function(e,n){try{const t=function(e){const n=V.transaction(e,"readwrite");return n.onerror=()=>console.warn(`添加文件事务错误: ${n.error}`),n.onabort=()=>console.warn("添加文件事务已中止"),n.oncomplete=()=>console.warn("添加文件事务已完成"),n}(e);!function(e,n){n.map((n=>function(e,n){try{e.put(n,n.fileName),console.warn(`文件 "${n.fileName}" 添加成功`)}catch(e){console.warn(`添加文件 "${n.fileName}" 时出错: ${e.message}`)}}(e,n)))}(t.objectStore(e),n)}catch(e){console.warn(`批量添加文件时出错: ${e.message}`)}}(n,c),c.length<l.length&&e.info("部分文件获取上传地址失败")}))}}const Se=(e=>{var n={};return l.d(n,e),n})({default:()=>r.default});var je=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function Ce(e,n=1e3){let t=null;return function(o){t||(t=setTimeout((()=>{e(o),t=null}),n))}}function Ae(e,n,t){const o=e.uploadUrls.findIndex((e=>e===n));e.uploadUrls.splice(o,1),e["complete"===t?"completeSeq":"failSeq"].push(n)}var Ee=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))},Ne=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function ke(){const e=function(){const{identifier:e,onOnePartDone:n}=(0,P.useContext)(Ue),t=(0,P.useContext)(te),o=(0,P.useCallback)(((n,o,r)=>{o.fileStatus===F.UPLOADING&&(o.uploadStatus[r]=Number(n.progress),o.percentage=o.uploadStatus.reduce(((e,n)=>e+n))*(100/o.partCount),t({type:"edit_file",identifier:e,file:o}))}),[e,t]),r=(0,P.useCallback)(((e,n,t)=>je(this,void 0,void 0,(function*(){const r=Se.default.create({});yield r.put(e.uploadUrl,n,{signal:t.cancelControllers[e.partNum].signal,withCredentials:!1,timeout:18e5,headers:{"Content-Type":"application/octet-stream"},onUploadProgress:Ce((n=>o(n,t,e.partNum)))})}))),[o]),i=(0,P.useCallback)(((e,t)=>je(this,void 0,void 0,(function*(){const{fileName:o,uploadId:r}=e,i=yield n(o,r,t.partNum);if(!i.status)throw new Error(i.reason);Ae(e,t,"complete")}))),[n]),a=(0,P.useCallback)(((e,n,t)=>je(this,void 0,void 0,(function*(){try{return yield r(e,n,t),yield i(t,e),t.fileStatus}catch(n){return Ae(t,e,"fail"),t.fileStatus}}))),[r,i]);return(0,P.useCallback)((n=>je(this,void 0,void 0,(function*(){n.fileStatus=F.UPLOADING,t({type:"edit_file",identifier:e,file:n});const o=function(e){const{uploadUrls:n,chunkSize:t,raw:o}=e,r=o.size;return n.map((({partNum:e,uploadUrl:n})=>{const i=e*t,a=Math.min((e+1)*t,r);return{url:{partNum:e,uploadUrl:n},chunk:o.slice(i,a)}}))}(n);for(const{url:r,chunk:i}of o){if(n.cancelControllers[r.partNum]=new AbortController,(yield a(r,i,n))===F.CANCELED)return!1;t({type:"edit_file",identifier:e,file:n})}}))),[e,t,a])}(),n=function(){const{identifier:e,onAllPartDone:n}=(0,P.useContext)(Ue),t=(0,P.useContext)(te);return(0,P.useCallback)((o=>Ee(this,void 0,void 0,(function*(){try{const{fileName:e,uploadId:t}=o;if(0!==o.failSeq.length)throw new Error("partial failed");{const r=yield n(e,t);if(!r.status)throw new Error(r.reason);o.fileStatus=F.FINISHED}}catch(e){o.fileStatus=F.FAILED}finally{t({type:"edit_file",identifier:e,file:o})}}))),[e,n,t])}();return(0,P.useCallback)(((t,o)=>Ne(this,void 0,void 0,(function*(){yield e(t),t.fileStatus!==F.CANCELED&&(yield n(t),t.fileStatus===F.FINISHED&&o&&o(t))}))),[e,n])}var Pe=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function Oe(e){const{message:n,modal:t}=p.App.useApp(),o=(0,P.useContext)(te),r=fe();return(0,P.useCallback)((()=>Pe(this,void 0,void 0,(function*(){const i=yield function(e){return Pe(this,void 0,void 0,(function*(){const n=yield(o=e,new Promise(((e,n)=>{V?function(e,n,t){V.objectStoreNames.contains(e)?$(e,n,t):q(e,n,t)}(o,e,n):function(e,n,t){try{const o=window.indexedDB.open(Q);o.onupgradeneeded=()=>B(o.result,e,n,t),o.onsuccess=()=>function(e,n,t,o){W(e),e.objectStoreNames.contains(n)?$(n,t,o):q(n,t,o)}(o.result,e,n,t),o.onerror=()=>t(Error(`打开数据库失败: ${o.error}`)),o.onblocked=()=>t(Error(`数据库被阻塞: ${o.error}`))}catch(e){console.warn(`打开数据库时发生异常: ${e.message}`,e),t(e)}}(o,e,n)}))),t=JSON.parse(localStorage.getItem(e)||"[]").map((e=>{const t=n.find((n=>n.fileName===e.fileName));return Object.assign(Object.assign(Object.assign({},t),e),{fileStatus:F.PAUSED})}));var o;return localStorage.removeItem(e),t}))}(e);o({type:"add_files",identifier:e,files:i}),i.length&&t.confirm({title:"提示",content:"检测到未完成上传任务,是否继续上传?",onOk(){i.forEach(r)},onCancel(){n.info("点击上传按钮手动继续")}})}))),[e,o,r,t,n])}var Ie=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function De({open:e,identifier:n,accept:t,dragAreaDescription:o,footer:r,directory:i=!1,onClose:a}){var s,l;const c=(0,P.useContext)(ne),d=(0,P.useContext)(te),{onSuccess:f}=(0,P.useContext)(Ue),h=xe(),m=ke(),v=Oe(n),[g,w]=(0,P.useState)([]),b=(0,P.useRef)("");return(0,P.useEffect)((()=>{b.current!==n&&(c&&d?(b.current=n,c[n]||d({type:"add",identifier:n}),v()):console.warn("FileUploadDrawer 必须在 UploadStoreProvider 内使用"))}),[n,v,c,d]),(0,P.useEffect)((()=>{const e=c[n];if(!e)return;const t=!e.some((e=>e.fileStatus===F.UPLOADING)),o=e.find((e=>e.fileStatus===F.INIT));t&&o&&m(o,f)}),[n,f,m,c]),(0,u.jsxs)(p.Drawer,{open:e,title:"数据上传",width:480,onClose:a,footer:r,children:[(0,u.jsx)(le,{directory:i,accept:t,dragAreaDescription:o,onFileReceived:function(e){return Ie(this,void 0,void 0,(function*(){w((n=>[...n,...e])),yield h(e),w((n=>{const t=new Set(n);for(const n of e)t.delete(n);return[...t]}))}))}}),0===g.length&&0===(null===(s=c[n])||void 0===s?void 0:s.length)&&(0,u.jsx)(p.Empty,{className:"mt-20",description:"暂无上传内容"}),g.length>0&&(0,u.jsxs)("div",{className:"flex justify-center gap-4 mt-4",children:[(0,u.jsx)(ie.LoadingOutlined,{}),"预检上传文件中(",g.length,")"]}),(null===(l=c[n])||void 0===l?void 0:l.length)>0&&(0,u.jsx)(me,{showFinished:!r,identifier:n})]})}var Le=l(446),Fe={};Fe.styleTagTransform=A(),Fe.setAttributes=x(),Fe.insert=b().bind(null,"head"),Fe.domAPI=g(),Fe.insertStyleElement=j(),m()(Le.A,Fe),Le.A&&Le.A.locals&&Le.A.locals;var ze=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};const Ue=(0,P.createContext)({identifier:"",getUploadUrls:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}})),onCancelUpload:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}})),onOnePartDone:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}})),onAllPartDone:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}}))});function Te(e){if((0,P.useContext)(ne)===ee)return(0,u.jsx)(p.Drawer,{open:e.open,onClose:e.onClose,title:"数据上传",children:(0,u.jsx)(p.Alert,{message:"FileUploadDrawer 必须在 UploadStoreProvider 内使用",type:"warning"})});const{identifier:n,maxSizePerFile:t=10*L,directory:o=!1,root:r="",uploadHistory:i=[],onSuccess:a,getUploadUrls:s,onCancelUpload:l,onOnePartDone:c,onAllPartDone:d,onClose:f,dragAreaDescription:h,accept:m,open:v,footer:g}=e,w={identifier:n,maxSizePerFile:t,directory:o,root:r,uploadHistory:i,onSuccess:a,getUploadUrls:s,onCancelUpload:l,onOnePartDone:c,onAllPartDone:d};return(0,u.jsx)(Ue.Provider,{value:w,children:(0,u.jsx)(De,{open:v,accept:m,footer:g,directory:o,identifier:n,dragAreaDescription:h,onClose:f})})}const Re=(e=>{var n={};return l.d(n,e),n})({getFileExt:()=>i.getFileExt});function Me(e){return new Promise((n=>{if(e&&e.length>0){const t=[...e];function o(){t.length>0?setTimeout(r):setTimeout((()=>{n(null)}))}function r(){const e=t.shift(),n=(0,Re.getFileExt)(e);if("js"===n||"mjs"===n){if(!document.querySelector(`script[src="${e}"]`)){const t=document.createElement("script");return t.src=e,"mjs"===n&&(t.type="module"),document.head.appendChild(t),t.onload=o,void(t.onerror=o)}}else if("css"===n&&!document.querySelector(`link[href="${e}"]`)){const n=document.createElement("link");return n.rel="stylesheet",n.href=e,document.head.appendChild(n),n.onload=o,void(n.onerror=o)}o()}r()}else n(null)}))}var _e=l(220),He={};function Be(e){const{filePath:n}=e,t=(0,P.useRef)(null);return(0,P.useEffect)((()=>{Me(["https://fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.min.mjs"]).then((()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc="//fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.worker.min.mjs",window.pdfjsLib.getDocument(n).promise.then((n=>{var o;const r=n.numPages;t.current.textContent="";const i=t.current;for(let e=1;e<=r;e++)n.getPage(e).then((n=>{const t=n.getViewport({scale:window.devicePixelRatio||1}),o=document.createElement("canvas");o.setAttribute("id","the-canvas"+e),o.height=t.height,o.width=t.width;const r={canvasContext:o.getContext("2d"),viewport:t};n.render(r).promise.then((()=>{})),i.appendChild(o)})).catch((e=>{throw e}));null===(o=null==e?void 0:e.onSuccess)||void 0===o||o.call(e)})).catch((n=>{var t;null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))}),[n]),(0,u.jsx)("div",{ref:t,className:_e.L})}He.styleTagTransform=A(),He.setAttributes=x(),He.insert=b().bind(null,"head"),He.domAPI=g(),He.insertStyleElement=j(),m()(_e.A,He),_e.A&&_e.A.locals&&_e.A.locals;var qe=l(367),$e={};$e.styleTagTransform=A(),$e.setAttributes=x(),$e.insert=b().bind(null,"head"),$e.domAPI=g(),$e.insertStyleElement=j(),m()(qe.A,$e),qe.A&&qe.A.locals&&qe.A.locals;var Ge=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function Qe(e){const n=(0,P.useRef)(null);return(0,P.useEffect)((()=>{Me(["https://fastly.jsdelivr.net/npm/canvas-datagrid@0.4.7/dist/canvas-datagrid.js","https://fastly.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"]).then((()=>Ge(this,void 0,void 0,(function*(){fetch(e.filePath).then((t=>{t.arrayBuffer().then((function(t){var o;const r=window.XLSX.read(t),i=r.Sheets[r.SheetNames[0]],a=window.XLSX.utils.sheet_to_json(i,{header:1});window.canvasDatagrid({parentNode:n.current,data:a,editable:!1}),null===(o=null==e?void 0:e.onSuccess)||void 0===o||o.call(e)})).catch((e=>{throw e}))})).catch((n=>{var t;console.log(n),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))))}),[]),(0,u.jsx)("div",{ref:n,className:qe.L})}var Ve=l(819),We={};function Ye(e){return(0,u.jsx)("div",{className:Ve.LV,children:(0,u.jsx)("img",{src:e.filePath,onError:n=>{var t;console.log("+++ img error"),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},onLoad:()=>{var n;null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)},className:Ve._8})})}We.styleTagTransform=A(),We.setAttributes=x(),We.insert=b().bind(null,"head"),We.domAPI=g(),We.insertStyleElement=j(),m()(Ve.Ay,We),Ve.Ay&&Ve.Ay.locals&&Ve.Ay.locals;var Ke=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function Xe(e){const n=(0,P.useRef)(null);return(0,P.useEffect)((()=>{(()=>{Ke(this,void 0,void 0,(function*(){var t,o;yield Me(["https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/index.css","https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/method.min.js"]);try{const o=yield fetch(e.filePath).then((e=>e.text()));window.Vditor.preview(n.current,o,{}),null===(t=null==e?void 0:e.onSuccess)||void 0===t||t.call(e)}catch(n){null===(o=null==e?void 0:e.onError)||void 0===o||o.call(e,n)}}))})()}),[]),(0,u.jsx)("div",{ref:n})}var Je=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}l((o=o.apply(e,n||[])).next())}))};function Ze(e){const[n,t]=(0,P.useState)("");return(0,P.useEffect)((()=>{(()=>{Je(this,void 0,void 0,(function*(){var n,o;try{const o=yield fetch(e.filePath).then((e=>e.text()));t(o),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)}catch(n){null===(o=null==e?void 0:e.onError)||void 0===o||o.call(e,n)}}))})()}),[]),(0,u.jsx)("div",{children:n})}var en=l(464),nn={};function tn(e){var n,t,o;const{filePath:r}=e,[i,a]=(0,P.useState)(!1),[s,l]=(0,P.useState)(!0),c=n=>{var t;l(!1),a(!0),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},d=()=>{var n;l(!1),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)};let f=null;if(i)f=(0,u.jsx)("div",{className:en.LV,children:"获取文件失败"});else if(r){const n=(0,Re.getFileExt)(r),t=(0,u.jsx)("div",{className:en.D5,children:(0,u.jsx)(p.Spin,{})});let o=null,i=!0;switch(n){case"pdf":o=(0,u.jsx)(Be,Object.assign({},e,{onError:c,onSuccess:d}));break;case"xlsx":case"csv":o=(0,u.jsx)(Qe,Object.assign({},e,{onError:c,onSuccess:d}));break;case"png":case"jpg":case"jpeg":o=(0,u.jsx)(Ye,Object.assign({},e,{onError:c,onSuccess:d}));break;case"md":o=(0,u.jsx)(Xe,Object.assign({},e,{onError:c,onSuccess:d}));break;case"txt":o=(0,u.jsx)(Ze,Object.assign({},e,{onError:c,onSuccess:d}));break;default:i=!1}f=i?(0,u.jsxs)(u.Fragment,{children:[s&&t,o]}):(0,u.jsxs)("div",{className:en.LV,children:["暂不支持",n,"文件预览"]})}return e.openInModal?(null===(n=null==e?void 0:e.modalProps)||void 0===n?void 0:n.show)?(0,u.jsx)(p.Modal,{open:!0,title:null===(t=null==e?void 0:e.modalProps)||void 0===t?void 0:t.title,className:en.qf,centered:!0,width:"100%",onCancel:null===(o=null==e?void 0:e.modalProps)||void 0===o?void 0:o.onCancel,footer:null,children:f}):null:f}nn.styleTagTransform=A(),nn.setAttributes=x(),nn.insert=b().bind(null,"head"),nn.domAPI=g(),nn.insertStyleElement=j(),m()(en.Ay,nn),en.Ay&&en.Ay.locals&&en.Ay.locals;var on=c.dA,rn=c.Lq,an=c.Y9,sn=c.ly,ln=c.WI;export{on as FilePreview,rn as FileUploadDrawer,an as Header,sn as InputTag,ln as UploadStoreProvider};
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as n from"antd";import*as t from"react";import*as r from"@ant-design/icons";import*as o from"axios";import*as i from"@zjlab-fe/util";var a={367:(e,n,t)=>{t.d(n,{A:()=>s,L:()=>l});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".cJmcPSn5LN2GH9HqTvEQ{height:100%;overflow:auto}",""]);var l="cJmcPSn5LN2GH9HqTvEQ";const s=a},819:(e,n,t)=>{t.d(n,{Ay:()=>c,LV:()=>l,_8:()=>s});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".zuabV0gpCkaY8pSYtOSL{display:flex;align-items:center;justify-content:center;height:100%}.i2GFC308F3s1lGENOI5l{max-width:100%;max-height:100%}",""]);var l="zuabV0gpCkaY8pSYtOSL",s="i2GFC308F3s1lGENOI5l";const c=a},464:(e,n,t)=>{t.d(n,{Ay:()=>d,D5:()=>s,LV:()=>l,qf:()=>c});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".EVmfUlSj2zzl7igeqp6N{display:flex;align-items:center;justify-content:center;height:100%;overflow:auto;padding-top:16px;padding-bottom:16px}.Z65yBBsFLSWF70wfWwgA{display:flex;align-items:center;justify-content:center;padding-top:16px;padding-bottom:16px}.QSsGpXvLzOYpHSNncjpj .ant-modal-body{height:calc(100vh - 200px);overflow-y:auto}.QSsGpXvLzOYpHSNncjpj .ant-modal-content{padding-top:44px}",""]);var l="EVmfUlSj2zzl7igeqp6N",s="Z65yBBsFLSWF70wfWwgA",c="QSsGpXvLzOYpHSNncjpj";const d=a},220:(e,n,t)=>{t.d(n,{A:()=>s,L:()=>l});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".GmPZonLTI3KWU6TQWQSo{display:flex;flex-direction:column;align-items:center;height:100%;overflow:auto}.GmPZonLTI3KWU6TQWQSo canvas{max-width:100%}",""]);var l="GmPZonLTI3KWU6TQWQSo";const s=a},258:(e,n,t)=>{t.d(n,{Ay:()=>c,LV:()=>l,wm:()=>s});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".wkk6Lnco5rQ5DK_Bojaj{display:flex;justify-content:space-between;align-items:center;padding:0 16px;background-color:#000}.wkk6Lnco5rQ5DK_Bojaj .H3Num6yF3Ox32Pb6Occg{width:200px}",""]);var l="wkk6Lnco5rQ5DK_Bojaj",s="H3Num6yF3Ox32Pb6Occg";const c=a},446:(e,n,t)=>{t.d(n,{A:()=>l});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".mylib-upload-drawer *, .mylib-upload-drawer ::before, .mylib-upload-drawer ::after{\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}.mylib-upload-drawer ::backdrop{\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/.mylib-upload-drawer *,\n.mylib-upload-drawer ::before,\n.mylib-upload-drawer ::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}.mylib-upload-drawer ::before,\n.mylib-upload-drawer ::after {\n --tw-content: '';\n}/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/.mylib-upload-drawer html,\n.mylib-upload-drawer :host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/.mylib-upload-drawer body {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/.mylib-upload-drawer hr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/.mylib-upload-drawer abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}/*\nRemove the default font size and weight for headings.\n*/.mylib-upload-drawer h1,\n.mylib-upload-drawer h2,\n.mylib-upload-drawer h3,\n.mylib-upload-drawer h4,\n.mylib-upload-drawer h5,\n.mylib-upload-drawer h6 {\n font-size: inherit;\n font-weight: inherit;\n}/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/.mylib-upload-drawer a {\n color: inherit;\n text-decoration: inherit;\n}/*\nAdd the correct font weight in Edge and Safari.\n*/.mylib-upload-drawer b,\n.mylib-upload-drawer strong {\n font-weight: bolder;\n}/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/.mylib-upload-drawer code,\n.mylib-upload-drawer kbd,\n.mylib-upload-drawer samp,\n.mylib-upload-drawer pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}/*\nAdd the correct font size in all browsers.\n*/.mylib-upload-drawer small {\n font-size: 80%;\n}/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/.mylib-upload-drawer sub,\n.mylib-upload-drawer sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}.mylib-upload-drawer sub {\n bottom: -0.25em;\n}.mylib-upload-drawer sup {\n top: -0.5em;\n}/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/.mylib-upload-drawer table {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer input,\n.mylib-upload-drawer optgroup,\n.mylib-upload-drawer select,\n.mylib-upload-drawer textarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer select {\n text-transform: none;\n}/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer input:where([type='button']),\n.mylib-upload-drawer input:where([type='reset']),\n.mylib-upload-drawer input:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}/*\nUse the modern Firefox focus style for all focusable elements.\n*/.mylib-upload-drawer :-moz-focusring {\n outline: auto;\n}/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/.mylib-upload-drawer :-moz-ui-invalid {\n box-shadow: none;\n}/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/.mylib-upload-drawer progress {\n vertical-align: baseline;\n}/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/.mylib-upload-drawer ::-webkit-inner-spin-button,\n.mylib-upload-drawer ::-webkit-outer-spin-button {\n height: auto;\n}/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/.mylib-upload-drawer [type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/.mylib-upload-drawer ::-webkit-search-decoration {\n -webkit-appearance: none;\n}/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/.mylib-upload-drawer ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}/*\nAdd the correct display in Chrome and Safari.\n*/.mylib-upload-drawer summary {\n display: list-item;\n}/*\nRemoves the default spacing and border for appropriate elements.\n*/.mylib-upload-drawer blockquote,\n.mylib-upload-drawer dl,\n.mylib-upload-drawer dd,\n.mylib-upload-drawer h1,\n.mylib-upload-drawer h2,\n.mylib-upload-drawer h3,\n.mylib-upload-drawer h4,\n.mylib-upload-drawer h5,\n.mylib-upload-drawer h6,\n.mylib-upload-drawer hr,\n.mylib-upload-drawer figure,\n.mylib-upload-drawer p,\n.mylib-upload-drawer pre {\n margin: 0;\n}.mylib-upload-drawer fieldset {\n margin: 0;\n padding: 0;\n}.mylib-upload-drawer legend {\n padding: 0;\n}.mylib-upload-drawer ol,\n.mylib-upload-drawer ul,\n.mylib-upload-drawer menu {\n list-style: none;\n margin: 0;\n padding: 0;\n}/*\nReset default styling for dialogs.\n*/.mylib-upload-drawer dialog {\n padding: 0;\n}/*\nPrevent resizing textareas horizontally by default.\n*/.mylib-upload-drawer textarea {\n resize: vertical;\n}/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/.mylib-upload-drawer input::-moz-placeholder, .mylib-upload-drawer textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}.mylib-upload-drawer input::placeholder,\n.mylib-upload-drawer textarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}/*\nSet the default cursor for buttons.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer [role=\"button\"] {\n cursor: pointer;\n}/*\nMake sure disabled buttons don't get the pointer cursor.\n*/.mylib-upload-drawer :disabled {\n cursor: default;\n}/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/.mylib-upload-drawer img,\n.mylib-upload-drawer svg,\n.mylib-upload-drawer video,\n.mylib-upload-drawer canvas,\n.mylib-upload-drawer audio,\n.mylib-upload-drawer iframe,\n.mylib-upload-drawer embed,\n.mylib-upload-drawer object {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/.mylib-upload-drawer img,\n.mylib-upload-drawer video {\n max-width: 100%;\n height: auto;\n}/* Make elements with the HTML hidden attribute stay hidden by default */.mylib-upload-drawer [hidden] {\n display: none;\n}.mylib-upload-drawer .relative{\n position: relative;\n}.mylib-upload-drawer .m-0{\n margin: 0px;\n}.mylib-upload-drawer .my-2{\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}.mylib-upload-drawer .my-4{\n margin-top: 1rem;\n margin-bottom: 1rem;\n}.mylib-upload-drawer .mb-2{\n margin-bottom: 0.5rem;\n}.mylib-upload-drawer .mt-20{\n margin-top: 5rem;\n}.mylib-upload-drawer .mt-4{\n margin-top: 1rem;\n}.mylib-upload-drawer .flex{\n display: flex;\n}.mylib-upload-drawer .hidden{\n display: none;\n}.mylib-upload-drawer .h-8{\n height: 2rem;\n}.mylib-upload-drawer .w-40{\n width: 10rem;\n}.mylib-upload-drawer .items-center{\n align-items: center;\n}.mylib-upload-drawer .justify-center{\n justify-content: center;\n}.mylib-upload-drawer .justify-between{\n justify-content: space-between;\n}.mylib-upload-drawer .gap-4{\n gap: 1rem;\n}.mylib-upload-drawer .truncate{\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.mylib-upload-drawer .rounded{\n border-radius: 0.25rem;\n}.mylib-upload-drawer .border{\n border-width: 1px;\n}.mylib-upload-drawer .border-dashed{\n border-style: dashed;\n}.mylib-upload-drawer .border-gray-300{\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity));\n}.mylib-upload-drawer .border-green-600{\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}.mylib-upload-drawer .bg-gray-50{\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\n}.mylib-upload-drawer .p-4{\n padding: 1rem;\n}.mylib-upload-drawer .px-3{\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}.mylib-upload-drawer .px-4{\n padding-left: 1rem;\n padding-right: 1rem;\n}.mylib-upload-drawer .text-center{\n text-align: center;\n}.mylib-upload-drawer .text-2xl{\n font-size: 1.5rem;\n line-height: 2rem;\n}.mylib-upload-drawer .text-5xl{\n font-size: 3rem;\n line-height: 1;\n}.mylib-upload-drawer .text-base{\n font-size: 1rem;\n line-height: 1.5rem;\n}.mylib-upload-drawer .text-green-600{\n --tw-text-opacity: 1;\n color: rgb(22 163 74 / var(--tw-text-opacity));\n}.mylib-upload-drawer .text-red-600{\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}.mylib-upload-drawer .text-yellow-500{\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity));\n}.mylib-upload-drawer .filter{\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}.last\\:mb-0:last-child{\n margin-bottom: 0px;\n}.hover\\:border-green-600:hover{\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}",""]);const l=a},600:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",r=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),r&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),r&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var l=0;l<this.length;l++){var s=this[l][0];null!=s&&(a[s]=!0)}for(var c=0;c<e.length;c++){var d=[].concat(e[c]);r&&a[d[0]]||(void 0!==i&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),t&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=t):d[2]=t),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),n.push(d))}},n}},855:e=>{e.exports=function(e){return e[1]}},872:e=>{var n=[];function t(e){for(var t=-1,r=0;r<n.length;r++)if(n[r].identifier===e){t=r;break}return t}function r(e,r){for(var i={},a=[],l=0;l<e.length;l++){var s=e[l],c=r.base?s[0]+r.base:s[0],d=i[c]||0,u="".concat(c," ").concat(d);i[c]=d+1;var f=t(u),p={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==f)n[f].references++,n[f].updater(p);else{var m=o(p,r);r.byIndex=l,n.splice(l,0,{identifier:u,updater:m,references:1})}a.push(u)}return a}function o(e,n){var t=n.domAPI(n);return t.update(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap&&n.supports===e.supports&&n.layer===e.layer)return;t.update(e=n)}else t.remove()}}e.exports=function(e,o){var i=r(e=e||[],o=o||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var l=t(i[a]);n[l].references--}for(var s=r(e,o),c=0;c<i.length;c++){var d=t(i[c]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}i=s}}},227:e=>{var n={};e.exports=function(e,t){var r=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}},108:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},232:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},265:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var r="";t.supports&&(r+="@supports (".concat(t.supports,") {")),t.media&&(r+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(r+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),r+=t.css,o&&(r+="}"),t.media&&(r+="}"),t.supports&&(r+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),n.styleTagTransform(r,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},177:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}}},l={};function s(e){var n=l[e];if(void 0!==n)return n.exports;var t=l[e]={id:e,exports:{}};return a[e](t,t.exports,s),t.exports}s.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return s.d(n,{a:n}),n},s.d=(e,n)=>{for(var t in n)s.o(n,t)&&!s.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},s.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),s.nc=void 0;var c={};s.d(c,{dA:()=>tn,Lq:()=>Te,Y9:()=>k,ly:()=>O,WI:()=>re});const d=(u={Fragment:()=>e.Fragment,jsx:()=>e.jsx,jsxs:()=>e.jsxs},f={},s.d(f,u),f);var u,f;const p=(e=>{var n={};return s.d(n,e),n})({Alert:()=>n.Alert,App:()=>n.App,Button:()=>n.Button,Drawer:()=>n.Drawer,Empty:()=>n.Empty,Flex:()=>n.Flex,Input:()=>n.Input,Modal:()=>n.Modal,Progress:()=>n.Progress,Spin:()=>n.Spin,Tag:()=>n.Tag});var m=s(872),h=s.n(m),w=s(265),b=s.n(w),y=s(227),v=s.n(y),g=s(232),x=s.n(g),S=s(108),j=s.n(S),C=s(177),E=s.n(C),A=s(258),N={};function k(e){const{showLogin:n}=e;return(0,d.jsxs)("div",{className:A.LV,children:[(0,d.jsx)("img",{src:"https://www.unpkg.com/@zjlab-fe/fe-assets/logo-white.png",className:A.wm}),n&&(0,d.jsx)(p.Button,{ghost:!0,children:"登录"})]})}N.styleTagTransform=E(),N.setAttributes=x(),N.insert=v().bind(null,"head"),N.domAPI=b(),N.insertStyleElement=j(),h()(A.Ay,N),A.Ay&&A.Ay.locals&&A.Ay.locals;const P=(e=>{var n={};return s.d(n,e),n})({createContext:()=>t.createContext,useCallback:()=>t.useCallback,useContext:()=>t.useContext,useEffect:()=>t.useEffect,useMemo:()=>t.useMemo,useReducer:()=>t.useReducer,useRef:()=>t.useRef,useState:()=>t.useState});function O(e){const{value:n,onChange:t,placeholder:r="请输入关键字",valueType:o,deduplicated:i=!0,size:a,maxLength:l,disabled:s}=e,[c,u]=(0,P.useState)([]),[f,m]=(0,P.useState)(1),h=(0,P.useRef)(null);(0,P.useEffect)((()=>{Array.isArray(n)?u(n):"string"==typeof n&&u(n.split(";"))}),[n]),(0,P.useEffect)((()=>{1!==f&&(null==h?void 0:h.current)&&h.current.focus()}),[f]);const w=e=>{if(i&&(e=Array.from(new Set(e))),u(e),"array"===o)null==t||t(e.length>0?e:void 0);else{const n=e.join(";");null==t||t(n||void 0)}};let b;return(null==c?void 0:c.length)>0&&(b=c.map(((e,n)=>(0,d.jsx)(p.Tag,{closeIcon:!s,onClose:()=>(e=>{let n=c.filter(((n,t)=>t!==e));w(n),m(f+1)})(n),children:e},n)))),(0,d.jsx)(p.Input,{disabled:s,size:a,ref:h,placeholder:r,prefix:b,onPressEnter:e=>{const n=e.target.value.trim();let t=[...c,n];w(t),m(f+1)},maxLength:l},f)}const I=1024,D=1048576,F=1073741824;var L,z;(z=L||(L={}))[z.INIT=1]="INIT",z[z.UPLOADING=2]="UPLOADING",z[z.FINISHED=3]="FINISHED",z[z.FAILED=4]="FAILED",z[z.PAUSED=5]="PAUSED",z[z.CANCELED=6]="CANCELED";const U=1,T=2;var R=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function M(e,n,t){return R(this,void 0,void 0,(function*(){const{name:r,size:o}=e,i=n?`${n}${r}`:r,a=Object.assign(Object.assign({},{fileStatus:L.INIT,percentage:0,uploadId:"",expiryTime:"",uploadUrls:[],completeSeq:[],failSeq:[],cancelControllers:{},uploadStatus:[],chunkSize:0,displaySize:"",fileName:"",partCount:0,raw:void 0}),{fileName:i,raw:new File([e],i,{type:e.type}),partCount:_(o),chunkSize:H(o),displaySize:Y(o)}),l=yield t(i,a.partCount);return l.status?Object.assign(Object.assign({},a),l.uploadInfo):Object.assign(Object.assign({},a),{fileStatus:L.FAILED})}))}function H(e){return e<10*D?10*D:Math.ceil(e/10)}function _(e){const n=H(e);return Math.floor(e/n)+1}function B(e,n,t,r){W(e);try{e.createObjectStore(n,{}),e.onversionchange=n=>{null===n.newVersion&&e.close()},t([])}catch(e){r(Error(`升级数据库异常: ${e.message}`))}}function q(e,n,t){const r=V.version+1;V.close();const o=window.indexedDB.open(Q,r);o.onupgradeneeded=()=>B(o.result,e,n,t)}function $(e,n,t){(function(e){return new Promise((function(n,t){let r;try{r=V.transaction(e,"readonly");try{const t=r.objectStore(e),o=[],i=t.openCursor();i.onsuccess=()=>{const e=i.result;e?(o.push(e.value),e.continue()):n(o)},i.onerror=()=>{console.warn(`在handleFileRetrieve()中游标操作失败 - 错误代码: ${i.error}`,i.error)}}catch(e){t(Error(`在handleFileRetrieve()中执行事务或打开游标时发生异常 - ${e.message}`))}}catch(e){t(Error(`在handleFileRetrieve()中创建数据库事务时发生异常 - ${e.message}`))}}))})(e).then(n).catch(t)}var G=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};const Q="uploadStore";let V;function W(e){V=e}function Y(e){const n=[{value:F,label:"GB"},{value:D,label:"MB"},{value:I,label:"KB"},{value:1,label:"B"}];for(const{value:t,label:r}of n)if(e>=t||1===t)return(e/t).toFixed(1)+r;return e+"B"}var K=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function X(e,n,t){return K(this,arguments,void 0,(function*(e,n,t,r=""){return e.isDirectory?n?function(e,n){return K(this,void 0,void 0,(function*(){const t=yield function(e){return new Promise(((n,t)=>{e.createReader().readEntries(n,t)}))}(e),r=t.map((e=>X(e,!0,n,e.fullPath)));return(yield Promise.allSettled(r)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value))}))}(e,t):[]:e.isFile?e.name.includes(".DS_Store")?[]:function(e,n,t){return K(this,void 0,void 0,(function*(){const r=yield function(e){return new Promise(((n,t)=>{e.file(n,t)}))}(e);return function(e,n){if(0===n.size)return!0;const t=e.name.split(".").pop()||"";return n.has(`.${t}`)}(r,n)?[J(r,t)]:[]}))}(e,t,r):[]}))}function J(e,n){const t=e.slice(0,e.size,e.type);return new File([t],n.slice(1)||e.name,{type:e.type})}function Z(e){return e.map((({completeSeq:e,uploadId:n,uploadStatus:t,uploadUrls:r,percentage:o,fileName:i,failSeq:a})=>({fileName:i,uploadId:n,completeSeq:e,uploadStatus:t,percentage:o,uploadUrls:[...r,...a]})))}const ee={},ne=(0,P.createContext)(ee),te=(0,P.createContext)((()=>null));function re({children:e}){const[n,t]=(0,P.useReducer)(oe,{});return function(e){(0,P.useEffect)((()=>{return window.addEventListener("beforeunload",n),()=>{window.removeEventListener("beforeunload",n)};function n(){const n=[];for(const[t,r]of Object.entries(e)){const e=r.filter((e=>e.fileStatus!==L.FINISHED));e.length?localStorage.setItem(t,JSON.stringify(Z(e))):n.push(t)}n.length&&function(e){G(this,void 0,void 0,(function*(){const n=V.version+1;return V.close(),new Promise(((t,r)=>{const o=window.indexedDB.open(Q,n);o.onupgradeneeded=()=>{const n=o.result;e.forEach((e=>{n.objectStoreNames.contains(e)&&n.deleteObjectStore(e)}))},o.onsuccess=()=>{o.result.close(),t()},o.onerror=()=>r(o.error)}))}))}(n)}}),[e])}(n),(0,d.jsx)(ne.Provider,{value:n,children:(0,d.jsx)(te.Provider,{value:t,children:e})})}function oe(e,n){switch(n.type){case"add":return Object.assign(Object.assign({},e),{[n.identifier]:[]});case"remove_file":{const t=e[n.identifier],r=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,r),...t.slice(r+1)]})}case"edit_file":{const t=e[n.identifier],r=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,r),n.file,...t.slice(r+1)]})}case"add_file":{const t=e[n.identifier],r=t.findIndex((e=>e.fileName===n.file.fileName));return-1===r?Object.assign(Object.assign({},e),{[n.identifier]:[...t,n.file]}):Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,r),n.file,...t.slice(r+1)]})}case"add_files":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:[...t,...n.files]})}case"clear_finished":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:t.filter((e=>e.fileStatus!==L.FINISHED))})}default:throw Error("Unknown action")}}const ie=(e=>{var n={};return s.d(n,e),n})({CheckOutlined:()=>r.CheckOutlined,CloseOutlined:()=>r.CloseOutlined,DeleteOutlined:()=>r.DeleteOutlined,FileTextOutlined:()=>r.FileTextOutlined,InboxOutlined:()=>r.InboxOutlined,LoadingOutlined:()=>r.LoadingOutlined,PauseOutlined:()=>r.PauseOutlined});var ae=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};const le="border-dashed rounded border bg-gray-50 p-4 hover:border-green-600 border-gray-300";function se({accept:e="",directory:n=!0,dragAreaDescription:t,onFileReceived:r}){const o=(0,P.useMemo)((()=>new Set(e?e.split(","):[])),[e]),i=(0,P.useRef)(null),[a,l]=(0,P.useState)(!1),s={onDragLeave:()=>l(!1),onDragEnter:e=>e.preventDefault(),onDragOver:e=>{e.preventDefault(),l(!0)},onDrop:function(e){return ae(this,void 0,void 0,(function*(){e.preventDefault(),l(!1);const t=Array.from(e.dataTransfer.items).map((e=>e.webkitGetAsEntry())).filter(Boolean).map((e=>X(e,n,o))),i=(yield Promise.allSettled(t)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value));i.length&&r(i)}))}};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(p.Flex,Object.assign({vertical:!0,gap:"1rem",align:"center",className:`${a?"border-green-600":""} ${le}`},s,{onClick:()=>{var e;return null===(e=i.current)||void 0===e?void 0:e.click()},children:[(0,d.jsx)("p",{className:"text-5xl text-green-600 m-0",children:(0,d.jsx)(ie.InboxOutlined,{})}),(0,d.jsx)("div",{className:"text-base text-center",children:t?Array.isArray(t)?t.map(((e,n)=>(0,d.jsx)("p",{className:"text-base m-0",children:e},n))):(0,d.jsx)("p",{className:"text-base m-0",children:t}):(0,d.jsx)("p",{className:"text-base m-0",children:"点击或拖拽上传文件"})})]})),(0,d.jsx)("input",{ref:i,type:"file",accept:e,hidden:!0,multiple:!0,onChange:function(){var e;const n=null===(e=i.current)||void 0===e?void 0:e.files;(null==n?void 0:n.length)&&r(Array.from(n))},onClick:()=>{i.current&&(i.current.value="")}})]})}const ce={size:32,strokeWidth:12,type:"circle",strokeLinecap:"butt"};function de({percent:e,status:n,onClick:t}){const{progressButtonRef:r,buttonInHover:o}=function(){const e=(0,P.useRef)(null),[n,t]=(0,P.useState)(!1);return(0,P.useEffect)((()=>{const n=e.current;if(!n)return;const r=()=>t(!0),o=()=>t(!1);return n.addEventListener("mouseenter",r),n.addEventListener("mouseleave",o),()=>{n.removeEventListener("mouseenter",r),n.removeEventListener("mouseleave",o)}}),[]),{progressButtonRef:e,buttonInHover:n}}(),[i,a]=(0,P.useState)(!1);return n===L.FINISHED?(0,d.jsx)(ie.CheckOutlined,{className:"text-green-600 text-2xl h-8"}):n===L.FAILED?(0,d.jsx)(d.Fragment,{children:i?(0,d.jsx)(ie.LoadingOutlined,{className:"text-red-600 text-2xl h-8"}):(0,d.jsx)(ie.CloseOutlined,{className:"text-red-600 text-2xl h-8",onClick:()=>{t(),a(!0)}})}):(0,d.jsx)(p.Button,{type:"text",shape:"circle",disabled:i,ref:r,title:n===L.PAUSED?"继续下载":"取消下载",onClick:()=>{t(),n===L.UPLOADING&&a(!0)},children:(0,d.jsx)(p.Progress,Object.assign({percent:e},ce,{strokeColor:i?"#f0a020":"#19a1fe",format:function(){return n===L.PAUSED?(0,d.jsx)(ie.PauseOutlined,{}):i?(0,d.jsx)(ie.LoadingOutlined,{className:"text-yellow-500"}):o?(0,d.jsx)(ie.CloseOutlined,{}):void 0}}))})}var ue=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function fe(){const{identifier:e,root:n,getUploadUrls:t}=(0,P.useContext)(Ue),r=(0,P.useContext)(te);return(0,P.useCallback)((o=>ue(this,void 0,void 0,(function*(){const i=function(e){if(!e.expiryTime)return U;const n=new Date;return new Date(e.expiryTime)<n?U:T}(o)===U;if(i){const i=yield M(o.raw,n,t);r({type:"edit_file",identifier:e,file:i})}else{const n=Object.assign(Object.assign({},o),{fileStatus:L.INIT,uploadUrls:[...o.failSeq,...o.uploadUrls],failSeq:[],cancelControllers:{}});r({type:"edit_file",identifier:e,file:n})}}))),[e,n,t,r])}var pe=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function me(){const{message:e}=p.App.useApp(),{identifier:n,onCancelUpload:t}=(0,P.useContext)(Ue),r=(0,P.useContext)(te);return function(n){return pe(this,void 0,void 0,(function*(){const{fileName:r,uploadId:i}=n;if(!i)return void o(n);const a=yield t(r,i);a.status?o(n):e.error(a.reason||"取消失败")}))};function o(e){e.fileStatus=L.CANCELED,function(e,n){let t;try{t=V.transaction(e,"readwrite")}catch(e){return void console.warn("db.transaction() exception in deleteFileInStore() - "+e.message)}try{const r=t.objectStore(e).delete(n);r.onsuccess=()=>!0,r.onerror=e=>{console.warn("deleteReq.onerror fired in deleteFileInStore() - error code: "+r.error)}}catch(e){return void console.warn("Transaction and/or put() exception in deleteFileInStore() - "+e.message)}}(String(n),e.fileName),Object.values(e.cancelControllers).forEach((e=>e.abort())),r({type:"remove_file",identifier:n,file:e})}}function he({identifier:e,showFinished:n}){const t=(0,P.useContext)(ne),r=me(),o=fe(),[i,a]=(0,P.useState)([]);return(0,P.useEffect)((()=>{const r=t[e].filter((e=>e.fileStatus!==L.CANCELED&&(!1!==n||e.fileStatus!==L.FINISHED)));a(r)}),[e,n,t]),(0,d.jsx)("div",{className:"my-4",children:i.map((e=>(0,d.jsx)(we,{file:e,showFinished:n,onButtonClick:l},e.fileName)))});function l(e){e.fileStatus===L.PAUSED?o(e):r(e)}}function we({file:e,showFinished:n,onButtonClick:t}){const r="object"==typeof n&&n.withDelete;return(0,d.jsx)("div",{className:"mb-2 last:mb-0",children:(0,d.jsxs)("div",{className:"px-4 my-2 relative flex justify-between items-center",children:[(0,d.jsxs)(p.Flex,{align:"center",gap:".5rem",title:e.fileName,children:[(0,d.jsx)(ie.FileTextOutlined,{}),(0,d.jsx)("span",{className:"truncate w-40",children:e.fileName})]}),(0,d.jsxs)(p.Flex,{align:"center",gap:".5rem",children:[(0,d.jsx)(de,{status:e.fileStatus,percent:Number(e.percentage.toFixed(0)),onClick:()=>t(e)}),e.fileStatus===L.FINISHED&&r&&(0,d.jsx)(p.Button,{type:"text",size:"large",className:"px-3",disabled:r.disabled,title:r.disabled?"删除-已禁用":"删除",onClick:()=>r.onDelete(e.fileName),children:(0,d.jsx)(ie.DeleteOutlined,{})})]})]})})}var be=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function ye(e,n,t){const r=new Set(n.map((e=>e.fileName)));return e.filter((e=>{const n=t?`${t}${e.name}`:e.name;return r.has(n)})).map((e=>e.name))}function ve(e,n){return e.filter((e=>{var t;const r=e.name.includes("/"),o=e.name.split("/")[0];return r===(null===(t=n.find((e=>e.fileName===o)))||void 0===t?void 0:t.isFolder)})).map((e=>e.name))}var ge=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function xe(){const{message:e}=p.App.useApp(),{identifier:n,root:t,getUploadUrls:r}=(0,P.useContext)(Ue),o=(0,P.useContext)(te),i=function(){const{message:e,modal:n}=p.App.useApp(),t=(0,P.useContext)(ne),{identifier:r,maxSizePerFile:o=10*F,uploadHistory:i=[],root:a}=(0,P.useContext)(Ue);return function(l){return be(this,void 0,void 0,(function*(){const s=function(n){const t=n.filter((e=>e.size>o)).map((e=>e.name));if(t.length){const n=Y(o);e.warning(`以下文件大小超过${n}:${t.join(", ")}`)}return t}(l),[c,d]=yield function(e){return be(this,void 0,void 0,(function*(){const o=[...ye(e,t[r],a),...ve(e,i)];return o.length?[yield n.confirm({title:"发现同名文件,是否覆盖?",okText:"覆盖",cancelText:"取消"}),o]:[!0,[]]}))}(l);return c?[new Set(s),new Set(d)]:[new Set([...s,...d]),new Set]}))}}(),a=function(){const e=(0,P.useContext)(ne),{identifier:n}=(0,P.useContext)(Ue),t=me();return function(r){const o=e[n];for(const e of r){const n=o.find((n=>n.fileName===e));n&&t(n)}}}();return function(l){return ge(this,void 0,void 0,(function*(){const s=yield function(e){return ge(this,void 0,void 0,(function*(){const n=new Map(e.map((e=>[e.name,e]))),[t,r]=yield i(e);return t.forEach((e=>n.delete(e))),a(r),Array.from(n.values())}))}(l),c=yield function(e){return ge(this,void 0,void 0,(function*(){const n=e.map((e=>M(e,t,r)));return(yield Promise.allSettled(n)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}))}(s);c.forEach((e=>{o({type:"add_file",identifier:n,file:e})})),function(e,n){try{const t=function(e){const n=V.transaction(e,"readwrite");return n.onerror=()=>console.warn(`添加文件事务错误: ${n.error}`),n.onabort=()=>console.warn("添加文件事务已中止"),n.oncomplete=()=>console.warn("添加文件事务已完成"),n}(e);!function(e,n){n.map((n=>function(e,n){try{e.put(n,n.fileName),console.warn(`文件 "${n.fileName}" 添加成功`)}catch(e){console.warn(`添加文件 "${n.fileName}" 时出错: ${e.message}`)}}(e,n)))}(t.objectStore(e),n)}catch(e){console.warn(`批量添加文件时出错: ${e.message}`)}}(n,c),c.length<s.length&&e.info("部分文件获取上传地址失败")}))}}const Se=(e=>{var n={};return s.d(n,e),n})({default:()=>o.default});var je=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function Ce(e,n=1e3){let t=null;return function(r){t||(t=setTimeout((()=>{e(r),t=null}),n))}}function Ee(e,n,t){const r=e.uploadUrls.findIndex((e=>e===n));e.uploadUrls.splice(r,1),e["complete"===t?"completeSeq":"failSeq"].push(n)}var Ae=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))},Ne=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function ke(){const e=function(){const{identifier:e,onOnePartDone:n}=(0,P.useContext)(Ue),t=(0,P.useContext)(te),r=(0,P.useCallback)(((n,r,o)=>{r.fileStatus===L.UPLOADING&&(r.uploadStatus[o]=Number(n.progress),r.percentage=r.uploadStatus.reduce(((e,n)=>e+n))*(100/r.partCount),t({type:"edit_file",identifier:e,file:r}))}),[e,t]),o=(0,P.useCallback)(((e,n,t)=>je(this,void 0,void 0,(function*(){const o=Se.default.create({});yield o.put(e.uploadUrl,n,{signal:t.cancelControllers[e.partNum].signal,withCredentials:!1,timeout:18e5,headers:{"Content-Type":"application/octet-stream"},onUploadProgress:Ce((n=>r(n,t,e.partNum)))})}))),[r]),i=(0,P.useCallback)(((e,t)=>je(this,void 0,void 0,(function*(){const{fileName:r,uploadId:o}=e,i=yield n(r,o,t.partNum);if(!i.status)throw new Error(i.reason);Ee(e,t,"complete")}))),[n]),a=(0,P.useCallback)(((e,n,t)=>je(this,void 0,void 0,(function*(){try{return yield o(e,n,t),yield i(t,e),t.fileStatus}catch(n){return Ee(t,e,"fail"),t.fileStatus}}))),[o,i]);return(0,P.useCallback)((n=>je(this,void 0,void 0,(function*(){n.fileStatus=L.UPLOADING,t({type:"edit_file",identifier:e,file:n});const r=function(e){const{uploadUrls:n,chunkSize:t,raw:r}=e,o=r.size;return n.map((({partNum:e,uploadUrl:n})=>{const i=e*t,a=Math.min((e+1)*t,o);return{url:{partNum:e,uploadUrl:n},chunk:r.slice(i,a)}}))}(n);for(const{url:o,chunk:i}of r){if(n.cancelControllers[o.partNum]=new AbortController,(yield a(o,i,n))===L.CANCELED)return!1;t({type:"edit_file",identifier:e,file:n})}}))),[e,t,a])}(),n=function(){const{identifier:e,onAllPartDone:n}=(0,P.useContext)(Ue),t=(0,P.useContext)(te);return(0,P.useCallback)((r=>Ae(this,void 0,void 0,(function*(){try{const{fileName:e,uploadId:t}=r;if(0!==r.failSeq.length)throw new Error("partial failed");{const o=yield n(e,t);if(!o.status)throw new Error(o.reason);r.fileStatus=L.FINISHED}}catch(e){r.fileStatus=L.FAILED}finally{t({type:"edit_file",identifier:e,file:r})}}))),[e,n,t])}();return(0,P.useCallback)(((t,r)=>Ne(this,void 0,void 0,(function*(){yield e(t),t.fileStatus!==L.CANCELED&&(yield n(t),t.fileStatus===L.FINISHED&&r&&r(t))}))),[e,n])}var Pe=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function Oe(e){const{message:n,modal:t}=p.App.useApp(),r=(0,P.useContext)(te),o=fe();return(0,P.useCallback)((()=>Pe(this,void 0,void 0,(function*(){const i=yield function(e){return Pe(this,void 0,void 0,(function*(){const n=yield(r=e,new Promise(((e,n)=>{V?function(e,n,t){V.objectStoreNames.contains(e)?$(e,n,t):q(e,n,t)}(r,e,n):function(e,n,t){try{const r=window.indexedDB.open(Q);r.onupgradeneeded=()=>B(r.result,e,n,t),r.onsuccess=()=>function(e,n,t,r){W(e),e.objectStoreNames.contains(n)?$(n,t,r):q(n,t,r)}(r.result,e,n,t),r.onerror=()=>t(Error(`打开数据库失败: ${r.error}`)),r.onblocked=()=>t(Error(`数据库被阻塞: ${r.error}`))}catch(e){console.warn(`打开数据库时发生异常: ${e.message}`,e),t(e)}}(r,e,n)}))),t=JSON.parse(localStorage.getItem(e)||"[]").map((e=>{const t=n.find((n=>n.fileName===e.fileName));return Object.assign(Object.assign(Object.assign({},t),e),{fileStatus:L.PAUSED})}));var r;return localStorage.removeItem(e),t}))}(e);r({type:"add_files",identifier:e,files:i}),i.length&&t.confirm({title:"提示",content:"检测到未完成上传任务,是否继续上传?",onOk(){i.forEach(o)},onCancel(){n.info("点击上传按钮手动继续")}})}))),[e,r,o,t,n])}var Ie=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function De({open:e,identifier:n,accept:t,dragAreaDescription:r,footer:o,showFinished:i=!1,directory:a=!1,onClose:l}){var s,c;const u=(0,P.useContext)(ne),f=(0,P.useContext)(te),{onSuccess:m}=(0,P.useContext)(Ue),h=xe(),w=ke(),b=Oe(n),[y,v]=(0,P.useState)([]),g=(0,P.useRef)("");return(0,P.useEffect)((()=>{g.current!==n&&(u&&f?(g.current=n,u[n]||f({type:"add",identifier:n}),b()):console.warn("FileUploadDrawer 必须在 UploadStoreProvider 内使用"))}),[n,b,u,f]),(0,P.useEffect)((()=>{const e=u[n];if(!e)return;const t=!e.some((e=>e.fileStatus===L.UPLOADING)),r=e.find((e=>e.fileStatus===L.INIT));t&&r&&w(r,m)}),[n,m,w,u]),(0,d.jsxs)(p.Drawer,{className:"mylib-upload-drawer",open:e,title:"数据上传",width:480,onClose:l,footer:o,children:[(0,d.jsx)(se,{directory:a,accept:t,dragAreaDescription:r,onFileReceived:function(e){return Ie(this,void 0,void 0,(function*(){v((n=>[...n,...e])),yield h(e),v((n=>{const t=new Set(n);for(const n of e)t.delete(n);return[...t]}))}))}}),0===y.length&&0===(null===(s=u[n])||void 0===s?void 0:s.length)&&(0,d.jsx)(p.Empty,{className:"mt-20",description:"暂无上传内容"}),y.length>0&&(0,d.jsxs)("div",{className:"flex justify-center gap-4 mt-4",children:[(0,d.jsx)(ie.LoadingOutlined,{}),"预检上传文件中(",y.length,")"]}),(null===(c=u[n])||void 0===c?void 0:c.length)>0&&(0,d.jsx)(he,{showFinished:i,identifier:n})]})}var Fe=s(446),Le={};Le.styleTagTransform=E(),Le.setAttributes=x(),Le.insert=v().bind(null,"head"),Le.domAPI=b(),Le.insertStyleElement=j(),h()(Fe.A,Le),Fe.A&&Fe.A.locals&&Fe.A.locals;var ze=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};const Ue=(0,P.createContext)({identifier:"",getUploadUrls:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}})),onCancelUpload:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}})),onOnePartDone:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}})),onAllPartDone:()=>ze(void 0,void 0,void 0,(function*(){return{status:!1}}))});function Te(e){if((0,P.useContext)(ne)===ee)return(0,d.jsx)(p.Drawer,{open:e.open,onClose:e.onClose,title:"数据上传",children:(0,d.jsx)(p.Alert,{message:"FileUploadDrawer 必须在 UploadStoreProvider 内使用",type:"warning"})});const{identifier:n,maxSizePerFile:t=10*F,directory:r=!1,root:o="",uploadHistory:i=[],onSuccess:a,getUploadUrls:l,onCancelUpload:s,onOnePartDone:c,onAllPartDone:u,onClose:f,dragAreaDescription:m,accept:h,open:w,footer:b,showFinished:y}=e,v={identifier:n,maxSizePerFile:t,directory:r,root:o,uploadHistory:i,onSuccess:a,getUploadUrls:l,onCancelUpload:s,onOnePartDone:c,onAllPartDone:u};return(0,d.jsx)(Ue.Provider,{value:v,children:(0,d.jsx)(De,{open:w,accept:h,footer:b,showFinished:y,directory:r,identifier:n,dragAreaDescription:m,onClose:f})})}const Re=(e=>{var n={};return s.d(n,e),n})({getFileExt:()=>i.getFileExt});function Me(e){return new Promise((n=>{if(e&&e.length>0){const t=[...e];function r(){t.length>0?setTimeout(o):setTimeout((()=>{n(null)}))}function o(){const e=t.shift(),n=(0,Re.getFileExt)(e);if("js"===n||"mjs"===n){if(!document.querySelector(`script[src="${e}"]`)){const t=document.createElement("script");return t.src=e,"mjs"===n&&(t.type="module"),document.head.appendChild(t),t.onload=r,void(t.onerror=r)}}else if("css"===n&&!document.querySelector(`link[href="${e}"]`)){const n=document.createElement("link");return n.rel="stylesheet",n.href=e,document.head.appendChild(n),n.onload=r,void(n.onerror=r)}r()}o()}else n(null)}))}var He=s(220),_e={};function Be(e){const{filePath:n}=e,t=(0,P.useRef)(null);return(0,P.useEffect)((()=>{Me(["https://fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.min.mjs"]).then((()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc="//fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.worker.min.mjs",window.pdfjsLib.getDocument(n).promise.then((n=>{var r;const o=n.numPages;t.current.textContent="";const i=t.current;for(let e=1;e<=o;e++)n.getPage(e).then((n=>{const t=n.getViewport({scale:window.devicePixelRatio||1}),r=document.createElement("canvas");r.setAttribute("id","the-canvas"+e),r.height=t.height,r.width=t.width;const o={canvasContext:r.getContext("2d"),viewport:t};n.render(o).promise.then((()=>{})),i.appendChild(r)})).catch((e=>{throw e}));null===(r=null==e?void 0:e.onSuccess)||void 0===r||r.call(e)})).catch((n=>{var t;null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))}),[n]),(0,d.jsx)("div",{ref:t,className:He.L})}_e.styleTagTransform=E(),_e.setAttributes=x(),_e.insert=v().bind(null,"head"),_e.domAPI=b(),_e.insertStyleElement=j(),h()(He.A,_e),He.A&&He.A.locals&&He.A.locals;var qe=s(367),$e={};$e.styleTagTransform=E(),$e.setAttributes=x(),$e.insert=v().bind(null,"head"),$e.domAPI=b(),$e.insertStyleElement=j(),h()(qe.A,$e),qe.A&&qe.A.locals&&qe.A.locals;var Ge=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function Qe(e){const n=(0,P.useRef)(null);return(0,P.useEffect)((()=>{Me(["https://fastly.jsdelivr.net/npm/canvas-datagrid@0.4.7/dist/canvas-datagrid.js","https://fastly.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"]).then((()=>Ge(this,void 0,void 0,(function*(){fetch(e.filePath).then((t=>{t.arrayBuffer().then((function(t){var r;const o=window.XLSX.read(t),i=o.Sheets[o.SheetNames[0]],a=window.XLSX.utils.sheet_to_json(i,{header:1});window.canvasDatagrid({parentNode:n.current,data:a,editable:!1}),null===(r=null==e?void 0:e.onSuccess)||void 0===r||r.call(e)})).catch((e=>{throw e}))})).catch((n=>{var t;console.log(n),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))))}),[]),(0,d.jsx)("div",{ref:n,className:qe.L})}var Ve=s(819),We={};function Ye(e){return(0,d.jsx)("div",{className:Ve.LV,children:(0,d.jsx)("img",{src:e.filePath,onError:n=>{var t;console.log("+++ img error"),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},onLoad:()=>{var n;null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)},className:Ve._8})})}We.styleTagTransform=E(),We.setAttributes=x(),We.insert=v().bind(null,"head"),We.domAPI=b(),We.insertStyleElement=j(),h()(Ve.Ay,We),Ve.Ay&&Ve.Ay.locals&&Ve.Ay.locals;var Ke=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function Xe(e){const n=(0,P.useRef)(null);return(0,P.useEffect)((()=>{(()=>{Ke(this,void 0,void 0,(function*(){var t,r;yield Me(["https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/index.css","https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/method.min.js"]);try{const r=yield fetch(e.filePath).then((e=>e.text()));window.Vditor.preview(n.current,r,{}),null===(t=null==e?void 0:e.onSuccess)||void 0===t||t.call(e)}catch(n){null===(r=null==e?void 0:e.onError)||void 0===r||r.call(e,n)}}))})()}),[]),(0,d.jsx)("div",{ref:n})}var Je=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function Ze(e){const[n,t]=(0,P.useState)("");return(0,P.useEffect)((()=>{(()=>{Je(this,void 0,void 0,(function*(){var n,r;try{const r=yield fetch(e.filePath).then((e=>e.text()));t(r),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)}catch(n){null===(r=null==e?void 0:e.onError)||void 0===r||r.call(e,n)}}))})()}),[]),(0,d.jsx)("div",{children:n})}var en=s(464),nn={};function tn(e){var n,t,r;const{filePath:o}=e,[i,a]=(0,P.useState)(!1),[l,s]=(0,P.useState)(!0),c=n=>{var t;s(!1),a(!0),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},u=()=>{var n;s(!1),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)};let f=null;if(i)f=(0,d.jsx)("div",{className:en.LV,children:"获取文件失败"});else if(o){const n=(0,Re.getFileExt)(o),t=(0,d.jsx)("div",{className:en.D5,children:(0,d.jsx)(p.Spin,{})});let r=null,i=!0;switch(n){case"pdf":r=(0,d.jsx)(Be,Object.assign({},e,{onError:c,onSuccess:u}));break;case"xlsx":case"csv":r=(0,d.jsx)(Qe,Object.assign({},e,{onError:c,onSuccess:u}));break;case"png":case"jpg":case"jpeg":r=(0,d.jsx)(Ye,Object.assign({},e,{onError:c,onSuccess:u}));break;case"md":r=(0,d.jsx)(Xe,Object.assign({},e,{onError:c,onSuccess:u}));break;case"txt":r=(0,d.jsx)(Ze,Object.assign({},e,{onError:c,onSuccess:u}));break;default:i=!1}f=i?(0,d.jsxs)(d.Fragment,{children:[l&&t,r]}):(0,d.jsxs)("div",{className:en.LV,children:["暂不支持",n,"文件预览"]})}return e.openInModal?(null===(n=null==e?void 0:e.modalProps)||void 0===n?void 0:n.show)?(0,d.jsx)(p.Modal,{open:!0,title:null===(t=null==e?void 0:e.modalProps)||void 0===t?void 0:t.title,className:en.qf,centered:!0,width:"100%",onCancel:null===(r=null==e?void 0:e.modalProps)||void 0===r?void 0:r.onCancel,footer:null,children:f}):null:f}nn.styleTagTransform=E(),nn.setAttributes=x(),nn.insert=v().bind(null,"head"),nn.domAPI=b(),nn.insertStyleElement=j(),h()(en.Ay,nn),en.Ay&&en.Ay.locals&&en.Ay.locals;var rn=c.dA,on=c.Lq,an=c.Y9,ln=c.ly,sn=c.WI;export{rn as FilePreview,on as FileUploadDrawer,an as Header,ln as InputTag,sn as UploadStoreProvider};
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={367:(e,n,t)=>{t.d(n,{A:()=>c,L:()=>s});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".cJmcPSn5LN2GH9HqTvEQ{height:100%;overflow:auto}",""]);var s="cJmcPSn5LN2GH9HqTvEQ";const c=a},819:(e,n,t)=>{t.d(n,{Ay:()=>l,LV:()=>s,_8:()=>c});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".zuabV0gpCkaY8pSYtOSL{display:flex;align-items:center;justify-content:center;height:100%}.i2GFC308F3s1lGENOI5l{max-width:100%;max-height:100%}",""]);var s="zuabV0gpCkaY8pSYtOSL",c="i2GFC308F3s1lGENOI5l";const l=a},464:(e,n,t)=>{t.d(n,{Ay:()=>u,D5:()=>c,LV:()=>s,qf:()=>l});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".EVmfUlSj2zzl7igeqp6N{display:flex;align-items:center;justify-content:center;height:100%;overflow:auto;padding-top:16px;padding-bottom:16px}.Z65yBBsFLSWF70wfWwgA{display:flex;align-items:center;justify-content:center;padding-top:16px;padding-bottom:16px}.QSsGpXvLzOYpHSNncjpj .ant-modal-body{height:calc(100vh - 200px);overflow-y:auto}.QSsGpXvLzOYpHSNncjpj .ant-modal-content{padding-top:44px}",""]);var s="EVmfUlSj2zzl7igeqp6N",c="Z65yBBsFLSWF70wfWwgA",l="QSsGpXvLzOYpHSNncjpj";const u=a},220:(e,n,t)=>{t.d(n,{A:()=>c,L:()=>s});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".GmPZonLTI3KWU6TQWQSo{display:flex;flex-direction:column;align-items:center;height:100%;overflow:auto}.GmPZonLTI3KWU6TQWQSo canvas{max-width:100%}",""]);var s="GmPZonLTI3KWU6TQWQSo";const c=a},258:(e,n,t)=>{t.d(n,{Ay:()=>l,LV:()=>s,wm:()=>c});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,".wkk6Lnco5rQ5DK_Bojaj{display:flex;justify-content:space-between;align-items:center;padding:0 16px;background-color:#000}.wkk6Lnco5rQ5DK_Bojaj .H3Num6yF3Ox32Pb6Occg{width:200px}",""]);var s="wkk6Lnco5rQ5DK_Bojaj",c="H3Num6yF3Ox32Pb6Occg";const l=a},446:(e,n,t)=>{t.d(n,{A:()=>s});var o=t(855),r=t.n(o),i=t(600),a=t.n(i)()(r());a.push([e.id,"*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}.relative {\n position: relative;\n}.m-0 {\n margin: 0px;\n}.my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}.my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}.mb-2 {\n margin-bottom: 0.5rem;\n}.mt-20 {\n margin-top: 5rem;\n}.mt-4 {\n margin-top: 1rem;\n}.flex {\n display: flex;\n}.hidden {\n display: none;\n}.h-8 {\n height: 2rem;\n}.w-40 {\n width: 10rem;\n}.items-center {\n align-items: center;\n}.justify-center {\n justify-content: center;\n}.justify-between {\n justify-content: space-between;\n}.gap-4 {\n gap: 1rem;\n}.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.rounded {\n border-radius: 0.25rem;\n}.border {\n border-width: 1px;\n}.border-dashed {\n border-style: dashed;\n}.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity));\n}.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\n}.p-4 {\n padding: 1rem;\n}.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}.text-center {\n text-align: center;\n}.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}.text-5xl {\n font-size: 3rem;\n line-height: 1;\n}.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}.text-green-600 {\n --tw-text-opacity: 1;\n color: rgb(22 163 74 / var(--tw-text-opacity));\n}.text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}.text-yellow-500 {\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity));\n}.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}.last\\:mb-0:last-child {\n margin-bottom: 0px;\n}.hover\\:border-green-600:hover {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}",""]);const s=a},600:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",o=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),o&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),o&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,o,r,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(a[c]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);o&&a[u[0]]||(void 0!==i&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),t&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=t):u[2]=t),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),n.push(u))}},n}},855:e=>{e.exports=function(e){return e[1]}},872:e=>{var n=[];function t(e){for(var t=-1,o=0;o<n.length;o++)if(n[o].identifier===e){t=o;break}return t}function o(e,o){for(var i={},a=[],s=0;s<e.length;s++){var c=e[s],l=o.base?c[0]+o.base:c[0],u=i[l]||0,d="".concat(l," ").concat(u);i[l]=u+1;var f=t(d),p={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==f)n[f].references++,n[f].updater(p);else{var h=r(p,o);o.byIndex=s,n.splice(s,0,{identifier:d,updater:h,references:1})}a.push(d)}return a}function r(e,n){var t=n.domAPI(n);return t.update(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap&&n.supports===e.supports&&n.layer===e.layer)return;t.update(e=n)}else t.remove()}}e.exports=function(e,r){var i=o(e=e||[],r=r||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var s=t(i[a]);n[s].references--}for(var c=o(e,r),l=0;l<i.length;l++){var u=t(i[l]);0===n[u].references&&(n[u].updater(),n.splice(u,1))}i=c}}},227:e=>{var n={};e.exports=function(e,t){var o=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}},108:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},232:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},265:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var o="";t.supports&&(o+="@supports (".concat(t.supports,") {")),t.media&&(o+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(o+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),o+=t.css,r&&(o+="}"),t.media&&(o+="}"),t.supports&&(o+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),n.styleTagTransform(o,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},177:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}}},n={};function t(o){var r=n[o];if(void 0!==r)return r.exports;var i=n[o]={id:o,exports:{}};return e[o](i,i.exports,t),i.exports}t.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nc=void 0;var o={};t.r(o),t.d(o,{FilePreview:()=>Ke,FileUploadDrawer:()=>Oe,Header:()=>y,InputTag:()=>S,UploadStoreProvider:()=>K});const r=require("react/jsx-runtime"),i=require("antd");var a=t(872),s=t.n(a),c=t(265),l=t.n(c),u=t(227),d=t.n(u),f=t(232),p=t.n(f),h=t(108),m=t.n(h),v=t(177),g=t.n(v),w=t(258),b={};function y(e){const{showLogin:n}=e;return(0,r.jsxs)("div",{className:w.LV,children:[(0,r.jsx)("img",{src:"https://www.unpkg.com/@zjlab-fe/fe-assets/logo-white.png",className:w.wm}),n&&(0,r.jsx)(i.Button,{ghost:!0,children:"登录"})]})}b.styleTagTransform=g(),b.setAttributes=p(),b.insert=d().bind(null,"head"),b.domAPI=l(),b.insertStyleElement=m(),s()(w.Ay,b),w.Ay&&w.Ay.locals&&w.Ay.locals;const x=require("react");function S(e){const{value:n,onChange:t,placeholder:o="请输入关键字",valueType:a,deduplicated:s=!0,size:c,maxLength:l,disabled:u}=e,[d,f]=(0,x.useState)([]),[p,h]=(0,x.useState)(1),m=(0,x.useRef)(null);(0,x.useEffect)((()=>{Array.isArray(n)?f(n):"string"==typeof n&&f(n.split(";"))}),[n]),(0,x.useEffect)((()=>{1!==p&&(null==m?void 0:m.current)&&m.current.focus()}),[p]);const v=e=>{if(s&&(e=Array.from(new Set(e))),f(e),"array"===a)null==t||t(e.length>0?e:void 0);else{const n=e.join(";");null==t||t(n||void 0)}};let g;return(null==d?void 0:d.length)>0&&(g=d.map(((e,n)=>(0,r.jsx)(i.Tag,{closeIcon:!u,onClose:()=>(e=>{let n=d.filter(((n,t)=>t!==e));v(n),h(p+1)})(n),children:e},n)))),(0,r.jsx)(i.Input,{disabled:u,size:c,ref:m,placeholder:o,prefix:g,onPressEnter:e=>{const n=e.target.value.trim();let t=[...d,n];v(t),h(p+1)},maxLength:l},p)}const j=1024,C=1048576,A=1073741824;var E,N;(N=E||(E={}))[N.INIT=1]="INIT",N[N.UPLOADING=2]="UPLOADING",N[N.FINISHED=3]="FINISHED",N[N.FAILED=4]="FAILED",N[N.PAUSED=5]="PAUSED",N[N.CANCELED=6]="CANCELED";const k=1,P=2;var O=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function I(e,n,t){return O(this,void 0,void 0,(function*(){const{name:o,size:r}=e,i=n?`${n}${o}`:o,a=Object.assign(Object.assign({},{fileStatus:E.INIT,percentage:0,uploadId:"",expiryTime:"",uploadUrls:[],completeSeq:[],failSeq:[],cancelControllers:{},uploadStatus:[],chunkSize:0,displaySize:"",fileName:"",partCount:0,raw:void 0}),{fileName:i,raw:new File([e],i,{type:e.type}),partCount:L(r),chunkSize:D(r),displaySize:q(r)}),s=yield t(i,a.partCount);return s.status?Object.assign(Object.assign({},a),s.uploadInfo):Object.assign(Object.assign({},a),{fileStatus:E.FAILED})}))}function D(e){return e<10*C?10*C:Math.ceil(e/10)}function L(e){const n=D(e);return Math.floor(e/n)+1}function z(e,n,t,o){M(e);try{e.createObjectStore(n,{}),e.onversionchange=n=>{null===n.newVersion&&e.close()},t([])}catch(e){o(Error(`升级数据库异常: ${e.message}`))}}function F(e,n,t){const o=_.version+1;_.close();const r=window.indexedDB.open(R,o);r.onupgradeneeded=()=>z(r.result,e,n,t)}function U(e,n,t){(function(e){return new Promise((function(n,t){let o;try{o=_.transaction(e,"readonly");try{const t=o.objectStore(e),r=[],i=t.openCursor();i.onsuccess=()=>{const e=i.result;e?(r.push(e.value),e.continue()):n(r)},i.onerror=()=>{console.warn(`在handleFileRetrieve()中游标操作失败 - 错误代码: ${i.error}`,i.error)}}catch(e){t(Error(`在handleFileRetrieve()中执行事务或打开游标时发生异常 - ${e.message}`))}}catch(e){t(Error(`在handleFileRetrieve()中创建数据库事务时发生异常 - ${e.message}`))}}))})(e).then(n).catch(t)}var T=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};const R="uploadStore";let _;function M(e){_=e}function q(e){const n=[{value:A,label:"GB"},{value:C,label:"MB"},{value:j,label:"KB"},{value:1,label:"B"}];for(const{value:t,label:o}of n)if(e>=t||1===t)return(e/t).toFixed(1)+o;return e+"B"}var H=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function B(e,n,t){return H(this,arguments,void 0,(function*(e,n,t,o=""){return e.isDirectory?n?function(e,n){return H(this,void 0,void 0,(function*(){const t=yield function(e){return new Promise(((n,t)=>{e.createReader().readEntries(n,t)}))}(e),o=t.map((e=>B(e,!0,n,e.fullPath)));return(yield Promise.allSettled(o)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value))}))}(e,t):[]:e.isFile?e.name.includes(".DS_Store")?[]:function(e,n,t){return H(this,void 0,void 0,(function*(){const o=yield function(e){return new Promise(((n,t)=>{e.file(n,t)}))}(e);return function(e,n){if(0===n.size)return!0;const t=e.name.split(".").pop()||"";return n.has(`.${t}`)}(o,n)?[$(o,t)]:[]}))}(e,t,o):[]}))}function $(e,n){const t=e.slice(0,e.size,e.type);return new File([t],n.slice(1)||e.name,{type:e.type})}function G(e){return e.map((({completeSeq:e,uploadId:n,uploadStatus:t,uploadUrls:o,percentage:r,fileName:i,failSeq:a})=>({fileName:i,uploadId:n,completeSeq:e,uploadStatus:t,percentage:r,uploadUrls:[...o,...a]})))}const Q={},V=(0,x.createContext)(Q),W=(0,x.createContext)((()=>null));function K({children:e}){const[n,t]=(0,x.useReducer)(X,{});return function(e){(0,x.useEffect)((()=>{return window.addEventListener("beforeunload",n),()=>{window.removeEventListener("beforeunload",n)};function n(){const n=[];for(const[t,o]of Object.entries(e)){const e=o.filter((e=>e.fileStatus!==E.FINISHED));e.length?localStorage.setItem(t,JSON.stringify(G(e))):n.push(t)}n.length&&function(e){T(this,void 0,void 0,(function*(){const n=_.version+1;return _.close(),new Promise(((t,o)=>{const r=window.indexedDB.open(R,n);r.onupgradeneeded=()=>{const n=r.result;e.forEach((e=>{n.objectStoreNames.contains(e)&&n.deleteObjectStore(e)}))},r.onsuccess=()=>{r.result.close(),t()},r.onerror=()=>o(r.error)}))}))}(n)}}),[e])}(n),(0,r.jsx)(V.Provider,{value:n,children:(0,r.jsx)(W.Provider,{value:t,children:e})})}function X(e,n){switch(n.type){case"add":return Object.assign(Object.assign({},e),{[n.identifier]:[]});case"remove_file":{const t=e[n.identifier],o=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,o),...t.slice(o+1)]})}case"edit_file":{const t=e[n.identifier],o=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,o),n.file,...t.slice(o+1)]})}case"add_file":{const t=e[n.identifier],o=t.findIndex((e=>e.fileName===n.file.fileName));return-1===o?Object.assign(Object.assign({},e),{[n.identifier]:[...t,n.file]}):Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,o),n.file,...t.slice(o+1)]})}case"add_files":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:[...t,...n.files]})}case"clear_finished":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:t.filter((e=>e.fileStatus!==E.FINISHED))})}default:throw Error("Unknown action")}}const Y=require("@ant-design/icons");var J=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};const Z="border-dashed rounded border bg-gray-50 p-4 hover:border-green-600 border-gray-300";function ee({accept:e="",directory:n=!0,dragAreaDescription:t,onFileReceived:o}){const a=(0,x.useMemo)((()=>new Set(e?e.split(","):[])),[e]),s=(0,x.useRef)(null),[c,l]=(0,x.useState)(!1),u={onDragLeave:()=>l(!1),onDragEnter:e=>e.preventDefault(),onDragOver:e=>{e.preventDefault(),l(!0)},onDrop:function(e){return J(this,void 0,void 0,(function*(){e.preventDefault(),l(!1);const t=Array.from(e.dataTransfer.items).map((e=>e.webkitGetAsEntry())).filter(Boolean).map((e=>B(e,n,a))),r=(yield Promise.allSettled(t)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value));r.length&&o(r)}))}};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(i.Flex,Object.assign({vertical:!0,gap:"1rem",align:"center",className:`${c?"border-green-600":""} ${Z}`},u,{onClick:()=>{var e;return null===(e=s.current)||void 0===e?void 0:e.click()},children:[(0,r.jsx)("p",{className:"text-5xl text-green-600 m-0",children:(0,r.jsx)(Y.InboxOutlined,{})}),(0,r.jsx)("div",{className:"text-base text-center",children:t?Array.isArray(t)?t.map(((e,n)=>(0,r.jsx)("p",{className:"text-base m-0",children:e},n))):(0,r.jsx)("p",{className:"text-base m-0",children:t}):(0,r.jsx)("p",{className:"text-base m-0",children:"点击或拖拽上传文件"})})]})),(0,r.jsx)("input",{ref:s,type:"file",accept:e,hidden:!0,multiple:!0,onChange:function(){var e;const n=null===(e=s.current)||void 0===e?void 0:e.files;(null==n?void 0:n.length)&&o(Array.from(n))},onClick:()=>{s.current&&(s.current.value="")}})]})}const ne={size:32,strokeWidth:12,type:"circle",strokeLinecap:"butt"};function te({percent:e,status:n,onClick:t}){const{progressButtonRef:o,buttonInHover:a}=function(){const e=(0,x.useRef)(null),[n,t]=(0,x.useState)(!1);return(0,x.useEffect)((()=>{const n=e.current;if(!n)return;const o=()=>t(!0),r=()=>t(!1);return n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",r),()=>{n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",r)}}),[]),{progressButtonRef:e,buttonInHover:n}}(),[s,c]=(0,x.useState)(!1);return n===E.FINISHED?(0,r.jsx)(Y.CheckOutlined,{className:"text-green-600 text-2xl h-8"}):n===E.FAILED?(0,r.jsx)(r.Fragment,{children:s?(0,r.jsx)(Y.LoadingOutlined,{className:"text-red-600 text-2xl h-8"}):(0,r.jsx)(Y.CloseOutlined,{className:"text-red-600 text-2xl h-8",onClick:()=>{t(),c(!0)}})}):(0,r.jsx)(i.Button,{type:"text",shape:"circle",disabled:s,ref:o,title:n===E.PAUSED?"继续下载":"取消下载",onClick:()=>{t(),n===E.UPLOADING&&c(!0)},children:(0,r.jsx)(i.Progress,Object.assign({percent:e},ne,{strokeColor:s?"#f0a020":"#19a1fe",format:function(){return n===E.PAUSED?(0,r.jsx)(Y.PauseOutlined,{}):s?(0,r.jsx)(Y.LoadingOutlined,{className:"text-yellow-500"}):a?(0,r.jsx)(Y.CloseOutlined,{}):void 0}}))})}var oe=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function re(){const{identifier:e,root:n,getUploadUrls:t}=(0,x.useContext)(Pe),o=(0,x.useContext)(W);return(0,x.useCallback)((r=>oe(this,void 0,void 0,(function*(){const i=function(e){if(!e.expiryTime)return k;const n=new Date;return new Date(e.expiryTime)<n?k:P}(r)===k;if(i){const i=yield I(r.raw,n,t);o({type:"edit_file",identifier:e,file:i})}else{const n=Object.assign(Object.assign({},r),{fileStatus:E.INIT,uploadUrls:[...r.failSeq,...r.uploadUrls],failSeq:[],cancelControllers:{}});o({type:"edit_file",identifier:e,file:n})}}))),[e,n,t,o])}var ie=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function ae(){const{message:e}=i.App.useApp(),{identifier:n,onCancelUpload:t}=(0,x.useContext)(Pe),o=(0,x.useContext)(W);return function(n){return ie(this,void 0,void 0,(function*(){const{fileName:o,uploadId:i}=n;if(!i)return void r(n);const a=yield t(o,i);a.status?r(n):e.error(a.reason||"取消失败")}))};function r(e){e.fileStatus=E.CANCELED,function(e,n){let t;try{t=_.transaction(e,"readwrite")}catch(e){return void console.warn("db.transaction() exception in deleteFileInStore() - "+e.message)}try{const o=t.objectStore(e).delete(n);o.onsuccess=()=>!0,o.onerror=e=>{console.warn("deleteReq.onerror fired in deleteFileInStore() - error code: "+o.error)}}catch(e){return void console.warn("Transaction and/or put() exception in deleteFileInStore() - "+e.message)}}(String(n),e.fileName),Object.values(e.cancelControllers).forEach((e=>e.abort())),o({type:"remove_file",identifier:n,file:e})}}function se({identifier:e,showFinished:n}){const t=(0,x.useContext)(V),o=ae(),i=re(),[a,s]=(0,x.useState)([]);return(0,x.useEffect)((()=>{const o=t[e].filter((e=>e.fileStatus!==E.CANCELED&&!(!n&&e.fileStatus===E.FINISHED)));s(o)}),[e,n,t]),(0,r.jsx)("div",{className:"my-4",children:a.map((e=>(0,r.jsx)(ce,{file:e,onButtonClick:c},e.fileName)))});function c(e){e.fileStatus===E.PAUSED?i(e):o(e)}}function ce({file:e,onButtonClick:n}){return(0,r.jsx)("div",{className:"mb-2 last:mb-0",children:(0,r.jsxs)("div",{className:"px-4 my-2 relative flex justify-between items-center",children:[(0,r.jsxs)(i.Flex,{align:"center",gap:".5rem",title:e.fileName,children:[(0,r.jsx)(Y.FileTextOutlined,{}),(0,r.jsx)("span",{className:"truncate w-40",children:e.fileName})]}),(0,r.jsx)(te,{status:e.fileStatus,percent:Number(e.percentage.toFixed(0)),onClick:()=>n(e)})]})})}var le=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function ue(e,n,t){const o=new Set(n.map((e=>e.fileName)));return e.filter((e=>{const n=t?`${t}${e.name}`:e.name;return o.has(n)})).map((e=>e.name))}function de(e,n){return e.filter((e=>{var t;const o=e.name.includes("/"),r=e.name.split("/")[0];return o===(null===(t=n.find((e=>e.fileName===r)))||void 0===t?void 0:t.isFolder)})).map((e=>e.name))}var fe=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function pe(){const{message:e}=i.App.useApp(),{identifier:n,root:t,getUploadUrls:o}=(0,x.useContext)(Pe),r=(0,x.useContext)(W),a=function(){const{message:e,modal:n}=i.App.useApp(),t=(0,x.useContext)(V),{identifier:o,maxSizePerFile:r=10*A,uploadHistory:a=[],root:s}=(0,x.useContext)(Pe);return function(i){return le(this,void 0,void 0,(function*(){const c=function(n){const t=n.filter((e=>e.size>r)).map((e=>e.name));if(t.length){const n=q(r);e.warning(`以下文件大小超过${n}:${t.join(", ")}`)}return t}(i),[l,u]=yield function(e){return le(this,void 0,void 0,(function*(){const r=[...ue(e,t[o],s),...de(e,a)];return r.length?[yield n.confirm({title:"发现同名文件,是否覆盖?",okText:"覆盖",cancelText:"取消"}),r]:[!0,[]]}))}(i);return l?[new Set(c),new Set(u)]:[new Set([...c,...u]),new Set]}))}}(),s=function(){const e=(0,x.useContext)(V),{identifier:n}=(0,x.useContext)(Pe),t=ae();return function(o){const r=e[n];for(const e of o){const n=r.find((n=>n.fileName===e));n&&t(n)}}}();return function(i){return fe(this,void 0,void 0,(function*(){const c=yield function(e){return fe(this,void 0,void 0,(function*(){const n=new Map(e.map((e=>[e.name,e]))),[t,o]=yield a(e);return t.forEach((e=>n.delete(e))),s(o),Array.from(n.values())}))}(i),l=yield function(e){return fe(this,void 0,void 0,(function*(){const n=e.map((e=>I(e,t,o)));return(yield Promise.allSettled(n)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}))}(c);l.forEach((e=>{r({type:"add_file",identifier:n,file:e})})),function(e,n){try{const t=function(e){const n=_.transaction(e,"readwrite");return n.onerror=()=>console.warn(`添加文件事务错误: ${n.error}`),n.onabort=()=>console.warn("添加文件事务已中止"),n.oncomplete=()=>console.warn("添加文件事务已完成"),n}(e);!function(e,n){n.map((n=>function(e,n){try{e.put(n,n.fileName),console.warn(`文件 "${n.fileName}" 添加成功`)}catch(e){console.warn(`添加文件 "${n.fileName}" 时出错: ${e.message}`)}}(e,n)))}(t.objectStore(e),n)}catch(e){console.warn(`批量添加文件时出错: ${e.message}`)}}(n,l),l.length<c.length&&e.info("部分文件获取上传地址失败")}))}}const he=require("axios");var me=t.n(he),ve=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function ge(e,n=1e3){let t=null;return function(o){t||(t=setTimeout((()=>{e(o),t=null}),n))}}function we(e,n,t){const o=e.uploadUrls.findIndex((e=>e===n));e.uploadUrls.splice(o,1),e["complete"===t?"completeSeq":"failSeq"].push(n)}var be=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))},ye=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function xe(){const e=function(){const{identifier:e,onOnePartDone:n}=(0,x.useContext)(Pe),t=(0,x.useContext)(W),o=(0,x.useCallback)(((n,o,r)=>{o.fileStatus===E.UPLOADING&&(o.uploadStatus[r]=Number(n.progress),o.percentage=o.uploadStatus.reduce(((e,n)=>e+n))*(100/o.partCount),t({type:"edit_file",identifier:e,file:o}))}),[e,t]),r=(0,x.useCallback)(((e,n,t)=>ve(this,void 0,void 0,(function*(){const r=me().create({});yield r.put(e.uploadUrl,n,{signal:t.cancelControllers[e.partNum].signal,withCredentials:!1,timeout:18e5,headers:{"Content-Type":"application/octet-stream"},onUploadProgress:ge((n=>o(n,t,e.partNum)))})}))),[o]),i=(0,x.useCallback)(((e,t)=>ve(this,void 0,void 0,(function*(){const{fileName:o,uploadId:r}=e,i=yield n(o,r,t.partNum);if(!i.status)throw new Error(i.reason);we(e,t,"complete")}))),[n]),a=(0,x.useCallback)(((e,n,t)=>ve(this,void 0,void 0,(function*(){try{return yield r(e,n,t),yield i(t,e),t.fileStatus}catch(n){return we(t,e,"fail"),t.fileStatus}}))),[r,i]);return(0,x.useCallback)((n=>ve(this,void 0,void 0,(function*(){n.fileStatus=E.UPLOADING,t({type:"edit_file",identifier:e,file:n});const o=function(e){const{uploadUrls:n,chunkSize:t,raw:o}=e,r=o.size;return n.map((({partNum:e,uploadUrl:n})=>{const i=e*t,a=Math.min((e+1)*t,r);return{url:{partNum:e,uploadUrl:n},chunk:o.slice(i,a)}}))}(n);for(const{url:r,chunk:i}of o){if(n.cancelControllers[r.partNum]=new AbortController,(yield a(r,i,n))===E.CANCELED)return!1;t({type:"edit_file",identifier:e,file:n})}}))),[e,t,a])}(),n=function(){const{identifier:e,onAllPartDone:n}=(0,x.useContext)(Pe),t=(0,x.useContext)(W);return(0,x.useCallback)((o=>be(this,void 0,void 0,(function*(){try{const{fileName:e,uploadId:t}=o;if(0!==o.failSeq.length)throw new Error("partial failed");{const r=yield n(e,t);if(!r.status)throw new Error(r.reason);o.fileStatus=E.FINISHED}}catch(e){o.fileStatus=E.FAILED}finally{t({type:"edit_file",identifier:e,file:o})}}))),[e,n,t])}();return(0,x.useCallback)(((t,o)=>ye(this,void 0,void 0,(function*(){yield e(t),t.fileStatus!==E.CANCELED&&(yield n(t),t.fileStatus===E.FINISHED&&o&&o(t))}))),[e,n])}var Se=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function je(e){const{message:n,modal:t}=i.App.useApp(),o=(0,x.useContext)(W),r=re();return(0,x.useCallback)((()=>Se(this,void 0,void 0,(function*(){const i=yield function(e){return Se(this,void 0,void 0,(function*(){const n=yield(o=e,new Promise(((e,n)=>{_?function(e,n,t){_.objectStoreNames.contains(e)?U(e,n,t):F(e,n,t)}(o,e,n):function(e,n,t){try{const o=window.indexedDB.open(R);o.onupgradeneeded=()=>z(o.result,e,n,t),o.onsuccess=()=>function(e,n,t,o){M(e),e.objectStoreNames.contains(n)?U(n,t,o):F(n,t,o)}(o.result,e,n,t),o.onerror=()=>t(Error(`打开数据库失败: ${o.error}`)),o.onblocked=()=>t(Error(`数据库被阻塞: ${o.error}`))}catch(e){console.warn(`打开数据库时发生异常: ${e.message}`,e),t(e)}}(o,e,n)}))),t=JSON.parse(localStorage.getItem(e)||"[]").map((e=>{const t=n.find((n=>n.fileName===e.fileName));return Object.assign(Object.assign(Object.assign({},t),e),{fileStatus:E.PAUSED})}));var o;return localStorage.removeItem(e),t}))}(e);o({type:"add_files",identifier:e,files:i}),i.length&&t.confirm({title:"提示",content:"检测到未完成上传任务,是否继续上传?",onOk(){i.forEach(r)},onCancel(){n.info("点击上传按钮手动继续")}})}))),[e,o,r,t,n])}var Ce=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function Ae({open:e,identifier:n,accept:t,dragAreaDescription:o,footer:a,directory:s=!1,onClose:c}){var l,u;const d=(0,x.useContext)(V),f=(0,x.useContext)(W),{onSuccess:p}=(0,x.useContext)(Pe),h=pe(),m=xe(),v=je(n),[g,w]=(0,x.useState)([]),b=(0,x.useRef)("");return(0,x.useEffect)((()=>{b.current!==n&&(d&&f?(b.current=n,d[n]||f({type:"add",identifier:n}),v()):console.warn("FileUploadDrawer 必须在 UploadStoreProvider 内使用"))}),[n,v,d,f]),(0,x.useEffect)((()=>{const e=d[n];if(!e)return;const t=!e.some((e=>e.fileStatus===E.UPLOADING)),o=e.find((e=>e.fileStatus===E.INIT));t&&o&&m(o,p)}),[n,p,m,d]),(0,r.jsxs)(i.Drawer,{open:e,title:"数据上传",width:480,onClose:c,footer:a,children:[(0,r.jsx)(ee,{directory:s,accept:t,dragAreaDescription:o,onFileReceived:function(e){return Ce(this,void 0,void 0,(function*(){w((n=>[...n,...e])),yield h(e),w((n=>{const t=new Set(n);for(const n of e)t.delete(n);return[...t]}))}))}}),0===g.length&&0===(null===(l=d[n])||void 0===l?void 0:l.length)&&(0,r.jsx)(i.Empty,{className:"mt-20",description:"暂无上传内容"}),g.length>0&&(0,r.jsxs)("div",{className:"flex justify-center gap-4 mt-4",children:[(0,r.jsx)(Y.LoadingOutlined,{}),"预检上传文件中(",g.length,")"]}),(null===(u=d[n])||void 0===u?void 0:u.length)>0&&(0,r.jsx)(se,{showFinished:!a,identifier:n})]})}var Ee=t(446),Ne={};Ne.styleTagTransform=g(),Ne.setAttributes=p(),Ne.insert=d().bind(null,"head"),Ne.domAPI=l(),Ne.insertStyleElement=m(),s()(Ee.A,Ne),Ee.A&&Ee.A.locals&&Ee.A.locals;var ke=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};const Pe=(0,x.createContext)({identifier:"",getUploadUrls:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}})),onCancelUpload:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}})),onOnePartDone:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}})),onAllPartDone:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}}))});function Oe(e){if((0,x.useContext)(V)===Q)return(0,r.jsx)(i.Drawer,{open:e.open,onClose:e.onClose,title:"数据上传",children:(0,r.jsx)(i.Alert,{message:"FileUploadDrawer 必须在 UploadStoreProvider 内使用",type:"warning"})});const{identifier:n,maxSizePerFile:t=10*A,directory:o=!1,root:a="",uploadHistory:s=[],onSuccess:c,getUploadUrls:l,onCancelUpload:u,onOnePartDone:d,onAllPartDone:f,onClose:p,dragAreaDescription:h,accept:m,open:v,footer:g}=e,w={identifier:n,maxSizePerFile:t,directory:o,root:a,uploadHistory:s,onSuccess:c,getUploadUrls:l,onCancelUpload:u,onOnePartDone:d,onAllPartDone:f};return(0,r.jsx)(Pe.Provider,{value:w,children:(0,r.jsx)(Ae,{open:v,accept:m,footer:g,directory:o,identifier:n,dragAreaDescription:h,onClose:p})})}const Ie=require("@zjlab-fe/util");function De(e){return new Promise((n=>{if(e&&e.length>0){const t=[...e];function o(){t.length>0?setTimeout(r):setTimeout((()=>{n(null)}))}function r(){const e=t.shift(),n=(0,Ie.getFileExt)(e);if("js"===n||"mjs"===n){if(!document.querySelector(`script[src="${e}"]`)){const t=document.createElement("script");return t.src=e,"mjs"===n&&(t.type="module"),document.head.appendChild(t),t.onload=o,void(t.onerror=o)}}else if("css"===n&&!document.querySelector(`link[href="${e}"]`)){const n=document.createElement("link");return n.rel="stylesheet",n.href=e,document.head.appendChild(n),n.onload=o,void(n.onerror=o)}o()}r()}else n(null)}))}var Le=t(220),ze={};function Fe(e){const{filePath:n}=e,t=(0,x.useRef)(null);return(0,x.useEffect)((()=>{De(["https://fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.min.mjs"]).then((()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc="//fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.worker.min.mjs",window.pdfjsLib.getDocument(n).promise.then((n=>{var o;const r=n.numPages;t.current.textContent="";const i=t.current;for(let e=1;e<=r;e++)n.getPage(e).then((n=>{const t=n.getViewport({scale:window.devicePixelRatio||1}),o=document.createElement("canvas");o.setAttribute("id","the-canvas"+e),o.height=t.height,o.width=t.width;const r={canvasContext:o.getContext("2d"),viewport:t};n.render(r).promise.then((()=>{})),i.appendChild(o)})).catch((e=>{throw e}));null===(o=null==e?void 0:e.onSuccess)||void 0===o||o.call(e)})).catch((n=>{var t;null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))}),[n]),(0,r.jsx)("div",{ref:t,className:Le.L})}ze.styleTagTransform=g(),ze.setAttributes=p(),ze.insert=d().bind(null,"head"),ze.domAPI=l(),ze.insertStyleElement=m(),s()(Le.A,ze),Le.A&&Le.A.locals&&Le.A.locals;var Ue=t(367),Te={};Te.styleTagTransform=g(),Te.setAttributes=p(),Te.insert=d().bind(null,"head"),Te.domAPI=l(),Te.insertStyleElement=m(),s()(Ue.A,Te),Ue.A&&Ue.A.locals&&Ue.A.locals;var Re=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function _e(e){const n=(0,x.useRef)(null);return(0,x.useEffect)((()=>{De(["https://fastly.jsdelivr.net/npm/canvas-datagrid@0.4.7/dist/canvas-datagrid.js","https://fastly.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"]).then((()=>Re(this,void 0,void 0,(function*(){fetch(e.filePath).then((t=>{t.arrayBuffer().then((function(t){var o;const r=window.XLSX.read(t),i=r.Sheets[r.SheetNames[0]],a=window.XLSX.utils.sheet_to_json(i,{header:1});window.canvasDatagrid({parentNode:n.current,data:a,editable:!1}),null===(o=null==e?void 0:e.onSuccess)||void 0===o||o.call(e)})).catch((e=>{throw e}))})).catch((n=>{var t;console.log(n),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))))}),[]),(0,r.jsx)("div",{ref:n,className:Ue.L})}var Me=t(819),qe={};function He(e){return(0,r.jsx)("div",{className:Me.LV,children:(0,r.jsx)("img",{src:e.filePath,onError:n=>{var t;console.log("+++ img error"),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},onLoad:()=>{var n;null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)},className:Me._8})})}qe.styleTagTransform=g(),qe.setAttributes=p(),qe.insert=d().bind(null,"head"),qe.domAPI=l(),qe.insertStyleElement=m(),s()(Me.Ay,qe),Me.Ay&&Me.Ay.locals&&Me.Ay.locals;var Be=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function $e(e){const n=(0,x.useRef)(null);return(0,x.useEffect)((()=>{(()=>{Be(this,void 0,void 0,(function*(){var t,o;yield De(["https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/index.css","https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/method.min.js"]);try{const o=yield fetch(e.filePath).then((e=>e.text()));window.Vditor.preview(n.current,o,{}),null===(t=null==e?void 0:e.onSuccess)||void 0===t||t.call(e)}catch(n){null===(o=null==e?void 0:e.onError)||void 0===o||o.call(e,n)}}))})()}),[]),(0,r.jsx)("div",{ref:n})}var Ge=function(e,n,t,o){return new(t||(t=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,s)}c((o=o.apply(e,n||[])).next())}))};function Qe(e){const[n,t]=(0,x.useState)("");return(0,x.useEffect)((()=>{(()=>{Ge(this,void 0,void 0,(function*(){var n,o;try{const o=yield fetch(e.filePath).then((e=>e.text()));t(o),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)}catch(n){null===(o=null==e?void 0:e.onError)||void 0===o||o.call(e,n)}}))})()}),[]),(0,r.jsx)("div",{children:n})}var Ve=t(464),We={};function Ke(e){var n,t,o;const{filePath:a}=e,[s,c]=(0,x.useState)(!1),[l,u]=(0,x.useState)(!0),d=n=>{var t;u(!1),c(!0),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},f=()=>{var n;u(!1),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)};let p=null;if(s)p=(0,r.jsx)("div",{className:Ve.LV,children:"获取文件失败"});else if(a){const n=(0,Ie.getFileExt)(a),t=(0,r.jsx)("div",{className:Ve.D5,children:(0,r.jsx)(i.Spin,{})});let o=null,s=!0;switch(n){case"pdf":o=(0,r.jsx)(Fe,Object.assign({},e,{onError:d,onSuccess:f}));break;case"xlsx":case"csv":o=(0,r.jsx)(_e,Object.assign({},e,{onError:d,onSuccess:f}));break;case"png":case"jpg":case"jpeg":o=(0,r.jsx)(He,Object.assign({},e,{onError:d,onSuccess:f}));break;case"md":o=(0,r.jsx)($e,Object.assign({},e,{onError:d,onSuccess:f}));break;case"txt":o=(0,r.jsx)(Qe,Object.assign({},e,{onError:d,onSuccess:f}));break;default:s=!1}p=s?(0,r.jsxs)(r.Fragment,{children:[l&&t,o]}):(0,r.jsxs)("div",{className:Ve.LV,children:["暂不支持",n,"文件预览"]})}return e.openInModal?(null===(n=null==e?void 0:e.modalProps)||void 0===n?void 0:n.show)?(0,r.jsx)(i.Modal,{open:!0,title:null===(t=null==e?void 0:e.modalProps)||void 0===t?void 0:t.title,className:Ve.qf,centered:!0,width:"100%",onCancel:null===(o=null==e?void 0:e.modalProps)||void 0===o?void 0:o.onCancel,footer:null,children:p}):null:p}We.styleTagTransform=g(),We.setAttributes=p(),We.insert=d().bind(null,"head"),We.domAPI=l(),We.insertStyleElement=m(),s()(Ve.Ay,We),Ve.Ay&&Ve.Ay.locals&&Ve.Ay.locals;var Xe=exports;for(var Ye in o)Xe[Ye]=o[Ye];o.__esModule&&Object.defineProperty(Xe,"__esModule",{value:!0})})();
|
|
1
|
+
(()=>{"use strict";var e={367:(e,n,t)=>{t.d(n,{A:()=>s,L:()=>l});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".cJmcPSn5LN2GH9HqTvEQ{height:100%;overflow:auto}",""]);var l="cJmcPSn5LN2GH9HqTvEQ";const s=a},819:(e,n,t)=>{t.d(n,{Ay:()=>c,LV:()=>l,_8:()=>s});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".zuabV0gpCkaY8pSYtOSL{display:flex;align-items:center;justify-content:center;height:100%}.i2GFC308F3s1lGENOI5l{max-width:100%;max-height:100%}",""]);var l="zuabV0gpCkaY8pSYtOSL",s="i2GFC308F3s1lGENOI5l";const c=a},464:(e,n,t)=>{t.d(n,{Ay:()=>d,D5:()=>s,LV:()=>l,qf:()=>c});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".EVmfUlSj2zzl7igeqp6N{display:flex;align-items:center;justify-content:center;height:100%;overflow:auto;padding-top:16px;padding-bottom:16px}.Z65yBBsFLSWF70wfWwgA{display:flex;align-items:center;justify-content:center;padding-top:16px;padding-bottom:16px}.QSsGpXvLzOYpHSNncjpj .ant-modal-body{height:calc(100vh - 200px);overflow-y:auto}.QSsGpXvLzOYpHSNncjpj .ant-modal-content{padding-top:44px}",""]);var l="EVmfUlSj2zzl7igeqp6N",s="Z65yBBsFLSWF70wfWwgA",c="QSsGpXvLzOYpHSNncjpj";const d=a},220:(e,n,t)=>{t.d(n,{A:()=>s,L:()=>l});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".GmPZonLTI3KWU6TQWQSo{display:flex;flex-direction:column;align-items:center;height:100%;overflow:auto}.GmPZonLTI3KWU6TQWQSo canvas{max-width:100%}",""]);var l="GmPZonLTI3KWU6TQWQSo";const s=a},258:(e,n,t)=>{t.d(n,{Ay:()=>c,LV:()=>l,wm:()=>s});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".wkk6Lnco5rQ5DK_Bojaj{display:flex;justify-content:space-between;align-items:center;padding:0 16px;background-color:#000}.wkk6Lnco5rQ5DK_Bojaj .H3Num6yF3Ox32Pb6Occg{width:200px}",""]);var l="wkk6Lnco5rQ5DK_Bojaj",s="H3Num6yF3Ox32Pb6Occg";const c=a},446:(e,n,t)=>{t.d(n,{A:()=>l});var r=t(855),o=t.n(r),i=t(600),a=t.n(i)()(o());a.push([e.id,".mylib-upload-drawer *, .mylib-upload-drawer ::before, .mylib-upload-drawer ::after{\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}.mylib-upload-drawer ::backdrop{\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/.mylib-upload-drawer *,\n.mylib-upload-drawer ::before,\n.mylib-upload-drawer ::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}.mylib-upload-drawer ::before,\n.mylib-upload-drawer ::after {\n --tw-content: '';\n}/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/.mylib-upload-drawer html,\n.mylib-upload-drawer :host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/.mylib-upload-drawer body {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/.mylib-upload-drawer hr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/.mylib-upload-drawer abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}/*\nRemove the default font size and weight for headings.\n*/.mylib-upload-drawer h1,\n.mylib-upload-drawer h2,\n.mylib-upload-drawer h3,\n.mylib-upload-drawer h4,\n.mylib-upload-drawer h5,\n.mylib-upload-drawer h6 {\n font-size: inherit;\n font-weight: inherit;\n}/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/.mylib-upload-drawer a {\n color: inherit;\n text-decoration: inherit;\n}/*\nAdd the correct font weight in Edge and Safari.\n*/.mylib-upload-drawer b,\n.mylib-upload-drawer strong {\n font-weight: bolder;\n}/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/.mylib-upload-drawer code,\n.mylib-upload-drawer kbd,\n.mylib-upload-drawer samp,\n.mylib-upload-drawer pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}/*\nAdd the correct font size in all browsers.\n*/.mylib-upload-drawer small {\n font-size: 80%;\n}/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/.mylib-upload-drawer sub,\n.mylib-upload-drawer sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}.mylib-upload-drawer sub {\n bottom: -0.25em;\n}.mylib-upload-drawer sup {\n top: -0.5em;\n}/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/.mylib-upload-drawer table {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer input,\n.mylib-upload-drawer optgroup,\n.mylib-upload-drawer select,\n.mylib-upload-drawer textarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer select {\n text-transform: none;\n}/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer input:where([type='button']),\n.mylib-upload-drawer input:where([type='reset']),\n.mylib-upload-drawer input:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}/*\nUse the modern Firefox focus style for all focusable elements.\n*/.mylib-upload-drawer :-moz-focusring {\n outline: auto;\n}/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/.mylib-upload-drawer :-moz-ui-invalid {\n box-shadow: none;\n}/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/.mylib-upload-drawer progress {\n vertical-align: baseline;\n}/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/.mylib-upload-drawer ::-webkit-inner-spin-button,\n.mylib-upload-drawer ::-webkit-outer-spin-button {\n height: auto;\n}/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/.mylib-upload-drawer [type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/.mylib-upload-drawer ::-webkit-search-decoration {\n -webkit-appearance: none;\n}/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/.mylib-upload-drawer ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}/*\nAdd the correct display in Chrome and Safari.\n*/.mylib-upload-drawer summary {\n display: list-item;\n}/*\nRemoves the default spacing and border for appropriate elements.\n*/.mylib-upload-drawer blockquote,\n.mylib-upload-drawer dl,\n.mylib-upload-drawer dd,\n.mylib-upload-drawer h1,\n.mylib-upload-drawer h2,\n.mylib-upload-drawer h3,\n.mylib-upload-drawer h4,\n.mylib-upload-drawer h5,\n.mylib-upload-drawer h6,\n.mylib-upload-drawer hr,\n.mylib-upload-drawer figure,\n.mylib-upload-drawer p,\n.mylib-upload-drawer pre {\n margin: 0;\n}.mylib-upload-drawer fieldset {\n margin: 0;\n padding: 0;\n}.mylib-upload-drawer legend {\n padding: 0;\n}.mylib-upload-drawer ol,\n.mylib-upload-drawer ul,\n.mylib-upload-drawer menu {\n list-style: none;\n margin: 0;\n padding: 0;\n}/*\nReset default styling for dialogs.\n*/.mylib-upload-drawer dialog {\n padding: 0;\n}/*\nPrevent resizing textareas horizontally by default.\n*/.mylib-upload-drawer textarea {\n resize: vertical;\n}/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/.mylib-upload-drawer input::-moz-placeholder, .mylib-upload-drawer textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}.mylib-upload-drawer input::placeholder,\n.mylib-upload-drawer textarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}/*\nSet the default cursor for buttons.\n*/.mylib-upload-drawer button,\n.mylib-upload-drawer [role=\"button\"] {\n cursor: pointer;\n}/*\nMake sure disabled buttons don't get the pointer cursor.\n*/.mylib-upload-drawer :disabled {\n cursor: default;\n}/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/.mylib-upload-drawer img,\n.mylib-upload-drawer svg,\n.mylib-upload-drawer video,\n.mylib-upload-drawer canvas,\n.mylib-upload-drawer audio,\n.mylib-upload-drawer iframe,\n.mylib-upload-drawer embed,\n.mylib-upload-drawer object {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/.mylib-upload-drawer img,\n.mylib-upload-drawer video {\n max-width: 100%;\n height: auto;\n}/* Make elements with the HTML hidden attribute stay hidden by default */.mylib-upload-drawer [hidden] {\n display: none;\n}.mylib-upload-drawer .relative{\n position: relative;\n}.mylib-upload-drawer .m-0{\n margin: 0px;\n}.mylib-upload-drawer .my-2{\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}.mylib-upload-drawer .my-4{\n margin-top: 1rem;\n margin-bottom: 1rem;\n}.mylib-upload-drawer .mb-2{\n margin-bottom: 0.5rem;\n}.mylib-upload-drawer .mt-20{\n margin-top: 5rem;\n}.mylib-upload-drawer .mt-4{\n margin-top: 1rem;\n}.mylib-upload-drawer .flex{\n display: flex;\n}.mylib-upload-drawer .hidden{\n display: none;\n}.mylib-upload-drawer .h-8{\n height: 2rem;\n}.mylib-upload-drawer .w-40{\n width: 10rem;\n}.mylib-upload-drawer .items-center{\n align-items: center;\n}.mylib-upload-drawer .justify-center{\n justify-content: center;\n}.mylib-upload-drawer .justify-between{\n justify-content: space-between;\n}.mylib-upload-drawer .gap-4{\n gap: 1rem;\n}.mylib-upload-drawer .truncate{\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.mylib-upload-drawer .rounded{\n border-radius: 0.25rem;\n}.mylib-upload-drawer .border{\n border-width: 1px;\n}.mylib-upload-drawer .border-dashed{\n border-style: dashed;\n}.mylib-upload-drawer .border-gray-300{\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity));\n}.mylib-upload-drawer .border-green-600{\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}.mylib-upload-drawer .bg-gray-50{\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\n}.mylib-upload-drawer .p-4{\n padding: 1rem;\n}.mylib-upload-drawer .px-3{\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}.mylib-upload-drawer .px-4{\n padding-left: 1rem;\n padding-right: 1rem;\n}.mylib-upload-drawer .text-center{\n text-align: center;\n}.mylib-upload-drawer .text-2xl{\n font-size: 1.5rem;\n line-height: 2rem;\n}.mylib-upload-drawer .text-5xl{\n font-size: 3rem;\n line-height: 1;\n}.mylib-upload-drawer .text-base{\n font-size: 1rem;\n line-height: 1.5rem;\n}.mylib-upload-drawer .text-green-600{\n --tw-text-opacity: 1;\n color: rgb(22 163 74 / var(--tw-text-opacity));\n}.mylib-upload-drawer .text-red-600{\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}.mylib-upload-drawer .text-yellow-500{\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity));\n}.mylib-upload-drawer .filter{\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}.last\\:mb-0:last-child{\n margin-bottom: 0px;\n}.hover\\:border-green-600:hover{\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity));\n}",""]);const l=a},600:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",r=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),r&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),r&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var l=0;l<this.length;l++){var s=this[l][0];null!=s&&(a[s]=!0)}for(var c=0;c<e.length;c++){var d=[].concat(e[c]);r&&a[d[0]]||(void 0!==i&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),t&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=t):d[2]=t),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),n.push(d))}},n}},855:e=>{e.exports=function(e){return e[1]}},872:e=>{var n=[];function t(e){for(var t=-1,r=0;r<n.length;r++)if(n[r].identifier===e){t=r;break}return t}function r(e,r){for(var i={},a=[],l=0;l<e.length;l++){var s=e[l],c=r.base?s[0]+r.base:s[0],d=i[c]||0,u="".concat(c," ").concat(d);i[c]=d+1;var f=t(u),p={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==f)n[f].references++,n[f].updater(p);else{var m=o(p,r);r.byIndex=l,n.splice(l,0,{identifier:u,updater:m,references:1})}a.push(u)}return a}function o(e,n){var t=n.domAPI(n);return t.update(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap&&n.supports===e.supports&&n.layer===e.layer)return;t.update(e=n)}else t.remove()}}e.exports=function(e,o){var i=r(e=e||[],o=o||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var l=t(i[a]);n[l].references--}for(var s=r(e,o),c=0;c<i.length;c++){var d=t(i[c]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}i=s}}},227:e=>{var n={};e.exports=function(e,t){var r=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}},108:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},232:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},265:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var r="";t.supports&&(r+="@supports (".concat(t.supports,") {")),t.media&&(r+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(r+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),r+=t.css,o&&(r+="}"),t.media&&(r+="}"),t.supports&&(r+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),n.styleTagTransform(r,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},177:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={id:r,exports:{}};return e[r](i,i.exports,t),i.exports}t.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},t.d=(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nc=void 0;var r={};t.r(r),t.d(r,{FilePreview:()=>Ke,FileUploadDrawer:()=>Oe,Header:()=>g,InputTag:()=>S,UploadStoreProvider:()=>K});const o=require("react/jsx-runtime"),i=require("antd");var a=t(872),l=t.n(a),s=t(265),c=t.n(s),d=t(227),u=t.n(d),f=t(232),p=t.n(f),m=t(108),h=t.n(m),w=t(177),b=t.n(w),y=t(258),v={};function g(e){const{showLogin:n}=e;return(0,o.jsxs)("div",{className:y.LV,children:[(0,o.jsx)("img",{src:"https://www.unpkg.com/@zjlab-fe/fe-assets/logo-white.png",className:y.wm}),n&&(0,o.jsx)(i.Button,{ghost:!0,children:"登录"})]})}v.styleTagTransform=b(),v.setAttributes=p(),v.insert=u().bind(null,"head"),v.domAPI=c(),v.insertStyleElement=h(),l()(y.Ay,v),y.Ay&&y.Ay.locals&&y.Ay.locals;const x=require("react");function S(e){const{value:n,onChange:t,placeholder:r="请输入关键字",valueType:a,deduplicated:l=!0,size:s,maxLength:c,disabled:d}=e,[u,f]=(0,x.useState)([]),[p,m]=(0,x.useState)(1),h=(0,x.useRef)(null);(0,x.useEffect)((()=>{Array.isArray(n)?f(n):"string"==typeof n&&f(n.split(";"))}),[n]),(0,x.useEffect)((()=>{1!==p&&(null==h?void 0:h.current)&&h.current.focus()}),[p]);const w=e=>{if(l&&(e=Array.from(new Set(e))),f(e),"array"===a)null==t||t(e.length>0?e:void 0);else{const n=e.join(";");null==t||t(n||void 0)}};let b;return(null==u?void 0:u.length)>0&&(b=u.map(((e,n)=>(0,o.jsx)(i.Tag,{closeIcon:!d,onClose:()=>(e=>{let n=u.filter(((n,t)=>t!==e));w(n),m(p+1)})(n),children:e},n)))),(0,o.jsx)(i.Input,{disabled:d,size:s,ref:h,placeholder:r,prefix:b,onPressEnter:e=>{const n=e.target.value.trim();let t=[...u,n];w(t),m(p+1)},maxLength:c},p)}const j=1024,C=1048576,N=1073741824;var E,A;(A=E||(E={}))[A.INIT=1]="INIT",A[A.UPLOADING=2]="UPLOADING",A[A.FINISHED=3]="FINISHED",A[A.FAILED=4]="FAILED",A[A.PAUSED=5]="PAUSED",A[A.CANCELED=6]="CANCELED";const k=1,P=2;var O=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function I(e,n,t){return O(this,void 0,void 0,(function*(){const{name:r,size:o}=e,i=n?`${n}${r}`:r,a=Object.assign(Object.assign({},{fileStatus:E.INIT,percentage:0,uploadId:"",expiryTime:"",uploadUrls:[],completeSeq:[],failSeq:[],cancelControllers:{},uploadStatus:[],chunkSize:0,displaySize:"",fileName:"",partCount:0,raw:void 0}),{fileName:i,raw:new File([e],i,{type:e.type}),partCount:F(o),chunkSize:D(o),displaySize:q(o)}),l=yield t(i,a.partCount);return l.status?Object.assign(Object.assign({},a),l.uploadInfo):Object.assign(Object.assign({},a),{fileStatus:E.FAILED})}))}function D(e){return e<10*C?10*C:Math.ceil(e/10)}function F(e){const n=D(e);return Math.floor(e/n)+1}function L(e,n,t,r){M(e);try{e.createObjectStore(n,{}),e.onversionchange=n=>{null===n.newVersion&&e.close()},t([])}catch(e){r(Error(`升级数据库异常: ${e.message}`))}}function z(e,n,t){const r=_.version+1;_.close();const o=window.indexedDB.open(R,r);o.onupgradeneeded=()=>L(o.result,e,n,t)}function U(e,n,t){(function(e){return new Promise((function(n,t){let r;try{r=_.transaction(e,"readonly");try{const t=r.objectStore(e),o=[],i=t.openCursor();i.onsuccess=()=>{const e=i.result;e?(o.push(e.value),e.continue()):n(o)},i.onerror=()=>{console.warn(`在handleFileRetrieve()中游标操作失败 - 错误代码: ${i.error}`,i.error)}}catch(e){t(Error(`在handleFileRetrieve()中执行事务或打开游标时发生异常 - ${e.message}`))}}catch(e){t(Error(`在handleFileRetrieve()中创建数据库事务时发生异常 - ${e.message}`))}}))})(e).then(n).catch(t)}var T=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};const R="uploadStore";let _;function M(e){_=e}function q(e){const n=[{value:N,label:"GB"},{value:C,label:"MB"},{value:j,label:"KB"},{value:1,label:"B"}];for(const{value:t,label:r}of n)if(e>=t||1===t)return(e/t).toFixed(1)+r;return e+"B"}var H=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function B(e,n,t){return H(this,arguments,void 0,(function*(e,n,t,r=""){return e.isDirectory?n?function(e,n){return H(this,void 0,void 0,(function*(){const t=yield function(e){return new Promise(((n,t)=>{e.createReader().readEntries(n,t)}))}(e),r=t.map((e=>B(e,!0,n,e.fullPath)));return(yield Promise.allSettled(r)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value))}))}(e,t):[]:e.isFile?e.name.includes(".DS_Store")?[]:function(e,n,t){return H(this,void 0,void 0,(function*(){const r=yield function(e){return new Promise(((n,t)=>{e.file(n,t)}))}(e);return function(e,n){if(0===n.size)return!0;const t=e.name.split(".").pop()||"";return n.has(`.${t}`)}(r,n)?[$(r,t)]:[]}))}(e,t,r):[]}))}function $(e,n){const t=e.slice(0,e.size,e.type);return new File([t],n.slice(1)||e.name,{type:e.type})}function G(e){return e.map((({completeSeq:e,uploadId:n,uploadStatus:t,uploadUrls:r,percentage:o,fileName:i,failSeq:a})=>({fileName:i,uploadId:n,completeSeq:e,uploadStatus:t,percentage:o,uploadUrls:[...r,...a]})))}const Q={},V=(0,x.createContext)(Q),W=(0,x.createContext)((()=>null));function K({children:e}){const[n,t]=(0,x.useReducer)(X,{});return function(e){(0,x.useEffect)((()=>{return window.addEventListener("beforeunload",n),()=>{window.removeEventListener("beforeunload",n)};function n(){const n=[];for(const[t,r]of Object.entries(e)){const e=r.filter((e=>e.fileStatus!==E.FINISHED));e.length?localStorage.setItem(t,JSON.stringify(G(e))):n.push(t)}n.length&&function(e){T(this,void 0,void 0,(function*(){const n=_.version+1;return _.close(),new Promise(((t,r)=>{const o=window.indexedDB.open(R,n);o.onupgradeneeded=()=>{const n=o.result;e.forEach((e=>{n.objectStoreNames.contains(e)&&n.deleteObjectStore(e)}))},o.onsuccess=()=>{o.result.close(),t()},o.onerror=()=>r(o.error)}))}))}(n)}}),[e])}(n),(0,o.jsx)(V.Provider,{value:n,children:(0,o.jsx)(W.Provider,{value:t,children:e})})}function X(e,n){switch(n.type){case"add":return Object.assign(Object.assign({},e),{[n.identifier]:[]});case"remove_file":{const t=e[n.identifier],r=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,r),...t.slice(r+1)]})}case"edit_file":{const t=e[n.identifier],r=t.findIndex((e=>e.fileName===n.file.fileName));return Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,r),n.file,...t.slice(r+1)]})}case"add_file":{const t=e[n.identifier],r=t.findIndex((e=>e.fileName===n.file.fileName));return-1===r?Object.assign(Object.assign({},e),{[n.identifier]:[...t,n.file]}):Object.assign(Object.assign({},e),{[n.identifier]:[...t.slice(0,r),n.file,...t.slice(r+1)]})}case"add_files":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:[...t,...n.files]})}case"clear_finished":{const t=e[n.identifier];return Object.assign(Object.assign({},e),{[n.identifier]:t.filter((e=>e.fileStatus!==E.FINISHED))})}default:throw Error("Unknown action")}}const Y=require("@ant-design/icons");var J=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};const Z="border-dashed rounded border bg-gray-50 p-4 hover:border-green-600 border-gray-300";function ee({accept:e="",directory:n=!0,dragAreaDescription:t,onFileReceived:r}){const a=(0,x.useMemo)((()=>new Set(e?e.split(","):[])),[e]),l=(0,x.useRef)(null),[s,c]=(0,x.useState)(!1),d={onDragLeave:()=>c(!1),onDragEnter:e=>e.preventDefault(),onDragOver:e=>{e.preventDefault(),c(!0)},onDrop:function(e){return J(this,void 0,void 0,(function*(){e.preventDefault(),c(!1);const t=Array.from(e.dataTransfer.items).map((e=>e.webkitGetAsEntry())).filter(Boolean).map((e=>B(e,n,a))),o=(yield Promise.allSettled(t)).filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value));o.length&&r(o)}))}};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(i.Flex,Object.assign({vertical:!0,gap:"1rem",align:"center",className:`${s?"border-green-600":""} ${Z}`},d,{onClick:()=>{var e;return null===(e=l.current)||void 0===e?void 0:e.click()},children:[(0,o.jsx)("p",{className:"text-5xl text-green-600 m-0",children:(0,o.jsx)(Y.InboxOutlined,{})}),(0,o.jsx)("div",{className:"text-base text-center",children:t?Array.isArray(t)?t.map(((e,n)=>(0,o.jsx)("p",{className:"text-base m-0",children:e},n))):(0,o.jsx)("p",{className:"text-base m-0",children:t}):(0,o.jsx)("p",{className:"text-base m-0",children:"点击或拖拽上传文件"})})]})),(0,o.jsx)("input",{ref:l,type:"file",accept:e,hidden:!0,multiple:!0,onChange:function(){var e;const n=null===(e=l.current)||void 0===e?void 0:e.files;(null==n?void 0:n.length)&&r(Array.from(n))},onClick:()=>{l.current&&(l.current.value="")}})]})}const ne={size:32,strokeWidth:12,type:"circle",strokeLinecap:"butt"};function te({percent:e,status:n,onClick:t}){const{progressButtonRef:r,buttonInHover:a}=function(){const e=(0,x.useRef)(null),[n,t]=(0,x.useState)(!1);return(0,x.useEffect)((()=>{const n=e.current;if(!n)return;const r=()=>t(!0),o=()=>t(!1);return n.addEventListener("mouseenter",r),n.addEventListener("mouseleave",o),()=>{n.removeEventListener("mouseenter",r),n.removeEventListener("mouseleave",o)}}),[]),{progressButtonRef:e,buttonInHover:n}}(),[l,s]=(0,x.useState)(!1);return n===E.FINISHED?(0,o.jsx)(Y.CheckOutlined,{className:"text-green-600 text-2xl h-8"}):n===E.FAILED?(0,o.jsx)(o.Fragment,{children:l?(0,o.jsx)(Y.LoadingOutlined,{className:"text-red-600 text-2xl h-8"}):(0,o.jsx)(Y.CloseOutlined,{className:"text-red-600 text-2xl h-8",onClick:()=>{t(),s(!0)}})}):(0,o.jsx)(i.Button,{type:"text",shape:"circle",disabled:l,ref:r,title:n===E.PAUSED?"继续下载":"取消下载",onClick:()=>{t(),n===E.UPLOADING&&s(!0)},children:(0,o.jsx)(i.Progress,Object.assign({percent:e},ne,{strokeColor:l?"#f0a020":"#19a1fe",format:function(){return n===E.PAUSED?(0,o.jsx)(Y.PauseOutlined,{}):l?(0,o.jsx)(Y.LoadingOutlined,{className:"text-yellow-500"}):a?(0,o.jsx)(Y.CloseOutlined,{}):void 0}}))})}var re=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function oe(){const{identifier:e,root:n,getUploadUrls:t}=(0,x.useContext)(Pe),r=(0,x.useContext)(W);return(0,x.useCallback)((o=>re(this,void 0,void 0,(function*(){const i=function(e){if(!e.expiryTime)return k;const n=new Date;return new Date(e.expiryTime)<n?k:P}(o)===k;if(i){const i=yield I(o.raw,n,t);r({type:"edit_file",identifier:e,file:i})}else{const n=Object.assign(Object.assign({},o),{fileStatus:E.INIT,uploadUrls:[...o.failSeq,...o.uploadUrls],failSeq:[],cancelControllers:{}});r({type:"edit_file",identifier:e,file:n})}}))),[e,n,t,r])}var ie=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function ae(){const{message:e}=i.App.useApp(),{identifier:n,onCancelUpload:t}=(0,x.useContext)(Pe),r=(0,x.useContext)(W);return function(n){return ie(this,void 0,void 0,(function*(){const{fileName:r,uploadId:i}=n;if(!i)return void o(n);const a=yield t(r,i);a.status?o(n):e.error(a.reason||"取消失败")}))};function o(e){e.fileStatus=E.CANCELED,function(e,n){let t;try{t=_.transaction(e,"readwrite")}catch(e){return void console.warn("db.transaction() exception in deleteFileInStore() - "+e.message)}try{const r=t.objectStore(e).delete(n);r.onsuccess=()=>!0,r.onerror=e=>{console.warn("deleteReq.onerror fired in deleteFileInStore() - error code: "+r.error)}}catch(e){return void console.warn("Transaction and/or put() exception in deleteFileInStore() - "+e.message)}}(String(n),e.fileName),Object.values(e.cancelControllers).forEach((e=>e.abort())),r({type:"remove_file",identifier:n,file:e})}}function le({identifier:e,showFinished:n}){const t=(0,x.useContext)(V),r=ae(),i=oe(),[a,l]=(0,x.useState)([]);return(0,x.useEffect)((()=>{const r=t[e].filter((e=>e.fileStatus!==E.CANCELED&&(!1!==n||e.fileStatus!==E.FINISHED)));l(r)}),[e,n,t]),(0,o.jsx)("div",{className:"my-4",children:a.map((e=>(0,o.jsx)(se,{file:e,showFinished:n,onButtonClick:s},e.fileName)))});function s(e){e.fileStatus===E.PAUSED?i(e):r(e)}}function se({file:e,showFinished:n,onButtonClick:t}){const r="object"==typeof n&&n.withDelete;return(0,o.jsx)("div",{className:"mb-2 last:mb-0",children:(0,o.jsxs)("div",{className:"px-4 my-2 relative flex justify-between items-center",children:[(0,o.jsxs)(i.Flex,{align:"center",gap:".5rem",title:e.fileName,children:[(0,o.jsx)(Y.FileTextOutlined,{}),(0,o.jsx)("span",{className:"truncate w-40",children:e.fileName})]}),(0,o.jsxs)(i.Flex,{align:"center",gap:".5rem",children:[(0,o.jsx)(te,{status:e.fileStatus,percent:Number(e.percentage.toFixed(0)),onClick:()=>t(e)}),e.fileStatus===E.FINISHED&&r&&(0,o.jsx)(i.Button,{type:"text",size:"large",className:"px-3",disabled:r.disabled,title:r.disabled?"删除-已禁用":"删除",onClick:()=>r.onDelete(e.fileName),children:(0,o.jsx)(Y.DeleteOutlined,{})})]})]})})}var ce=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function de(e,n,t){const r=new Set(n.map((e=>e.fileName)));return e.filter((e=>{const n=t?`${t}${e.name}`:e.name;return r.has(n)})).map((e=>e.name))}function ue(e,n){return e.filter((e=>{var t;const r=e.name.includes("/"),o=e.name.split("/")[0];return r===(null===(t=n.find((e=>e.fileName===o)))||void 0===t?void 0:t.isFolder)})).map((e=>e.name))}var fe=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function pe(){const{message:e}=i.App.useApp(),{identifier:n,root:t,getUploadUrls:r}=(0,x.useContext)(Pe),o=(0,x.useContext)(W),a=function(){const{message:e,modal:n}=i.App.useApp(),t=(0,x.useContext)(V),{identifier:r,maxSizePerFile:o=10*N,uploadHistory:a=[],root:l}=(0,x.useContext)(Pe);return function(i){return ce(this,void 0,void 0,(function*(){const s=function(n){const t=n.filter((e=>e.size>o)).map((e=>e.name));if(t.length){const n=q(o);e.warning(`以下文件大小超过${n}:${t.join(", ")}`)}return t}(i),[c,d]=yield function(e){return ce(this,void 0,void 0,(function*(){const o=[...de(e,t[r],l),...ue(e,a)];return o.length?[yield n.confirm({title:"发现同名文件,是否覆盖?",okText:"覆盖",cancelText:"取消"}),o]:[!0,[]]}))}(i);return c?[new Set(s),new Set(d)]:[new Set([...s,...d]),new Set]}))}}(),l=function(){const e=(0,x.useContext)(V),{identifier:n}=(0,x.useContext)(Pe),t=ae();return function(r){const o=e[n];for(const e of r){const n=o.find((n=>n.fileName===e));n&&t(n)}}}();return function(i){return fe(this,void 0,void 0,(function*(){const s=yield function(e){return fe(this,void 0,void 0,(function*(){const n=new Map(e.map((e=>[e.name,e]))),[t,r]=yield a(e);return t.forEach((e=>n.delete(e))),l(r),Array.from(n.values())}))}(i),c=yield function(e){return fe(this,void 0,void 0,(function*(){const n=e.map((e=>I(e,t,r)));return(yield Promise.allSettled(n)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}))}(s);c.forEach((e=>{o({type:"add_file",identifier:n,file:e})})),function(e,n){try{const t=function(e){const n=_.transaction(e,"readwrite");return n.onerror=()=>console.warn(`添加文件事务错误: ${n.error}`),n.onabort=()=>console.warn("添加文件事务已中止"),n.oncomplete=()=>console.warn("添加文件事务已完成"),n}(e);!function(e,n){n.map((n=>function(e,n){try{e.put(n,n.fileName),console.warn(`文件 "${n.fileName}" 添加成功`)}catch(e){console.warn(`添加文件 "${n.fileName}" 时出错: ${e.message}`)}}(e,n)))}(t.objectStore(e),n)}catch(e){console.warn(`批量添加文件时出错: ${e.message}`)}}(n,c),c.length<s.length&&e.info("部分文件获取上传地址失败")}))}}const me=require("axios");var he=t.n(me),we=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function be(e,n=1e3){let t=null;return function(r){t||(t=setTimeout((()=>{e(r),t=null}),n))}}function ye(e,n,t){const r=e.uploadUrls.findIndex((e=>e===n));e.uploadUrls.splice(r,1),e["complete"===t?"completeSeq":"failSeq"].push(n)}var ve=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))},ge=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function xe(){const e=function(){const{identifier:e,onOnePartDone:n}=(0,x.useContext)(Pe),t=(0,x.useContext)(W),r=(0,x.useCallback)(((n,r,o)=>{r.fileStatus===E.UPLOADING&&(r.uploadStatus[o]=Number(n.progress),r.percentage=r.uploadStatus.reduce(((e,n)=>e+n))*(100/r.partCount),t({type:"edit_file",identifier:e,file:r}))}),[e,t]),o=(0,x.useCallback)(((e,n,t)=>we(this,void 0,void 0,(function*(){const o=he().create({});yield o.put(e.uploadUrl,n,{signal:t.cancelControllers[e.partNum].signal,withCredentials:!1,timeout:18e5,headers:{"Content-Type":"application/octet-stream"},onUploadProgress:be((n=>r(n,t,e.partNum)))})}))),[r]),i=(0,x.useCallback)(((e,t)=>we(this,void 0,void 0,(function*(){const{fileName:r,uploadId:o}=e,i=yield n(r,o,t.partNum);if(!i.status)throw new Error(i.reason);ye(e,t,"complete")}))),[n]),a=(0,x.useCallback)(((e,n,t)=>we(this,void 0,void 0,(function*(){try{return yield o(e,n,t),yield i(t,e),t.fileStatus}catch(n){return ye(t,e,"fail"),t.fileStatus}}))),[o,i]);return(0,x.useCallback)((n=>we(this,void 0,void 0,(function*(){n.fileStatus=E.UPLOADING,t({type:"edit_file",identifier:e,file:n});const r=function(e){const{uploadUrls:n,chunkSize:t,raw:r}=e,o=r.size;return n.map((({partNum:e,uploadUrl:n})=>{const i=e*t,a=Math.min((e+1)*t,o);return{url:{partNum:e,uploadUrl:n},chunk:r.slice(i,a)}}))}(n);for(const{url:o,chunk:i}of r){if(n.cancelControllers[o.partNum]=new AbortController,(yield a(o,i,n))===E.CANCELED)return!1;t({type:"edit_file",identifier:e,file:n})}}))),[e,t,a])}(),n=function(){const{identifier:e,onAllPartDone:n}=(0,x.useContext)(Pe),t=(0,x.useContext)(W);return(0,x.useCallback)((r=>ve(this,void 0,void 0,(function*(){try{const{fileName:e,uploadId:t}=r;if(0!==r.failSeq.length)throw new Error("partial failed");{const o=yield n(e,t);if(!o.status)throw new Error(o.reason);r.fileStatus=E.FINISHED}}catch(e){r.fileStatus=E.FAILED}finally{t({type:"edit_file",identifier:e,file:r})}}))),[e,n,t])}();return(0,x.useCallback)(((t,r)=>ge(this,void 0,void 0,(function*(){yield e(t),t.fileStatus!==E.CANCELED&&(yield n(t),t.fileStatus===E.FINISHED&&r&&r(t))}))),[e,n])}var Se=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function je(e){const{message:n,modal:t}=i.App.useApp(),r=(0,x.useContext)(W),o=oe();return(0,x.useCallback)((()=>Se(this,void 0,void 0,(function*(){const i=yield function(e){return Se(this,void 0,void 0,(function*(){const n=yield(r=e,new Promise(((e,n)=>{_?function(e,n,t){_.objectStoreNames.contains(e)?U(e,n,t):z(e,n,t)}(r,e,n):function(e,n,t){try{const r=window.indexedDB.open(R);r.onupgradeneeded=()=>L(r.result,e,n,t),r.onsuccess=()=>function(e,n,t,r){M(e),e.objectStoreNames.contains(n)?U(n,t,r):z(n,t,r)}(r.result,e,n,t),r.onerror=()=>t(Error(`打开数据库失败: ${r.error}`)),r.onblocked=()=>t(Error(`数据库被阻塞: ${r.error}`))}catch(e){console.warn(`打开数据库时发生异常: ${e.message}`,e),t(e)}}(r,e,n)}))),t=JSON.parse(localStorage.getItem(e)||"[]").map((e=>{const t=n.find((n=>n.fileName===e.fileName));return Object.assign(Object.assign(Object.assign({},t),e),{fileStatus:E.PAUSED})}));var r;return localStorage.removeItem(e),t}))}(e);r({type:"add_files",identifier:e,files:i}),i.length&&t.confirm({title:"提示",content:"检测到未完成上传任务,是否继续上传?",onOk(){i.forEach(o)},onCancel(){n.info("点击上传按钮手动继续")}})}))),[e,r,o,t,n])}var Ce=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function Ne({open:e,identifier:n,accept:t,dragAreaDescription:r,footer:a,showFinished:l=!1,directory:s=!1,onClose:c}){var d,u;const f=(0,x.useContext)(V),p=(0,x.useContext)(W),{onSuccess:m}=(0,x.useContext)(Pe),h=pe(),w=xe(),b=je(n),[y,v]=(0,x.useState)([]),g=(0,x.useRef)("");return(0,x.useEffect)((()=>{g.current!==n&&(f&&p?(g.current=n,f[n]||p({type:"add",identifier:n}),b()):console.warn("FileUploadDrawer 必须在 UploadStoreProvider 内使用"))}),[n,b,f,p]),(0,x.useEffect)((()=>{const e=f[n];if(!e)return;const t=!e.some((e=>e.fileStatus===E.UPLOADING)),r=e.find((e=>e.fileStatus===E.INIT));t&&r&&w(r,m)}),[n,m,w,f]),(0,o.jsxs)(i.Drawer,{className:"mylib-upload-drawer",open:e,title:"数据上传",width:480,onClose:c,footer:a,children:[(0,o.jsx)(ee,{directory:s,accept:t,dragAreaDescription:r,onFileReceived:function(e){return Ce(this,void 0,void 0,(function*(){v((n=>[...n,...e])),yield h(e),v((n=>{const t=new Set(n);for(const n of e)t.delete(n);return[...t]}))}))}}),0===y.length&&0===(null===(d=f[n])||void 0===d?void 0:d.length)&&(0,o.jsx)(i.Empty,{className:"mt-20",description:"暂无上传内容"}),y.length>0&&(0,o.jsxs)("div",{className:"flex justify-center gap-4 mt-4",children:[(0,o.jsx)(Y.LoadingOutlined,{}),"预检上传文件中(",y.length,")"]}),(null===(u=f[n])||void 0===u?void 0:u.length)>0&&(0,o.jsx)(le,{showFinished:l,identifier:n})]})}var Ee=t(446),Ae={};Ae.styleTagTransform=b(),Ae.setAttributes=p(),Ae.insert=u().bind(null,"head"),Ae.domAPI=c(),Ae.insertStyleElement=h(),l()(Ee.A,Ae),Ee.A&&Ee.A.locals&&Ee.A.locals;var ke=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};const Pe=(0,x.createContext)({identifier:"",getUploadUrls:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}})),onCancelUpload:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}})),onOnePartDone:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}})),onAllPartDone:()=>ke(void 0,void 0,void 0,(function*(){return{status:!1}}))});function Oe(e){if((0,x.useContext)(V)===Q)return(0,o.jsx)(i.Drawer,{open:e.open,onClose:e.onClose,title:"数据上传",children:(0,o.jsx)(i.Alert,{message:"FileUploadDrawer 必须在 UploadStoreProvider 内使用",type:"warning"})});const{identifier:n,maxSizePerFile:t=10*N,directory:r=!1,root:a="",uploadHistory:l=[],onSuccess:s,getUploadUrls:c,onCancelUpload:d,onOnePartDone:u,onAllPartDone:f,onClose:p,dragAreaDescription:m,accept:h,open:w,footer:b,showFinished:y}=e,v={identifier:n,maxSizePerFile:t,directory:r,root:a,uploadHistory:l,onSuccess:s,getUploadUrls:c,onCancelUpload:d,onOnePartDone:u,onAllPartDone:f};return(0,o.jsx)(Pe.Provider,{value:v,children:(0,o.jsx)(Ne,{open:w,accept:h,footer:b,showFinished:y,directory:r,identifier:n,dragAreaDescription:m,onClose:p})})}const Ie=require("@zjlab-fe/util");function De(e){return new Promise((n=>{if(e&&e.length>0){const t=[...e];function r(){t.length>0?setTimeout(o):setTimeout((()=>{n(null)}))}function o(){const e=t.shift(),n=(0,Ie.getFileExt)(e);if("js"===n||"mjs"===n){if(!document.querySelector(`script[src="${e}"]`)){const t=document.createElement("script");return t.src=e,"mjs"===n&&(t.type="module"),document.head.appendChild(t),t.onload=r,void(t.onerror=r)}}else if("css"===n&&!document.querySelector(`link[href="${e}"]`)){const n=document.createElement("link");return n.rel="stylesheet",n.href=e,document.head.appendChild(n),n.onload=r,void(n.onerror=r)}r()}o()}else n(null)}))}var Fe=t(220),Le={};function ze(e){const{filePath:n}=e,t=(0,x.useRef)(null);return(0,x.useEffect)((()=>{De(["https://fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.min.mjs"]).then((()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc="//fastly.jsdelivr.net/npm/pdfjs-dist@4.7.76/build/pdf.worker.min.mjs",window.pdfjsLib.getDocument(n).promise.then((n=>{var r;const o=n.numPages;t.current.textContent="";const i=t.current;for(let e=1;e<=o;e++)n.getPage(e).then((n=>{const t=n.getViewport({scale:window.devicePixelRatio||1}),r=document.createElement("canvas");r.setAttribute("id","the-canvas"+e),r.height=t.height,r.width=t.width;const o={canvasContext:r.getContext("2d"),viewport:t};n.render(o).promise.then((()=>{})),i.appendChild(r)})).catch((e=>{throw e}));null===(r=null==e?void 0:e.onSuccess)||void 0===r||r.call(e)})).catch((n=>{var t;null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))}),[n]),(0,o.jsx)("div",{ref:t,className:Fe.L})}Le.styleTagTransform=b(),Le.setAttributes=p(),Le.insert=u().bind(null,"head"),Le.domAPI=c(),Le.insertStyleElement=h(),l()(Fe.A,Le),Fe.A&&Fe.A.locals&&Fe.A.locals;var Ue=t(367),Te={};Te.styleTagTransform=b(),Te.setAttributes=p(),Te.insert=u().bind(null,"head"),Te.domAPI=c(),Te.insertStyleElement=h(),l()(Ue.A,Te),Ue.A&&Ue.A.locals&&Ue.A.locals;var Re=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function _e(e){const n=(0,x.useRef)(null);return(0,x.useEffect)((()=>{De(["https://fastly.jsdelivr.net/npm/canvas-datagrid@0.4.7/dist/canvas-datagrid.js","https://fastly.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"]).then((()=>Re(this,void 0,void 0,(function*(){fetch(e.filePath).then((t=>{t.arrayBuffer().then((function(t){var r;const o=window.XLSX.read(t),i=o.Sheets[o.SheetNames[0]],a=window.XLSX.utils.sheet_to_json(i,{header:1});window.canvasDatagrid({parentNode:n.current,data:a,editable:!1}),null===(r=null==e?void 0:e.onSuccess)||void 0===r||r.call(e)})).catch((e=>{throw e}))})).catch((n=>{var t;console.log(n),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)}))}))))}),[]),(0,o.jsx)("div",{ref:n,className:Ue.L})}var Me=t(819),qe={};function He(e){return(0,o.jsx)("div",{className:Me.LV,children:(0,o.jsx)("img",{src:e.filePath,onError:n=>{var t;console.log("+++ img error"),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},onLoad:()=>{var n;null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)},className:Me._8})})}qe.styleTagTransform=b(),qe.setAttributes=p(),qe.insert=u().bind(null,"head"),qe.domAPI=c(),qe.insertStyleElement=h(),l()(Me.Ay,qe),Me.Ay&&Me.Ay.locals&&Me.Ay.locals;var Be=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function $e(e){const n=(0,x.useRef)(null);return(0,x.useEffect)((()=>{(()=>{Be(this,void 0,void 0,(function*(){var t,r;yield De(["https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/index.css","https://fastly.jsdelivr.net/npm/vditor@3.10.6/dist/method.min.js"]);try{const r=yield fetch(e.filePath).then((e=>e.text()));window.Vditor.preview(n.current,r,{}),null===(t=null==e?void 0:e.onSuccess)||void 0===t||t.call(e)}catch(n){null===(r=null==e?void 0:e.onError)||void 0===r||r.call(e,n)}}))})()}),[]),(0,o.jsx)("div",{ref:n})}var Ge=function(e,n,t,r){return new(t||(t=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function l(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}s((r=r.apply(e,n||[])).next())}))};function Qe(e){const[n,t]=(0,x.useState)("");return(0,x.useEffect)((()=>{(()=>{Ge(this,void 0,void 0,(function*(){var n,r;try{const r=yield fetch(e.filePath).then((e=>e.text()));t(r),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)}catch(n){null===(r=null==e?void 0:e.onError)||void 0===r||r.call(e,n)}}))})()}),[]),(0,o.jsx)("div",{children:n})}var Ve=t(464),We={};function Ke(e){var n,t,r;const{filePath:a}=e,[l,s]=(0,x.useState)(!1),[c,d]=(0,x.useState)(!0),u=n=>{var t;d(!1),s(!0),null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,n)},f=()=>{var n;d(!1),null===(n=null==e?void 0:e.onSuccess)||void 0===n||n.call(e)};let p=null;if(l)p=(0,o.jsx)("div",{className:Ve.LV,children:"获取文件失败"});else if(a){const n=(0,Ie.getFileExt)(a),t=(0,o.jsx)("div",{className:Ve.D5,children:(0,o.jsx)(i.Spin,{})});let r=null,l=!0;switch(n){case"pdf":r=(0,o.jsx)(ze,Object.assign({},e,{onError:u,onSuccess:f}));break;case"xlsx":case"csv":r=(0,o.jsx)(_e,Object.assign({},e,{onError:u,onSuccess:f}));break;case"png":case"jpg":case"jpeg":r=(0,o.jsx)(He,Object.assign({},e,{onError:u,onSuccess:f}));break;case"md":r=(0,o.jsx)($e,Object.assign({},e,{onError:u,onSuccess:f}));break;case"txt":r=(0,o.jsx)(Qe,Object.assign({},e,{onError:u,onSuccess:f}));break;default:l=!1}p=l?(0,o.jsxs)(o.Fragment,{children:[c&&t,r]}):(0,o.jsxs)("div",{className:Ve.LV,children:["暂不支持",n,"文件预览"]})}return e.openInModal?(null===(n=null==e?void 0:e.modalProps)||void 0===n?void 0:n.show)?(0,o.jsx)(i.Modal,{open:!0,title:null===(t=null==e?void 0:e.modalProps)||void 0===t?void 0:t.title,className:Ve.qf,centered:!0,width:"100%",onCancel:null===(r=null==e?void 0:e.modalProps)||void 0===r?void 0:r.onCancel,footer:null,children:p}):null:p}We.styleTagTransform=b(),We.setAttributes=p(),We.insert=u().bind(null,"head"),We.domAPI=c(),We.insertStyleElement=h(),l()(Ve.Ay,We),Ve.Ay&&Ve.Ay.locals&&Ve.Ay.locals;var Xe=exports;for(var Ye in r)Xe[Ye]=r[Ye];r.__esModule&&Object.defineProperty(Xe,"__esModule",{value:!0})})();
|
package/package.json
CHANGED