f7cloud_client/apps/photos/js/index-VV9wNENq.chunk.mjs.map
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

1 line
16 KiB
Plaintext

{"version":3,"mappings":"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","names":["IconMove","IconCopy","FilePickerClosed","FilePicker","title","multiSelect","mimeTypeFilter","directoriesAllowed","buttons","path","filter","container","disabledNavigation","FilePickerVue","__vitePreload","resolve","reject","spawnDialog$1","rest","nodes","node","FilePickerBuilder","ms","button","factory","type","target","basename","label","t","n","allow","getFilePickerBuilder","spawnDialog"],"ignoreList":[0],"sources":["../node_modules/@nextcloud/dialogs/dist/index.mjs"],"sourcesContent":["import { basename } from \"path\";\nimport { spawnDialog as spawnDialog$1 } from \"@nextcloud/vue/functions/dialog\";\nimport { t, a as n, n as normalizeComponent } from \"./chunks/_plugin-vue2_normalizer-jrlE7CJU.mjs\";\nimport { h, f, g, d, e, c, T, b, l, k, o, s, i, m, j } from \"./chunks/_plugin-vue2_normalizer-jrlE7CJU.mjs\";\nimport { defineComponent, onMounted, onUnmounted, defineAsyncComponent } from \"vue\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcNoteCard from \"@nextcloud/vue/components/NcNoteCard\";\nconst IconMove = '<svg xmlns=\"http://www.w3.org/2000/svg\" id=\"mdi-folder-move\" viewBox=\"0 0 24 24\"><path d=\"M14,18V15H10V11H14V8L19,13M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\" /></svg>';\nconst IconCopy = '<svg xmlns=\"http://www.w3.org/2000/svg\" id=\"mdi-folder-multiple\" viewBox=\"0 0 24 24\"><path d=\"M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\" /></svg>';\nvar FilePickerType = /* @__PURE__ */ ((FilePickerType2) => {\n FilePickerType2[FilePickerType2[\"Choose\"] = 1] = \"Choose\";\n FilePickerType2[FilePickerType2[\"Move\"] = 2] = \"Move\";\n FilePickerType2[FilePickerType2[\"Copy\"] = 3] = \"Copy\";\n FilePickerType2[FilePickerType2[\"CopyMove\"] = 4] = \"CopyMove\";\n FilePickerType2[FilePickerType2[\"Custom\"] = 5] = \"Custom\";\n return FilePickerType2;\n})(FilePickerType || {});\nclass FilePickerClosed extends Error {\n}\nclass FilePicker {\n title;\n multiSelect;\n mimeTypeFilter;\n directoriesAllowed;\n buttons;\n path;\n filter;\n container;\n disabledNavigation;\n constructor(title, multiSelect, mimeTypeFilter, directoriesAllowed, buttons, path, filter, container, disabledNavigation = false) {\n this.title = title;\n this.multiSelect = multiSelect;\n this.mimeTypeFilter = mimeTypeFilter;\n this.directoriesAllowed = directoriesAllowed;\n this.path = path;\n this.filter = filter;\n this.buttons = buttons;\n this.container = container;\n this.disabledNavigation = disabledNavigation;\n }\n /**\n * Pick files using the FilePicker.\n *\n * @return Promise with array of picked files or rejected promise on close without picking\n */\n async pickNodes() {\n const { FilePickerVue } = await import(\"./chunks/index-BC-7VPxC.mjs\");\n return new Promise((resolve, reject) => {\n spawnDialog$1(FilePickerVue, {\n allowPickDirectory: this.directoriesAllowed,\n buttons: this.buttons,\n container: this.container,\n name: this.title,\n path: this.path,\n mimetypeFilter: this.mimeTypeFilter,\n multiselect: this.multiSelect,\n filterFn: this.filter,\n disabledNavigation: this.disabledNavigation\n }, (...rest) => {\n const [nodes] = rest;\n if (!Array.isArray(nodes) || nodes.length === 0) {\n reject(new FilePickerClosed(\"FilePicker: No nodes selected\"));\n } else {\n resolve(nodes);\n }\n });\n });\n }\n /**\n * Pick files using the FilePicker\n *\n * @return Promise with array of paths of picked files or rejected promise on close without picking\n */\n async pick() {\n const nodes = await this.pickNodes();\n if (this.multiSelect) {\n return nodes.map((node) => node.path);\n }\n const path = nodes[0]?.path ?? \"/\";\n return path;\n }\n}\nclass FilePickerBuilder {\n title;\n multiSelect = false;\n mimeTypeFilter = [];\n directoriesAllowed = false;\n path;\n filter;\n buttons = [];\n container;\n disabledNavigation = false;\n /**\n * Construct a new FilePicker\n *\n * @param title Title of the FilePicker\n */\n constructor(title) {\n this.title = title;\n }\n /**\n * Set the container where the FilePicker will be mounted\n * By default 'body' is used\n *\n * @param container The dialog container\n */\n setContainer(container) {\n this.container = container;\n return this;\n }\n /**\n * Enable or disable picking multiple files\n *\n * @param ms True to enable picking multiple files, false otherwise\n */\n setMultiSelect(ms) {\n this.multiSelect = ms;\n return this;\n }\n /**\n * Add allowed MIME type\n *\n * @param filter MIME type to allow\n */\n addMimeTypeFilter(filter) {\n this.mimeTypeFilter.push(filter);\n return this;\n }\n /**\n * Set allowed MIME types\n *\n * @param filter Array of allowed MIME types\n */\n setMimeTypeFilter(filter) {\n this.mimeTypeFilter = filter;\n return this;\n }\n /**\n * Add a button to the FilePicker\n * Note: This overrides any previous `setButtonFactory` call\n *\n * @param button The button\n */\n addButton(button) {\n if (typeof this.buttons === \"function\") {\n console.warn(\"FilePicker buttons were set to factory, now overwritten with button object.\");\n this.buttons = [];\n }\n this.buttons.push(button);\n return this;\n }\n /**\n * Set the button factory which is used to generate buttons from current view, path and selected nodes\n * Note: This overrides any previous `addButton` call\n *\n * @param factory The button factory\n */\n setButtonFactory(factory) {\n this.buttons = factory;\n return this;\n }\n /**\n * Set FilePicker type based on legacy file picker types\n * @param type The legacy filepicker type to emulate\n * @deprecated Use `addButton` or `setButtonFactory` instead as with setType you do not know which button was pressed\n */\n setType(type) {\n this.buttons = (nodes, path) => {\n const buttons = [];\n const node = nodes?.[0]?.attributes?.displayName || nodes?.[0]?.basename;\n const target = node || basename(path);\n if (type === 1) {\n let label = t(\"Choose\");\n if (nodes.length === 1) {\n label = t(\"Choose {file}\", { file: node });\n } else if (this.multiSelect) {\n label = n(\"Choose %n file\", \"Choose %n files\", nodes.length);\n }\n buttons.push({\n callback: () => {\n },\n type: \"primary\",\n label\n });\n }\n if (type === 4 || type === 3) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Copy to {target}\", { target }) : t(\"Copy\"),\n type: \"primary\",\n icon: IconCopy\n });\n }\n if (type === 2 || type === 4) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Move to {target}\", { target }) : t(\"Move\"),\n type: type === 2 ? \"primary\" : \"secondary\",\n icon: IconMove\n });\n }\n return buttons;\n };\n return this;\n }\n /**\n * Allow to pick directories besides files\n *\n * @param allow True to allow picking directories\n */\n allowDirectories(allow = true) {\n this.directoriesAllowed = allow;\n return this;\n }\n /**\n * Set starting path of the FilePicker\n *\n * @param path Path to start from picking\n */\n startAt(path) {\n this.path = path;\n return this;\n }\n /**\n * Add filter function to filter file list of FilePicker\n *\n * @param filter Filter function to apply\n */\n setFilter(filter) {\n this.filter = filter;\n return this;\n }\n /**\n * Disable navigation (view selection)\n */\n disableNavigation() {\n this.disabledNavigation = true;\n return this;\n }\n /**\n * Construct the configured FilePicker\n */\n build() {\n return new FilePicker(\n this.title,\n this.multiSelect,\n this.mimeTypeFilter,\n this.directoriesAllowed,\n this.buttons,\n this.path,\n this.filter,\n this.container,\n this.disabledNavigation\n );\n }\n}\nfunction getFilePickerBuilder(title) {\n return new FilePickerBuilder(title);\n}\nconst spawnDialog = spawnDialog$1;\nvar DialogSeverity = /* @__PURE__ */ ((DialogSeverity2) => {\n DialogSeverity2[\"Info\"] = \"info\";\n DialogSeverity2[\"Warning\"] = \"warning\";\n DialogSeverity2[\"Error\"] = \"error\";\n return DialogSeverity2;\n})(DialogSeverity || {});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"GenericDialog\",\n props: {\n name: null,\n text: null,\n html: null,\n buttons: null,\n severity: null\n },\n setup(__props) {\n const props = __props;\n const handleUnload = () => `${props.name}: ${props.text}`;\n onMounted(() => window.addEventListener(\"unload\", handleUnload));\n onUnmounted(() => window.removeEventListener(\"unload\", handleUnload));\n return { __sfc: true, props, handleUnload, NcDialog, NcNoteCard };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcDialog, { attrs: { \"dialog-classes\": \"nc-generic-dialog\", \"buttons\": _vm.buttons, \"name\": _vm.name, \"message\": _vm.text }, on: { \"update:open\": function($event) {\n return _vm.$emit(\"close\");\n } } }, [_vm.severity ? _c(_setup.NcNoteCard, { attrs: { \"type\": _vm.severity } }, [_c(\"p\", { domProps: { \"textContent\": _vm._s(_vm.text) } })]) : _vm._e(), _vm.html ? _c(\"div\", { domProps: { \"innerHTML\": _vm._s(_vm.html) } }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst GenericDialog = __component__.exports;\nclass Dialog {\n #name;\n #text;\n #buttons;\n #severity;\n #dialog;\n /** @deprecated */\n #html;\n constructor(name, text, buttons = [], severity) {\n this.#name = name;\n this.#text = text;\n this.#buttons = buttons;\n this.#severity = severity;\n this.#dialog = void 0;\n this.#html = void 0;\n }\n /**\n * @deprecated DO NOT USE! It will be removed in the near future!\n * @param html HTML content\n */\n setHTML(html) {\n this.#html = html;\n return this;\n }\n /**\n * Spawn and show the dialog - if already open the previous instance will be destroyed\n * @return Promise that resolves when the dialog is answered successfully and rejects on close\n */\n async show() {\n if (this.#dialog) {\n this.#dialog.$destroy();\n }\n return new Promise((resolve) => {\n this.#dialog = spawnDialog$1(\n GenericDialog,\n {\n buttons: this.#buttons,\n name: this.#name,\n text: this.#text,\n severity: this.#severity,\n html: this.#html\n },\n resolve\n );\n });\n }\n /**\n * Hide and destroy the current dialog instance\n *\n * @deprecated use the promise of the `show` methods for the user interaction.\n */\n hide() {\n this.#dialog?.$destroy();\n }\n}\nclass DialogBuilder {\n #severity;\n #text;\n #name;\n #buttons;\n constructor(name) {\n this.#severity = void 0;\n this.#text = \"\";\n this.#name = name ?? \"\";\n this.#buttons = [];\n }\n /**\n * Set dialog name\n * @param name The name or headline of the dialog\n */\n setName(name) {\n this.#name = name;\n return this;\n }\n /**\n * Set the dialog text\n * @param text Main text of the dialog\n */\n setText(text) {\n this.#text = text;\n return this;\n }\n /**\n * Set the severity of the dialog\n * @param severity Severity of the dialog\n */\n setSeverity(severity) {\n this.#severity = severity;\n return this;\n }\n /**\n * Set buttons from array\n * @param buttons Either an array of dialog buttons\n */\n setButtons(buttons) {\n if (this.#buttons.length > 0) {\n console.warn(\"[@nextcloud/dialogs] Dialog buttons are already set - this overrides previous buttons.\");\n }\n this.#buttons = buttons;\n return this;\n }\n /**\n * Add a single button\n * @param button Button to add\n */\n addButton(button) {\n this.#buttons.push(button);\n return this;\n }\n build() {\n return new Dialog(this.#name, this.#text, this.#buttons, this.#severity);\n }\n}\nfunction getDialogBuilder(name) {\n return new DialogBuilder(name);\n}\nfunction showGuestUserPrompt(props) {\n return new Promise((resolve) => {\n spawnDialog$1(\n defineAsyncComponent(() => import(\"./chunks/PublicAuthPrompt-BSFsDqYB.mjs\")),\n props,\n resolve\n );\n });\n}\nexport {\n Dialog,\n DialogBuilder,\n DialogSeverity,\n FilePicker,\n FilePickerBuilder,\n FilePickerClosed,\n FilePickerType,\n h as TOAST_ARIA_LIVE_ASSERTIVE,\n f as TOAST_ARIA_LIVE_OFF,\n g as TOAST_ARIA_LIVE_POLITE,\n d as TOAST_DEFAULT_TIMEOUT,\n e as TOAST_PERMANENT_TIMEOUT,\n c as TOAST_UNDO_TIMEOUT,\n T as ToastAriaLive,\n b as ToastType,\n getDialogBuilder,\n getFilePickerBuilder,\n l as showError,\n showGuestUserPrompt,\n k as showInfo,\n o as showLoading,\n s as showMessage,\n i as showSuccess,\n m as showUndo,\n j as showWarning,\n spawnDialog\n};\n//# sourceMappingURL=index.mjs.map\n"],"file":"js/index-VV9wNENq.chunk.mjs"}