{"version":3,"file":"index-Ev2UnrH4.cjs","sources":["../../lib/utils/l10n.ts","../../lib/errors/UploadCancelledError.ts","../../lib/utils/logger.ts","../../lib/utils/upload.ts","../../lib/utils/config.ts","../../lib/upload.ts","../../lib/utils/filesystem.ts","../../lib/utils/fileTree.ts","../../lib/uploader/eta.ts","../../lib/uploader/uploader.ts","../../lib/getUploader.ts","../../lib/utils/conflicts.ts","../../lib/dialogs/openConflictPicker.ts","../../lib/dialogs/utils/dialog.ts","../../lib/dialogs/utils/uploadConflictHandler.ts","../../node_modules/vue-material-design-icons/Cancel.vue","../../node_modules/vue-material-design-icons/FolderUpload.vue","../../node_modules/vue-material-design-icons/Plus.vue","../../node_modules/vue-material-design-icons/Upload.vue","../../lib/vue/components/UploadPicker.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getGettextBuilder } from '@nextcloud/l10n/gettext'\n\nconst gtBuilder = getGettextBuilder()\n\t.detectLocale()\n\n// @ts-expect-error __TRANSLATIONS__ is replaced by vite\n__TRANSLATIONS__.map(data => gtBuilder.addTranslation(data.locale, data.json))\n\ninterface Gettext {\n\t/**\n\t * Get translated string (singular form), optionally with placeholders\n\t *\n\t * @param original original string to translate\n\t * @param placeholders map of placeholder key to value\n\t */\n\tgettext(original: string, placeholders?: Record<string, string | number>): string\n\n\t/**\n\t * Get translated string with plural forms\n\t *\n\t * @param singular Singular text form\n\t * @param plural Plural text form to be used if `count` requires it\n\t * @param count The number to insert into the text\n\t * @param placeholders optional map of placeholder key to value\n\t */\n\tngettext(singular: string, plural: string, count: number, placeholders?: Record<string, string | number>): string\n}\n\nconst gt = gtBuilder.build() as Gettext\n\nexport const n = gt.ngettext.bind(gt) as typeof gt.ngettext\nexport const t = gt.gettext.bind(gt) as typeof gt.gettext\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { t } from '../utils/l10n.ts'\n\nexport class UploadCancelledError extends Error {\n\n\tpublic constructor(cause?: unknown) {\n\t\tsuper(t('Upload has been cancelled'), { cause })\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('@nextcloud/upload')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { AxiosProgressEvent, AxiosResponse, AxiosError } from 'axios'\nimport { generateRemoteUrl, getBaseUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport axiosRetry, { exponentialDelay, isNetworkOrIdempotentRequestError } from 'axios-retry'\nimport { getSharingToken } from '@nextcloud/sharing/public'\n\nimport logger from './logger'\n\naxiosRetry(axios, { retries: 0 })\n\ntype UploadData = Blob | (() => Promise<Blob>)\n\ninterface UploadDataOptions {\n\t/** The abort signal */\n\tsignal: AbortSignal\n\t/** Upload progress event callback */\n\tonUploadProgress?: (event: AxiosProgressEvent) => void\n\t/** Request retry callback (e.g. network error of previous try) */\n\tonUploadRetry?: () => void\n\t/** The final destination file (for chunked uploads) */\n\tdestinationFile?: string\n\t/** Additional headers */\n\theaders?: Record<string, string|number>\n\t/** Number of retries */\n\tretries?: number,\n}\n\n/**\n * Upload some data to a given path\n * @param url the url to upload to\n * @param uploadData the data to upload\n * @param uploadOptions upload options\n */\nexport async function uploadData(\n\turl: string,\n\tuploadData: UploadData,\n\tuploadOptions: UploadDataOptions,\n): Promise<AxiosResponse> {\n\tconst options = {\n\t\theaders: {},\n\t\tonUploadProgress: () => {},\n\t\tonUploadRetry: () => {},\n\t\tretries: 5,\n\t\t...uploadOptions,\n\t}\n\n\tlet data: Blob\n\n\t// If the upload data is a blob, we can directly use it\n\t// Otherwise, we need to wait for the promise to resolve\n\tif (uploadData instanceof Blob) {\n\t\tdata = uploadData\n\t} else {\n\t\tdata = await uploadData()\n\t}\n\n\t// Helps the server to know what to do with the file afterwards (e.g. chunked upload)\n\tif (options.destinationFile) {\n\t\toptions.headers.Destination = options.destinationFile\n\t}\n\n\t// If no content type is set, we default to octet-stream\n\tif (!options.headers['Content-Type']) {\n\t\toptions.headers['Content-Type'] = 'application/octet-stream'\n\t}\n\n\treturn await axios.request({\n\t\tmethod: 'PUT',\n\t\turl,\n\t\tdata,\n\t\tsignal: options.signal,\n\t\tonUploadProgress: options.onUploadProgress,\n\t\theaders: options.headers,\n\t\t'axios-retry': {\n\t\t\tretries: options.retries,\n\t\t\tretryDelay: (retryCount: number, error: AxiosError) => exponentialDelay(retryCount, error, 1000),\n\t\t\tretryCondition(error: AxiosError): boolean {\n\t\t\t\t// Do not retry on insufficient storage - this is permanent\n\t\t\t\tif (error.status === 507) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\t// Do a retry on locked error as this is often just some preview generation\n\t\t\t\tif (error.status === 423) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\t// Otherwise fallback to default behavior\n\t\t\t\treturn isNetworkOrIdempotentRequestError(error)\n\t\t\t},\n\t\t\tonRetry: options.onUploadRetry,\n\t\t},\n\t})\n}\n\n/**\n * Get chunk of the file.\n * Doing this on the fly give us a big performance boost and proper garbage collection\n * @param file File to upload\n * @param start Offset to start upload\n * @param length Size of chunk to upload\n */\nexport const getChunk = function(file: File, start: number, length: number): Promise<Blob> {\n\tif (start === 0 && file.size <= length) {\n\t\treturn Promise.resolve(new Blob([file], { type: file.type || 'application/octet-stream' }))\n\t}\n\n\treturn Promise.resolve(new Blob([file.slice(start, start + length)], { type: 'application/octet-stream' }))\n}\n\n/**\n * Create a temporary upload workspace to upload the chunks to\n * @param destinationFile The file name after finishing the chunked upload\n * @param retries number of retries\n * @param isPublic whether this upload is in a public share or not\n * @param customHeaders Custom HTTP headers used when creating the workspace (e.g. X-NC-Nickname for file drops)\n */\nexport const initChunkWorkspace = async function(destinationFile: string | undefined = undefined, retries: number = 5, isPublic: boolean = false, customHeaders: Record<string, string> = {}): Promise<string> {\n\tlet chunksWorkspace: string\n\tif (isPublic) {\n\t\tchunksWorkspace = `${getBaseUrl()}/public.php/dav/uploads/${getSharingToken()}`\n\t} else {\n\t\tchunksWorkspace = generateRemoteUrl(`dav/uploads/${getCurrentUser()?.uid}`)\n\t}\n\n\tconst hash = [...Array(16)].map(() => Math.floor(Math.random() * 16).toString(16)).join('')\n\tconst tempWorkspace = `web-file-upload-${hash}`\n\tconst url = `${chunksWorkspace}/${tempWorkspace}`\n\tconst headers = customHeaders\n\tif (destinationFile) {\n\t\theaders.Destination = destinationFile\n\t}\n\n\tawait axios.request({\n\t\tmethod: 'MKCOL',\n\t\turl,\n\t\theaders,\n\t\t'axios-retry': {\n\t\t\tretries,\n\t\t\tretryDelay: (retryCount: number, error: AxiosError) => exponentialDelay(retryCount, error, 1000),\n\t\t},\n\t})\n\n\tlogger.debug('Created temporary upload workspace', { url })\n\n\treturn url\n}\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nexport const getMaxChunksSize = function(fileSize: number | undefined = undefined): number {\n\tconst maxChunkSize = window.OC?.appConfig?.files?.max_chunk_size\n\tif (maxChunkSize <= 0) {\n\t\treturn 0\n\t}\n\n\t// If invalid return default\n\tif (!Number(maxChunkSize)) {\n\t\treturn 10 * 1024 * 1024\n\t}\n\n\t// v2 of chunked upload requires chunks to be 5 MB at minimum\n\tconst minimumChunkSize = Math.max(Number(maxChunkSize), 5 * 1024 * 1024)\n\n\tif (fileSize === undefined) {\n\t\treturn minimumChunkSize\n\t}\n\n\t// Adapt chunk size to fit the file in 10000 chunks for chunked upload v2\n\treturn Math.max(minimumChunkSize, Math.ceil(fileSize / 10000))\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { AxiosResponse } from 'axios'\nimport { getMaxChunksSize } from './utils/config.js'\n\nexport enum Status {\n\tINITIALIZED = 0,\n\tUPLOADING = 1,\n\tASSEMBLING = 2,\n\tFINISHED = 3,\n\tCANCELLED = 4,\n\tFAILED = 5,\n}\nexport class Upload {\n\n\tprivate _source: string\n\tprivate _file: File\n\tprivate _isChunked: boolean\n\tprivate _chunks: number\n\n\tprivate _size: number\n\tprivate _uploaded = 0\n\tprivate _startTime = 0\n\n\tprivate _status: Status = Status.INITIALIZED\n\tprivate _controller: AbortController\n\tprivate _response: AxiosResponse|null = null\n\n\tconstructor(source: string, chunked = false, size: number, file: File) {\n\t\tconst chunks = Math.min(getMaxChunksSize() > 0 ? Math.ceil(size / getMaxChunksSize()) : 1, 10000)\n\t\tthis._source = source\n\t\tthis._isChunked = chunked && getMaxChunksSize() > 0 && chunks > 1\n\t\tthis._chunks = this._isChunked ? chunks : 1\n\t\tthis._size = size\n\t\tthis._file = file\n\t\tthis._controller = new AbortController()\n\t}\n\n\tget source(): string {\n\t\treturn this._source\n\t}\n\n\tget file(): File {\n\t\treturn this._file\n\t}\n\n\tget isChunked(): boolean {\n\t\treturn this._isChunked\n\t}\n\n\tget chunks(): number {\n\t\treturn this._chunks\n\t}\n\n\tget size(): number {\n\t\treturn this._size\n\t}\n\n\tget startTime(): number {\n\t\treturn this._startTime\n\t}\n\n\tset response(response: AxiosResponse|null) {\n\t\tthis._response = response\n\t}\n\n\tget response(): AxiosResponse|null {\n\t\treturn this._response\n\t}\n\n\tget uploaded(): number {\n\t\treturn this._uploaded\n\t}\n\n\t/**\n\t * Update the uploaded bytes of this upload\n\t */\n\tset uploaded(length: number) {\n\t\tif (length >= this._size) {\n\t\t\tthis._status = this._isChunked\n\t\t\t\t? Status.ASSEMBLING\n\t\t\t\t: Status.FINISHED\n\t\t\tthis._uploaded = this._size\n\t\t\treturn\n\t\t}\n\n\t\tthis._status = Status.UPLOADING\n\t\tthis._uploaded = length\n\n\t\t// If first progress, let's log the start time\n\t\tif (this._startTime === 0) {\n\t\t\tthis._startTime = new Date().getTime()\n\t\t}\n\t}\n\n\tget status(): number {\n\t\treturn this._status\n\t}\n\n\t/**\n\t * Update this upload status\n\t */\n\tset status(status: Status) {\n\t\tthis._status = status\n\t}\n\n\t/**\n\t * Returns the axios cancel token source\n\t */\n\tget signal(): AbortSignal {\n\t\treturn this._controller.signal\n\t}\n\n\t/**\n\t * Cancel any ongoing requests linked to this upload\n\t */\n\tcancel() {\n\t\tthis._controller.abort()\n\t\tthis._status = Status.CANCELLED\n\t}\n\n}\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// Helpers for the File and Directory API\n\n// Helper to support browser that do not support the API\nexport const isFileSystemDirectoryEntry = (o: unknown): o is FileSystemDirectoryEntry => 'FileSystemDirectoryEntry' in window && o instanceof FileSystemDirectoryEntry\n\nexport const isFileSystemFileEntry = (o: unknown): o is FileSystemFileEntry => 'FileSystemFileEntry' in window && o instanceof FileSystemFileEntry\n\nexport const isFileSystemEntry = (o: unknown): o is FileSystemEntry => 'FileSystemEntry' in window && o instanceof FileSystemEntry\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Helpers to generate a file tree when the File and Directory API is used (e.g. Drag and Drop or <input type=\"file\" webkitdirectory>)\n */\n\nimport { basename } from '@nextcloud/paths'\nimport { isFileSystemDirectoryEntry, isFileSystemFileEntry } from './filesystem.ts'\n\n/**\n * This is a helper class to allow building a file tree for uploading\n * It allows to create virtual directories\n */\nexport class Directory extends File {\n\n\tprivate _originalName: string\n\tprivate _path: string\n\tprivate _children: Map<string, File|this>\n\n\tconstructor(path: string) {\n\t\tsuper([], basename(path), { type: 'httpd/unix-directory', lastModified: 0 })\n\t\tthis._children = new Map()\n\t\tthis._originalName = basename(path)\n\t\tthis._path = path\n\t}\n\n\tget size(): number {\n\t\treturn this.children.reduce((sum, file) => sum + file.size, 0)\n\t}\n\n\tget lastModified(): number {\n\t\treturn this.children.reduce((latest, file) => Math.max(latest, file.lastModified), 0)\n\t}\n\n\t// We need this to keep track of renamed files\n\tget originalName(): string {\n\t\treturn this._originalName\n\t}\n\n\tget children(): Array<File|Directory> {\n\t\treturn Array.from(this._children.values())\n\t}\n\n\tget webkitRelativePath(): string {\n\t\treturn this._path\n\t}\n\n\tgetChild(name: string): File|Directory|null {\n\t\treturn this._children.get(name) ?? null\n\t}\n\n\t/**\n\t * Add multiple children at once\n\t * @param files The files to add\n\t */\n\tasync addChildren(files: Array<File|FileSystemEntry>): Promise<void> {\n\t\tfor (const file of files) {\n\t\t\tawait this.addChild(file)\n\t\t}\n\t}\n\n\t/**\n\t * Add a child to the directory.\n\t * If it is a nested child the parents will be created if not already exist.\n\t * @param file The child to add\n\t */\n\tasync addChild(file: File|FileSystemEntry) {\n\t\tconst rootPath = this._path && `${this._path}/`\n\t\tif (isFileSystemFileEntry(file)) {\n\t\t\tfile = await new Promise<File>((resolve, reject) => (file as FileSystemFileEntry).file(resolve, reject))\n\t\t} else if (isFileSystemDirectoryEntry(file)) {\n\t\t\tconst reader = file.createReader()\n\t\t\tconst entries = await new Promise<FileSystemEntry[]>((resolve, reject) => reader.readEntries(resolve, reject))\n\n\t\t\t// Create a new child directory and add the entries\n\t\t\tconst child = new Directory(`${rootPath}${file.name}`)\n\t\t\tawait child.addChildren(entries)\n\t\t\tthis._children.set(file.name, child)\n\t\t\treturn\n\t\t}\n\n\t\t// Make Typescript calm - we ensured it is not a file system entry above.\n\t\tfile = file as File\n\n\t\tconst filePath = file.webkitRelativePath ?? file.name\n\t\t// Handle plain files\n\t\tif (!filePath.includes('/')) {\n\t\t\t// Direct child of the directory\n\t\t\tthis._children.set(file.name, file)\n\t\t} else {\n\t\t\t// Check if file is a child\n\t\t\tif (!filePath.startsWith(this._path)) {\n\t\t\t\tthrow new Error(`File ${filePath} is not a child of ${this._path}`)\n\t\t\t}\n\n\t\t\t// If file is a child check if we need to nest it\n\t\t\tconst relPath = filePath.slice(rootPath.length)\n\t\t\tconst name = basename(relPath)\n\n\t\t\tif (name === relPath) {\n\t\t\t\t// It is a direct child so we can add it\n\t\t\t\tthis._children.set(name, file)\n\t\t\t} else {\n\t\t\t\t// It is not a direct child so we need to create intermediate nodes\n\t\t\t\tconst base = relPath.slice(0, relPath.indexOf('/'))\n\t\t\t\tif (this._children.has(base)) {\n\t\t\t\t\t// It is a grandchild so we can add it directly\n\t\t\t\t\tawait (this._children.get(base) as Directory).addChild(file)\n\t\t\t\t} else {\n\t\t\t\t\t// We do not know any parent of that child\n\t\t\t\t\t// so we need to add a new child on the current level\n\t\t\t\t\tconst child = new Directory(`${rootPath}${base}`)\n\t\t\t\t\tawait child.addChild(file)\n\t\t\t\t\tthis._children.set(base, child)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n\n/**\n * Interface of the internal Directory class\n */\nexport type IDirectory = Pick<Directory, keyof Directory>\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { TypedEventTarget } from 'typescript-event-target'\nimport { n, t } from '../utils/l10n.ts'\nimport { formatFileSize } from '@nextcloud/files'\n\nexport enum EtaStatus {\n\tIdle = 0,\n\tPaused = 1,\n\tRunning = 2,\n}\n\ninterface EtaOptions {\n\t/** Low pass filter cutoff time for smoothing the speed */\n\tcutoffTime?: number\n\t/** Total number of bytes to be expected */\n\ttotal?: number\n\t/** Start the estimation directly */\n\tstart?: boolean\n}\n\nexport interface EtaEventsMap {\n\tpause: CustomEvent\n\treset: CustomEvent\n\tresume: CustomEvent\n\tupdate: CustomEvent\n}\n\nexport class Eta extends TypedEventTarget<EtaEventsMap> {\n\n\t/** Bytes done */\n\tprivate _done: number = 0\n\t/** Total bytes to do */\n\tprivate _total: number = 0\n\t/** Current progress (cached) as interval [0,1] */\n\tprivate _progress: number = 0\n\t/** Status of the ETA */\n\tprivate _status: EtaStatus = EtaStatus.Idle\n\t/** Time of the last update */\n\tprivate _startTime: number = -1\n\t/** Total elapsed time for current ETA */\n\tprivate _elapsedTime: number = 0\n\t/** Current speed in bytes per second */\n\tprivate _speed: number = -1\n\t/** Expected duration to finish in seconds */\n\tprivate _eta: number = Infinity\n\n\t/**\n\t * Cutoff time for the low pass filter of the ETA.\n\t * A higher value will consider more history information for calculation,\n\t * and thus suppress spikes of the speed,\n\t * but will make the overall resposiveness slower.\n\t */\n\tprivate _cutoffTime = 2.5\n\n\tpublic constructor(options: EtaOptions = {}) {\n\t\tsuper()\n\t\tif (options.start) {\n\t\t\tthis.resume()\n\t\t}\n\t\tif (options.total) {\n\t\t\tthis.update(0, options.total)\n\t\t}\n\t\tthis._cutoffTime = options.cutoffTime ?? 2.5\n\t}\n\n\t/**\n\t * Add more transferred bytes.\n\t * @param done Additional bytes done.\n\t */\n\tpublic add(done: number): void {\n\t\tthis.update(this._done + done)\n\t}\n\n\t/**\n\t * Update the transmission state.\n\t *\n\t * @param done The new value of transferred bytes.\n\t * @param total Optionally also update the total bytes we expect.\n\t */\n\tpublic update(done: number, total?: number): void {\n\t\tif (this.status !== EtaStatus.Running) {\n\t\t\treturn\n\t\t}\n\t\tif (total && total > 0) {\n\t\t\tthis._total = total\n\t\t}\n\n\t\tconst deltaDone = done - this._done\n\t\tconst deltaTime = (Date.now() - this._startTime) / 1000\n\n\t\tthis._startTime = Date.now()\n\t\tthis._elapsedTime += deltaTime\n\t\tthis._done = done\n\t\tthis._progress = this._done / this._total\n\n\t\t// Only update speed when the history is large enough so we can estimate it\n\t\tconst historyNeeded = this._cutoffTime + deltaTime\n\t\tif (this._elapsedTime > historyNeeded) {\n\t\t\t// Filter the done bytes using a low pass filter to suppress speed spikes\n\t\t\tconst alpha = deltaTime / (deltaTime + (1 / this._cutoffTime))\n\t\t\tconst filtered = (this._done - deltaDone) + (1 - alpha) * deltaDone\n\t\t\t// bytes per second - filtered\n\t\t\tthis._speed = Math.round(filtered / this._elapsedTime)\n\t\t} else if (this._speed === -1 && this._elapsedTime > deltaTime) {\n\t\t\t// special case when uploading with high speed\n\t\t\t// it could be that the upload is finished before we reach the curoff time\n\t\t\t// so we already give an estimation\n\t\t\tconst remaining = this._total - done\n\t\t\tconst eta = remaining / (done / this._elapsedTime)\n\t\t\t// Only set the ETA when we either already set it for a previous update\n\t\t\t// or when the special case happened that we are in fast upload and we only got a couple of seconds for the whole upload\n\t\t\t// meaning we are below 2x the cutoff time.\n\t\t\tif (this._eta !== Infinity || eta <= 2 * this._cutoffTime) {\n\t\t\t\t// We only take a couple of seconds so we set the eta to the current ETA using current speed.\n\t\t\t\t// But we do not set the speed because we do not want to trigger the real ETA calculation below\n\t\t\t\t// and especially because the speed would be very spiky (we still have no filters in place).\n\t\t\t\tthis._eta = eta\n\t\t\t}\n\t\t}\n\n\t\t// Update the eta if we have valid speed information (prevent divide by zero)\n\t\tif (this._speed > 0) {\n\t\t\t// Estimate transfer of remaining bytes with current average speed\n\t\t\tthis._eta = Math.round((this._total - this._done) / this._speed)\n\t\t}\n\n\t\tthis.dispatchTypedEvent('update', new CustomEvent('update', { cancelable: false }))\n\t}\n\n\tpublic reset(): void {\n\t\tthis._done = 0\n\t\tthis._total = 0\n\t\tthis._progress = 0\n\t\tthis._elapsedTime = 0\n\t\tthis._eta = Infinity\n\t\tthis._speed = -1\n\t\tthis._startTime = -1\n\t\tthis._status = EtaStatus.Idle\n\t\tthis.dispatchTypedEvent('reset', new CustomEvent('reset'))\n\t}\n\n\t/**\n\t * Pause the ETA calculation.\n\t */\n\tpublic pause(): void {\n\t\tif (this._status === EtaStatus.Running) {\n\t\t\tthis._status = EtaStatus.Paused\n\t\t\tthis._elapsedTime += (Date.now() - this._startTime) / 1000\n\t\t\tthis.dispatchTypedEvent('pause', new CustomEvent('pause'))\n\t\t}\n\t}\n\n\t/**\n\t * Resume the ETA calculation.\n\t */\n\tpublic resume(): void {\n\t\tif (this._status !== EtaStatus.Running) {\n\t\t\tthis._startTime = Date.now()\n\t\t\tthis._status = EtaStatus.Running\n\t\t\tthis.dispatchTypedEvent('resume', new CustomEvent('resume'))\n\t\t}\n\t}\n\n\t/**\n\t * Status of the Eta (paused, active, idle).\n\t */\n\tpublic get status(): EtaStatus {\n\t\treturn this._status\n\t}\n\n\t/**\n\t * Progress (percent done)\n\t */\n\tpublic get progress(): number {\n\t\treturn Math.round(this._progress * 10000) / 100\n\t}\n\n\t/**\n\t * Estimated time in seconds.\n\t */\n\tpublic get time(): number {\n\t\treturn this._eta\n\t}\n\n\t/**\n\t * Human readable version of the estimated time.\n\t */\n\tpublic get timeReadable(): string {\n\t\tif (this._eta === Infinity) {\n\t\t\treturn t('estimating time left')\n\t\t} else if (this._eta < 10) {\n\t\t\treturn t('a few seconds left')\n\t\t} else if (this._eta < 60) {\n\t\t\treturn n('{seconds} seconds left', '{seconds} seconds left', this._eta, { seconds: this._eta })\n\t\t}\n\n\t\tconst hours = String(Math.floor(this._eta / 3600)).padStart(2, '0')\n\t\tconst minutes = String(Math.floor((this._eta % 3600) / 60)).padStart(2, '0')\n\t\tconst seconds = String(this._eta % 60).padStart(2, '0')\n\t\treturn t('{time} left', { time: `${hours}:${minutes}:${seconds}` }) // TRANSLATORS time has the format 00:00:00\n\t}\n\n\t/**\n\t * Transfer speed in bytes per second.\n\t * Returns `-1` if not yet estimated.\n\t */\n\tpublic get speed(): number {\n\t\treturn this._speed\n\t}\n\n\t/**\n\t * Get the speed in human readable format using file sizes like 10KB/s.\n\t * Returns the empty string if not yet estimated.\n\t */\n\tpublic get speedReadable(): string {\n\t\treturn this._speed > 0\n\t\t\t? `${formatFileSize(this._speed, true)}∕s`\n\t\t\t: ''\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { AxiosError, AxiosResponse } from 'axios'\nimport type { WebDAVClient } from 'webdav'\nimport type { IDirectory } from '../utils/fileTree.ts'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { FileType, Folder, Permission, davGetClient, davRemoteURL, davRootPath } from '@nextcloud/files'\nimport { encodePath } from '@nextcloud/paths'\nimport { normalize } from 'path'\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nimport axios, { isCancel } from '@nextcloud/axios'\nimport PCancelable from 'p-cancelable'\nimport PQueue from 'p-queue'\n\nimport { UploadCancelledError } from '../errors/UploadCancelledError.ts'\nimport { getChunk, initChunkWorkspace, uploadData } from '../utils/upload.ts'\nimport { getMaxChunksSize } from '../utils/config.ts'\nimport { Status as UploadStatus, Upload } from '../upload.ts'\nimport { isFileSystemFileEntry } from '../utils/filesystem.ts'\nimport { Directory } from '../utils/fileTree.ts'\nimport { t } from '../utils/l10n.ts'\nimport logger from '../utils/logger.ts'\nimport { Eta } from './eta.ts'\n\nexport enum UploaderStatus {\n\tIDLE = 0,\n\tUPLOADING = 1,\n\tPAUSED = 2\n}\n\nexport class Uploader {\n\n\t// Initialized via setter in the constructor\n\tprivate _destinationFolder!: Folder\n\tprivate _isPublic: boolean\n\tprivate _customHeaders: Record<string, string>\n\n\t// Global upload queue\n\tprivate _uploadQueue: Array<Upload> = []\n\tprivate _jobQueue: PQueue = new PQueue({\n\t\t// Maximum number of concurrent uploads\n\t\t// @ts-expect-error TS2339 Object has no defined properties\n\t\tconcurrency: getCapabilities().files?.chunked_upload?.max_parallel_count ?? 5,\n\t})\n\n\tprivate _queueSize = 0\n\tprivate _queueProgress = 0\n\tprivate _queueStatus: UploaderStatus = UploaderStatus.IDLE\n\n\tprivate _eta = new Eta()\n\n\tprivate _notifiers: Array<(upload: Upload) => void> = []\n\n\t/**\n\t * Initialize uploader\n\t *\n\t * @param {boolean} isPublic are we in public mode ?\n\t * @param {Folder} destinationFolder the context folder to operate, relative to the root folder\n\t */\n\tconstructor(\n\t\tisPublic = false,\n\t\tdestinationFolder?: Folder,\n\t) {\n\t\tthis._isPublic = isPublic\n\t\tthis._customHeaders = {}\n\n\t\tif (!destinationFolder) {\n\t\t\tconst source = `${davRemoteURL}${davRootPath}`\n\t\t\tlet owner: string\n\n\t\t\tif (isPublic) {\n\t\t\t\towner = 'anonymous'\n\t\t\t} else {\n\t\t\t\tconst user = getCurrentUser()?.uid\n\t\t\t\tif (!user) {\n\t\t\t\t\tthrow new Error('User is not logged in')\n\t\t\t\t}\n\t\t\t\towner = user\n\t\t\t}\n\n\t\t\tdestinationFolder = new Folder({\n\t\t\t\tid: 0,\n\t\t\t\towner,\n\t\t\t\tpermissions: Permission.ALL,\n\t\t\t\troot: davRootPath,\n\t\t\t\tsource,\n\t\t\t})\n\t\t}\n\t\tthis.destination = destinationFolder\n\n\t\tlogger.debug('Upload workspace initialized', {\n\t\t\tdestination: this.destination,\n\t\t\troot: this.root,\n\t\t\tisPublic,\n\t\t\tmaxChunksSize: getMaxChunksSize(),\n\t\t})\n\t}\n\n\t/**\n\t * Get the upload destination path relative to the root folder\n\t */\n\tget destination(): Folder {\n\t\treturn this._destinationFolder\n\t}\n\n\t/**\n\t * Set the upload destination path relative to the root folder\n\t */\n\tset destination(folder: Folder) {\n\t\tif (!folder || folder.type !== FileType.Folder || !folder.source) {\n\t\t\tthrow new Error('Invalid destination folder')\n\t\t}\n\n\t\tlogger.debug('Destination set', { folder })\n\t\tthis._destinationFolder = folder\n\t}\n\n\t/**\n\t * Get the root folder\n\t */\n\tget root() {\n\t\treturn this._destinationFolder.source\n\t}\n\n\t/**\n\t * Get registered custom headers for uploads\n\t */\n\tget customHeaders(): Record<string, string> {\n\t\treturn structuredClone(this._customHeaders)\n\t}\n\n\t/**\n\t * Set a custom header\n\t * @param name The header to set\n\t * @param value The string value\n\t */\n\tsetCustomHeader(name: string, value: string = ''): void {\n\t\tthis._customHeaders[name] = value\n\t}\n\n\t/**\n\t * Unset a custom header\n\t * @param name The header to unset\n\t */\n\tdeleteCustomerHeader(name: string): void {\n\t\tdelete this._customHeaders[name]\n\t}\n\n\t/**\n\t * Get the upload queue\n\t */\n\tget queue(): Upload[] {\n\t\treturn this._uploadQueue\n\t}\n\n\tprivate reset() {\n\t\t// Reset the ETA\n\t\tthis._eta.reset()\n\t\t// If there is no upload in the queue and no job in the queue\n\t\tif (this._uploadQueue.length === 0 && this._jobQueue.size === 0) {\n\t\t\treturn\n\t\t}\n\n\t\t// Reset upload queue but keep the reference\n\t\tthis._uploadQueue.splice(0, this._uploadQueue.length)\n\t\tthis._jobQueue.clear()\n\t\tthis._queueSize = 0\n\t\tthis._queueProgress = 0\n\t\tthis._queueStatus = UploaderStatus.IDLE\n\t\tlogger.debug('Uploader state reset')\n\t}\n\n\t/**\n\t * Pause any ongoing upload(s)\n\t */\n\tpublic pause() {\n\t\tthis._eta.pause()\n\t\tthis._jobQueue.pause()\n\t\tthis._queueStatus = UploaderStatus.PAUSED\n\t\tthis.updateStats()\n\t\tlogger.debug('Uploader paused')\n\t}\n\n\t/**\n\t * Resume any pending upload(s)\n\t */\n\tpublic start() {\n\t\tthis._eta.resume()\n\t\tthis._jobQueue.start()\n\t\tthis._queueStatus = UploaderStatus.UPLOADING\n\t\tthis.updateStats()\n\t\tlogger.debug('Uploader resumed')\n\t}\n\n\t/**\n\t * Get the estimation for the uploading time.\n\t */\n\tget eta(): Eta {\n\t\treturn this._eta\n\t}\n\n\t/**\n\t * Get the upload queue stats\n\t */\n\tget info() {\n\t\treturn {\n\t\t\tsize: this._queueSize,\n\t\t\tprogress: this._queueProgress,\n\t\t\tstatus: this._queueStatus,\n\t\t}\n\t}\n\n\tprivate updateStats() {\n\t\tconst size = this._uploadQueue.map(upload => upload.size)\n\t\t\t.reduce((partialSum, a) => partialSum + a, 0)\n\t\tconst uploaded = this._uploadQueue.map(upload => upload.uploaded)\n\t\t\t.reduce((partialSum, a) => partialSum + a, 0)\n\n\t\tthis._eta.update(uploaded, size)\n\t\tthis._queueSize = size\n\t\tthis._queueProgress = uploaded\n\n\t\t// If already paused keep it that way\n\t\tif (this._queueStatus !== UploaderStatus.PAUSED) {\n\t\t\tconst pending = this._uploadQueue.find(({ status }) => [UploadStatus.INITIALIZED, UploadStatus.UPLOADING, UploadStatus.ASSEMBLING].includes(status))\n\t\t\tif (this._jobQueue.size > 0 || pending) {\n\t\t\t\tthis._queueStatus = UploaderStatus.UPLOADING\n\t\t\t} else {\n\t\t\t\tthis.eta.reset()\n\t\t\t\tthis._queueStatus = UploaderStatus.IDLE\n\t\t\t}\n\t\t}\n\t}\n\n\taddNotifier(notifier: (upload: Upload) => void) {\n\t\tthis._notifiers.push(notifier)\n\t}\n\n\t/**\n\t * Notify listeners of the upload completion\n\t * @param upload The upload that finished\n\t */\n\tprivate _notifyAll(upload: Upload): void {\n\t\tfor (const notifier of this._notifiers) {\n\t\t\ttry {\n\t\t\t\tnotifier(upload)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn('Error in upload notifier', { error, source: upload.source })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Uploads multiple files or folders while preserving the relative path (if available)\n\t * @param {string} destination The destination path relative to the root folder. e.g. /foo/bar (a file \"a.txt\" will be uploaded then to \"/foo/bar/a.txt\")\n\t * @param {Array<File|FileSystemEntry>} files The files and/or folders to upload\n\t * @param {Function} callback Callback that receives the nodes in the current folder and the current path to allow resolving conflicts, all nodes that are returned will be uploaded (if a folder does not exist it will be created)\n\t * @return Cancelable promise that resolves to an array of uploads\n\t *\n\t * @example\n\t * ```ts\n\t * // For example this is from handling the onchange event of an input[type=file]\n\t * async handleFiles(files: File[]) {\n\t *   this.uploads = await this.uploader.batchUpload('uploads', files, this.handleConflicts)\n\t * }\n\t *\n\t * async handleConflicts(nodes: File[], currentPath: string) {\n\t *   const conflicts = getConflicts(nodes, this.fetchContent(currentPath))\n\t *   if (conflicts.length === 0) {\n\t *     // No conflicts so upload all\n\t *     return nodes\n\t *   } else {\n\t *     // Open the conflict picker to resolve conflicts\n\t *     try {\n\t *       const { selected, renamed } = await openConflictPicker(currentPath, conflicts, this.fetchContent(currentPath), { recursive: true })\n\t *       return [...selected, ...renamed]\n\t *     } catch (e) {\n\t *       return false\n\t *     }\n\t *   }\n\t * }\n\t * ```\n\t */\n\tbatchUpload(\n\t\tdestination: string,\n\t\tfiles: (File|FileSystemEntry)[],\n\t\tcallback?: (nodes: Array<File|IDirectory>, currentPath: string) => Promise<Array<File|IDirectory>|false>,\n\t): PCancelable<Upload[]> {\n\t\tif (!callback) {\n\t\t\tcallback = async (files: Array<File|Directory>) => files\n\t\t}\n\n\t\treturn new PCancelable(async (resolve, reject, onCancel) => {\n\t\t\tconst rootFolder = new Directory('')\n\t\t\tawait rootFolder.addChildren(files)\n\t\t\t// create a meta upload to ensure all ongoing child requests are listed\n\t\t\tconst target = `${this.root.replace(/\\/$/, '')}/${destination.replace(/^\\//, '')}`\n\t\t\tconst upload = new Upload(target, false, 0, rootFolder)\n\t\t\tupload.status = UploadStatus.UPLOADING\n\t\t\tthis._uploadQueue.push(upload)\n\n\t\t\tlogger.debug('Starting new batch upload', { target })\n\t\t\ttry {\n\t\t\t\t// setup client with root and custom header\n\t\t\t\tconst client = davGetClient(this.root, this._customHeaders)\n\t\t\t\t// Create the promise for the virtual root directory\n\t\t\t\tconst promise = this.uploadDirectory(destination, rootFolder, callback, client)\n\t\t\t\t// Make sure to cancel it when requested\n\t\t\t\tonCancel(() => promise.cancel())\n\t\t\t\t// await the uploads and resolve with \"finished\" status\n\t\t\t\tconst uploads = await promise\n\t\t\t\tupload.status = UploadStatus.FINISHED\n\t\t\t\tresolve(uploads)\n\t\t\t} catch (error) {\n\t\t\t\tif (isCancel(error) || error instanceof UploadCancelledError) {\n\t\t\t\t\tlogger.info('Upload cancelled by user', { error })\n\t\t\t\t\tupload.status = UploadStatus.CANCELLED\n\t\t\t\t\treject(new UploadCancelledError(error))\n\t\t\t\t} else {\n\t\t\t\t\tlogger.error('Error in batch upload', { error })\n\t\t\t\t\tupload.status = UploadStatus.FAILED\n\t\t\t\t\treject(error)\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Upload queue is cleared when all the uploading jobs are done\n\t\t\t\t// Meta upload unlike real uploading does not create a job\n\t\t\t\t// Removing it manually here to make sure it is remove even when no uploading happened and there was nothing to finish\n\t\t\t\tthis._uploadQueue.splice(this._uploadQueue.indexOf(upload), 1)\n\t\t\t\tthis._notifyAll(upload)\n\t\t\t\tthis.updateStats()\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Helper to create a directory wrapped inside an Upload class\n\t * @param destination Destination where to create the directory\n\t * @param directory The directory to create\n\t * @param client The cached WebDAV client\n\t */\n\tprivate createDirectory(destination: string, directory: Directory, client: WebDAVClient): PCancelable<Upload> {\n\t\tconst folderPath = normalize(`${destination}/${directory.name}`).replace(/\\/$/, '')\n\t\tconst rootPath = `${this.root.replace(/\\/$/, '')}/${folderPath.replace(/^\\//, '')}`\n\n\t\tif (!directory.name) {\n\t\t\tthrow new Error('Can not create empty directory')\n\t\t}\n\n\t\t// Add a new upload to the upload queue\n\t\tconst currentUpload: Upload = new Upload(rootPath, false, 0, directory)\n\t\tthis._uploadQueue.push(currentUpload)\n\n\t\t// Return the cancelable promise\n\t\treturn new PCancelable(async (resolve, reject, onCancel) => {\n\t\t\tconst abort = new AbortController()\n\t\t\tonCancel(() => abort.abort())\n\t\t\tcurrentUpload.signal.addEventListener('abort', () => reject(t('Upload has been cancelled')))\n\n\t\t\t// Add the request to the job queue -> wait for finish to resolve the promise\n\t\t\tawait this._jobQueue.add(async () => {\n\t\t\t\tcurrentUpload.status = UploadStatus.UPLOADING\n\t\t\t\ttry {\n\t\t\t\t\tawait client.createDirectory(folderPath, { signal: abort.signal })\n\t\t\t\t\tresolve(currentUpload)\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (isCancel(error) || error instanceof UploadCancelledError) {\n\t\t\t\t\t\tcurrentUpload.status = UploadStatus.CANCELLED\n\t\t\t\t\t\treject(new UploadCancelledError(error))\n\t\t\t\t\t} else if (error && typeof error === 'object' && 'status' in error && error.status === 405) {\n\t\t\t\t\t\t// Directory already exists, so just write into it and ignore the error\n\t\t\t\t\t\tlogger.debug('Directory already exists, writing into it', { directory: directory.name })\n\t\t\t\t\t\tcurrentUpload.status = UploadStatus.FINISHED\n\t\t\t\t\t\tresolve(currentUpload)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Another error happened, so abort uploading the directory\n\t\t\t\t\t\tcurrentUpload.status = UploadStatus.FAILED\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\t// Update statistics\n\t\t\t\t\tthis._notifyAll(currentUpload)\n\t\t\t\t\tthis.updateStats()\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\t// Helper for uploading directories (recursively)\n\tprivate uploadDirectory(\n\t\tdestination: string,\n\t\tdirectory: Directory,\n\t\tcallback: (nodes: Array<File|Directory>, currentPath: string) => Promise<Array<File|Directory>|false>,\n\t\t// client as parameter to cache it for performance\n\t\tclient: WebDAVClient,\n\t): PCancelable<Upload[]> {\n\t\tconst folderPath = normalize(`${destination}/${directory.name}`).replace(/\\/$/, '')\n\n\t\treturn new PCancelable(async (resolve, reject, onCancel) => {\n\t\t\tconst abort = new AbortController()\n\t\t\tonCancel(() => abort.abort())\n\n\t\t\t// Let the user handle conflicts\n\t\t\tconst selectedForUpload = await callback(directory.children, folderPath)\n\t\t\tif (selectedForUpload === false) {\n\t\t\t\tlogger.debug('Upload canceled by user', { directory })\n\t\t\t\treject(new UploadCancelledError('Conflict resolution cancelled by user'))\n\t\t\t\treturn\n\t\t\t} else if (selectedForUpload.length === 0 && directory.children.length > 0) {\n\t\t\t\tlogger.debug('Skipping directory, as all files were skipped by user', { directory })\n\t\t\t\tresolve([])\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst directories: PCancelable<Upload[]>[] = []\n\t\t\tconst uploads: PCancelable<Upload>[] = []\n\t\t\t// Setup abort controller to cancel all child requests\n\t\t\tabort.signal.addEventListener('abort', () => {\n\t\t\t\tdirectories.forEach((upload) => upload.cancel())\n\t\t\t\tuploads.forEach((upload) => upload.cancel())\n\t\t\t})\n\n\t\t\tlogger.debug('Start directory upload', { directory })\n\t\t\ttry {\n\t\t\t\tif (directory.name) {\n\t\t\t\t\t// If not the virtual root we need to create the directory first before uploading\n\t\t\t\t\t// Make sure the promise is listed in the final result\n\t\t\t\t\tuploads.push(this.createDirectory(destination, directory, client) as PCancelable<Upload>)\n\t\t\t\t\t// Ensure the directory is created before uploading / creating children\n\t\t\t\t\tawait uploads.at(-1)\n\t\t\t\t}\n\n\t\t\t\tfor (const node of selectedForUpload) {\n\t\t\t\t\tif (node instanceof Directory) {\n\t\t\t\t\t\tdirectories.push(this.uploadDirectory(folderPath, node, callback, client))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tuploads.push(this.upload(`${folderPath}/${node.name}`, node))\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst resolvedUploads = await Promise.all(uploads)\n\t\t\t\tconst resolvedDirectoryUploads = await Promise.all(directories)\n\t\t\t\tresolve([resolvedUploads, ...resolvedDirectoryUploads].flat())\n\t\t\t} catch (e) {\n\t\t\t\t// Ensure a failure cancels all other requests\n\t\t\t\tabort.abort(e)\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Upload a file to the given path\n\t * @param {string} destination the destination path relative to the root folder. e.g. /foo/bar.txt\n\t * @param {File|FileSystemFileEntry} fileHandle the file to upload\n\t * @param {string} root the root folder to upload to\n\t * @param retries number of retries\n\t */\n\tupload(destination: string, fileHandle: File|FileSystemFileEntry, root?: string, retries: number = 5): PCancelable<Upload> {\n\t\troot = root || this.root\n\t\tconst destinationPath = `${root.replace(/\\/$/, '')}/${destination.replace(/^\\//, '')}`\n\n\t\t// Get the encoded source url to this object for requests purposes\n\t\tconst { origin } = new URL(destinationPath)\n\t\tconst encodedDestinationFile = origin + encodePath(destinationPath.slice(origin.length))\n\n\t\tthis.eta.resume()\n\t\tlogger.debug(`Uploading ${fileHandle.name} to ${encodedDestinationFile}`)\n\n\t\tconst promise = new PCancelable(async (resolve, reject, onCancel): Promise<Upload> => {\n\t\t\t// Handle file system entries by retrieving the file handle\n\t\t\tif (isFileSystemFileEntry(fileHandle)) {\n\t\t\t\tfileHandle = await new Promise((resolve) => (fileHandle as FileSystemFileEntry).file(resolve, reject))\n\t\t\t}\n\t\t\t// We can cast here as we handled system entries in the if above\n\t\t\tconst file = fileHandle as File\n\n\t\t\t// @ts-expect-error TS2339 Object has no defined properties\n\t\t\tconst supportsPublicChunking = getCapabilities().dav?.public_shares_chunking ?? false\n\t\t\tconst maxChunkSize = getMaxChunksSize('size' in file ? file.size : undefined)\n\t\t\t// If manually disabled or if the file is too small\n\t\t\tconst disabledChunkUpload = (this._isPublic && !supportsPublicChunking)\n\t\t\t\t|| maxChunkSize === 0\n\t\t\t\t|| ('size' in file && file.size < maxChunkSize)\n\n\t\t\tconst upload = new Upload(destinationPath, !disabledChunkUpload, file.size, file)\n\t\t\tthis._uploadQueue.push(upload)\n\t\t\tthis.updateStats()\n\n\t\t\t// Register cancellation caller\n\t\t\tonCancel(upload.cancel)\n\n\t\t\tif (!disabledChunkUpload) {\n\t\t\t\tlogger.debug('Initializing chunked upload', { file, upload })\n\n\t\t\t\t// Let's initialize a chunk upload\n\t\t\t\tconst tempUrl = await initChunkWorkspace(encodedDestinationFile, retries, this._isPublic, this._customHeaders)\n\t\t\t\tconst chunksQueue: Array<Promise<void>> = []\n\n\t\t\t\t// Generate chunks array\n\t\t\t\tfor (let chunk = 0; chunk < upload.chunks; chunk++) {\n\t\t\t\t\tconst bufferStart = chunk * maxChunkSize\n\t\t\t\t\t// Don't go further than the file size\n\t\t\t\t\tconst bufferEnd = Math.min(bufferStart + maxChunkSize, upload.size)\n\t\t\t\t\t// Make it a Promise function for better memory management\n\t\t\t\t\tconst blob = () => getChunk(file, bufferStart, maxChunkSize)\n\n\t\t\t\t\t// Init request queue\n\t\t\t\t\tconst request = () => {\n\t\t\t\t\t\t// bytes uploaded on this chunk (as upload.uploaded tracks all chunks)\n\t\t\t\t\t\tlet chunkBytes = 0\n\t\t\t\t\t\treturn uploadData(\n\t\t\t\t\t\t\t`${tempUrl}/${chunk + 1}`,\n\t\t\t\t\t\t\tblob,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsignal: upload.signal,\n\t\t\t\t\t\t\t\tdestinationFile: encodedDestinationFile,\n\t\t\t\t\t\t\t\tretries,\n\t\t\t\t\t\t\t\tonUploadProgress: ({ bytes }) => {\n\t\t\t\t\t\t\t\t\t// Only count 90% of bytes as the request is not yet processed by server\n\t\t\t\t\t\t\t\t\t// we set the remaining 10% when the request finished (server responded).\n\t\t\t\t\t\t\t\t\tconst progressBytes = bytes * 0.9\n\t\t\t\t\t\t\t\t\tchunkBytes += progressBytes\n\t\t\t\t\t\t\t\t\tupload.uploaded += progressBytes\n\t\t\t\t\t\t\t\t\tthis.updateStats()\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonUploadRetry: () => {\n\t\t\t\t\t\t\t\t\t// Current try failed, so reset the stats for this chunk\n\t\t\t\t\t\t\t\t\t// meaning remove the uploaded chunk bytes from stats\n\t\t\t\t\t\t\t\t\tupload.uploaded -= chunkBytes\n\t\t\t\t\t\t\t\t\tchunkBytes = 0\n\t\t\t\t\t\t\t\t\tthis.updateStats()\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t...this._customHeaders,\n\t\t\t\t\t\t\t\t\t...this._mtimeHeader(file),\n\t\t\t\t\t\t\t\t\t'OC-Total-Length': file.size,\n\t\t\t\t\t\t\t\t\t'Content-Type': 'application/octet-stream',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t// Update upload progress on chunk completion\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t// request fully done so we uploaded the full chunk\n\t\t\t\t\t\t\t\t// we first remove the intermediate chunkBytes from progress events\n\t\t\t\t\t\t\t\t// and then add the real full size\n\t\t\t\t\t\t\t\tupload.uploaded += bufferEnd - bufferStart - chunkBytes\n\t\t\t\t\t\t\t\tthis.updateStats()\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tif (error?.response?.status === 507) {\n\t\t\t\t\t\t\t\t\tlogger.error('Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks', { error, upload })\n\t\t\t\t\t\t\t\t\tupload.cancel()\n\t\t\t\t\t\t\t\t\tupload.status = UploadStatus.FAILED\n\t\t\t\t\t\t\t\t\tthrow error\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (!isCancel(error)) {\n\t\t\t\t\t\t\t\t\tlogger.error(`Chunk ${chunk + 1} ${bufferStart} - ${bufferEnd} uploading failed`, { error, upload })\n\t\t\t\t\t\t\t\t\tupload.cancel()\n\t\t\t\t\t\t\t\t\tupload.status = UploadStatus.FAILED\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthrow error\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tchunksQueue.push(this._jobQueue.add(request))\n\t\t\t\t}\n\n\t\t\t\tconst request = async () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Once all chunks are sent, assemble the final file\n\t\t\t\t\t\tawait Promise.all(chunksQueue)\n\n\t\t\t\t\t\t// Assemble the chunks\n\t\t\t\t\t\tupload.status = UploadStatus.ASSEMBLING\n\t\t\t\t\t\tthis.updateStats()\n\n\t\t\t\t\t\t// Send the assemble request\n\t\t\t\t\t\tupload.response = await axios.request({\n\t\t\t\t\t\t\tmethod: 'MOVE',\n\t\t\t\t\t\t\turl: `${tempUrl}/.file`,\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t...this._customHeaders,\n\t\t\t\t\t\t\t\t...this._mtimeHeader(file),\n\t\t\t\t\t\t\t\t'OC-Total-Length': file.size,\n\t\t\t\t\t\t\t\tDestination: encodedDestinationFile,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t\tupload.status = UploadStatus.FINISHED\n\t\t\t\t\t\tthis.updateStats()\n\n\t\t\t\t\t\tlogger.debug(`Successfully uploaded ${file.name}`, { file, upload })\n\t\t\t\t\t\tresolve(upload)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tif (isCancel(error) || error instanceof UploadCancelledError) {\n\t\t\t\t\t\t\tupload.status = UploadStatus.CANCELLED\n\t\t\t\t\t\t\treject(new UploadCancelledError(error))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupload.status = UploadStatus.FAILED\n\t\t\t\t\t\t\treject(t('Failed to assemble the chunks together'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Cleaning up temp directory\n\t\t\t\t\t\taxios.request({\n\t\t\t\t\t\t\tmethod: 'DELETE',\n\t\t\t\t\t\t\turl: `${tempUrl}`,\n\t\t\t\t\t\t})\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t// Notify listeners of the upload completion\n\t\t\t\t\t\tthis._notifyAll(upload)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis._jobQueue.add(request)\n\t\t\t} else {\n\t\t\t\tlogger.debug('Initializing regular upload', { file, upload })\n\n\t\t\t\t// Generating upload limit\n\t\t\t\tconst blob = await getChunk(file, 0, upload.size)\n\t\t\t\tconst request = async () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tupload.response = await uploadData(\n\t\t\t\t\t\t\tencodedDestinationFile,\n\t\t\t\t\t\t\tblob,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsignal: upload.signal,\n\t\t\t\t\t\t\t\tonUploadProgress: ({ bytes }) => {\n\t\t\t\t\t\t\t\t\t// As this is only the sent bytes not the processed ones we only count 90%.\n\t\t\t\t\t\t\t\t\t// When the upload is finished (server acknowledged the upload) the remaining 10% will be correctly set.\n\t\t\t\t\t\t\t\t\tupload.uploaded += bytes * 0.9\n\t\t\t\t\t\t\t\t\tthis.updateStats()\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonUploadRetry: () => {\n\t\t\t\t\t\t\t\t\tupload.uploaded = 0\n\t\t\t\t\t\t\t\t\tthis.updateStats()\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t...this._customHeaders,\n\t\t\t\t\t\t\t\t\t...this._mtimeHeader(file),\n\t\t\t\t\t\t\t\t\t'Content-Type': file.type,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\t// Update progress - now we set the uploaded size to 100% of the file size\n\t\t\t\t\t\tupload.uploaded = upload.size\n\t\t\t\t\t\tthis.updateStats()\n\n\t\t\t\t\t\t// Resolve\n\t\t\t\t\t\tlogger.debug(`Successfully uploaded ${file.name}`, { file, upload })\n\t\t\t\t\t\tresolve(upload)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tif (isCancel(error) || error instanceof UploadCancelledError) {\n\t\t\t\t\t\t\tupload.status = UploadStatus.CANCELLED\n\t\t\t\t\t\t\treject(new UploadCancelledError(error))\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Attach response to the upload object\n\t\t\t\t\t\tif ((error as AxiosError)?.response) {\n\t\t\t\t\t\t\tupload.response = (error as AxiosError).response as AxiosResponse\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tupload.status = UploadStatus.FAILED\n\t\t\t\t\t\tlogger.error(`Failed uploading ${file.name}`, { error, file, upload })\n\t\t\t\t\t\treject(t('Failed to upload the file'))\n\t\t\t\t\t}\n\n\t\t\t\t\t// Notify listeners of the upload completion\n\t\t\t\t\tthis._notifyAll(upload)\n\t\t\t\t}\n\t\t\t\tthis._jobQueue.add(request)\n\t\t\t\tthis.updateStats()\n\t\t\t}\n\n\t\t\t// Reset when upload queue is done\n\t\t\t// Only when we know we're closing on the last chunks\n\t\t\t// and/or assembling we can reset the uploader.\n\t\t\t// Otherwise he queue might be idle for a short time\n\t\t\t// and clear the Upload queue before we're done.\n\t\t\tthis._jobQueue.onIdle()\n\t\t\t\t.then(() => this.reset())\n\n\t\t\t// Finally return the Upload\n\t\t\treturn upload\n\t\t}) as PCancelable<Upload>\n\n\t\treturn promise\n\t}\n\n\t/**\n\t * Create modification time headers if valid value is available.\n\t * It can be invalid on Android devices if SD cards with NTFS / FAT are used,\n\t * as those files might use the NT epoch for time so the value will be negative.\n\t *\n\t * @param file The file to upload\n\t */\n\tprivate _mtimeHeader(file: File): { 'X-OC-Mtime'?: number } {\n\t\tconst mtime = Math.floor(file.lastModified / 1000)\n\t\tif (mtime > 0) {\n\t\t\treturn { 'X-OC-Mtime': mtime }\n\t\t}\n\t\treturn {}\n\t}\n\n}\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { isPublicShare } from '@nextcloud/sharing/public'\n\nimport { Uploader } from './uploader/uploader.ts'\n\n/**\n * Get the global Uploader instance.\n *\n * Note: If you need a local uploader you can just create a new instance,\n * this global instance will be shared with other apps.\n *\n * @param isPublic Set to true to use public upload endpoint (by default it is auto detected)\n * @param forceRecreate Force a new uploader instance - main purpose is for testing\n */\nexport function getUploader(isPublic: boolean = isPublicShare(), forceRecreate = false): Uploader {\n\tif (forceRecreate || window._nc_uploader === undefined) {\n\t\twindow._nc_uploader = new Uploader(isPublic)\n\t}\n\n\treturn window._nc_uploader\n}\n\n/**\n * Upload a file\n * This will init an Uploader instance if none exists.\n * You will be able to retrieve it with `getUploader`\n *\n * @param {string} destinationPath the destination path\n * @param {File} file the file to upload\n * @return {Uploader} the uploader instance\n */\nexport function upload(destinationPath: string, file: File): Uploader {\n\t// Init uploader and start uploading\n\tconst uploader = getUploader()\n\tuploader.upload(destinationPath, file)\n\n\treturn uploader\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node } from '@nextcloud/files'\n\n/**\n * Check if there is a conflict between two sets of files\n * @param {Array<File|FileSystemEntry|Node>} files the incoming files\n * @param {Node[]} content all the existing files in the directory\n * @return {boolean} true if there is a conflict\n */\nexport function hasConflict(files: (File|FileSystemEntry|Node)[], content: Node[]): boolean {\n\treturn getConflicts(files, content).length > 0\n}\n\n/**\n * Get the conflicts between two sets of files\n * @param {Array<File|FileSystemEntry|Node>} files the incoming files\n * @param {Node[]} content all the existing files in the directory\n * @return {boolean} true if there is a conflict\n */\nexport function getConflicts<T extends File|FileSystemEntry|Node>(files: T[], content: Node[]): T[] {\n\tconst contentNames = content.map((node: Node) => node.basename)\n\tconst conflicts = files.filter((node: File|FileSystemEntry|Node) => {\n\t\tconst name = 'basename' in node ? node.basename : node.name\n\t\treturn contentNames.indexOf(name) !== -1\n\t})\n\n\treturn conflicts\n}\n","/*!\r\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\r\n * SPDX-License-Identifier: AGPL-3.0-or-later\r\n */\r\n\r\nimport type { Node } from '@nextcloud/files'\r\nimport type { AsyncComponent } from 'vue'\r\n\r\nimport Vue, { defineAsyncComponent } from 'vue'\r\n\r\nexport type ConflictResolutionResult<T extends File|FileSystemEntry|Node> = {\r\n    selected: T[],\r\n    renamed: T[],\r\n}\r\n\r\nexport interface ConflictPickerOptions {\r\n    /**\r\n     * When this is set to true a hint is shown that conflicts in directories are handles recursively\r\n     * You still need to call this function for each directory separately.\r\n     */\r\n    recursive?: boolean\r\n}\r\n\r\n/**\r\n * Open the conflict resolver\r\n * @param {string} dirname the directory name\r\n * @param {(File|Node)[]} conflicts the incoming files\r\n * @param {Node[]} content all the existing files in the directory\r\n * @param {ConflictPickerOptions} options Optional settings for the conflict picker\r\n * @return {Promise<ConflictResolutionResult>} the selected and renamed files\r\n */\r\nexport async function openConflictPicker<T extends File|FileSystemEntry|Node>(\r\n\tdirname: string | undefined,\r\n\tconflicts: T[],\r\n\tcontent: Node[],\r\n\toptions?: ConflictPickerOptions,\r\n): Promise<ConflictResolutionResult<T>> {\r\n\tconst ConflictPicker = defineAsyncComponent(() => import('./components/ConflictPicker.vue')) as AsyncComponent\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tconst picker = new Vue({\r\n\t\t\tname: 'ConflictPickerRoot',\r\n\t\t\trender: (h) => h(ConflictPicker, {\r\n\t\t\t\tprops: {\r\n\t\t\t\t\tdirname,\r\n\t\t\t\t\tconflicts,\r\n\t\t\t\t\tcontent,\r\n\t\t\t\t\trecursiveUpload: options?.recursive === true,\r\n\t\t\t\t},\r\n\t\t\t\ton: {\r\n\t\t\t\t\tsubmit(results: ConflictResolutionResult<T>) {\r\n\t\t\t\t\t\t// Return the results\r\n\t\t\t\t\t\tresolve(results)\r\n\r\n\t\t\t\t\t\t// Destroy the component\r\n\t\t\t\t\t\tpicker.$destroy()\r\n\t\t\t\t\t\tpicker.$el?.parentNode?.removeChild(picker.$el)\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcancel(error?: Error) {\r\n\t\t\t\t\t\t// Reject the promise\r\n\t\t\t\t\t\treject(error ?? new Error('Canceled'))\r\n\r\n\t\t\t\t\t\t// Destroy the component\r\n\t\t\t\t\t\tpicker.$destroy()\r\n\t\t\t\t\t\tpicker.$el?.parentNode?.removeChild(picker.$el)\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t})\r\n\r\n\t\t// Mount the component\r\n\t\tpicker.$mount()\r\n\t\tdocument.body.appendChild(picker.$el)\r\n\t})\r\n}\r\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { InvalidFilenameError } from '@nextcloud/files'\n\nimport { spawnDialog } from '@nextcloud/vue/functions/dialog'\nimport { validateFilename } from '@nextcloud/files'\nimport { defineAsyncComponent } from 'vue'\n\n/**\n * Show a dialog to let the user decide how to proceed with invalid filenames.\n * The returned promise resolves to false if the file should be skipped, and resolves to a string if it should be renamed.\n * The promise rejects when the user want to abort the operation.\n *\n * @param error the validation error\n */\nexport function showInvalidFilenameDialog(error: InvalidFilenameError): Promise<string | false> {\n\tconst InvalidFilenameDialog = defineAsyncComponent(() => import('../components/InvalidFilenameDialog.vue'))\n\n\tconst { promise, reject, resolve } = Promise.withResolvers<string | false>()\n\tspawnDialog(\n\t\tInvalidFilenameDialog,\n\t\t{\n\t\t\terror,\n\t\t\tvalidateFilename,\n\t\t},\n\t\t(...rest) => {\n\t\t\tconst [{ skip, rename }] = rest as [{ cancel?: true, skip?: true, rename?: string }]\n\t\t\tif (skip) {\n\t\t\t\tresolve(false)\n\t\t\t} else if (rename) {\n\t\t\t\tresolve(rename)\n\t\t\t} else {\n\t\t\t\treject()\n\t\t\t}\n\t\t},\n\t)\n\treturn promise\n}\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node } from '@nextcloud/files'\nimport type { IDirectory } from '../../utils/fileTree.ts'\n\nimport { showInfo, showWarning } from '@nextcloud/dialogs'\nimport { getUniqueName, InvalidFilenameError, validateFilename } from '@nextcloud/files'\nimport { basename } from '@nextcloud/paths'\n\nimport { getConflicts } from '../../utils/conflicts.ts'\nimport { openConflictPicker } from '../openConflictPicker.ts'\nimport { showInvalidFilenameDialog } from './dialog.ts'\nimport { t } from '../../utils/l10n.ts'\nimport logger from '../../utils/logger.ts'\n\n/**\n * Helper function to create a conflict resolution callback for the `Uploader.batchUpload` method.\n *\n * This creates a callback that will open the conflict picker to resolve the conflicts.\n * In case of a rename the new name is validated and the invalid filename dialog is shown an error happens there.\n *\n * @param contentsCallback Callback to retrieve contents of a given path\n */\nexport function uploadConflictHandler(contentsCallback: (path: string) => Promise<Node[]>) {\n\treturn async (nodes: Array<File|IDirectory>, path: string): Promise<Array<File|IDirectory>|false> => {\n\t\ttry {\n\t\t\tconst content = await contentsCallback(path).catch(() => [])\n\t\t\tconst conflicts = getConflicts(nodes, content)\n\n\t\t\t// First handle conflicts as this might already remove invalid files\n\t\t\tif (conflicts.length > 0) {\n\t\t\t\tconst { selected, renamed } = await openConflictPicker(path, conflicts, content, { recursive: true })\n\t\t\t\tnodes = [\n\t\t\t\t\t...nodes.filter((node) => !conflicts.includes(node)),\n\t\t\t\t\t...selected,\n\t\t\t\t\t...renamed,\n\t\t\t\t]\n\t\t\t}\n\n\t\t\t// We need to check all files for invalid characters\n\t\t\tconst filesToUpload: Array<File|IDirectory> = []\n\t\t\tfor (const file of nodes) {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateFilename(file.name)\n\t\t\t\t\t// No invalid name used on this file, so just continue\n\t\t\t\t\tfilesToUpload.push(file)\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// do not handle other errors\n\t\t\t\t\tif (!(error instanceof InvalidFilenameError)) {\n\t\t\t\t\t\tlogger.error(`Unexpected error while validating ${file.name}`, { error })\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t\t// Handle invalid path\n\t\t\t\t\tlet newName = await showInvalidFilenameDialog(error)\n\t\t\t\t\tif (newName !== false) {\n\t\t\t\t\t\t// create a new valid path name\n\t\t\t\t\t\tnewName = getUniqueName(newName, nodes.map((node) => node.name))\n\t\t\t\t\t\tObject.defineProperty(file, 'name', { value: newName })\n\t\t\t\t\t\tfilesToUpload.push(file)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (filesToUpload.length === 0 && nodes.length > 0) {\n\t\t\t\tconst folder = basename(path)\n\t\t\t\tshowInfo(folder\n\t\t\t\t\t? t('Upload of \"{folder}\" has been skipped', { folder })\n\t\t\t\t\t: t('Upload has been skipped'),\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn filesToUpload\n\t\t} catch (error) {\n\t\t\tlogger.debug('Upload has been cancelled', { error })\n\t\t\tshowWarning(t('Upload has been cancelled'))\n\t\t\treturn false\n\t\t}\n\t}\n}\n","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : 'true'\"\n        :aria-label=\"title\"\n        class=\"material-design-icon cancel-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"CancelIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : 'true'\"\n        :aria-label=\"title\"\n        class=\"material-design-icon folder-upload-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H10L12,6H20M10.75,13H14V17H16V13H19.25L15,8.75\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"FolderUploadIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : 'true'\"\n        :aria-label=\"title\"\n        class=\"material-design-icon plus-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"PlusIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : 'true'\"\n        :aria-label=\"title\"\n        class=\"material-design-icon upload-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"UploadIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","<!--\n  - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<form v-if=\"destination\"\n\t\tref=\"form\"\n\t\t:class=\"{'upload-picker--uploading': isUploading, 'upload-picker--paused': isPaused}\"\n\t\tclass=\"upload-picker\"\n\t\tdata-cy-upload-picker>\n\t\t<!-- New button -->\n\t\t<NcButton v-if=\"!haveMenu\"\n\t\t\t:aria-label=\"buttonLabel\"\n\t\t\t:disabled=\"disabled\"\n\t\t\tdata-cy-upload-picker-add\n\t\t\tdata-cy-upload-picker-menu-entry=\"upload-file\"\n\t\t\t:type=\"primary ? 'primary' : 'secondary'\"\n\t\t\t@click=\"onTriggerPick()\">\n\t\t\t<template #icon>\n\t\t\t\t<IconPlus :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"!isUploading\" #default>\n\t\t\t\t{{ buttonLabel }}\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<NcActions v-else\n\t\t\t:aria-label=\"buttonLabel\"\n\t\t\t:menu-name=\"noLabel ? undefined : buttonLabel\"\n\t\t\t:open.sync=\"openedMenu\"\n\t\t\t:type=\"primary ? 'primary' : 'secondary'\">\n\t\t\t<template #icon>\n\t\t\t\t<IconPlus :size=\"20\" />\n\t\t\t</template>\n\n\t\t\t<NcActionCaption :name=\"t('Upload from device')\" />\n\n\t\t\t<NcActionButton data-cy-upload-picker-add\n\t\t\t\tdata-cy-upload-picker-menu-entry=\"upload-file\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t@click=\"onTriggerPick()\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconUpload :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('Upload files') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton v-if=\"canUploadFolders\"\n\t\t\t\tclose-after-click\n\t\t\t\tdata-cy-upload-picker-add-folders\n\t\t\t\tdata-cy-upload-picker-menu-entry=\"upload-folder\"\n\t\t\t\t@click=\"onTriggerPick(true)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconFolderUpload :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('Upload folders') }}\n\t\t\t</NcActionButton>\n\n\t\t\t<!-- App defined upload actions -->\n\t\t\t<template v-if=\"!noMenu\">\n\t\t\t\t<NcActionButton v-for=\"entry in menuEntriesUpload\"\n\t\t\t\t\t:key=\"entry.id\"\n\t\t\t\t\t:icon=\"entry.iconClass\"\n\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t:data-cy-upload-picker-menu-entry=\"entry.id\"\n\t\t\t\t\tclass=\"upload-picker__menu-entry\"\n\t\t\t\t\t@click=\"onClick(entry)\">\n\t\t\t\t\t<template v-if=\"entry.iconSvgInline\" #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :svg=\"entry.iconSvgInline\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ entry.displayName }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Custom new file entries -->\n\t\t\t<template v-if=\"!noMenu && menuEntriesNew.length > 0\">\n\t\t\t\t<NcActionSeparator />\n\t\t\t\t<NcActionCaption :name=\"t('Create new')\" />\n\t\t\t\t<NcActionButton v-for=\"entry in menuEntriesNew\"\n\t\t\t\t\t:key=\"entry.id\"\n\t\t\t\t\t:icon=\"entry.iconClass\"\n\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t:data-cy-upload-picker-menu-entry=\"entry.id\"\n\t\t\t\t\tclass=\"upload-picker__menu-entry\"\n\t\t\t\t\t@click=\"onClick(entry)\">\n\t\t\t\t\t<template v-if=\"entry.iconSvgInline\" #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :svg=\"entry.iconSvgInline\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ entry.displayName }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- other file entries -->\n\t\t\t<template v-if=\"!noMenu && menuEntriesOther.length > 0\">\n\t\t\t\t<NcActionSeparator />\n\t\t\t\t<NcActionButton v-for=\"entry in menuEntriesOther\"\n\t\t\t\t\t:key=\"entry.id\"\n\t\t\t\t\t:icon=\"entry.iconClass\"\n\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t:data-cy-upload-picker-menu-entry=\"entry.id\"\n\t\t\t\t\tclass=\"upload-picker__menu-entry\"\n\t\t\t\t\t@click=\"onClick(entry)\">\n\t\t\t\t\t<template v-if=\"entry.iconSvgInline\" #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :svg=\"entry.iconSvgInline\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ entry.displayName }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcActions>\n\n\t\t<!-- Progressbar and status -->\n\t\t<div v-show=\"isUploading\" class=\"upload-picker__progress\">\n\t\t\t<NcProgressBar :aria-label=\"t('Upload progress')\"\n\t\t\t\t:aria-describedby=\"progressTimeId\"\n\t\t\t\tdata-cy-upload-picker-progress\n\t\t\t\t:error=\"hasFailure\"\n\t\t\t\t:value=\"uploadManager.eta.progress\"\n\t\t\t\tsize=\"medium\" />\n\t\t\t<p :id=\"progressTimeId\" data-cy-upload-picker-progress-label>\n\t\t\t\t<span v-if=\"isPaused\">\n\t\t\t\t\t{{ t('paused') }}\n\t\t\t\t</span>\n\t\t\t\t<span v-else-if=\"isOnlyAssembling\">\n\t\t\t\t\t<!-- TRANSLATORS: Chunks are assembled and the process runs -->\n\t\t\t\t\t{{ t('assembling') }}\n\t\t\t\t</span>\n\t\t\t\t<span v-else :title=\"etaTimeAndSpeed()\">\n\t\t\t\t\t{{ uploadManager.eta.timeReadable }}\n\t\t\t\t\t<!-- the speed is included in the tooltip / title so we only show it in the text content if there is enough space (not showing \"a few seconds left\") -->\n\t\t\t\t\t<span v-if=\"uploadManager.eta.speedReadable && uploadManager.eta.time >= 60\">\n\t\t\t\t\t\t({{ uploadManager.eta.speedReadable }})\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t</div>\n\n\t\t<!-- Cancel upload button -->\n\t\t<NcButton v-if=\"isUploading && !isOnlyAssembling\"\n\t\t\tclass=\"upload-picker__cancel\"\n\t\t\ttype=\"tertiary\"\n\t\t\t:aria-label=\"t('Cancel uploads')\"\n\t\t\tdata-cy-upload-picker-cancel\n\t\t\t@click=\"onCancel\">\n\t\t\t<template #icon>\n\t\t\t\t<IconCancel :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<!-- Hidden files picker input -->\n\t\t<input ref=\"input\"\n\t\t\t:accept=\"accept?.join?.(', ')\"\n\t\t\t:multiple=\"multiple\"\n\t\t\tclass=\"hidden-visually\"\n\t\t\tdata-cy-upload-picker-input\n\t\t\ttype=\"file\"\n\t\t\t@change=\"onPick\">\n\t</form>\n</template>\n\n<script lang=\"ts\">\nimport type { Entry, Node } from '@nextcloud/files'\nimport type { PropType } from 'vue'\nimport type { Upload } from '../../upload.ts'\n\nimport { defineComponent } from 'vue'\nimport { Folder, NewMenuEntryCategory, getNewFileMenuEntries } from '@nextcloud/files'\n// @ts-expect-error missing types\nimport { useHotKey } from '@nextcloud/vue/dist/Composables/useHotKey.js'\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionCaption from '@nextcloud/vue/dist/Components/NcActionCaption.js'\nimport NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar.js'\n\nimport IconCancel from 'vue-material-design-icons/Cancel.vue'\nimport IconFolderUpload from 'vue-material-design-icons/FolderUpload.vue'\nimport IconPlus from 'vue-material-design-icons/Plus.vue'\nimport IconUpload from 'vue-material-design-icons/Upload.vue'\n\nimport { getUploader } from '../../getUploader.ts'\nimport { UploaderStatus } from '../../uploader/uploader.ts'\nimport { Status as UploadStatus } from '../../upload.ts'\nimport { t } from '../../utils/l10n.ts'\nimport { uploadConflictHandler } from '../../dialogs/utils/uploadConflictHandler.ts'\nimport logger from '../../utils/logger.ts'\n\nexport default defineComponent({\n\tname: 'UploadPicker',\n\n\tcomponents: {\n\t\tIconCancel,\n\t\tIconFolderUpload,\n\t\tIconPlus,\n\t\tIconUpload,\n\t\tNcActionButton,\n\t\tNcActionCaption,\n\t\tNcActionSeparator,\n\t\tNcActions,\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t\tNcProgressBar,\n\t},\n\n\tprops: {\n\t\taccept: {\n\t\t\ttype: Array as PropType<string[]>,\n\t\t\tdefault: null,\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Allow to disable the \"new\"-menu for this UploadPicker instance\n\t\t */\n\t\tnoMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Allow to disable the button label\n\t\t */\n\t\tnoLabel: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Make the \"New\"-button primary color.\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tdestination: {\n\t\t\ttype: Folder,\n\t\t\tdefault: undefined,\n\t\t},\n\t\tallowFolders: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * List of file present in the destination folder\n\t\t * It is also possible to provide a function that takes a relative path to the current directory and returns the content of it\n\t\t * Note: If a function is passed it should return the current base directory when no path or an empty is passed\n\t\t */\n\t\tcontent: {\n\t\t\ttype: [Array, Function] as PropType<Node[]|((relativePath?: string) => Node[]|PromiseLike<Node[]>)>,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t * Overwrite forbidden characters (by default the capabilities of the server are used)\n\t\t * @deprecated Deprecated and will be removed in the next major version\n\t\t */\n\t\tforbiddenCharacters: {\n\t\t\ttype: Array as PropType<string[]>,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tt,\n\n\t\t\t// non reactive data / properties\n\t\t\tprogressTimeId: `nc-uploader-progress-${Math.random().toString(36).slice(7)}`,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tnewFileMenuEntries: [] as Entry[],\n\t\t\topenedMenu: false,\n\t\t\tuploadManager: getUploader(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmenuEntriesUpload(): Entry[] {\n\t\t\treturn this.newFileMenuEntries.filter((entry) => entry.category === NewMenuEntryCategory.UploadFromDevice)\n\t\t},\n\n\t\tmenuEntriesNew(): Entry[] {\n\t\t\treturn this.newFileMenuEntries.filter((entry) => entry.category === NewMenuEntryCategory.CreateNew)\n\t\t},\n\n\t\tmenuEntriesOther(): Entry[] {\n\t\t\treturn this.newFileMenuEntries.filter((entry) => entry.category === NewMenuEntryCategory.Other)\n\t\t},\n\n\t\t/**\n\t\t * Check whether the current browser supports uploading directories\n\t\t * Hint: This does not check if the current connection supports this, as some browsers require a secure context!\n\t\t */\n\t\tcanUploadFolders(): boolean {\n\t\t\treturn this.allowFolders && 'webkitdirectory' in document.createElement('input')\n\t\t},\n\n\t\tqueue(): Upload[] {\n\t\t\treturn this.uploadManager.queue as Upload[]\n\t\t},\n\n\t\thasFailure(): boolean {\n\t\t\treturn this.queue.some((upload: Upload) => upload.status === UploadStatus.FAILED)\n\t\t},\n\t\tisAssembling(): boolean {\n\t\t\treturn this.queue.some((upload: Upload) => upload.status === UploadStatus.ASSEMBLING)\n\t\t},\n\t\tisUploading(): boolean {\n\t\t\treturn this.queue.some((upload: Upload) => upload.status !== UploadStatus.CANCELLED)\n\t\t},\n\t\tisOnlyAssembling(): boolean {\n\t\t\treturn this.isAssembling\n\t\t\t\t&& this.queue.every((upload: Upload) => (\n\t\t\t\t\t// ignore empty uploads or meta uploads\n\t\t\t\t\tupload.size === 0\n\t\t\t\t\t// all the uploads are assembling or finished\n\t\t\t\t\t|| upload.status === UploadStatus.ASSEMBLING\n\t\t\t\t\t|| upload.status === UploadStatus.FINISHED\n\t\t\t\t))\n\t\t},\n\t\tisPaused(): boolean {\n\t\t\treturn this.uploadManager.info?.status === UploaderStatus.PAUSED\n\t\t},\n\n\t\tbuttonLabel(): string {\n\t\t\treturn this.noMenu ? t('Upload') : t('New')\n\t\t},\n\n\t\thaveMenu(): boolean {\n\t\t\treturn !((this.noMenu || this.newFileMenuEntries.length === 0) && !this.canUploadFolders)\n\t\t},\n\t},\n\n\twatch: {\n\t\tallowFolders: {\n\t\t\timmediate: true,\n\t\t\thandler() {\n\t\t\t\tif (typeof this.content !== 'function' && this.allowFolders) {\n\t\t\t\t\tlogger.error('[UploadPicker] Setting `allowFolders` is only allowed if `content` is a function')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tdestination(destination) {\n\t\t\tthis.setDestination(destination)\n\t\t},\n\n\t\tisPaused(isPaused) {\n\t\t\tif (isPaused) {\n\t\t\t\tthis.$emit('paused', this.queue)\n\t\t\t} else {\n\t\t\t\tthis.$emit('resumed', this.queue)\n\t\t\t}\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t// Prevent init with wrong destination\n\t\tif (this.destination) {\n\t\t\tthis.setDestination(this.destination)\n\t\t}\n\n\t\t// Update data on upload progress\n\t\tthis.uploadManager.addNotifier(this.onUploadCompletion)\n\n\t\t// Register hotkeys\n\t\tuseHotKey('u', this.onKeyDown, {\n\t\t\tstop: true,\n\t\t\tprevent: true,\n\t\t\tshift: true,\n\t\t})\n\n\t\tuseHotKey('Escape', this.onKeyDown, {\n\t\t\tstop: true,\n\t\t\tprevent: true,\n\t\t})\n\n\t\tlogger.debug('UploadPicker initialised')\n\t},\n\n\tmethods: {\n\t\tetaTimeAndSpeed(): string {\n\t\t\tconst speed = this.uploadManager.eta.speedReadable\n\t\t\tif (speed) {\n\t\t\t\treturn `${this.uploadManager.eta.timeReadable} (${speed})`\n\t\t\t}\n\t\t\treturn this.uploadManager.eta.timeReadable\n\t\t},\n\n\t\t/**\n\t\t * Handle clicking a new-menu entry\n\t\t * @param entry The entry that was clicked\n\t\t */\n\t\tasync onClick(entry: Entry) {\n\t\t\tentry.handler(\n\t\t\t\tthis.destination!,\n\t\t\t\tawait this.getContent().catch(() => []),\n\t\t\t)\n\t\t},\n\n\t\t/**\n\t\t * Trigger file picker\n\t\t * @param uploadFolders Upload folders\n\t\t */\n\t\tonTriggerPick(uploadFolders = false) {\n\t\t\tconst input = this.$refs.input as HTMLInputElement\n\t\t\t// Setup directory picking if enabled\n\t\t\tif (this.canUploadFolders) {\n\t\t\t\tinput.webkitdirectory = uploadFolders\n\t\t\t}\n\t\t\t// Trigger click on the input to open the file picker\n\t\t\tthis.$nextTick(() => input.click())\n\t\t},\n\n\t\t/**\n\t\t * Helper for backwards compatibility that queries the content of the current directory\n\t\t * @param path The current path\n\t\t */\n\t\tasync getContent(path?: string) {\n\t\t\treturn Array.isArray(this.content) ? this.content : await this.content(path)\n\t\t},\n\n\t\t/**\n\t\t * Start uploading\n\t\t */\n\t\tasync onPick() {\n\t\t\tconst input = this.$refs.input as HTMLInputElement\n\t\t\tconst files = input.files ? Array.from(input.files) : []\n\n\t\t\ttry {\n\t\t\t\tawait this.uploadManager\n\t\t\t\t\t.batchUpload('', files, uploadConflictHandler(this.getContent))\n\t\t\t} catch (error) {\n\t\t\t\tlogger.debug('Error while uploading', { error })\n\t\t\t} finally {\n\t\t\t\tthis.resetForm()\n\t\t\t}\n\t\t},\n\n\t\tresetForm() {\n\t\t\tconst form = this.$refs.form as HTMLFormElement\n\t\t\tform?.reset()\n\t\t},\n\n\t\t/**\n\t\t * Cancel ongoing queue\n\t\t */\n\t\tonCancel() {\n\t\t\tthis.uploadManager.queue.forEach((upload: Upload) => {\n\t\t\t\tupload.cancel()\n\t\t\t})\n\t\t\tthis.resetForm()\n\t\t},\n\n\t\tsetDestination(destination: Folder) {\n\t\t\tif (!this.destination) {\n\t\t\t\tlogger.debug('Invalid destination')\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.uploadManager.destination = destination\n\n\t\t\t// If the destination change, we need to refresh the menu\n\t\t\tthis.newFileMenuEntries = getNewFileMenuEntries(destination)\n\t\t},\n\n\t\tonUploadCompletion(upload: Upload) {\n\t\t\tif (upload.status === UploadStatus.FAILED) {\n\t\t\t\tthis.$emit('failed', upload)\n\t\t\t} else {\n\t\t\t\tthis.$emit('uploaded', upload)\n\t\t\t}\n\t\t},\n\n\t\tonKeyDown(event: KeyboardEvent) {\n\t\t\t// Shift + u opens the menu\n\t\t\tif (event.key === 'u') {\n\t\t\t\t// If we have a menu, open it\n\t\t\t\tif (this.haveMenu) {\n\t\t\t\t\tthis.openedMenu = true\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t// Otherwise, trigger the default action\n\t\t\t\tthis.onTriggerPick()\n\t\t\t}\n\n\t\t\tif (event.key === 'Escape' && this.openedMenu) {\n\t\t\t\tthis.openedMenu = false\n\t\t\t}\n\t\t},\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n$progress-width: 200px;\n\n.upload-picker {\n\tdisplay: inline-flex;\n\talign-items: center;\n\theight: var(--default-clickable-area);\n\n\t&__progress {\n\t\twidth: $progress-width;\n\t\t// Animate show/hide\n\t\tmax-width: 0;\n\t\ttransition: max-width var(--animation-quick) ease-in-out;\n\n\t\t// Align progress/text separation with the middle\n\t\tmargin-top: 8px;\n\n\t\tp {\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\t}\n\n\t&--uploading &__progress {\n\t\tmax-width: $progress-width;\n\n\t\t// Visually more pleasing\n\t\tmargin-right: 20px;\n\t\tmargin-left: 8px;\n\t}\n\n\t&--paused &__progress {\n\t\tanimation: breathing 3s ease-out infinite normal;\n\t}\n}\n\n@keyframes breathing {\n\t0% {\n\t\topacity: .5;\n\t}\n\t25% {\n\t\topacity: 1;\n\t}\n\t60% {\n\t\topacity: .5;\n\t}\n\t100% {\n\t\topacity: .5;\n\t}\n}\n\n</style>\n"],"names":["getGettextBuilder","getLoggerBuilder","axiosRetry","axios","uploadData","exponentialDelay","isNetworkOrIdempotentRequestError","getBaseUrl","getSharingToken","generateRemoteUrl","getCurrentUser","Status","path","basename","files","EtaStatus","TypedEventTarget","formatFileSize","UploaderStatus","PQueue","getCapabilities","davRemoteURL","davRootPath","Folder","Permission","FileType","upload","UploadStatus","PCancelable","davGetClient","isCancel","normalize","encodePath","resolve","request","isPublicShare","defineAsyncComponent","Vue","spawnDialog","validateFilename","InvalidFilenameError","getUniqueName","showInfo","showWarning","_sfc_main","defineComponent","NcActionButton","NcActionCaption","NcActionSeparator","NcActions","NcButton","NcIconSvgWrapper","NcProgressBar","NewMenuEntryCategory","useHotKey","getNewFileMenuEntries"],"mappings":"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","x_google_ignoreList":[15,16,17,18]}